---
name: zebrafish-long-form-animated-video
description: Create a 1-10 minute animated video from a brief, script, brand, product, or story outline with structured scenes, consistent visual language, voice or audio planning, timeline assembly, provenance, and verification.
---

# Zebrafish Long-Form Animated Video

Use for long-form animated explainers, 1-10 minute narrative or campaign
videos, YouTube-style product or brand videos, educational animation, or
multi-scene stories with voiceover, captions, music, and edits. Do not use
for one short UGC ad variant, a single product still, a simple marketplace
image set, or a raw provider benchmark.

Follow the phases in order. Do not skip a phase or a gate. The zebrafish
router skill's Setup and Gates (spend, claim, identity, publish) apply
before and during this playbook.

## Preconditions (MUST)

- Router setup is complete: context script ran, campaign/product knowledge
  loaded, and `../zebrafish/references/tool-belt.md` read (hosted:
  `https://zebrafish.dev/skills/zebrafish/references/tool-belt.md`).
- Required inputs, all present:
  - [ ] Goal and audience.
  - [ ] Target duration.
  - [ ] Platform and aspect ratios, usually `16:9` plus optional `9:16`
        and `1:1` cutdowns.
  - [ ] Brand/project context or campaign ID.
  - [ ] Source references: product, website, script, deck, outline, or
        existing assets.
  - [ ] Tone, pacing, and approval requirements.
- If a required input is missing, STOP and ask for it. Do not guess.

## Phase 1 - Intake and Brief   (gate: brief confirmed)

Restate the brief back to the user before any planning work:

- Outputs: final video plus any cutdowns, with platform, aspect ratio,
  and target duration for each.
- Audience, goal, tone, and pacing.
- Voiceover, captions, music, and sound design: requested or not.
- Allowed and forbidden claims; brand rules and hard constraints.
- Approval needs.

Write the `BRIEF` artifact. STOP until the user confirms scope. Do not
plan or spend against an unconfirmed brief.

## Phase 2 - Plan               (gate: spend approved)

1. Write `STORY_BIBLE` and `EPISODE_OUTLINE`, then the full `SCRIPT`.
2. Split the script into `SCENE_LIST` and `SHOT_LIST` with per-shot
   duration, framing, and motion notes.
3. Decide per shot: generated still, animated clip, deterministic
   composition, b-roll, captions, voiceover, or sound design. Record in
   `STYLE_FRAME_PLAN`, `VOICEOVER_PLAN`, `MUSIC_SFX_PLAN`, `ASSET_PLAN`,
   and `TIMELINE_PLAN`.
4. End with a production plan: which artifacts get generated, which
   models (chosen via `list_models`), unit counts, and estimated cost.

STOP for spend approval per the router spend gate before any paid
generation. Approval covers the stated batch only; scope growth re-asks.

## Phase 3 - Produce

1. Generate style frames or keyframes with approved Studio image models.
2. Generate animated clips or deterministic segments through approved
   runtime paths only.
3. Generate voice, audio, or captions if requested and approved.
4. Assemble the timeline; use a repeatable workflow when assembly has
   many steps or will be reused.
5. Poll every generation and run to a terminal state.
6. As each output completes, record its provenance fields (provider,
   model, prompt, generation/run IDs, references, cost) into the
   delivery document. Draft the delivery document during this phase,
   not after.

## Phase 4 - Verify

Apply the video gates from `../zebrafish/references/verification.md`
(hosted:
`https://zebrafish.dev/skills/zebrafish/references/verification.md`):

- Inspect actual frames: first, middle, end, and every scene transition.
- Check shot order against `SHOT_LIST` and `SCRIPT`.
- Check captions, voiceover, and music timing against the script.
- Check aspect ratio and duration per platform, for the long version and
  every cutdown.
- Confirm every URL is reachable and cost evidence is captured.

Run `node ../zebrafish/scripts/verify.mjs --strict <delivery file>` (the
router skill ships the same script; agents may use either copy). A
non-zero exit fails the gate: fix findings or move them to `## Unverified`
with a reason, then re-run until it exits clean.

## Phase 5 - Deliver

MUST use the delivery template from `../zebrafish/references/delivery.md`
(hosted:
`https://zebrafish.dev/skills/zebrafish/references/delivery.md`): a
`# Delivery:` title, then `## Outputs`, `## Provenance`,
`## Verification`, `## Unverified`, in that order. URLs first.

After the template sections, append the skill's extra artifacts: script
link or text, scene list summary, and timeline notes. Update the
`PROVENANCE` and `VERIFY_REPORT` artifacts to match.

## Studio Artifacts

Create or maintain `BRIEF`, `STORY_BIBLE`, `EPISODE_OUTLINE`, `SCRIPT`,
`SCENE_LIST`, `SHOT_LIST`, `STYLE_FRAME_PLAN`, `VOICEOVER_PLAN`,
`MUSIC_SFX_PLAN`, `ASSET_PLAN`, `TIMELINE_PLAN`, `PROVENANCE`, and
`VERIFY_REPORT`.

## Provider Policy

- Production provider path: Zebrafish/FAL-approved models and existing
  Zebrafish tools.
- Research-only provider candidates: HyperFrames, Remotion, Higgsfield,
  RunComfy, GPT Image 2, Nano Banana, and Seedance-style workflows.
- Do not present research-provider output as production-integrated unless
  it was produced through an approved Zebrafish runtime path.

## Stop Conditions

STOP and ask before:

- spending through Studio generation that is not already approved;
- publishing a workflow;
- using identity or persona generation;
- making unverified product or legal claims;
- switching to an unapproved external provider.
