---
name: zebrafish-character-scene-video
description: Produce character- and setting-consistent scene video by creating character and setting bibles, keyframes, image-to-video shots, timeline assembly, continuity checks, provenance, and verification.
---

# Zebrafish Character Scene Video

Use for a consistent character across frames or shots, stable setting
continuity, animated story shots from generated keyframes, mascot or
character video content, or frames sharing one character and setting that
will later be animated. Do not use for one-off unrelated image
generations, real-person identity training without consent, or generic
UGC ads without continuity requirements.

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:
  - [ ] Character description or approved character reference.
  - [ ] Setting/location description or reference.
  - [ ] Scene action.
  - [ ] Target duration and aspect ratio.
  - [ ] Shot count or pacing.
  - [ ] Brand/project constraints.
  - [ ] Identity consent status if any real person is referenced.
- If a required input is missing, STOP and ask for it. Do not guess.
- If any real person's likeness, voice, or persona is involved, the
  router identity gate applies now: STOP without explicit consent,
  retention, and deletion rules.

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

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

- Outputs: shot count, clip durations, final video, aspect ratio, and
  platform.
- Character, setting, and scene action as understood.
- Continuity requirements: what must stay invariant across shots.
- Captions/audio: requested or not. Approval needs.

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

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

1. Lock the `CHARACTER_BIBLE`: face, body, wardrobe, hair, palette,
   accessories, invariant features, and forbidden changes.
2. Lock the `SETTING_BIBLE`: environment, time of day, lighting, camera
   language, props, background rules, and forbidden changes.
3. Write `CONTINUITY_RULES` from both bibles.
4. Build the `SHOT_LIST` with action, framing, camera movement, duration,
   and continuity constraints per shot.
5. Write `KEYFRAME_PLAN`, `ANIMATION_PLAN`, and `ASSET_PLAN`.
6. End with a production plan: canonical references, keyframes, and
   animation units to generate, 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 canonical references first: character sheet, expression
   sheet, pose sheet, environment plate, and prop/product references.
2. Generate keyframes for each shot using the canonical references.
3. Review every keyframe against `CONTINUITY_RULES` BEFORE animation.
   Do not animate a keyframe that drifts; regenerate it. Regeneration
   beyond the approved batch re-asks the spend gate.
4. Animate approved keyframes with approved image-to-video models or
   workflow steps only.
5. Stitch clips and add captions/audio if requested and approved.
6. Poll every generation and run to a terminal state. 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 and character gates from
`../zebrafish/references/verification.md` (hosted:
`https://zebrafish.dev/skills/zebrafish/references/verification.md`):

- Inspect actual frames across shots for identity drift, wardrobe drift,
  setting drift, prop errors, and artifacts. Record results in
  `CONTINUITY_REPORT`.
- Inspect first, middle, end frames and shot transitions of the final
  video; check shot order against `SHOT_LIST`.
- Check aspect ratio and duration against the brief.
- 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: keyframe
URLs, animated clip URLs, final video URL.

After the template sections, append the skill's extra artifacts: the
character bible, setting bible, shot list, and continuity report.

## Studio Artifacts

Create or maintain `CHARACTER_BIBLE`, `SETTING_BIBLE`, `CONTINUITY_RULES`,
`SHOT_LIST`, `KEYFRAME_PLAN`, `ANIMATION_PLAN`, `ASSET_PLAN`,
`PROVENANCE`, and `CONTINUITY_REPORT`.

## Provider Policy

- Use the approved Zebrafish runtime first.
- Research-only provider candidates: GPT Image 2, Nano Banana,
  Seedance 2.0, Higgsfield, and RunComfy, unless approved in runtime.
- Never train or reuse identity/persona models without explicit consent,
  retention, and deletion rules.

## Stop Conditions

STOP and ask before:

- using a real person's likeness, voice, or identity references;
- generating paid assets without approval;
- relaxing continuity requirements;
- switching to an unapproved external provider.
