/ad-script.ad-scripter-write is the core script engine for the SKL (Stealth Kairos Labs) ad creative pipeline. Given an outline (Iteration mode, the V1 default) or an approved concept card plus ad idea (Pioneer mode, V1.1 — deferred) and a Voice Book (the expert's structured voice profile — built by ad-voice-profile and loaded from orchestration/expert-config/<expert>/voice-book.md), it writes a full 7-section Meta cold-conversion ad script plus an Ad Copy Block (three Primary Texts and three Headlines for Meta Ads Manager). The 7-section structure is: Hook · Transition · Struggle · Turning Point · Insight · Training Intro + Social Proof Bridge (SPB) · Call to Action (CTA). The Social Proof Bridge and the Three Nots + Positive pattern are non-negotiable — they appear in every script regardless of temperature or format. The mechanism protection rule is equally non-negotiable: the script teasers the expert's method but never reveals the solution sequence, phases, or steps. Before writing a single word, the skill reads the Voice Book from the markdown file (orchestration/expert-config/<expert>/voice-book.md) — this is the live source of record, loaded by context_loader.py as part of the context preflight. If the file is absent or empty, the skill halts immediately. It does not attempt to self-heal. The skill also reads active_launch_learnings_for_<expert> (active avoid/forbidden/positive patterns from ad-autopsy) and winning_ads (verified winner scripts) before every run. All outputs — raw script, Ad Copy Block, Construction Log (Pioneer mode only) — are written to Supabase as the system of record; the Fibery (project management) entity is the operator's work surface and mirrors that data.
Deterministic-first rule applies. Word counts, forbidden word scans, section structure checks, and threshold comparisons run as plain code. The model only reasons over pre-digested results. All model calls go through OpenRouter (the model-routing proxy), logged with model identifier and cost to agent_run.
| Task | Model | Why |
|---|---|---|
| Word counts, section length checks, forbidden word scan, threshold comparisons, em-dash character sweep | Plain code — no language model | Deterministic-first rule. Counting and scanning against bounded inputs is pure logic. A model adds latency, cost, and no accuracy advantage here. Mechanical checks must run as commands with results pasted into the construction log — never attested from memory. |
Reading Supabase views — expert_profile, winning_ads, expert_proofs_for_<expert>, expert_hooks_for_<expert>, active_launch_learnings_for_<expert> | claude-haiku-4-5 (Haiku 4.5) via OpenRouter | Mechanical data pull with no synthesis required. Haiku 4.5 is the right cost-to-capability ratio for view reads that feed the heavier reasoning steps below. |
| Checking Loop answers (Loops 1 and 2 — post-calibration and post-draft) | claude-sonnet-4-6 (Sonnet 4.6) via OpenRouter | Checklist-style gates with a one-sentence rationale. First-pass quality work that does not require ceiling reasoning. |
| Script drafting (Steps 1–5, all 5 format modes, all 3 temperature levels) | claude-opus-4-8 (Opus 4.8) via OpenRouter | Core scripting is synthesis plus voice fidelity. A wrong output here costs reshoots. Opus 4.8 is the correct ceiling for this consequence level. |
| Ad Copy Block generation (Step 6 — Primary Text x3 + Headline x3) | claude-opus-4-8 (Opus 4.8) via OpenRouter | Compliance judgement plus brand voice. The consequence of error is Meta ad rejection. Same ceiling as script drafting. |
| Controlled variation expansion — 3+ script variations from a single outline with deliberate structural differences (MEDIUM-HIGH temperature batches) | GPT-5.5 (OpenAI, via OpenRouter) | Broad controlled variation across a bounded spec. This task is distinct from voice-fidelity synthesis — it benefits from a different model's approach to structural divergence. Note: this is a non-Anthropic model call routed through OpenRouter. |
| Ceiling one-shot scripting (not used by this skill) | claude-fable-5 (Fable 5) via OpenRouter — NOT used by ad-scripter-write | Fable 5 is reserved for ceiling one-shot jobs in other pipeline skills (for example, the first Pioneer market classification in ad-ideator-classify). Documented here for system-wide awareness. Fable 5 costs 2x Opus 4.8 and carries a mandatory 30-day data-retention obligation — customer personal data sign-off required before any Fable 5 call. Do not route any ad-scripter-write task to Fable 5. |
What goes in, what the skill does with it, and what comes out.
| Input | Source | Required |
|---|---|---|
| Voice Book (Expert Voice Profile) | orchestration/expert-config/<expert>/voice-book.md — the live source of record, loaded by context_loader.py via orchestration/context-manifest.json as part of the context preflight before this skill runs. The expert_profile Supabase view is the future data layer; read it when wired, but the markdown is authoritative today. | YES — HALT if the markdown file is absent or empty. Must cover signature structures, vocabulary, mechanism language, proof framing, and ICP arc. The /ad-script context preflight gates this. |
| Concept Card | Output of ad-ideate (upstream in the pipeline). Pioneer mode (V1.1 — deferred) only. In Iteration mode (the V1 default) the Outline replaces the Concept Card — a missing Concept Card is NOT a halt condition in Iteration. | Pioneer mode: YES — HALT if absent. Must contain: awareness level, archetype, routing field (AI-UGC / INTERNAL-TEAM / EXTERNAL-ACTOR), primary objection. Iteration mode: N/A. |
| Ad Idea / Outline | Operator-provided (50–80 words minimum). In Iteration mode this replaces the Concept Card as the structural input — includes hook concept, body arc, proof inventory, CTA frame, duration target. | YES — HALT if absent. |
| Temperature | Operator or batch config | YES. LOW / MEDIUM / MEDIUM-HIGH. Defaults: Iteration = MEDIUM, Pioneer = LOW. |
| Operating Mode | Operator specifies | YES. ITERATION (V1 default) or PIONEER (V1.1 — deferred). |
| Format Mode | Operator specifies or defaults to SOLO | Optional. SOLO / 2-PERSON-FRIENDS / 2-PERSON-RECOGNITION / SKILLSHOW_NOTEBOOK / FAQ_PHONE_SCROLL. Defaults to SOLO if not specified. |
| Expert proof bank | expert_proofs_for_<expert> Supabase gold view (verified=true, deprecated=false). proof-bank-ida.md is a generated fallback. | Required for Social Proof Bridge assembly. Never repeat the same proof entry across a batch. |
| Expert hook bank | expert_hooks_for_<expert> Supabase gold view | Required for hook calibration. |
| Winning ads | winning_ads Supabase gold view (performance_signal='verified_winner', scoped to expert namespace). In Iteration mode this is the primary voice calibration source — outranks all external swipe references. | Required. Fallback to swipe-library-curated-reference.md and full-script-swipe-bank*.md generated working surfaces if Supabase is unavailable. |
| Active launch learnings | active_launch_learnings_for_<expert> Supabase view (encapsulates launch_learnings WHERE superseded_at IS NULL). Provides active avoid patterns, forbidden patterns, and positive patterns from ad-autopsy. | Required. Forbidden patterns = hard stops. Avoid patterns = structural guides. Positive patterns = angle weighting input. |
| ad-scripter-reference | Companion skill — templates by awareness level, believable number ranges (10 verticals), output format spec, validation checklist | Read at Steps 2, 3, 6. |
| format-reference | Format-specific documentation for non-SOLO modes | Read when Format Mode is not SOLO. |
raw_outputs table after Steps 1–5; mirrored to Fibery CREATIVE entity after operator approval| Field / Section | What it is |
|---|---|
| Section 1: Hook | Opening line(s). No setup, no preamble. Viewer must recognise themselves in the first sentence. Must adhere to the hook framework assigned in the Concept Card and the mechanics ceiling set by ad-hook-principles. Target: ~22 words (PROBLEM AWARE, LOW temp) — an exact guideline whose priority shifts with temperature. |
| Section 2: Transition | Bridge from hook to struggle. Anchors the expert's credibility via frequency ("I speak to people in this position every single week") rather than credentials. Short — ~10–15 words. |
| Section 3: Struggle | Names the failed attempts the viewer has already tried. Stacks 2–3 specific actions (not generic pain). Closes with the internal emotional state. ~45–50 words. |
| Section 4: Turning Point | Introduces the protagonist (student or guru) by name. States their before-state with specificity (occupation, years, catalyst). Delivers the result with a real number. Uses the Hard Landing Repeat (SPB — see glossary) on the most emotionally resonant number. Closes with the emotional dimension ("first time the work felt like his"). ~45–51 words. |
| Section 5: Insight — Three Nots + Positive | Three things the approach does NOT require (specific to the primary objection), followed by the single positive — what it IS built on. The Positive must be specific, not generic ("the one skill your life experience makes you better at" is specific; "a proven system" is not). Non-negotiable structure. ~33–35 words. |
| Section 6: Training Intro + Social Proof Bridge (SPB) | Opens with the training intro: "I made a free training that walks you through exactly how this works." Immediately followed by the SPB — 3 Pioneer proof entries stacked with zero connective tissue (no "and", no "also", no line breaks between entries). Each entry = name + background + result + timeframe. Proof entries sourced from expert_proofs_for_<expert> by objection match and demographic tier. No proof ID repeated within a batch. |
| Section 7: Call to Action (CTA) | Soft and resolved — not urgent. "The link is below. It's free." Callback to hook tension. In PROBLEM AWARE calibration: delivers parts 1 (What), 2 (Why), and 4 (How easy) of the awareness-level close. Never escalates pressure. ~15–20 words for Amelia's authentic register (Soft CTA pattern from Voice Book section 1.7). |
| Production Notes | Actor-facing pacing and delivery guidance per scene. Included by default. States the Hard Landing Repeat beat, Three Nots delivery cadence, proof stack rhythm, tone for each scene. No meta copy, no internal strategy language. |
| Mechanism Reveal Level | One of: NONE / TEASER / CONCEPT (set on the Concept Card, propagated here). At TEASER: name only the mechanism's existence and the outcome it produces — never the sequence, phases, steps, element count, or any numbered structure. At NONE: no mechanism language at all. |
| Routing field | AI-UGC / INTERNAL-TEAM / EXTERNAL-ACTOR. Set by ad-ideate in the Concept Card. Propagated unchanged by this skill. Read by ad-production-brief to determine which brief format to emit. Do not change during scripting unless operator instructs it. |
COMPANY HUB/Primary Text 1–3 and COMPANY HUB/Headline 1–3.| Field | What it is |
|---|---|
| PT1 (Primary Text 1 — Story-led) | Third-person story framing. Retells the protagonist's arc from the Turning Point section without becoming a sales letter. ~60–70 words. Soft and compliant — no income claims, no guarantee language, no urgency. |
| PT2 (Primary Text 2 — Curiosity-led) | Observation framing. Raises a tension or distinction that makes the viewer want to watch. Does not resolve it — the video does that. ~55–65 words. |
| PT3 (Primary Text 3 — Social Proof-led) | Community framing. Names the cohort of people who have done this. Anchors them by their backgrounds (not their results). ~60–70 words. |
| H1 (Headline 1 — Outcome) | States the outcome in plain English. 3–8 words. No claim that doesn't appear in the video script. |
| H2 (Headline 2 — Curiosity) | Opens a loop. 3–8 words. |
| H3 (Headline 3 — Identity) | Names the person this is for. 3–8 words. |
| Compliance check | Per-element check against: personal attributes (you + negative), income/result claims, guarantee language, urgency/scarcity, price/offer details, script-derivation (every claim traceable to a video section). Must all be CLEAR before output is finalised. |
| Field | What it is |
|---|---|
| Voice Profile Status | Confirms the Voice Book was loaded from orchestration/expert-config/<expert>/voice-book.md (the live source of record). Notes whether the expert_profile Supabase view was also read (future data layer — supplements but does not replace the markdown). |
| Temperature + Justification | States the temperature level and why — especially any departure from the mode default. |
| Audience Calibration | Demographic segment (ICP — Ideal Customer Profile tier from ad-audience-language-dna), language patterns applied, emotional entry point and intensity level, believable numbers vertical. |
| Awareness Level + Justification | States the awareness level and the logic for choosing it — what the cold-traffic viewer knows and doesn't know at ad exposure. |
| Mechanism Reveal Level + Language Used | States the reveal level and quotes the exact mechanism phrases used, confirming they match the Ad-Safe Mechanism Reference in the Voice Book verbatim. |
| Proof IDs Used | Lists the proof bank entry IDs for every testimonial and Pioneer used. Confirms no ID is repeated within the batch. Notes any currency or demographic anomalies. |
| Structural Non-Negotiables Confirmed | Checklist: Hard Landing Repeat, Three Nots + Positive, Social Proof Bridge (with stack count and tier), CTA callback to hook, mechanism reveal level, em-dash scan result, binary contrast count, numeral consistency, forbidden words absent. Each item must be confirmed by executing a command — not attested from memory. The 2026-06-10 depth eval caught this skill claiming zero em dashes while the script contained 4–6. A checked box without executed evidence is a hard fail. |
| Word Count by Section | Target vs actual per section with status. Notes any intentional departures (e.g. short CTA in Amelia's authentic register). |
| Checking Loop 2 answers | Records the post-draft sense check and upstream check answers with one-sentence rationale. |
agent_run table — opened at start, closed at end of every run| Field | What it is |
|---|---|
| agent_name | Always ad-scripter-write. |
| triggered_by | Always operator — this skill fires on /ad-script, never autonomously. |
| expert_namespace | Which expert this run is for (e.g. ida for Amelia Fenmore). |
| status | One of: success (all scripts produced, all gates passed) / partial (some scripts produced, one or more gates blocked the rest) / failed (unrecoverable error) / halted (a HALT gate fired — missing Voice Book markdown, missing Ad-Safe Mechanism Reference, missing Outline, or — Pioneer mode only — missing Concept Card). Status detail names the gate and what the operator must supply before re-running. |
| created_by_run_id | Stamped on every row written during the run, including the raw_outputs table entry (FR-39: raw script captured before the Ad Copy Block, before any operator edit — this delta is the agentic-performance signal for the V1 to autonomous transition). |
Real eval artifact from the 2026-06-10 SC2.0 depth eval. Skill arm (A), task sw-tc001. Input was a frozen Concept Card for IDA (Amelia Fenmore — interior-design business coach), Pioneer mode, age-objection angle, LOW temperature. The skill passed narrow — see the warn callout below for known failure modes caught in this run.
================================================== AD #TC001-A: IDA-AGE-OBJECTION-DTC-V1 ================================================== METADATA: - Format: Standard DTC (SOLO) - Runtime: ~75 seconds - Word Count: 240 words (spoken script) - Awareness Level: PROBLEM AWARE - Hook Framework: Direct Callout / Age Mirror (Pain Recognition) - Primary Objection: AGE — "I'm 50+, it's too late to start over" - Temperature: LOW (Pioneer mode default) - Operating Mode: PIONEER - Demographic Segment: T1 — Full-time employees, near-retirees, burned-out professionals (50+) - Niche Vertical: Income / Business (Standard Income range) - Emotional Arc: Recognition (trapped) → Resignation Relief (wrong vehicle) → Evidence (proof it works) → Permission (solvable) - Emotional Intensity: MEDIUM (steady, validating — no high-energy phrasing) - Mechanism Reveal: TEASER - Routing: EXTERNAL-ACTOR -------------------------------------------------- SCENE 1: HOOK [0:00-0:08] -------------------------------------------------- [Direct to camera. No setup. Opens mid-thought.] AMELIA: "If you're 50 or older and you've been telling yourself it's too late to start something new — I want you to hear this." -------------------------------------------------- SCENE 2: TRANSITION [0:08-0:14] -------------------------------------------------- AMELIA: "I speak to people in this position every single week." -------------------------------------------------- SCENE 3: STRUGGLE [0:14-0:34] -------------------------------------------------- AMELIA: "They've been told to take online courses. Build a personal brand. Start from scratch. And none of it works — because none of it accounts for the one thing they have more of than anyone else in the room." [Pause. Let that land.] AMELIA: "I get it. Right now it feels like that counts for nothing." -------------------------------------------------- SCENE 4: TURNING POINT [0:34-0:56] -------------------------------------------------- AMELIA: "I want to tell you about Alexander. Laid off at 55 after 30 years in sales. 30 years." [Pause.] AMELIA: "He started a design business built around what he already knew. Now earns £2,500 per project, 2 to 3 projects a month. First time in 30 years the work felt like his." -------------------------------------------------- SCENE 5: INSIGHT [0:56-1:07] -------------------------------------------------- AMELIA: "The approach we teach doesn't require a degree. It doesn't require a following. It doesn't require starting from scratch. It's built around one skill your life experience makes you better at — not worse." -------------------------------------------------- SCENE 6: TRAINING INTRO + SOCIAL PROOF BRIDGE [1:07-1:20] -------------------------------------------------- AMELIA: "I made a free training that walks you through exactly how this works." AMELIA: "James — 15 years in IT, now $8,000 a month working 4 days a week. Sophia taught for 18 years, built $2,800 a month in 9 months. Adriana was 47, 22 years in teaching, now earning $4,800 a month." -------------------------------------------------- SCENE 7: CTA [1:20-1:28] -------------------------------------------------- AMELIA: "The link is below. It's free. Your experience isn't the problem. The vehicle you were handed for it is." -------------------------------------------------- PRODUCTION NOTES: -------------------------------------------------- - Primary format: Direct to camera, single speaking location. No B-roll required. - S3: each failed attempt lands before the next; deliberate beat before "right now it feels like that counts for nothing." - S4: Hard Landing Repeat — deliver "30 years" the second time slower, with a full stop before continuing. - S5: Three Nots escalate; each lands slightly harder than the last. - S6 proof stack: no breath between James, Sophia, Adriana; the rhythm is the signal. - S7: quiet, resolved; not urgent. - Tone: Calm authority throughout. Not a pitch. Someone explaining something a friend needs to hear. ================================================== AD COPY BLOCK (META ADS MANAGER) ================================================== PRIMARY TEXT 1 (Story-led) — 68 words Alexander spent 30 years in sales before he was laid off at 55. He wasn't going back to compete against people half his age. So he found a different path — one built around the experience he'd already spent decades earning. He explains exactly what that looked like. And why the age that felt like the obstacle turned out to be the edge. Watch the full story below. PRIMARY TEXT 2 (Curiosity-led) — 59 words Most career advice for people wanting a fresh start is built for someone beginning from zero. But what if decades of experience are the advantage — and the real problem is the vehicle, not the timing? Amelia breaks down why that distinction matters, and what people in their 40s and 50s are doing about it. She explains it all in this video. PRIMARY TEXT 3 (Social-proof-led) — 65 words Amelia works with people who've spent 15, 20, 30 years building careers in other fields — and who are ready for something that's finally theirs. James came from 15 years in IT. Sophia taught for 18 years. Adriana taught math for 22. None of them started young. None of them started with a following. This video is about what they found instead. HEADLINES H1 (Outcome): A fresh start from what you already know H2 (Curiosity): The part of experience nobody talks about H3 (Identity): For people ready for their next chapter
ad-production-brief). Each scene maps to a structural function: the Hook names the viewer before asking for their attention; the Transition anchors credibility in frequency not credentials; the Struggle stacks specific failed attempts (not generic pain); the Turning Point delivers a named Pioneer proof with a Hard Landing Repeat on the most resonant number; the Insight section delivers the Three Nots + Positive — the mechanism tease that protects the solution sequence; the Training Intro + Social Proof Bridge stacks three more Pioneer proof entries with zero connective tissue (the pacing is deliberate — no breath, no "and", the rhythm signals volume of proof); and the CTA resolves the hook tension rather than escalating pressure. The Ad Copy Block at the bottom is what goes into Meta Ads Manager — three Primary Texts (PT1–3) using different framing angles (story / curiosity / social proof) and three Headlines (H1–3). Every claim in the Ad Copy Block must trace back to a specific scene in the video. Known failure modes caught in this run: the Construction Log self-certified zero em dashes while 4 were present in spoken lines (A10); the Direct Truth Bridge (VF2 — "Here's the truth" or "Honestly") was absent despite being a mandatory voice signature (VF2); and "free training" appeared in Scene 6 rather than the Scene 7 CTA block (A6). See the warn callout below.The skill passed the 2026-06-10 SC2.0 depth eval but the win was not clean. These are the open improvement items every operator and reviewer should know about.
1. Em-dash leakage in spoken lines (sw-tc001 A10, sw-tc005 S14). The Construction Log self-certified zero em dashes in both tasks. sw-tc001 contained 4 in AMELIA dialogue lines; sw-tc005 contained 6. The em-dash rule (no em dashes in any spoken line — commas and single hyphens only) exists to protect conversational pacing and is a non-negotiable. The inline self-check cannot be treated as a reliable gate. A deterministic post-generation character sweep (grep -c "—" over spoken lines, required result: 0) must run as a command with the result pasted into the Construction Log. A checked box without executed evidence is a hard fail.
2. Dropped Direct Truth Bridge (sw-tc001 VF2). The Voice Book marks "Here's the truth" or "Honestly" as a required voice signature (Direct Truth Bridge — DTB). The skill dropped it entirely. The no-skill baseline included it. The Construction Log did not flag its absence. Fix: add DTB to the voice checklist as a hard-fail item — grep must confirm the phrase is present in the spoken copy before output is finalised.
3. Spelled-out numbers (sw-tc005 S12). "Working four days a week" and "Twenty years of experience" appeared in the same script that used numerals for equivalent counts elsewhere. The numeral consistency rule requires all quantities in numerals throughout the spoken script. The inconsistency is a pattern-level error, not a blanket miss — the model regresses most often at hook and opening-sentence level.
4. Craft-register gap. The no-skill baseline won the craft lens on both tasks (medium confidence both times). The baseline's pain sections were more visceral and scene-specific ("sweaty palms at interviews, sitting across from a 30-year-old in an interview room"). The skill's spoken copy can read as a structured output rather than speech — structurally correct, craft register slightly formal, slightly assembled. The skill is genuinely better on structural compliance and production depth; it is not yet better at sounding like a natural human speaker. Queued for a rewrite pass.
| Term | In full / what it means |
|---|---|
| SPB | Social Proof Bridge — The section of the script (Scene 6) where three Pioneer proof entries are stacked back-to-back with zero connective tissue. Name + background + result + timeframe per entry. Non-negotiable in every format. In Skillshow Notebook format, the SPB is distributed across the teaching section and a supplementary stack section rather than concentrated in Scene 6. |
| Three Nots + Positive | Three Nots + Positive pattern — Section 5 (Insight) structure. Three statements of what the approach does NOT require (specific to the primary objection), followed by one affirmative statement of what it IS built on. Non-negotiable at all temperatures and in all format modes. Protects the mechanism by defining the solution in negative space before teasing the positive. |
| DTB | Direct Truth Bridge — A required voice signature for Amelia Fenmore (IDA). The phrase "Here's the truth" or "Honestly" must appear in the spoken script. Caught as a hard-fail absence in the 2026-06-10 depth eval (sw-tc001 VF2). |
| Hard Landing Repeat | Hard Landing Repeat — A delivery instruction in the Turning Point section. The most emotionally resonant number (e.g. "30 years in sales") is stated twice — the second delivery is slower, with a full stop before continuing. Creates emphasis without adding words. A Voice Book structural non-negotiable for Amelia Fenmore. |
| Mechanism reveal / TEASER | Mechanism reveal level — TEASER — The script may reference that the expert's method exists and produces a specific outcome, but it must never reveal the solution sequence, phases, steps, element count, or any numbered structure. "The approach we teach" and "one skill your life experience makes you better at" are TEASER-compliant. "There are 3 things you learn in sequence" is a full reveal and a hard violation — regardless of what the Construction Log self-certifies. The protecting rule: tease the WHAT, protect the HOW. |
| Pioneer mode | Pioneer operating mode — The scripting mode for first scripts on a new expert or offer where no live performance data exists. Uses the Concept Card + Ad Idea as input (rather than a detailed performance-data outline). Temperature defaults to LOW. Requires a Construction Log. Marked as V1.1 deferred — Iteration is the V1 default. |
| Iteration mode | Iteration operating mode — The V1 default scripting mode. Used when the campaign is live and performance data exists. Input is a detailed outline based on performance data (hook concept, body arc, proof inventory, CTA frame, duration target). Temperature defaults to MEDIUM. Construction Log is skipped. Winning scripts from the winning_ads Supabase view are the primary voice calibration source. |
| Format modes | Format modes (5) — The five video ad formats the skill can produce: SOLO (standard single-presenter DTC — Direct to Camera), 2-PERSON-FRIENDS (two presenters, conversational dynamic), 2-PERSON-RECOGNITION (two presenters, one recognises the other's transformation), SKILLSHOW_NOTEBOOK (visual teaching format driven by a progressive slideshow reveal — Nano Banana Pro graphic prompts generated after operator script approval), FAQ_PHONE_SCROLL (rapid-fire question-and-answer format, 45–90 seconds, designed for phone-scroll attention spans). Non-SOLO formats require reading format-reference.md before writing. |
| Temperature | Temperature (creative latitude setting) — Set per batch, not per script. LOW: tight guardrails, template adherence strict, word counts are hard ceilings. MEDIUM: moderate flexibility, templates guide but don't dictate, swipe modelling from winners carries more weight than templates. MEDIUM-HIGH: loose, section skeleton is a guide, experimental hooks permitted within ad-hook-principles. Temperature never touches voice fidelity, SPB, mechanism protection, or the Ad Copy Block compliance tone. |
| PT1–3 | Primary Text 1, 2, 3 — The three Meta ad copy body-text variants generated in Step 6 (Ad Copy Block). Each uses a different framing angle: story-led (third-person protagonist narrative), curiosity-led (observation framing, opens a loop), and social proof-led (community framing, names the cohort). All are soft and compliant — the video does 95% of the selling. Every claim in a PT must trace back to a specific scene in the video script. |
| H1–3 | Headline 1, 2, 3 — The three Meta ad headline variants generated in Step 6. H1 = outcome, H2 = curiosity, H3 = identity. 3–8 words each. Same compliance rule: no claim that does not appear in the video script. |
| CPBC | Cost Per Booked Call — How much money was spent on Meta ads to get one person to book a sales call with the expert. The primary success metric for IDA (Amelia Fenmore) cold traffic. Target threshold lives in expert_config.target_cpbc. A script that wins is one that drives CPBC below the target. |
| T1 / T2 | ICP (Ideal Customer Profile) Tier 1 / Tier 2 — Demographic segmentation of the expert's audience. For IDA (Amelia Fenmore): T1 = full-time employees, near-retirees, and burned-out professionals (typically 45–60, existing career, seeking an exit). T2 = earlier-career people who want to pivot into interior design. Proof entries in the SPB are selected and tiered to match the Concept Card's stated ICP tier. |
| IDA | Interior Design Academy — The expert identity and expert namespace for Amelia Fenmore, an interior-design business coach who teaches career changers how to build a sustainable design business without a formal design degree. IDA cold Meta ads drive traffic to a free training, which converts to booked sales calls. All IDA Supabase rows carry expert_namespace = 'ida'. |
| DTC | Direct to Camera — A video ad format where the presenter speaks directly into the camera lens, creating a one-on-one conversational feel. The primary format in the IDA creative system. Also referred to as SOLO in the Format Mode selector. |
| UGC | User-Generated Content — An ad format that mimics organic creator-style content — informal, handheld, less polished. Routed through the AI-UGC production pathway (Nano Banana Pro to Enhancor to Seedance 2.0) when the routing field is set to AI-UGC. |
| ICP | Ideal Customer Profile — The description of the specific person the ad is targeting. In this system, tiered as T1 / T2 per expert (see above). Informs demographic calibration via ad-audience-language-dna, proof selection tier, and hook framework choice. |
| Hermes | Hermes (autonomous background agent layer) — The always-on agent system that maintains the Supabase data layer. Hermes agents continuously pull performance data from Fibery and Meta, scrape competitor ads, and keep the winning_ads, competitor_intelligence, and live_performance Supabase views current without operator commands. ad-scripter-write reads from these views — it does not trigger scrapes. |
| Supabase | Supabase (database platform) — The PostgreSQL-based database that is the system of record for all SKL ad creative data — all seven data layers from raw ad captures through to launch learnings. Scripts and metadata are authoritative in Supabase; Fibery reflects them for human review and production workflow. |
| Fibery | Fibery (project management and creative pipeline tool) — The operator's work surface for the creative pipeline. Every script gets a CREATIVE entity in Fibery (with PT1–3 and H1–3 populated) and a linked SHOOT entity (actor filming brief). Fibery mirrors structured data whose authoritative source is 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 identifier, provider, cost) that feed the agent_run audit trail. |
| HITL | Human in the Loop — The operator approval gate that sits at every pipeline stage in V1. No autonomous execution in the main creative pipeline. The operator reviews and approves the script before it proceeds to polish, and approves the polished script before it proceeds to the filming brief. The system captures raw output and the operator's edited final — the delta is the agentic-performance signal. |
| NBP | Nano Banana Pro — The slideshow generation tool used in the SKILLSHOW_NOTEBOOK format. After operator approval of the script, Step 6B generates a Nano Banana Pro graphic prompt for each slide. The prompt is NOT generated before script approval. |
| FR-39 | FR-39 (raw output capture requirement) — After each script is fully drafted (Steps 1–5 complete, before the Ad Copy Block), the raw script text is written to the Supabase raw_outputs table with created_by_run_id. The difference between the raw output and the operator's final approved edit is the agentic-performance signal — the key metric for the V1 to autonomous transition. |
| UIE | Unique Iterative Element — In Iteration mode, the single structural change that distinguishes a new script from the parent winner it is based on. Captured in the CREATIVE entity in Fibery. Used to identify what variable was tested when performance data comes back. |