ad-scripter-reference is a companion data file, not an executable skill. When the operator runs /ad-script, ad-scripter-write loads this file as context before doing any writing. It carries four things the script engine needs in one place: hook templates for each awareness level (unaware through product/most aware), believable result-number ranges across ten verticals, the full script output format, and the validation checklists. ad-scripter-modular uses it the same way for batch component generation. Nothing in this file decides, reasons, or calls a model on its own — all of that lives in the calling skill.
This is a passive reference. It makes no model calls. Routing lives entirely in the skills that consume it.
ad-scripter-write and ad-scripter-modular load this file as context at the start of their runs. The model routing decisions — which model handles scripting, validation, and compliance — belong to those calling skills, not to this reference. The table below shows how a consuming skill routes work that draws on this reference. It describes where to delegate when working against these templates, not what this file does itself.
| Task | Model | Why |
|---|---|---|
| Counting words, scanning forbidden-word lists, checking section counts and word-count targets against Part 4 of this reference | Plain code — no language model | Deterministic-first rule. Completeness is never a model's job. Count, compare, flag — no reasoning required. |
| Pulling template lookups, mechanical table reads, ingesting believable-number rows from Part 2 | claude-haiku-4-5 (Haiku 4.5) via OpenRouter | Low-consequence, high-volume mechanical reads. No judgment required at retrieval time. |
| First-pass validation checklist completion, section tagging, compliance flag generation | claude-sonnet-4-6 (Sonnet 4.6) via OpenRouter | Structured but judgment-light. Medium stakes — the checklist is binary, not interpretive. |
| Scripting, voice synthesis, insight generation, template population drawing on this reference | claude-opus-4-8 (Opus 4.8) via OpenRouter | Synthesis and quality are the bottleneck. Voice fidelity — how well the script sounds like the expert — is non-negotiable. Opus 4.8 is the correct ceiling for creative synthesis. |
| Controlled variation expansion across multiple hooks, bodies, and CTAs simultaneously (ad-scripter-modular) | GPT-5.5 via OpenRouter | Broad variation with coherence across a large output surface — the job ad-scripter-modular uses this for. |
| First market classification for a new expert (ceiling one-shot only) | claude-fable-5 (Fable 5) via OpenRouter — only if justified | 2x cost. Carries a mandatory 30-day data-retention obligation and requires explicit operator sign-off before any customer personally identifiable information (PII) is included. Not the default. |
All calls go through OpenRouter. Every call is logged with model ID, provider, and cost to the agent_run audit table.
Four parts, loaded wholesale. No runtime inputs. No outputs of its own — the calling skill produces the script.
ad-scripter-write loads this file in full before Step 1 of its procedure. There are no query parameters and no filtered reads. The calling skill uses whichever sections apply to the script it is writing — awareness level governs which hook templates and which word-count targets are active; the vertical governs which believable-number range applies. ad-scripter-modular uses the same full-load pattern for batch generation.
Hook templates cover all four awareness levels. Section templates cover every other part of the script — transition, struggle, turning point, insight, training intro, Social Proof Bridge (SPB — the mandatory bridge section connecting the expert's own journey to the student proof), and the call to action (CTA — the direct close that drives viewers to the free training). CTA parts scale with awareness level: unaware/problem-aware gets three parts; solution-aware gets four; product/most-aware gets all five.
| Awareness Level | What it signals | Hook templates available |
|---|---|---|
| UNAWARE | Viewer does not know they have the problem yet | Pattern Interrupt · Curiosity Gap · Contrarian |
| PROBLEM AWARE | Viewer knows the pain but not the solution | Pain Recognition · Relatable Scenario · Internal Dialogue |
| SOLUTION AWARE | Viewer knows solutions exist but has not committed | Result First · Credibility + Promise · Mechanism Hint |
| PRODUCT / MOST AWARE | Viewer knows the expert and the offer; needs a reason to act now | Direct Offer · Social Proof Lead · Urgency + Value |
Each hook template includes a word-count target (14–25 words depending on level). Locked section templates — struggle, turning point, Social Proof Bridge, and CTA close — use fixed structural slots (named-entity, timeframe, number, emotional state, internal dialogue) so the calling skill cannot omit a required element by accident.
Mechanism protection rule (hard at all temperatures): the insight section template explicitly blocks "the right sequence", "three steps", "Phase 1/2/3", or any language that reveals the solution structure. The allowed language is always vague: "the approach", "what was missing", "the path."
Ten verticals, each with timeframe-keyed ranges and demographic calibration notes. Numbers are specific by design — "landed her first $3,427 project" rather than "$3,000" — because round numbers feel invented. Every range is paired with a sustainability marker requirement (weight loss must include "kept it off"; income must include a timeframe durability phrase). The table also includes offer-price calibration: the higher the price of the offer, the stronger the proof numbers are allowed to be and the longer the timeframes required to justify them.
| Vertical | Primary metric | Demographic calibration note |
|---|---|---|
| 1 — Income / Business (Standard) | Monthly income, $300–$15,000/mo across timeframes | High-income audiences: focus on time saved, not raw numbers |
| 1 — Income / Business (High-Ticket, $2K+ programs) | Customer revenue, $2,000–$50,000/mo across timeframes | Offer-price calibration: $10K+ programs require longer timeframes and comprehensive outcome language |
| 2 — Weight Loss | Pounds, clothing sizes (size 16–18 → 2–3 sizes in 3–4mo) | Women 40–55: acknowledge body changes, emphasise sustainability |
| 3 — Hormone Health (PCOS, thyroid, menopause) | Cycle regularity, lab improvements, hot-flash reduction % | Validation-first language — these audiences have often been dismissed by the medical system |
| 4 — Energy / Fatigue / Sleep | Sleep onset time, morning energy quality, afternoon energy | Gentle, validating language — avoid high-energy phrasing for exhausted audiences |
| 5 — Gut Health / Digestion | Bloating timeline, food-reaction reduction | Symptom-specific language; avoid clinical framing |
| 6 — Fitness / Strength / Mobility | Strength gains, running milestones, mobility markers | Age-relative framing ("first real push-up at 48") performs well |
| 7 — Dating / Relationships | Match quality, date frequency, confidence timeline | Never guarantee relationship outcomes; dignity-preserving language required |
| 8 — Anxiety / Stress (non-clinical) | Daily stress, nervous system regulation timeline | Frame as stress management, not clinical treatment |
| 9 — Parenting / Family | Routine improvements, conflict reduction timeline | Release guilt — don't add to it |
| 10 — Career / Professional Development | Salary increase (10–30%), promotion timeline, interview success | Men 30–50: efficiency focus, ROI framing, direct numbers |
Pending: the Great Ad rubric (proof-trajectory dimension) will cross-check these ranges against its scoring criteria when it ships. The tables stand as-is until then — note flagged in the source so consuming skills do not modify in anticipation.
The canonical output block for every script. Three sections: the script itself (seven scenes with stage directions, timestamps, and word counts), the ad copy block (Meta Ads Manager — primary text (PT) × 3 and headlines (H) × 3), and the construction log (voice, temperature, demographic calibration, template selections, word-count table, compliance check, and Fibery fields to populate). The construction log is what makes the output auditable — every decision is recorded against the specific template and number source it came from.
| Output section | What it contains | Purpose |
|---|---|---|
| METADATA block | Format, runtime, word count, awareness level, hook framework, primary objection, temperature, demographic segment, niche vertical, emotional arc, emotional intensity | One-glance summary of all key decisions before the reader hits the script |
| SCENE 1–7 (script body) | Hook, Transition, Struggle, Turning Point, Insight, Training + Social Proof Bridge, Call to Action — each with stage directions and timestamps | The actor-ready script |
| AD COPY BLOCK | PT1 (story-led), PT2 (curiosity-led), PT3 (social-proof-led) — each 40–90 words; H1 (outcome), H2 (curiosity), H3 (identity) — each 3–8 words; plus a compliance check row per element | Ready to paste into Meta Ads Manager. The video does 95% of the selling — these are soft wrappers, not sales letters. |
| CONSTRUCTION LOG | Voice Book status, temperature justification, audience calibration, template selections, word-count table by section, ad copy block validation, Fibery field mappings | The audit trail. Shows which template was used, why that number was chosen, and where the Fibery fields get populated after /ad-log. |
Open reconciliation note: the Fibery field labels in the output format (e.g. COMPANY HUB/Primary Text 1) may not yet match the Supabase read-only field names exactly. The source changelog flags this as an unresolved judgment call pending a Fibery-Supabase schema reconciliation pass. Do not modify the labels in the meantime; flag when encountered.
Three sub-sections: the word-count and timing matrix (target words per section at each awareness level, target seconds per scene), the required-elements table per section per format, and the two validation checklists (one for SOLO/2-PERSON, one for SKILLSHOW_NOTEBOOK). Validation rigour scales with temperature — at LOW temperature every check is a hard gate; at MEDIUM and above, word counts and element counts become soft checks but structural checks remain hard.
| Section | Unaware | Problem Aware | Solution Aware | Product/Most Aware |
|---|---|---|---|---|
| 1: Hook (words) | 25 | 22 | 20 | 18 |
| 2: Transition (words) | 15 | 15 | 12 | 10 |
| 3: Struggle (words) | 50 | 45 | 40 | 35 |
| 4: Turning Point (words) | 50 | 45 | 40 | 35 |
| 5: Insight (words) | 40 | 35 | 30 | 25 |
| 6: Training + Proof (words) | 90 | 85 | 80 | 75 |
| 7: CTA (words) | 70 | 65 | 60 | 55 |
Total targets exceed the 240-word ceiling. At LOW temperature, trim to stay within ceiling. At MEDIUM and above, conversational flow and Voice Book pattern matching take priority.
Hard validation checks (apply at all temperatures, all formats):
| Check | Requirement |
|---|---|
| All 7 sections | Present in every SOLO/2-PERSON script |
| Social Proof Bridge | Non-negotiable — never skip |
| Specificity | Concrete numbers, timeframes, and details throughout — every proof element must feel verifiable |
| Numbers in range | Every result number cross-checked against Part 2 of this reference |
| No mechanism language | Zero sequence/phase/step reveals in the insight section |
| Voice fidelity | Script reads like the expert, not a copywriter — the Voice Book is the benchmark |
| Hook-to-awareness match | Hook template must match the declared awareness level |
| CTA qualifier + reassurance | Both present in every CTA regardless of format |
| Emotional arc match | Matches the vertical + demographic via audience language guidance |
Ad copy block rules (the non-negotiables):
| Rule | Detail |
|---|---|
| Hard rule: script-derived only | Every claim in a PT or headline must appear in the video script first. Zero invented claims. |
| Never in PT or headlines | Second-person + negative attribute ("you can't"), specific income/result claims, guarantee language, medical/diagnostic language, urgency/scarcity tactics, price points or offer details |
| Safe framing techniques | Always one of: Third-Person Story, First-Person Narrative, Community Framing, Aspiration Framing, Discovery Framing, Observation Framing |
| PT word count | 40–90 words each. Three variations (story-led, curiosity-led, social-proof-led). Each ends with a soft call to action. |
| Headline word count | 3–8 words each. Three variations (outcome, curiosity, identity). No numbers, no ALL CAPS, no exclamation marks. |
IDA vertical (Amelia Fenmore — interior-design business coach). High-ticket income framing, solution-aware hook, with the believable-number set applied.
--- HOOK TEMPLATE SELECTED --- Awareness Level: SOLUTION AWARE Template: Credibility + Promise Template text: "I have helped [NUMBER] people [OUTCOME]. Here is exactly how." Target word count: 16–20 words Populated for IDA: "I have helped 47 interior designers sign their first $3K customer without a design degree or existing portfolio. Here is exactly how." Word count: 22 words (MEDIUM temp — soft check, conversational flow takes priority) --- BELIEVABLE-NUMBER SET APPLIED (Vertical 1 — High-Ticket $2K+) --- | Timeframe | Range selected | Example used in script | |--------------------|-----------------|-----------------------------------------------------| | First customer | $2,000–$5,000 | "signed her first $3,427 customer" (odd/specific) | | Month 1–2 | $5,000–$10,000 | "closed $8,200 in her first six weeks" | | Month 6 | $15,000–$25,000 | "hit her first $19,500 month" | | Year 1 | $25,000–$50,000 | "now doing $31K months consistently" | Sustainability clause applied: "and has kept every one of those customers on retainer" Demographic calibration: High-income audience — time saved framed alongside raw numbers. Offer-price calibration: $10K+ program — longer timeframes, comprehensive outcome language. --- CONSTRUCTION LOG EXCERPT --- Voice Book status: USED EXISTING (IDA Voice Book, orchestration/expert-config/ida/) Temperature: MEDIUM Temperature justification: Iteration batch — Voice Book patterns modelled; conversational flow over rigid word-count gates. Demographic Segment: Women 35–50, career-switchers and self-taught decorators Emotional Entry Point: Quiet hope — "someone like me actually did this" Believable Numbers Vertical: Vertical 1 — High-Ticket ($2K+ programs) Word Count by Section (MEDIUM temp — soft checks): | Section | Target | Actual | Status | |----------------------|--------|--------|-----------| | 1: Hook | 20 | 22 | SOFT-OVER | | 2: Transition | 12 | 11 | OK | | 3: Struggle | 40 | 43 | SOFT-OVER | | 4: Turning Point | 40 | 38 | OK | | 5: Insight | 30 | 28 | OK | | 6: Training + Proof | 80 | 84 | SOFT-OVER | | 7: CTA | 60 | 57 | OK | | TOTAL | 282 | 283 | OK (MEDIUM temp ceiling waived for flow) | Hard checks: All 7 sections present: YES Social Proof Bridge included: YES Specificity (concrete numbers): YES Numbers in Part 2 range: YES No mechanism language: YES — insight uses "what was missing", not "Phase 1" Voice fidelity (Voice Book match): YES Hook-to-awareness match: YES — Credibility + Promise for SOLUTION AWARE CTA has qualifier + reassurance: YES Validation Status: PASS
Every abbreviation spelled out in full with context. These terms appear across the scripting phase and the rest of the pipeline.
| Term | In full / what it means |
|---|---|
| UNAWARE | Unaware (awareness level 1 of 4) — The viewer does not yet know they have the problem the ad addresses. Hooks must create the problem in their mind first. Uses the most disruptive hook templates: Pattern Interrupt, Curiosity Gap, Contrarian. |
| PROBLEM AWARE | Problem Aware (awareness level 2 of 4) — The viewer knows the pain but has not yet found a solution they trust. Hooks validate the specific struggle. Templates: Pain Recognition, Relatable Scenario, Internal Dialogue. |
| SOLUTION AWARE | Solution Aware (awareness level 3 of 4) — The viewer knows solutions exist but has not committed to one. Hooks lead with credibility and proof. Templates: Result First, Credibility + Promise, Mechanism Hint. |
| PRODUCT / MOST AWARE | Product Aware / Most Aware (awareness level 4 of 4) — The viewer knows the expert and the offer; they need a reason to act now. Hooks are direct. Templates: Direct Offer, Social Proof Lead, Urgency + Value. CTA uses all five closing parts. |
| Believable numbers | Believable numbers — Result figures (income, pounds lost, time to outcome) that sit within a credible range for the timeframe and demographic. The reference holds verified ranges for ten verticals. Numbers outside the range feel invented or unsafe; numbers inside the range feel real. Odd/specific numbers ("$4,237" not "$4,000") are required. |
| Voice Book | Voice Book (Expert Voice Book) — Layer 2 of the data layer. Built by ad-voice-profile from the expert's own transcripts (YouTube, VSL, podcast, webinar). Contains the expert's signature vocabulary, rhythm, sentence patterns, and recurring phrases. ad-scripter-write reads the Voice Book before every script and halts if it is empty for the named expert. The old name "Layer 3 calibration" is deprecated — use Voice Book. |
| winning_ads | winning_ads view (Supabase materialised export) — A materialised export of ads marked as winning in the Hermes swipe library, stored in references/swipe-library-winning-ads. This reference file (ad-scripter-reference) does not read the winning_ads view directly. A sibling skill — scripter-polish — checks scripts against patterns from this export as part of its quality-assurance pass. The brief's description of ad-scripter-reference as a "faithfulness check against winning_ads view" does not match the skill's actual content — see the reconciliation note below. |
| Faithfulness | Faithfulness (voice fidelity) — The degree to which a finished script sounds like the expert rather than a generic copywriter. Measured against the Voice Book. A hard check at all temperatures: if the script would not plausibly come out of the expert's mouth, it fails. Faithfulness to the Voice Book is distinct from compliance with Meta's ad policies — both are required. |
| SPB | Social Proof Bridge (SPB) — The mandatory section in Scene 6 of every SOLO/2-PERSON script. It bridges the expert's own backstory (parallel journey from the Voice Book) to the student proof (a named pioneer with a specific result number). 40–60 words. Non-negotiable — the validation checklist hard-fails any script that omits it. |
| CTA | Call to Action (CTA) — Scene 7. The direct close that drives the viewer to click and register for the free training. The five-part CTA close (What to Do, Why it Matters, When, How Easy, What Happens Next) is calibrated to awareness level — unaware/problem-aware use three parts; solution-aware use four; product/most-aware use all five. |
| PT | Primary Text (PT) — The written copy that appears above or below the video in Meta Ads Manager. Three variations per script: PT1 (story-led), PT2 (curiosity-led), PT3 (social-proof-led). Each 40–90 words. The video does 95% of the selling — primary text is a soft wrapper, not a sales letter. |
| TOF | Top of Funnel (TOF) — Cold traffic. People who have never seen the expert's content before. IDA cold Meta ads target TOF audiences, driving them to a free training before asking for a booked sales call. Unaware and problem-aware hooks are typical at TOF. |
| MOF | Middle of Funnel (MOF) — Warm traffic. People who have seen content or engaged with an ad but have not yet booked a call. Solution-aware hooks are typical at MOF. |
| BOF | Bottom of Funnel (BOF) — Hot traffic. People who have seen the free training or visited the booking page but have not yet booked. Product/most-aware hooks are typical at BOF. |
| CPBC | Cost Per Booked Call (CPBC) — How much money was spent on Meta ads to get one person to book a sales call. The primary success metric for IDA cold traffic. Target threshold lives in the expert config row in Supabase. |
| CPL | Cost Per Lead (CPL) — How much money was spent to get one person to register for the free training. Used as an early-signal proxy when CPBC data is not yet available (typically in the first week of a new creative's run). |
| IDA | Interior Design Academy (IDA) — The expert identity for Amelia Fenmore, an interior-design business coach. Her namespace in all Supabase rows is ida. Vertical 1 High-Ticket ($2K+ programs) is the relevant believable-numbers sub-table for IDA scripts. CPBC target and daily spend threshold live in the IDA expert config row. |
| DTC | Direct to Camera (DTC) — A video format where the presenter speaks directly into the camera lens. The most common format for IDA ads. Two sub-variants: selfie/handheld (informal, UGC-style) and Studio DTC (production lighting and backdrop). |
| UGC | User-Generated Content (UGC) — An ad format that mimics organic, creator-style content — informal, handheld, less polished. Routed through the AI-UGC production pathway (National Background Processing (NBP) Pro → Enhancor → Seedance 2.0) for hook iterations. |
| PII | Personally Identifiable Information (PII) — Any data that can identify a specific individual — names, email addresses, phone numbers, call recordings. Fable 5 carries a mandatory 30-day data-retention obligation; PII must never be passed to it without explicit operator sign-off. |
| Supabase | Supabase (database platform) — The PostgreSQL-based database that hosts the SKL ad creative system data layer. The seven data layers live here: Ad Swipe Library, Voice Book (Expert Profile), Competitor Intelligence, Live Performance, Launch Learnings, Expert-Specific Asset Bank, and Audience Voice. Agents read Supabase views only — never Fibery, Drive, or repo files at runtime. |
| Fibery | Fibery (project management and creative entity record) — The system of record for all CREATIVE and HOOK entities, their production status, and their Meta performance data. After /ad-log runs, the script's PT and headline fields are written to Fibery. The structured read-side shape lives in Supabase. |
| OpenRouter | OpenRouter (model routing proxy) — The API gateway through which all language model calls in this system are routed. Provides unified billing, model switching, and per-call logs (model ID, provider, cost) that feed the agent_run audit trail. |
| agent_run | agent_run (Supabase audit table) — The cross-cutting table that records every agent run. A row opens at the start of a run and closes at the end with a status of success, partial, failed, or halted. Every mutated row in the system carries the run's ID so any output can be traced back to the exact run that produced it. |
| HITL | Human in the Loop (HITL) — The operator approval gate at every stage of the creative pipeline in V1. No autonomous execution. The system captures the raw model output and the operator's edited final; the delta between the two is the agentic-performance signal that improves the system over time. |
| Hermes | Hermes (autonomous background agent harness) — The always-on agent layer that maintains the Supabase data. Hermes agents run continuously (Curator-Hermes, Voice-Hermes, Sales-Hermes) or on a schedule (Scout-Hermes daily; weekly Sunday job). They keep the competitor intelligence, live performance, and swipe library views current without operator commands. |
Gap 1 — "Faithfulness check against winning_ads view": The task brief describes ad-scripter-reference as a "read-side skill (faithfulness check against winning_ads view)." The skill source contains no such mechanism. This reference makes no calls, reads no Supabase views, and performs no winning_ads faithfulness check. The behaviour described is more consistent with scripter-polish (which checks scripts against winning patterns) or the general Supabase read-only interface rule. Recommend confirming whether the faithfulness-check feature belongs to scripter-polish or is a planned addition to this reference that has not yet been written into the source file.
Gap 2 — Fibery output labels vs Supabase field names: The output format in Part 3 uses COMPANY HUB/Primary Text 1 etc. The source changelog (2026-06-10) explicitly flags this as an unresolved judgment call pending a Fibery-Supabase schema reconciliation pass. No change applied; flagged for that pass.
Gap 3 — Great Ad rubric pending integration: Part 2 believable-number tables carry a note that the Great Ad rubric (proof-trajectory dimension) will cross-check these ranges when it ships. Until then the tables stand as-is. Consuming skills should not modify the ranges in anticipation.