format-ad-clone
Process skill, not a single format. Take any reference ad (one of our own winners, a non-competitor scaling ad, an organic viral video, or a lane-leader competitor's ad), dissect it with scripts/ad_dissector.py, decide what survives by source type, remix it with ONE innovation (80/20), match its measured pacing, and hand it to the right format-* skill for production.
Lane: none of its own (routes to the target format's lane; dissect = Gemini + ffmpeg) · not built yet: 3 (see below) · source: /Users/ayden/.openclaw/workspace/skills/format-ad-clone
Ad clone — sources
davidaistar clone method (analysed 10-06, ~/research/davidaistar/analysis/)
- HBIENgQIQVU, clone masterclass (
gemini_HBIENgQIQVU.md). Method: feed the reference to an LLM, pull the beats, pacing and hook, rewrite for your product at the same pacing; hard cuts are easy to clone, transitions need start/end frames and cost colour; split screens and overlays get built in the editor; never ask one generation for several interacting characters; aim 80% proven structure, 20% innovation. His best sources are organic viral oddities moved into a product niche (an animated doctor over real animal footage for a hair-loss product; a fight-style format), not competitor ads. Keep: dissect first, 80/20, organic hijack, editor-first composition. Change: our dissect is measured (pacing.json), not eyeballed; our innovation is ONE named variable; start/end-frame transitions aren't wired in cartoon-h3.
- bw1LPGZWf-k, animated cloning SOP (
gemini_bw1LPGZWf-k.md). Beat by beat of his build: analyse a competitor's video + scrape Reddit objections → a ~20-beat storyboard → a talking 3D product or a crochet diorama → VO sliced per beat before video → clips cut to the slice lengths → dead air trimmed. Copy shape: objection hook → plateau → solution → credibility → guarantee → CTA. Keep: audio first, video timed to the slices (our cartoon-h3 already works this way); Reddit verbatim hooks (our VOC rule). Change: his source was a competitor's video; ours would be a gap map for any lane leader.
- gpzy2ofG0Dw, TikTok Shop duplication (
gemini_gpzy2ofG0Dw.md). Reference ad, paraphrased beat by beat: a 44 s dim selfie video in a bedroom; 0-3 s a couple asks on camera and in text whether the product can knock them out within the hour; a time-jump caption; the man whispers, fighting sleep, while his partner is already out. He claims ~$68.8K GMV. His three methods: (1) keep the clip, swap only the product; (2) re-skin the clip with a new product and a different-race couple and voice; (3) rebuild from an LLM shot description + an actor image. Tips: slice into <15 s parts, change actor and voice in separate passes, prompt micro-expressions (heavy eyelids). Keep: the challenge-hook-with-timer mechanic as an organic device, one variable per pass, sub-15 s segments (matches our ≤15 s batches), GMV as a sales signal. Don't adopt: methods 1 and 2 (grey-hat swap of someone else's footage; racial actor swap). GMV tooling: not built.
- aqo2L5wYGEg, agency-scale tooling (
gemini_aqo2L5wYGEg.md). Video analyzer (URL → stats, transcript, per-scene prompt), base image then motion-reference animation, bulk voice swap, lip-sync model, trim. Keep: the analyzer idea (= ad_dissector.py), product shot in a hand for scale. Change: we don't paste competitor URLs to copy their transcript.
- Shorts (
guide_copy_images_shorts.md): FuoDO-SVwNM (FastMoss competitor spy, sort by GMV: not built here); XPKJZKm5VnU (the actor's energy has to match the script's arc or the payoff breaks: applies to cast choice); BHmPSaROT7c (racial actor-swap prompt: don't adopt); Kling Motion transfer advice "change both the character AND the background" (the rule for any future swap lane); Yc5g0PmE5VU (blur faces to get past Seedance's face filter: don't adopt, core §3 forbids getting around provider filters); his no-AI-disclosure posture on throwaway accounts: don't adopt.
Our clone receipts
- 10-01 beauty-format pure mirrors (
output/dawn-beauty-format-2026-10-01/SCRIPTS-v4-mirror.md, build_packs_v4.py, packs output/concept-packs/dawnbands-s2-attendance-office-mirror-2026-10-01.md, dawnbands-s3-rate-them-mirror-2026-10-01.md). Fish 10-01: no hook, bridge, payoff or CTA of our own; the sources are 8-figure non-competitor beauty ads.
- S1 source (Blushe monologue, 290 words / 101 s, 3.12 wps), paraphrased: the creator says nobody she knows uses the old product any more → concedes it was progress in its day → says it was built for someone it already works on → explains why it stops working → "people moved on to" the new thing → how it works → the one thing the old one never had → a short contrast line → week 1/2/3 timeline → name, social proof, guarantee, link. Ours kept every beat and swapped the nouns.
- S2 source (Blushe plane skit, 207 words / 98 s, 3.46 wps, 0.68 s turn pauses), paraphrased: a stranger opens with a command about the heroine's routine → disbelief → the stranger's credentials → why the routine fails → hands over a spare → live demo on the heroine → a third person misreads the visible result as an expensive fix → punchline credits the stranger. No CTA. Ours: attendance-office clerk, band strapped on Mom, it buzzes.
- S3 source (Smooche rate-them, 333 words / 96 s, 3.71 wps), paraphrased: "as a mom of N, let's rate them" → four alternatives scored with a deadpan complaint each → the product scored 10 → how it works → social proof → guarantee → "this is the one". Ours kept the scores 6/5/7/6/10.
- Status: live in SCALE ad set 120249989091270232, verdict 10-08. Pacing was hand-counted then;
ad_dissector.py measures it now. Their packs' product_truth ("no screen… nothing on top of the strap") is stale against product-truth.md (LED display, dark when idle).
- 10-03 HiStrips personified-alarm ad mirrored beat for beat (concept-formula.md worked examples). Pre-10-05. Under this skill it would be a gap map, not a template.
- 10-05 Kalda (corrections-hot.md): a plan mirrored the lane leader's natives beat for beat as slot 1. Fish: "why are we just copying them through we were just beating them". This is the source of the §5 table's competitor row.
- charswap lane, Aug-Sep (
scripts/charswap_source_refs.py docstring): Seedance 2.5 video-edit swapped the person and room on TikTok talking-head references. 24 of 25 live ads edited ONE source video, read as near-duplicates, 4 of 28 got delivery; charswap-driveway ran $370 at $74 CPA (project_fanouts_2026-08-30). The entitlement ended 9-09.
- 10-06 ad_dissector.py built from
~/research/davidaistar/foreplay/gem.py (the 13 Foreplay breakdowns). Not run on a live source yet (output/ad-dissect/ empty at skill creation).
starpop.ai articles (same creator, written; read 10-06 from ~/research/davidaistar/starpop/txt/)
- clone-competitor-ads-with-ai + create-and-clone-competitor-ads-with-ai: his fork is one question, same buyer or different buyer. Same buyer → near-exact clone (swap brand, regenerate start frames with the product, one VO sliced per shot, lip-sync per slice). Different buyer → keep only the arc (his read: frustration → discovery → transformation → soft close), research the new buyer, write new hooks from that research. He names his own clone's flaws: product introduced too early (curiosity gap gone) and a script that ran long. Adopted: the buyer-match question and objection refill (SKILL §5), the reveal-position band (§8, §10). Already ours: VO first with dead air cut (vo.py compresses inner gaps), one continuous VO sliced per batch, characters locked before the storyboard (core gate 4).
- free-video-analyzer-tool: scene list with timecodes, downloadable start and end frame per scene, synced transcript. Adopted: the start/end frame pull as a free ffmpeg step (§9 3b, tested 10-06 on a 24 fps cut: 43 scenes → 86 frames). Not adopted: lifting the transcript to refill line by line (ad_dissector paraphrases by design; our words come from VOC).
- ai-ad-formats-guide, 5-tools-for-making-ai-ads: format choice starts from the job, not the model; split complex ideas into short single-action clips; references locked as stills before paid video; judge a tool by cost per usable ad after failed generations. All already in core §2b/§3/§4 and the registry; his model names (Kling O3, Seedance 2.0, Sora 2, P-Video) map to registry roles, no adoption.
- Not adopted (conflicts): (1) "same buyer → copy it almost exactly" applied to a lane-leader competitor, because Fish 10-05 rules a lane leader's ad a gap map, never a template (own winners already get near-exact cloning through iteration mode). (2) "Export every clip without reviewing, regenerate only the bad one": the regen-one-batch half is ours (
--regen N), but skipping review is not, because gemini_qa + Fish's eyes are core gate 8. (3) A Starpop-style curated library of other brands' ads as the clone source: our receipts come from TrendTrack/Foreplay/tikwm with spend or play counts (§9).