---
name: zebrafish-ugc-ad-pack
description: Create short UGC-style product ad variants with a hook matrix, claim safety, product visuals, presenter or voice constraints, platform cutdowns, scoring, provenance, and verification.
---

# Zebrafish UGC Ad Pack

Use for TikTok, Reels, Shorts, UGC ad variants, hook testing,
unboxing/product-review style creative, or multiple short paid-social
variants. Do not use for long-form narrative video, 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 brief or URL.
  - [ ] Product image/reference.
  - [ ] Target customer.
  - [ ] Offer/CTA.
  - [ ] Claims that are allowed and claims to avoid.
  - [ ] Variant count.
  - [ ] Platform and aspect ratio.
- If a required input is missing, STOP and ask for it. Do not guess.
  Claim boundaries especially: never infer the allowed-claims list.

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

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

- Outputs: variant count, platform(s), aspect ratio(s), and target
  duration per variant.
- Target customer, offer, and CTA.
- Allowed claims and forbidden claims, verbatim.
- Presenter/voice expectations and identity constraints. Approval needs.

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

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

1. Extract product facts and allowed claims into `PRODUCT_CLAIM_SHEET`.
   Every scripted claim must trace to this sheet per the router claim
   gate.
2. Build the `HOOK_MATRIX` across angles: pain, curiosity, proof, offer,
   comparison, and demo. Map each variant to one hook angle.
3. Write the `VARIANT_SCRIPT_PACK`, one script per variant.
4. Set `PRESENTER_STYLE_RULES`: product visual style and presenter/voice
   constraints. No real-person likeness or voice without the router
   identity gate cleared.
5. Write the `SHOT_LIST` and `ASSET_PLAN`.
6. End with a production plan: assets per variant, 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 variant batch only; extra
variants, resolutions, or asset types re-ask.

## Phase 3 - Produce

1. Generate product visuals, clips, and audio through approved runtime
   paths only.
2. Assemble each variant and label it by hook angle from `HOOK_MATRIX`.
3. Score every variant in `SCORECARD`: hook clarity, product focus,
   pacing, brand fit, and claim safety.
4. 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`):

- Claim safety: every spoken, captioned, or on-screen claim in every
  variant traces to `PRODUCT_CLAIM_SHEET`; forbidden claims are absent.
- Hook labeling: every variant carries the correct hook-angle label and
  its opening seconds actually deliver that hook.
- Inspect actual frames per variant: hook, product moments, CTA.
- Check aspect ratio, duration, and variant count 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: each
variant URL labeled by hook angle.

After the template sections, append the skill's extra artifacts: hook
matrix summary, script pack summary, and scorecard summary. Update the
`PROVENANCE` and `VERIFY_REPORT` artifacts to match.

## Studio Artifacts

Create or maintain `PRODUCT_CLAIM_SHEET`, `HOOK_MATRIX`,
`VARIANT_SCRIPT_PACK`, `PRESENTER_STYLE_RULES`, `SHOT_LIST`,
`ASSET_PLAN`, `SCORECARD`, `PROVENANCE`, and `VERIFY_REPORT`.

## Provider Policy

- Use approved Zebrafish/FAL runtime provider paths for product visuals,
  clips, and audio.
- Treat external UGC/ad generators as research evidence only unless
  approved in Zebrafish runtime.
- Do not use real-person likeness, voice, or persona workflows without
  explicit consent, retention, and deletion rules.

## Stop Conditions

STOP and ask before:

- spending on generation without approval;
- using real-person likeness, voice, or identity references;
- creating claims not present in the source material;
- using an unapproved external provider.
