format-skit
Short absurdist animated skit ad for Dawn (12-30 s) built on one escalating, sound-off-readable morning-failure gag (the kid sleeps through the smoke alarm, the tuba, mom's fifth knock) whose punchline is the band's silent buzz, or the same gag cut to a 3-5 s pattern-interrupt hook spliced in front of a proven body.
Lane: cartoon-h3 narrator (dialogue for in-scene shouts; song bodies via hooksplice) · not built yet: 2 (see below) · source: /Users/ayden/.openclaw/workspace/skills/format-skit
Skit — sources
Reference ads (Foreplay, analysed 10-06 in ~/research/davidaistar/foreplay/)
- 01_skits — Beaverpro hair growth oil, 15 s, 9:16, 100% AI slapstick (watermarked "AI-generated"). Beat by beat, paraphrased: a box truck flips and spills product cartons while a man in a wheelchair watches (0-2 s, horn and crash SFX); he abandons the chair and sprints to the boxes, shouting for someone to save him one (2-5 s); a woman hands him a bottle (5-7 s); he rubs it on his bald head (7-10 s); hair sprouts instantly and he reacts (10-12 s); an older woman lunges for the bottle demanding she's next (12-15 s). No CTA. Unaware, hyperbole. Tells: disappearing wheelchair, instant growth, a third hand at 0:13, loose lip sync masked by SFX; rapid cuts on action hide the morphing.
- Keep: one escalating premise; product as the payoff of the gag; a second character wanting it (social proof as a joke); cuts on action; 15 s.
- Change: symptom callout on frame 0 (we're problem-aware, it's unaware); readable muted (it's SFX-led); no on-camera talking (core §3); no physics gags on the product; no disability gag; a CTA + end card (optional,
--end-card; off by default per Fish 10-06); the punchline shows the mechanism (silent to everyone else).
- Gemini's Dawn seeds for this ad (Category-5 storm tears off the roof; SWAT flashbang breach) are rung-3+ absurd and skip the symptom callout. Usable only as a far rung after a rung-0 symptom line, and the SWAT one is a violence/brand-safety risk. Not adopted.
davidaistar method notes
- Zach-D grammar (
analysis/gemini_IolBFaQIrl4.md): fast matter-of-fact VO, bold captions, a title hook at the top; 3 completely different visual-hook concepts storyboarded for the first 3 s, then pick one; 3-5 s beats. Applied: 3 gag hooks per body, the overlay as a separate written hook, ≥1.2 s shots.
analysis/animation.md: "never skimp the hook even if you skimp storyboarding elsewhere"; abstract word → one concrete visual metaphor (willpower = tug-of-war over cake), which is how a VOC line becomes a gag picture; a written on-screen hook distinct from the spoken one.
analysis/diff_animation_styles.md: last-frame chaining across batches is not built (P1 gap), so our batch seams are hard cuts. Fine for a skit (cut on action), wrong for continuous Zach-D flow. The cheap-video path for simple-motion styles (paper) isn't built either.
- REPORT §3 row 1: "AI skits … YES, cartoon-h3 short … Low. Problem-aware gate means it needs a symptom callout, not just absurdity." This skill exists to clear that gate.
Our receipts
scripts/cartoon_h3/vo.py make_full_vo: the body cache key = voice + body speakers + voices + cfg (minus hook_tempo). Hook-only reuse depends on it.
scripts/cartoon_h3/hooksplice.py (song lane, 9-19): new sung hook + base body audio crossfade, --copy-body copies body clips; hookrun.sh is hard-coded to the bluey refs.
scripts/cartoon_h3/matrix.py + readout.py (10-02): hooks × leads packs and the hook-rate / hold-rate / CPA readout, ad names <concept>-h<i>-l<j>.
scripts/cartoon_h3/storyboard.py: SHORT_BEAT_S = 1.2, MAX_PANELS = 4, PRODUCT_MAX_PANELS = 3, MIN_GEN_S = 5.
scripts/cartoon_h3/pack.py PRODUCT_IN_FRAME_RE ("the band" etc.): the marching-band word trap.
scripts/cartoon_h3/assemble.py: clip audio stripped (-an), one bed; endcard.py: the card is an overlay on the last N s.
- Stake bank rows #9-#13 (
output/creative-strategy-cooper-2026-10-05/dawn-stakes.md); MAP.md §1, §2B.
- Song-lane staging lessons (
project_song_lane_2026-09-19): Higgsfield NSFW on a hand on a sleeping son under a blanket; Gemini refuses adult-over-child-in-bed frames; a planned background extra trips clipqa.
starpop articles (creator's own write-ups, read 2026-10-06; ~/research/davidaistar/starpop/txt/)
- Applied:
facebook-instagram-ad-sizes-and-safe-zones + how-to-preview-a-facebook-ad-before-publishing → §10 placement gate (the article names the UI regions but gives no percentages; the 14/35/6 % Reels box is Meta's published spec, cross-checked 10-06). are-ai-generated-ads-allowed-on-meta → §11 upload hygiene (Advantage+ enhancements off, live preview day 1). meta-video-ad-metrics-hook-rate-hold-rate-ctr-cpa, how-much-budget-to-test-meta-ad-creatives → §11 read/floor lines where this format needed them.
- Read, nothing new for this format:
ai-ad-formats-guide (format ↔ job table, shot-list order, references before video: already core §4), fully-ai-generated-ads-are-here-to-stay (strategy essay), how-to-calculate-break-even-roas-for-meta-ads (proposed for core §6, not format-specific), how-to-add-correct-captions-in-any-language + how-to-fix-wrong-capcut-auto-captions (script-as-source captions = our assemble rule already; his SRT → CapCut/Premiere import maps to Remotion per core §2a).
- Not adopted: (1) "an AI actor must not voice a fictional first-person experience / fabricated testimonial" (formats guide, AI-ads article, organic-vs-paid) — conflicts with Fish's claims unlock (10-02) and our dramatized mom-narrator recipe; risk is Fish's call, recorded here only. (2) His 25-char vertical caption line cap — VideoAd chunks by its own MAX_PHRASE_CHARS 28 + two-line fit, Fish-set. (3) Organic-first discovery (
ai-organic-social-vs-paid-ads) — Dawn's message and checkout path are proven, Testing CBO is our discovery lane. (4) His model picks (Kling O3 Pro, Sora 2, P-Video) — registry roles only; untested candidates.