Pipeline Hub

format-asmr

Short ASMR / satisfying-sound contrast ad for Dawn (10-30 s): a deafening alarm cacophony (phone alarms, a bell clock, a smoke alarm, mom's knock) that wakes the whole house except one sleeping teen, then dead quiet and ONE soft buzz on his wrist that wakes him and nobody else, with close-up textures and crisp foley.

Lane: cartoon-h3 narrator (stylized video role) by default; photoreal object cut (cheap i2v role) as a test cell · not built yet: 4 (see below) · source: /Users/ayden/.openclaw/workspace/skills/format-asmr

SKILL.mdbeat-sheet.mdsources.mdEvals (6)Learnings (14)
1. Read first2. When to use / when not3. The format4. Why it sells5. Beat sheet (full timings, sound cue sheet and line rules in references/beat-sheet.md)6. Pack spec7. Visual grammar8. Audio9. Production (free until canvases; every paid step is Fish's)10. Gates & QA checklist (on top of core §4)11. Variants & test plan12. Failure modes13. Sources

format-asmr — everyone hears the alarms, only he feels the band

1. Read first

2. When to use / when not

3. The format

4. Why it sells

5. Beat sheet (full timings, sound cue sheet and line rules in references/beat-sheet.md)

# Beat % runtime Job Must contain
1 Din + symptom 0-10 Stop the scroll with sound; name her Header naming her symptom on frame 0, ≥2 s; ≥3 noise sources audible by 1.5 s; teen asleep in frame
2 The house wakes 10-35 Escalate: everyone but him 2-4 fast inserts: phone buzzing across the desk, bell-clock hammer, smoke-alarm light, the door (knock heard, mom not shown at the bedside); sister/dog/mom awake; he doesn't move
3 The drop 35-42 Silence as the turn Hard cut to room tone. One short line max ("Sound never reaches him."). No product yet
4 The buzz (ASMR core) 42-65 Mechanism you can feel Macro on the band, wrist resting flat, band side-on, display dark; one soft brrr; sheet ripple / motion lines; his eyes open; the sister/mom DON'T react
5 Up on his own 65-85 Payoff on her (independence) He sits up, feet on the floor; mom down the hall with her coffee, undisturbed
6 CTA 85-100 Offer Name + 60-night trial spoken or on the end card (optional, --end-card; off by default per Fish 10-06) (pack end_card:)

6. Pack spec

7. Visual grammar

8. Audio

9. Production (free until canvases; every paid step is Fish's)

cd ~/.openclaw/workspace; 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[@]}" --stage vo                                 # EL VO + vo_check (EL quota)
python3 -m scripts.cartoon_h3.sheet <out.png> <prompt.txt> <style_anchor.png> knowledge/brands/dawnbands/product-cutout-unlit.png   # ~$0.22 each, Fish's go
python3 -m scripts.cartoon_h3.run "${A[@]}" --stage storyboard                         # free; §10 checklist on every beat
touch output/cartoon-h3/$S/storyboard.approved                                         # Fish only
A=(${(z)"$(python3 -m scripts.cartoon_h3.packargs $P)"}); A=(${(Q)A})
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
python3 -m scripts.cartoon_h3.run "${A[@]}" --stage assemble --title-style dragon \
  --music audio-library/sfx/ambience/bedroom-night-ambience.mp3                        # room-tone bed + (optional end card) + gemini_qa
# then the sound cue sheet: ffmpeg overlay in references/beat-sheet.md → <slug>-final-sfx.mp4

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

11. Variants & test plan

Cell The one variable Status
Default static callout parent → 20-25 s ASMR contrast (cartoon-h3 narrator) buildable now; sound cue sheet by hand
Short length: 10-12 s (din + header → drop → brrr → end card (optional, --end-card; off by default per Fish 10-06), 2-3 VO lines) buildable now; one H3 batch
Narrator brand voice vs mom first person ("Every alarm in this house wakes me. Not him.") buildable now
Stake household (#17) vs safety (#9 smoke alarm: "He'd sleep through this too.") buildable now
Photoreal object cut stylized → photoreal macro, objects only test cell, Fish's go; assembly route untested (§9)
Sound-only no narration, header + captions carry copy NOT BUILT: no non-VO clock in cartoon-h3
- Hooks (3 × shared body via body_start: 3, ILLUSTRATIVE): (a) din on frame 0 + "You're up. He isn't." header; (b) mom line "Everyone in this house heard that. Except him."; (c) smoke-alarm stake "He'd sleep through this too." over the smoke detector's red light (a fear, not a claimed event: #9's verbatim is about a husband)
- Launch: own ad set in Testing CBO (one concept per ad set), PDP link everywhere (check_links), meta_preflight.py. Read hook rate (3-s views / impressions) at day 3, CPA vs the parent at day 7 (python3 -m scripts.cartoon_h3.readout --concept <c> once ads are named <concept>-h<i>-l1). Never pause, reduce. Record project_launch_<date>_<slug>.md.
- Sound is the creative here: an Advantage+ music enhancement would bury the din → silence drop, so the opt-out below is load-bearing; check the live Reels preview WITH sound, and the Feed preview muted (Feed autoplays silent: header + captions must sell it).
- Upload hygiene (starpop are-ai-generated-ads-allowed-on-meta): Advantage+ creative enhancements stay OFF (Meta's tools have added music and altered products on finished ads). The launchers copy degrees_of_freedom_spec from a model ad and silently drop it if that post fails, which falls back to Meta's defaults: check the created creative. Day 1: open the live preview in Feed AND Reels for added music, re-crops or altered frames.

12. Failure modes

Failure Fix
Ad opens on noise with no words on screen → mystery opener, fails the awareness gate header on frame 0 naming her symptom; --title-style dragon holds it ≥4 s
Din comes out quiet/flat (it went in as --music: normalized to -26 LUFS, ducked, faded in) room tone as the bed; din as a post-assemble overlay at cue-sheet levels
Buzz under-renders or reads as an earthquake reaction-primary: eyes opening + sitting up carry it; ripple small and local (Seedance playbook: vibration language under-renders)
fal content-policy reject on the buzz panel remove "vibrates/pulse/twitch/jiggles" near the teen in bed; motion lines + ripple + eyes
Band lights up / turns into a smartwatch wrist flat, side-on, nobody looking; no presses on the wrist; regen with --regen N; photoreal: "NO smartwatch module", "nothing glows"
Noise inserts <1.2 s dropped or merged badly by H3 merge at pack stage, ≥1.2 s per panel, ≤4 panels per batch
Sister and teen swap faces different batches or a ≥5-year age gap + different hair colour
Env sheet silently dropped (core §3: refs[:5] with a style anchor) ≤3 named people + 1 room per batch: teen + sister + Mom + product + room is already 5, so the dog stays an unnamed extra
Clip QA false FAIL on a teen GIRL or the sister fixed 10-06: clipqa.use_rubric reads the cast from the pack's characters:/cast:, so name the girl/sister there; check with python3 -m scripts.cartoon_h3.clipqa output/cartoon-h3/<slug> --print-rubric (no API call). A reviewed false FAIL still goes to output/cartoon-h3/<slug>/gen/qa-waivers.json (format-mascot-explainer §12), --auto-regen 0
Pure product loop with no her/him (photoreal temptation) keep her in the header + VO and him implied on screen; never ship a texture loop alone (core don't-build)
VO drowned by the din cut the din under the words, or duck it by hand; VO dominant is doctrine
Missing SFX file at mix time cue sheet gate: every file exists before the storyboard is approved

13. Sources

~/research/davidaistar/txt/YtHf2oQisLQ.txt, analysis/guide_copy_images_shorts.md (shorts table + cross-video patterns), analysis/gemini_f83UH-qmNUs.md (parent video: Action/Audio/Quality prompt blocks), analysis/diff_animation_styles.md, analysis/diff_ai_ugc.md; scripts/cartoon_h3/assemble.py, scripts/vo_audio_chain.py, scripts/finish_video.py, scripts/seedance_img2vid.py, scripts/cartoon_h3/vo_check.py, audio-library/INDEX.md; MAP.md, dawn-stakes.md, product-truth.md; memories project_dawnbands_broll_seedance_playbook.md, feedback_cartoon_vsl_sound_pacing_doctrine.md, feedback_ai_avatar_broll_lane.md, corrections-hot.md. Detail in references/sources.md.

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.