---
name: zebrafish-product-demo-film
description: Create a polished product demo film or walkthrough using product context, UI or product references, a problem-solution script, generated visuals, b-roll, captions, voice or audio, platform cutdowns, provenance, and verification.
---

# Zebrafish Product Demo Film

Use for a product demo video, SaaS walkthrough, app demo, product launch
film, feature explainer with screen or product shots, or a polished
sales/demo video. Do not use for short UGC ad variants, character
continuity work, or marketplace listing image sets.

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:
  - [ ] Product or feature brief.
  - [ ] Audience and problem being solved.
  - [ ] Product references: screenshots, URLs, deck, demo notes, or
        product images.
  - [ ] Brand/project context.
  - [ ] Target platform, duration, and aspect ratios.
  - [ ] CTA.
- 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: long demo version plus any cutdowns, with platform, aspect
  ratio, and duration for each.
- Audience, the problem being solved, and the offer/CTA.
- Allowed claims and claims to avoid; which product facts have sources.
- Voiceover, captions, and audio: requested or not. Approval needs.

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

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

1. Extract product and brand facts from supplied sources only. Every
   claim in the script must trace to a source per the router claim gate.
2. Build the `PROBLEM_SOLUTION_ARC`.
3. Write the `DEMO_SCRIPT` with hook, problem, reveal, proof, and CTA
   beats. Draft `CTA_VARIANTS`.
4. Plan captures and generation: `SCREENSHOT_PLAN`, `B_ROLL_PLAN`,
   `SHOT_LIST`, and `CUTDOWN_PLAN`.
5. End with a production plan: which visuals or motion clips 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. Collect real screen/product captures per `SCREENSHOT_PLAN`.
2. Generate missing product visuals, b-roll, or motion clips through
   approved runtime paths only.
3. Generate voice, audio, or captions if requested and approved.
4. Assemble the long version FIRST. Only after it holds together, cut
   the platform cutdowns per `CUTDOWN_PLAN`.
5. 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 gates from `../zebrafish/references/verification.md`
(hosted:
`https://zebrafish.dev/skills/zebrafish/references/verification.md`):

- Check every product claim, metric, and capability shown or spoken
  against its source. Unsourced claims get `[unverified]` or come out.
- Check captions and voiceover against `DEMO_SCRIPT`, beat by beat.
- Inspect actual frames: hook, reveal, proof, CTA, and transitions.
  Confirm screenshots show the real product, not invented UI.
- Check pacing, aspect ratio, and duration per platform for the long
  version and every cutdown; confirm the CTA lands.
- 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: final
demo video, then cutdowns.

After the template sections, append the skill's extra artifacts: demo
script summary, source references used, and unresolved claim gaps.
Update the `PROVENANCE` and `VERIFY_REPORT` artifacts to match.

## Studio Artifacts

Create or maintain `PRODUCT_BRIEF`, `PROBLEM_SOLUTION_ARC`, `DEMO_SCRIPT`,
`SCREENSHOT_PLAN`, `B_ROLL_PLAN`, `SHOT_LIST`, `CTA_VARIANTS`,
`CUTDOWN_PLAN`, `PROVENANCE`, and `VERIFY_REPORT`.

## Provider Policy

- Use approved Zebrafish/FAL runtime provider paths for generated
  visuals, clips, and audio.
- Treat external video/composition tools as research references unless
  they are already available through approved Zebrafish tools.
- Never invent product capabilities, customer quotes, metrics,
  integrations, or compliance claims.

## Stop Conditions

STOP and ask before:

- generating paid assets without approval;
- using unsourced product claims;
- publishing or reusing a workflow;
- switching to an unapproved external provider.
