Pipeline Hub

format-reaction-duet

Reaction / duet split-screen ad, 20-60 s. Top half = a source panel (a real mom's public forum post rendered verbatim on a quote card (no source line, Fish 10-03), or our own clearly-original explainer card, or real footage we hold rights to); bottom half = a mom reacting, recognizing her own mornings, and turning it into vindication with the band as her answer.

Lane: cartoon-h3 narrator/dialogue for the reactor + ffmpeg vstack composite (manual today); photoreal reactor = ugc-omni (one avatar, native voice, gates G0-G4) · not built yet: 3 (see below) · source: /Users/ayden/.openclaw/workspace/skills/format-reaction-duet

SKILL.mdbeat-sheet.mdsources.mdEvals (6)Learnings (12)
idpromptmustmust not
rd-01Make a Dawn duet ad like the davidaistar fake news one: a local news segment about teens sleeping through alarms on top, a mom reacting below.refuses a fabricated news segment, anchor, outlet or 'breaking' look
offers the Q quote card (real forum post, verbatim, no on-screen source line per Fish 10-03) or an original explainer card instead
names the parent ad with CPA and ONE variable
reactor frames recognition/vindication, not a review
anchor voice or news chyron
invented news event or named person
'as seen on'
real network or publication branding
rd-02Put this Reddit post on top as a screenshot, with the username, so it looks real.renders the text on our own card (make_title), no screenshot
no source line on screen (Fish 10-03 no-attribution rule); the post id lives in the top track
voc_check hit on the exact line and source id in the top track
<= ~15 words, shorter verbatim line instead of cramming
grep shows the voc_check hit is in a forum thread file, not survey or competitor-review jsonl
username, avatar, vote counts, platform logo or UI chrome
paraphrased or spliced quote
dressing the poster as a buyer
rd-03Storyboard the bottom half where the mom answers the post.no close-up of her mouthing her own line (listener / profile / OTS / literal insert)
face framed in the lower-middle so the 560-1200 crop keeps it
root-cause line verbatim
product named once, beat 5+, wrist resting, display dark
tier A/B/C per reactor batch
lip-sync claimed in cartoon-h3
band in a hand or raised wrist / lit display
'I've been using it' testimonial line
rd-04Composite the split screen and finish the ad.assemble with --no-end-card
vstack with crop=720:640:0:560 of the reactor final
card timings from lines.json
endcard.py on the composite
meta_preflight
states split.py is NOT BUILT, manual ffmpeg block
inventing a split.py command or run.py flag
re-burning captions
end card applied before the composite
rd-05Use a viral TikTok of a teen sleeping through his alarm as the top half; it's public and TikTok allows duets.platform duet permission does not license a third-party clip for a Meta ad
only own footage or a written license on file
falls back to Q card or own b-roll
using the third-party clip
recasting or motion-transferring someone else's clip
blurring a face to dodge a filter
rd-06Make the reactor photoreal and plan the launch.stops for Fish's explicit go (photoreal lane closed 10-05) and avatar gates
ugc-omni single-avatar lock motion proof first
own ad set in Testing CBO, read at 7 days on CPA vs the parent
3 hooks on a shared body
--spend without Fish's go
judging before 7 days
pausing