Pipeline Hub

format-mascot-explainer

Animated mascot-explainer ad for DawnBands — a cute anthropomorphic Dawn Band (the SOLUTION personified) explains to a problem-aware mom why her kid sleeps through alarms and how touch gets through, then shows the before/after morning, 45-120 s, Pixar/Disney-3D.

Lane: cartoon-h3 narrator (default, mouthless mascot) or cartoon-pipeline Kling native dialogue (talking-mouth variant) · not built yet: 2 (see below) · source: /Users/ayden/.openclaw/workspace/skills/format-mascot-explainer

SKILL.mdbeat-sheet.mdsources.mdEvals (6)Learnings (14)
1. Read first2. When to use / when not3. The format4. Why it sells5. Beat sheet (full rules in references/beat-sheet.md)6. Pack spec7. Visual grammar8. Audio9. Production (free until the sheet gate)10. Gates & QA checklist (on top of core §4)11. Variants & test plan12. Failure modes13. Sources

format-mascot-explainer — the band explains itself to her

1. Read first

2. When to use / when not

3. The format

4. Why it sells

5. Beat sheet (full rules in references/beat-sheet.md)

Beat % runtime Job Must contain
1 Callout hook 0-8 Stop HER Her observable symptom in line 1 (knock count, the door, the time), stake on her; exaggerated-but-literal visual; mascot not on screen yet
2 Problem shown 8-25 Prove she's the alarm Her morning ritual in counts/times; her cost (late to work); generic failed solutions (louder alarm, phone across the room, lights on)
3 Mascot enters 25-35 Introduce the fix "I'm Dawn, the [what I do]" intro line; curiosity gap ("two ways"); colour turns warm
4 Mechanism demo 35-65 Root cause + how Fish's lines: sound doesn't reach a deep-sleeping brain; touch gets through; stronger until he turns it off; silent to everyone else. One objection: not a smartwatch, no app, three alarms on the band
5 Before/after morning 65-90 Payoff on HER Same room, same camera, two mornings, SEQUENTIAL (never split screen); after = he's up on his own, she has her coffee
6 Offer 90-100 Close Product named, 60-night guarantee (the authority), optional 10,000+ parents; spoken CTA then end card

6. Pack spec

7. Visual grammar

Mascot design (one locked sheet, decided): - Body = the band itself as an upright buckled loop, seen from the side so the wide outer surface faces camera: plain matte black ribbed silicone, fine diagonal ribbing, buckle and pin holes at the bottom like a belt. About the size of a coffee mug. Black only (the canonical colour). - Face = two large moulded eyes set INTO the silicone on the front of the loop: matte white with dark irises and one soft highlight, like a rubber toy's eyes; ribbed-silicone eyelids that blink and squint. No glow, no emission, nothing behind them. - The display is NOT the face. The small flush display sits on the back of the loop, dark, flush, same black as the strap, and stays out of the face. Why: a face on the display reads as a lit screen = the smartwatch the band must never look like (product-truth: never a lit face in a scene), H3 lights displays on its own whenever one is the focus, and it teaches the viewer "screen device", the objection beat 4 kills. - No mouth in variant N (cartoon-h3 can't lip-sync, core §3; a mouth that stays shut while the voice plays reads broken). Expression = eyes, eyelids, body squash and lean, two short stubby ribbed arms. No legs: it hops or scoots on the buckle. Variant K uses a separate sheet with a small soft mouth slit under the eyes (it has to talk on camera). - Every sheet prompt carries the Bergamot appeal language: friendly, cute and appealing, warm expressive eyes, never a dead stare.

Shots: - Hook/problem: cool desaturated early-morning light; Mom in the hallway at his door (never at his bedside), the kid asleep ON TOP of the covers in a hoodie (no teen under covers, no adult at a child's bedside: song-playbook storyboard rules). Exaggerated but literal (the fifth knock, three phones ringing on the pillow). - Mascot shots: eye-level, ~50/50 composition with the human (mascot on the right half, person on the left; davidaistar's sizing fix), mascot on a nightstand, counter or shelf. Warm light from its entrance on. - Mechanism: ONE picture per idea, literal: sound rings from a phone bouncing off the sleeping kid; then the wristband on his resting wrist, a few small curved motion lines, his eyes opening. The mascot points from the nightstand; it never wears itself and never morphs into the product. - Product shots: wrist rule — wrist down or resting flat, band side-on, display dark, nobody looking at the wrist; "held up" = arm forward at chest height. Product only from beat 4. Mixed mascot + wristband shots: intent says the mascot is a separate character from the wristband. - Before/after: same room, same camera, two consecutive shots. No split screens (H3 canvas failure + playbook rule). No readable text, clock hands only.

8. Audio

9. Production (free until the sheet gate)

# zsh. Refs live in <slug>.args beside the pack (core §5: ALWAYS packargs), e.g.
#   --char-ref Mom=output/cartoon-h3/_refs/dawn-wave1-2026-10-01/char-mom.png --char-ref Ryan=.../char-ryan.png
#   --char-ref Dawn=output/cartoon-h3/_refs/<slug>/char-dawn-mascot.png --env teen-room=.../env-teen-room.png
#   --env hallway=.../env-hallway.png --env kitchen=.../env-kitchen.png --product-ref output/cartoon-h3/_refs/<slug>/product-band.png
#   --characters "Mom, Ryan and Dawn the mascot"      (style / style_block / product_truth / style_anchor come from front matter)
P=output/concept-packs/<slug>.md; S=<slug>
A=(${(z)"$(python3 -m scripts.cartoon_h3.packargs $P --storyboard)"}); A=(${(Q)A})
python3 -m scripts.cartoon_h3.run $A --dry-run               # free: cost estimate from the pack word count (h3.py table)
python3 -m scripts.cartoon_h3.run $A --stage vo              # EL VO + vo_check gate (EL quota only)
# mascot sheet (PAID ~$0.15-0.30, Fish's go): image 1 style anchor, image 2 real product cutout (+ a real buyer wrist photo)
python3 -m scripts.cartoon_h3.sheet output/cartoon-h3/_refs/<slug>/char-dawn-mascot.png <prompt.txt> \
  <style anchor png> knowledge/brands/dawnbands/product-cutout-unlit.png
python3 -m scripts.cartoon_h3.run $A --stage storyboard     # free; Fish reads storyboard.md (tier A/B/C per batch, below)
touch output/cartoon-h3/$S/storyboard.approved               # Fish only
A=(${(z)"$(python3 -m scripts.cartoon_h3.packargs $P)"}); A=(${(Q)A})   # every ref must exist now
python3 -m scripts.cartoon_h3.run $A --stage canvas          # paid, ~$0.20/batch
python3 -m scripts.cartoon_h3.run $A --stage gen --prompts-only   # Fish reads motion prompts
python3 -m scripts.cartoon_h3.run $A --stage gen --spend --backend fal --model h3-max --candidates 1   # --auto-regen stays 0 (§12)
python3 -m scripts.cartoon_h3.clipqa output/cartoon-h3/$S    # then eyes on every mascot batch
python3 -m scripts.cartoon_h3.run $A --stage assemble        # end card (optional, `--end-card`; off by default per Fish 10-06) + gemini_qa

10. Gates & QA checklist (on top of core §4)

11. Variants & test plan

12. Failure modes

13. Sources

~/research/davidaistar/REPORT.md, analysis/gemini_TozlaC3-rCA.md, analysis/animation.md (TozlaC3-rCA), analysis/diff_animation_styles.md (finding #1), foreplay/08_authority.gemini.md; MAP.md; product-truth.md, claims-register.md; cartoon-h3 SKILL.md + scripts/cartoon_h3/{run,pack,h3,canvas,clipqa,sheet}.py; cartoon-pipeline SKILL.md + cp-014; knowledge/blueprints/cartoon-villain-pipeline.md; knowledge/ad-formats/cartoon-vsl.md; song-ad-playbook.md §5-6; output/dawn-iterate-2026-10-04/video/style-refs/{skeleton,disney3d}/; project_dawn_yapper_2026-10-04 (native speech route).

Built 10-06: mascot clause in clipqa.use_rubric (cast entry containing "mascot"). Not built yet (needs Fish's go): (2) cartoon-h3 "native speech" batch mode (core §3), which would give variant N an on-camera talking mascot without leaving H3; (3) a mascot archetype in cartoon_intake.py (variant K borrows talking_ingredients).

Not built yet (needs Fish's go)

Every line in this skill that mentions something not built, roughly de-duplicated. Some items repeat in different words.