animation-creator · git:20260905.253d7b1 · 2026-09-05 · sha256 1ee39e45da0c0b60

animation-creator git:20260905.253d7b1A

Immutable. This exact content is served forever at /api/v1/blob/1ee39e45da0c0b60.

---
name: animation-creator
description: Create character animations from a source image or character description, preserving identity across actions and exporting animated WebP assets.
---

# Animation Creator

Use one canonical character per run and `$image-creator` for every generated base or action sheet. Do not synthesize character frames with local drawing, tiling, or warping scripts.

Set `SKILL_DIR` to this skill's absolute directory. Run helpers with `uv run --project "$SKILL_DIR"` from the session project. Default runs to `animation-runs/<run-id>/`; resolve requested relative destinations from the project root.

## Plan the Action

Establish the character source and requested action; ask for the action if missing. Use requested timing and loop settings, defaulting to a looping WebP with full-body poses. Record an explicit partial-body request as the output contract.

Build adjacent motion beats before choosing a frame count. Each beat after the starting pose should describe the visible change from its predecessor, preserving character scale, facing, body-center path, balance, contact, and weight transfer.

Audit for needed anticipation, contact or launch, passing poses, follow-through, settling, and loop bridge or clear end pose. Remove duplicate silhouettes and tiny redundant steps. The audited beat count becomes the frame count, up to 12. Avoid flip/mirror/rotation language unless the action actually needs that transformation.

## Prepare or Extend

For a new run, read [references/run-setup.md](references/run-setup.md). Preserve the source or generated base as `references/canonical-base.png` without background removal.

For a later action, reuse the run and canonical base unless the user requests a new character:

```bash
uv run --project "$SKILL_DIR" "$SKILL_DIR/scripts/prepare_animation_run.py" \
  --run-dir <run-dir> --add-action --action-id <action-id> \
  --action "<description>" --frame-actions "<beat 1>; <beat 2>; <beat N>"
```

Read [references/animation-output-contract.md](references/animation-output-contract.md) before generating an action sheet when that contract is not already in context. The current pipeline requires `rembg-matte` raw sheets and rembg-normalized alpha outputs.

## Generate and Record

Build the prompt for the base job or selected action:

```bash
uv run --project "$SKILL_DIR" "$SKILL_DIR/scripts/build_generation_prompt.py" \
  --run-dir <run-dir> --job-id <job-id>
```

Give stdout to `$image-creator` as the authoritative final prompt, unchanged. Do not rewrite it or maintain a separate `prompts/image-creator/` copy.

For each action, supply both `references/canonical-base.png` as identity input and `references/registration-guides/<action-id>.png` as the edit template. Save attempts under the run's `generated/attempts/` with non-overwriting names.

Inspect the returned raw action sheet against the output contract: fixed grid and slot order, complete poses, reserved matte, retained outer cell borders, removed inner guides, and continuous character identity and motion. Record only a selected image that passes this review:

```bash
uv run --project "$SKILL_DIR" "$SKILL_DIR/scripts/record_animation_result.py" \
  --run-dir <run-dir> --job-id <job-id> --source <saved-source-image>
```

Recording a base preserves it and refreshes action prompts/guides. Recording an action performs per-slot rembg processing and reassembles the alpha sheet. If processing fails, report the error; do not substitute a different background-removal pipeline.

## Finalize and Review

```bash
uv run --project "$SKILL_DIR" "$SKILL_DIR/scripts/finalize_animation_run.py" \
  --run-dir <run-dir> --action-id <action-id>
```

Read [references/qa-rubric.md](references/qa-rubric.md) before acceptance. Review validation results, the contact sheet, and animation where a viewer is available; deterministic checks alone cannot establish identity or motion quality. Repair the failed action or processing step without recreating valid work.

Report the run and canonical-base paths, generated action IDs, final WebP links, contact-sheet and validation links, use of `$image-creator` for base/actions, and repairs, omissions, or visual-review limitations.