Scenario Compiler — Unit-to-Production-Package Compiler for Ad Creative
Scenario Compiler
TL;DR: The production compiler: one frozen research unit in → a package out that a content team (or AI pipeline) can execute without making a single creative decision. Per unit: 3 static + 3 video cards, each with 3 swappable hooks (slot 1 only, three different mechanisms) = 18 named variants from 6 base creatives. Every visual row carries an asset-source tag that routes it to the right pipeline; shoot rows aggregate into a deduped cross-unit shotlist; ad names encode unit IDs so results merge back into the research automatically. Dogfooded on a 20-unit batch: 120 base creatives, 360 named variants. The brief format it implements is documented at marketing/prescriptive-production-briefs.
What It Does
The skill consumes a signed-off unit from tools/target-audience-research — it refuses units whose sign-off gate isn’t approved; frozen IDs are the contract — and compiles it through five stages:
| Stage | What happens | Gate |
|---|---|---|
| 0 — Load & validate | Pull the unit (promise, proof requirements, angle, hook seeds, dependencies); distill a run-level brand spec; validate buildability — unmet dependencies mark cards BLOCKED with alternatives, never silent substitutions | — |
| 1 — Creative directions | Tournament-lite: 4–6 static + 4–6 video concepts → keep 3+3; together they must cover all the unit’s proof requirements | Gate 1: concept approval |
| 2–3 — Cards | Full static + video cards: fixed compositions, frame-level slot tables (time / visual / final VO / on-screen text / asset source), exact CTAs and destinations | — |
| 4 — Hook triplets | A/B/C hooks per creative — three different mechanisms, seeded from the unit’s verbatim customer language, char-counted | — |
| 5 — QA + package | The QA checklist run against every card; shared artifacts updated (shotlist, asset manifest, LP-requirements); manifest validates 6 creatives × 3 hooks = 18 named variants | Gate 2: final review → frozen |
What Makes It Different
- Zero suggestion language. “Could / maybe / consider” in a final copy field is a QA failure. The quality bar: a stranger with the assets and zero context could produce all 18 variants identically twice.
- Hook = slot 1 only. One base edit, three swapped openings, three mechanism labels from a 10-item taxonomy (pain-callout, stat-shock, curiosity-gap, identity-call, objection-flip, social-jolt, honest time-urgency, contrast, question-trap, pattern-interrupt). Synonym hooks fail QA — they ruin the test read.
- The asset-source column is the handoff.
AI-genrows must include a generation-ready prompt;shootrows flow into a shared shotlist written for cross-unit reuse;screen-recrows spec the exact screen state. The column is what lets one brief feed human editors, image models, and a camera crew simultaneously. - Compliance travels with the card. Harvested quotes are adapted, never attributed (FTC); audio is commercial-licensed or original only; unverified compliance is carried as an explicit flag; message-match gaps between ads and live landing pages are emitted as a deliverable for the LP team.
- Ad names encode unit IDs (
TA2J1A1-V2-B) — non-negotiable, because the research skill’s feedback merge keys on them.
Real Run: The 20-Unit Batch
First batch (same anonymized engagement, June 2026): 20 units compiled by 20 parallel brief-writing agents off one central briefing file, with concepts centrally allocated and a shared scene library. Output: 120 base creatives / 360 named variants, a batch status board, a 5-setup shotlist, an asset manifest, and an LP-requirements file.
The batch’s two most useful findings:
- Hook collisions happen at copy level even with central concept allocation. One sourced stat opened hooks in four different test cells; two sibling units ran near-identical question-traps. Fix: signature hooks are exclusive to one cell, and a similarity audit over all 120 hooks + 120 opening visuals is a mandatory batch stage.
- Gate adaptation in batch mode works. Per-unit concept approval would have meant 20 interruptions; it collapsed into central allocation up front + one batch-level overview gate at the end — gate placement (points of irreversibility) preserved, gate count adapted.
Honest limits from the run: 13/20 units were producible immediately; 7 stayed gated on client answers (asset and operational dependencies) — correctly marked BLOCKED rather than improvised. Fully prescriptive authoring costs real time; for a one-off creative, a conventional brief is cheaper.
When to Use
- “Build scenarios / production briefs for unit X”
- “Turn these research units into ads”
- “Shotlist for this batch”
- Handing creative work to content creators or an AI production pipeline that must not improvise
Chains With
Downstream of tools/target-audience-research (the frozen unit contract); pairs with marketing/ai-product-video-fidelity workflows for AI-gen rows where product fidelity matters; feeds media buying whose results merge back upstream via the ID-encoded ad names.
Key Takeaways
- A frozen unit in, an executable package out — executors flag, never invent.
- 6 base creatives × 3 hook mechanisms = 18 clean test cells per unit; the mechanism discipline is what makes the test read interpretable.
- The asset-source column routes each visual to the right pipeline; the shared shotlist turns 60 videos of shoot needs into a handful of setups.
- Batch scale needs central allocation and a similarity audit — writers (human or AI) independently converge on the strongest material.
- Blocked ≠ improvised: unmet dependencies are flagged with alternatives, and compliance status travels with every card.
Related
- marketing/prescriptive-production-briefs — the brief format this skill implements, with the published guardrails
- tools/target-audience-research — the upstream research compiler
- automation/staged-compiler-pattern — the two-compiler architecture both skills instantiate
- glossary/creative-is-new-targeting — why hook-mechanism variants are the lever worth this much process
- marketing/ai-product-video-fidelity — fidelity-safe production for the AI-gen rows
- glossary/distinctive-assets — what the run-level brand spec protects
Sources
- Primores internal skill (15-scenario-compiler: SKILL.md, card templates, QA checklist)
- First 20-unit batch run, June 2026 (internal; client anonymized)