Ad clone — the clone sheet, the remix sheet, line rules
This skill's "beat sheet" has two layers: the 8 process steps (what you do, in order) and the remix sheet you fill per source (what the format skill receives). The target format skill's own beat sheet takes over after step 8.
The 8 steps
| # | Step | Share of effort | Job | Required output | Rules |
|---|---|---|---|---|---|
| 1 | Source | 10% | Find a reference that already proved retention or sales | Link + receipt line (CPA/ROAS, run days, duplicates, play count) | Own winners first, then non-competitor scalers, then organic viral. A lane leader only as a gap map |
| 2 | Classify | 5% | Decide what may survive | Source type from SKILL.md §5 | Unsure whether it's a competitor = competitor |
| 3 | Dissect | 10% | Measured pacing + timed beats | output/ad-dissect/<slug>/{pacing.json,dissect.md} |
--competitor on lane leaders; --brand-context always |
| 4 | Keep/change | 15% | Separate structure from surface | Keep/change table | Words, cast, set, claims and numbers never survive from a non-own source |
| 5 | Remix 80/20 | 30% | Our concept on the source's structure, one innovation | Beat map + 4 concept slots + iteration: |
ONE innovation. Lines come from VOC and Fish's ruled lines, never from the dissect's said column |
| 6 | Pacing match | 10% | Hold what made it watchable | Band table + vo_check keys | Bands in SKILL.md §8; cite pacing.json values |
| 7 | Route | 5% | Right lane for the device | format_skill: |
SKILL.md §6 table; check the skill exists |
| 8 | Hand off | 15% | Start production in the format skill | That skill's pack draft | That skill's gates + core §4; Fish approves script before any paid step |
Remix sheet template (output/ad-dissect/<slug>/remix.md)
# Remix: <source format_name> → <our concept title>
source: <link or path> dissect: output/ad-dissect/<slug>/
source_type: own-winner | non-competitor-scaler | organic-viral | lane-leader-competitor
receipt: <e.g. "running 140 days, 38 duplicates (TrendTrack)" / "CPA $31 on $54.8K" / "3.9M plays">
format_skill: <format-*> parent: <ad name + CPA> iteration: <the ONE innovation>
## Pacing (from pacing.json → our band)
| measure | source | our band |
| duration_s | | ±15% |
| words / wps | | ±15% / ±0.3 |
| cuts_per_10s / mean_shot_s | | ±25% (cartoon-h3 floor: 1.2 s beats) |
vo_check keys (only if needed): min_wps / dead_air / gap_turn_max = <value> (pacing.json: <field>=<value>)
## Keep / change
| element | source does | we keep / change | why |
(hook mechanic, beat order, device, payoff, CTA, cast, setting, voice, product shots, on-screen text)
## Beat map
| source beat (start-end, role) | our beat | shot tier A/B/C (core §2b) | our line source (VOC file + line / Fish's ruled line / product-truth.md) |
## Concept slots
1 structure: <this source's structure, or for a competitor: our paying structure + gap map notes>
2 verbatim customer line: <quote + file> (voc_check.py PASS)
3 belief: <belief + research source>
4 buyer: <lane + purchase data>
## Competitor-swap test
<what in this script only Dawn can say; if nothing, scrap>
Line rules (all remixes)
- No line, hook or headline from the source text. The dissect paraphrases (≤8 consecutive words by prompt); treat
saidas a description of the beat's job, not copy. - Lines 1-2 name HER by an observable symptom (core §1). If the source opens on a mystery, keep its timing and replace the mystery with her symptom in action.
- The source's numbers, ratings, testimonials and claims are dropped. Ours come from product-truth.md and the claims Fish unlocked on 10-02.
- Fish's ruled root-cause and mechanism lines go in verbatim where the source has an explainer or product beat.
- Keep the source's device score or scale only if it's a format mechanic (e.g. a rating out of 10). Its specific scores aren't data.
- Organic sources: the product enters where the format allows a reveal (usually the last third). Never before the problem is on screen.
Structure example (ILLUSTRATIVE: shows the shape only, not shipping copy; real lines come from VOC and Fish's approval)
Source: an organic "rating every alarm sound" TikTok (non-ad, high play count). Type: organic viral. Device: creator plays alarm after alarm, scores each one, deadpan reactions, the last one gets a twist score.
| Source beat | Our beat | Line source |
|---|---|---|
| 0-2 s: creator announces the ranking | Mom announces she's rating every way she's tried to wake her teen | VOC line about trying everything (survey export) |
| 2-40 s: alarm, score, reaction, repeat | Each failed solution, scored, her son still asleep in every shot | Generic failed solutions only (louder alarm, phone across the room, lights on), no brand names, never bed shakers |
| 40-50 s: final item, twist score | The band, top score; he wakes, nobody else does | Fish's ruled mechanism line verbatim |
| 50-55 s: sign-off | Payoff on HER (she drinks her coffee in a quiet house) + 60-night trial | product-truth.md guarantee |
- iteration: format port (organic rating format → our callout). Route: format-rated-solutions. Pacing: match the source's cuts per 10 s and wps within the bands.
- What it must NOT be: the 10-01 Smooche rate-them mirror re-run with new scores (that's a pure mirror of a non-competitor ad already in test), or any lane-leader wrist-alarm ad's ranking reworded.