Ideation Skill · Revamp Dossier

ad-ideator-classifyReads five Supabase views at session start, weighs evidence across up to eight confidence tiers, and writes the Market Analysis Report plus an executable Construct Brief that tells ad-ideate exactly how many concepts to build and where to put them.

Owner: Operator-commanded pipeline agent (wrapped by /ad-context) · for Asel · 2026-06-11
What it does

Ad-ideator-classify is the strategic brain of the ideation phase. It reads the warm-cache (five Supabase views pre-populated by the always-on Hermes agent fleet) the moment the operator runs /ad-context, then synthesises everything — paid competitor intelligence, organic competitor signals, the Expert Voice Book, prior launch learnings, and (in Iteration mode) own live performance results — into a complete Market Analysis Report and an executable Construct Brief. The Construct Brief is the direct instruction set that ad-ideate executes: arc allocation weights, Format-Hermes (format recommendation agent) recommendations, ICP (ideal customer profile) tier weighting, and the current cycle's ranked sales objections. In Pioneer mode — for a brand-new expert with no prior ad data — the report is market-derived only. In Iteration mode — the primary V1 pipeline mode — it additionally pulls confirmed winners from the live_performance Supabase view to weight allocations toward what is already proven. This skill does NOT generate concepts; that is ad-ideate.

01 Model routing — which model runs which task

All calls go through OpenRouter (the model-routing proxy) and are logged with model name, provider, and cost before the run closes. Counting and maths are plain code — never a model.

TaskModelWhy
Opening the agent_run row in Supabase — writing agent_name, triggered_by, expert_namespace, started_at, status = 'running'; capturing the run_idPlain code — no language modelA deterministic database write. No reasoning required.
Reading the five Supabase views: winning_ads, competitor_intelligence (paid_ad + youtube_video source_types), expert_profile (status = current), active_launch_learnings_for_<expert> (superseded_at IS NULL), live_performance (Iteration mode only)claude-haiku-4-5 (Haiku 4.5) via OpenRouterPure structured extraction from views with a known schema. No synthesis required. Cheapest capable model; cost stays near-zero at high volume even across 50+ rows.
Freshness check — computing row counts, comparing last_synced_at timestamps against the 36-hour staleness threshold, rendering the Data Freshness Check tablePlain code — no language modelDeterministic-first rule. Counting rows and doing timestamp arithmetic is pure logic. Completeness is never the model's job.
HALT condition evaluation — expert_profile absent, Tier-1 gate unmet without a TIER-1-GAP note, live_performance stale > 36 hoursPlain code — no language modelBoolean checks against known conditions. No inference needed.
Checking Loop 1 (post-input load, pre-report) — sense check and upstream check against the loaded viewsPlain code — no language modelVerification of view availability and namespace alignment before synthesis begins. Deterministic.
Full market synthesis — Sections 1–8: competitive landscape, awareness allocation, archetype identification, market sophistication score, pain and desire landscape, language bank, opportunity mapping, Construct Brief with arc allocation, Format-Hermes recommendations, ICP tier weighting, ranked sales objectionsclaude-opus-4-8 (Opus 4.8) via OpenRouterThe highest synthesis load in the pipeline. The model reads pre-digested view data across up to five sources, weighs evidence across eight confidence tiers, makes allocation decisions, and writes the Construct Brief. Requires full reasoning capacity. Every call is logged to the agent_run audit trail with model ID, provider, and cost.
Checking Loop 2 (post-Sections 1–7, pre-Construct Brief) — coherence check across all findings before Section 8 generatesPlain code — no language modelVerification gate. Structured yes/no questions answered against the already-generated sections. Deterministic logic, not synthesis.
Brand-new expert's FIRST market classification — no prior autopsy, no internal performance data, zero winning_ads rows for this namespaceclaude-fable-5 (Fable 5) via OpenRouter — ceiling option onlyA single, high-consequence, unrepeatable synthesis that seeds all future batches for this expert. Wrong source selection or misread positioning here corrupts every downstream run. Fable 5 is the ceiling model; use only for this one-shot job. Mandatory caveats: 2x cost vs Opus 4.8, 30-day data-retention obligation, customer PII (personally identifiable information) sign-off required before any run that includes personal data. State these caveats in agent_run.status_detail. On all subsequent runs for the same expert, revert to Opus 4.8.
Closing the agent_run row — writing status (success / partial / failed / halted) and status_detailPlain code — no language modelDeterministic database write after synthesis completes.

02 The spec

What goes in, and what comes out — field by field.

Inputs

InputRequired?SourceWhat it is
expert_namespaceYes — HALT if absentOperator / configWhich expert this run is for — e.g. ida for Amelia Fenmore (interior-design business coach), alba, or elena. Every Supabase query is partitioned by this value. Without it, the run cannot begin.
Batch parametersYes — ASK if absentOperatorMode (Iteration or Ad Hoc in V1; Pioneer is V1.1-deferred), concept count, campaign type (COLD / WARM / MIXED). The concept count determines how allocations are expressed as real integers, not abstract percentages.
winning_ads view (Supabase)Yes — HALT if zero T1 rows and no TIER-1-GAP noteSupabase — read at session startApproved T1 and T2 swipe intelligence filtered by approved = true AND performance_signal IN ('verified_winner','copywriter_pedigree'). Feeds the competitive landscape (Section 1) and opportunity mapping (Section 7). T1 verified winners are the highest-confidence external evidence tier in the hierarchy.
competitor_intelligence view (Supabase)YesSupabase — read at session startCompetitor paid ads (source_type = 'paid_ad') and organic YouTube content (source_type = 'youtube_video') for this expert's niche. Always filtered by source_type — never queried without it. Feeds Sections 1, 3, 5, and 7. Organic rows are Tier 5.5 evidence: market-validated attention signals, not proof of purchase intent.
expert_profile view (Supabase)Yes — HALT if absentSupabase — read at session startThe Expert Voice Book for this namespace, filtered to status = 'current'. Contains tone, vocabulary patterns, proof points, and positioning signals. Feeds Section 6 language bank and Construct Brief tone guidance. If this row is absent, the run halts immediately — a voice-dependent synthesis without the Voice Book produces a report that does not sound like the expert.
active_launch_learnings_for_<expert> view (Supabase)Yes (empty acceptable in pioneer posture)Supabase — read at session startActive avoid, forbidden, and positive patterns from prior autopsy runs, filtered to superseded_at IS NULL. Feeds Sections 5, 7, and the Construct Brief. View naming convention: active_launch_learnings_for_ida, active_launch_learnings_for_alba, etc. Confirm view exists in Supabase for each new expert namespace before running.
live_performance view (Supabase)Required for Iteration mode — HALT if stale > 36 hoursSupabase — read at session startOwn ad results: spend, CPBC (cost per booked call), CPL (cost per lead), hook rate, hold rate, and status for every creative run under this expert namespace. The highest-confidence evidence tier in Iteration mode — internal validated winners outweigh all external signals. Never query Fibery directly for this data.
VOC / Research VaultYes — HALT if absentOperator-supplied; referenced by active_launch_learnings and operator contextVoice-of-customer (VOC) research: pains, desires, objections, and verbatim language from sales call transcripts, Reddit, reviews, and surveys. Required before any synthesis. The model cannot classify without audience data.
VSL / Offer AssetsYesExpert materials (operator-supplied)Mechanism, proof points, promise, and pricing for the expert's current offer. Needed to reason about mechanism reveal levels and proof matching in the Construct Brief.
Curated Swipe Library exports (swipe-library-curated-reference.md, swipe-library-winning-ads.md)Fallback onlyRepo — local .md exportsUsed only when Supabase views are unreachable. If used, note the fallback in the Data Freshness Check table. The Supabase view is always the source of truth at runtime.
HALT conditions

Four conditions halt the run before synthesis begins. (1) Supabase unreachable at startup. (2) expert_profile returns zero rows for status = current. (3) winning_ads has zero Tier-1 verified winners for this namespace AND no TIER-1-GAP note in batch parameters. (4) Iteration mode: live_performance.last_synced_at is older than 36 hours. In every case: set agent_run.status = 'halted', write a clear status_detail, and stop. Never treat an infrastructure failure or an empty view as a clean result.

Output artifact 1 — Market Analysis Report

Produced by Opus 4.8 synthesis; operator reviews before passing to ad-ideate
SectionWhat it contains
Report headerExpert name, market description, report date, cycle (Iteration #X / Ad Hoc / Pioneer), batch size, campaign type (COLD / WARM / MIXED), agent run ID. Immediately followed by the Data Freshness Check table showing row counts and last_synced_at timestamps for all five views.
Section 1 — Market LandscapeStrategic context only — no construct outputs. Competitive density and trajectory, significant players, creative lifespan patterns, format and production trends, offer landscape, organic content landscape. For Iteration mode: what has changed since the last report.
Section 2 — Audience and AwarenessWhere the audience sits on the awareness spectrum, reasoned from the evidence hierarchy (internal performance data first, then competitor paid ads, then organic viral signals, then VOC). Concludes with a numbered awareness allocation table: level, concept count, reasoning, confidence tag (Validated / Market-Inferred / Thesis-Testing).
Section 3 — Audience ArchetypesNamed in market-specific terms (e.g. "The Talented-But-Underearning Designer", not a generic label). Cross-referenced across VOC, competitor creative, organic viral content, and internal performance. Concludes with archetype allocation table, identity language verbatim, and potential blind spots.
Section 4 — Market SophisticationScore 1–5 with classification (Very Low through Very High). Evidence basis in narrative form. Creative implications: archetype selection, proof requirements, hook complexity, what to avoid.
Section 5 — Pain and Desire LandscapePains and desires organised into three evidence-quality tiers (Tier A: multi-source validated; Tier B: strong supporting evidence; Tier C: thesis-testing) plus a NOT RECOMMENDED list with reasoning. Followed by Key Objections ranked by strategic importance, each with competitor handling, organic creator handling, and recommendation. Must include current-week sales objections — this is a Classification output contract requirement.
Section 6 — Language BankExact verbatim phrases — pain language, desire language, skepticism language, identity language. Sourced from VOC, competitor ad copy, organic video transcripts, and sales calls. No paraphrasing or researcher summaries — only phrases actual people used. Includes demographic segment and exact avatar term confirmed from the Expert Voice Book.
Section 7 — Competitive Positioning and Opportunity MappingFour parts: (A) competitive angle map with interpretation, (B) variation cluster intelligence showing what competitors are A/B testing, (C) five opportunity types (classic white space, format innovation, mechanic transfers, positioning gaps, organic-to-paid transfer), (D) divergences — where data sources conflict, presented for strategist judgment, never auto-resolved. Concludes with a Hook Seed Bank: specific angles, target pains, hook mechanics, and origins (market gap / cross-industry / organic viral transfer).
Section 8 — Concept Allocation and Construct BriefThe full Construct Brief (see artifact 2 below) plus the reasoning walk-through that precedes it. Every allocation decision must show its evidence chain. Checking Loop 2 gates this section — if Sections 1–7 contradict each other without resolution, the skill stops and surfaces the gap before generating the brief.
Section 9 — Strategist Review and OverridesBlank by default. Space for the operator to approve or record overrides before passing the brief to ad-ideate.

Output artifact 2 — Construct Brief

Embedded in Section 8 of the Market Analysis Report; consumed directly by ad-ideate
FieldWhat it contains and why it matters
BATCH PARAMETERSExpert namespace, cycle label (Iteration #X / Ad Hoc / Pioneer), batch size as an integer, campaign type (COLD / WARM / MIXED). Sets the scope for every allocation below.
AWARENESS ALLOCATIONEach awareness level gets an integer concept count, a confidence tag (Validated / Market-Inferred / Thesis-Testing), and a 1-line evidence note. All counts must sum to the batch size. Classification output contract: this field is mandatory and must include ICP (ideal customer profile) tier weighting — which awareness levels map to which ICP tiers and why.
ARCHETYPE ALLOCATIONEach market-specific archetype name, its integer concept count, and its confidence tag. Must sum to batch size.
BUCKET ALLOCATIONAngle buckets sorted into HIGH PRIORITY, MEDIUM PRIORITY, and LOW / EXPLORATORY, each with an integer count and a 1-line evidence note. SKIP buckets listed with reasons.
TEMPERATURE GUIDANCELOW (validated winners — iterate what works), MEDIUM (promising signals — continue testing), HIGH (new tests or cross-industry transfers). Each tier gets an integer concept count and the specific awareness / archetype / bucket combinations it applies to.
SOPHISTICATIONScore 1–5 and classification from Section 4. Informs proof stack depth and hook complexity in ad-ideate.
FORMAT GUIDANCEClassification output contract: must include Format-Hermes recommendations. Format-Hermes (the always-on format recommendation function) analyses the competitive set and returns a recommended format mix for this batch — e.g. "70% DTC (direct to camera) / 20% testimonial / 10% UGC (user-generated content)". Derived from Section 1 format trend analysis and cross-industry transfer opportunities in Section 7.
TOP PAINS / TOP DESIRESTier A, B, and C pains and desires as short labels. Feeds ad-ideate's angle-selection logic.
KEY OBJECTIONSClassification output contract: must include current-week sales objections ranked by strategic importance. Each objection gets a 1-line handling approach. Three to five objections minimum. Source: Section 5.
LANGUAGE BANKThe full verbatim phrase set from Section 6. Ad-ideate and ad-scripter-write both consume this directly.
HOOK SEED BANKThe hook seeds from Section 7, each with angle, language, archetype, mechanic, and origin. Ad-ideate uses these as starting points for concept card generation.
DEMOGRAPHIC SEGMENT / EXACT AVATAR TERMThe precise term this audience uses to describe themselves (e.g. "interior designer" not "designer"), confirmed from the Expert Voice Book. Ad-scripter-write halts if the Voice Book is absent.
Classification output contract — mandatory fields

Per the PRD (product requirements document) v2.1 output contract, Classification MUST include: arc allocation weights, Format-Hermes recommendations, ICP (ideal customer profile) tier weighting, and current-week sales objections. Classification MUST NOT include live performance data (spend, CPBC, CPL) unless the run is in Iteration mode — performance data is internal and confidential in Pioneer and Ad Hoc postures.

03 Live output example representative

REPRESENTATIVE EXAMPLE — IDA (Amelia Fenmore), Iteration mode, Cycle #3, 8-concept COLD batch. Constructed from real IDA positioning and proof material. Not a live Supabase run. Badge: b-rep.
══════════════════════════════════════════════════════════════
MARKET ANALYSIS REPORT
══════════════════════════════════════════════════════════════

Expert:  Amelia Fenmore (IDA — Interior Design Academy)
Market:  High-ticket interior-design business coaching for self-taught
         decorators and career switchers
Report Date:  2026-06-11
Cycle:   Iteration #3
Batch:   8 concepts | Campaign: COLD
Agent Run ID:  run_20260611_082301_ida

DATA FRESHNESS CHECK
─────────────────────────────────────────────────────────────
View                              | Rows  | last_synced_at       | Status
winning_ads                       | 34    | 2026-06-11 05:14 UTC | OK
competitor_intelligence (paid_ad) | 61    | 2026-06-11 05:21 UTC | OK
competitor_intelligence (youtube) | 22    | 2026-06-11 05:21 UTC | OK
expert_profile (status=current)   | 1     | 2026-06-10 18:43 UTC | OK
active_launch_learnings_for_ida   | 7     | 2026-06-09 14:02 UTC | OK
live_performance [Iteration]      | 41 creatives / 5 winners
                                  |       / 8 active / 28 killed
                                  |       | 2026-06-11 06:00 UTC | OK
─────────────────────────────────────────────────────────────
OVERALL CONFIDENCE: Established — market + validated internal

══════════════════════════════════════════════════════════════
SECTION 2 — AUDIENCE AND AWARENESS (excerpt)
══════════════════════════════════════════════════════════════

Reasoning: Internal performance data leads. Five validated winners
(Iteration #1 and #2 combined) all opened at Problem-Aware level —
the avatar knows their decorating talent is real but does not know
how to price it or find customers. Two Solution-Aware tests (framed
around "the business system") were killed inside 10 days. Tier 1
competitor ads (6+ months) confirm 9-of-11 lead with problem-agitation.
Organic YouTube signal (Tier 5.5): top 3 high-VSR videos from the
niche use identity callout ("if you're a self-taught decorator...")
not solution framing. Convergence across all three tiers.

AWARENESS ALLOCATION — 8 concepts

Problem-Aware: 5 concepts
  Why: All five internal winners, 9-of-11 Tier 1 competitor ads,
       and top organic viral signals converge at this level. High
       confidence — multiple tier validation.
  Confidence: Validated

Solution-Aware: 2 concepts
  Why: Two prior tests were killed but at low spend (under daily_spend_gbp
       threshold). May have been execution, not level. Worth continued
       testing at medium temperature with higher proof stack.
  Confidence: Thesis-Testing

Unaware: 1 concept
  Why: One organic-to-paid white space opportunity (Section 7). No
       competitor ads here — pure exploratory. High risk, high upside.
  Confidence: Thesis-Testing

══════════════════════════════════════════════════════════════
SECTION 5 — KEY OBJECTIONS (excerpt)
══════════════════════════════════════════════════════════════

Current-week sales objections (sourced from active_launch_learnings_for_ida
and operator VOC brief, 2026-06-09):

  1. "I don't have a design degree so customers won't pay premium prices"
     Prevalence: High — present in 23 sales call transcripts, anchoring
       3 of 5 internal winners, and 7 of 11 Tier 1 competitor ads.
     How competitors handle it: Identity callout + credential inversion
       ("no degree needed").
     How we should handle it: Lead with disqualifying credential in hook
       (IDA winner: CREDENTIALS/no-degree, CPL (cost per lead) $8).
     Verbatim: "who's going to pay me if I'm not certified?"

  2. "I don't know how to find customers who can afford $10K+ projects"
     Prevalence: Medium — 11 sales call mentions, 2 Tier 1 competitor ads.
     How competitors handle it: Named student case study with specific
       project fee.
     How we should handle it: Pioneer proof entry with exact fee upgrade
       ($3K → $15K project).
     Verbatim: "I only seem to attract bargain hunters"

  3. "I've tried courses before and still didn't get customers"
     Prevalence: Medium — 9 Reddit mentions, 4 sales call transcripts.
     How competitors handle it: Mechanism differentiation + guarantee.
     How we should handle it: Three Nots framing — not a course, not a
       template, not theory.
     Verbatim: "I bought [competitor] and it sat on my shelf"

══════════════════════════════════════════════════════════════
CONSTRUCT BRIEF
═══════════════
BATCH PARAMETERS: IDA (ida) | Iteration #3 | 8 concepts | COLD

AWARENESS ALLOCATION:
  Problem-Aware: 5 concepts — Validated
  Solution-Aware: 2 concepts — Thesis-Testing
  Unaware: 1 concept — Thesis-Testing

ARCHETYPE ALLOCATION:
  "The Talented-But-Underearning Designer" (Aspirer): 4 concepts — Validated
  "The Career Switcher" (New Entrant): 3 concepts — Market-Inferred
  "The Skeptic Who Bought Before" (Skeptic): 1 concept — Thesis-Testing

ICP TIER WEIGHTING:
  Primary ICP (established female decorators 35-55, UK/AU/CA markets):
    6 concepts — strongest purchase signal from sales call data.
  Secondary ICP (career-switcher 28-42, no prior design employment):
    2 concepts — organic viral signal strong; paid conversion TBC.

BUCKET ALLOCATION:
  HIGH PRIORITY:
    Identity Callout / Credential Inversion: 3 — 3 internal winners, F5/HT5
    Named Student Story: 2 — Tier 1 competitor staple + 1 internal winner
  MEDIUM PRIORITY:
    Confession / Vulnerability Lead: 2 — 1 internal performing test; HT8
  LOW / EXPLORATORY:
    Organic-to-Paid Transfer (pricing mindset): 1 — zero paid presence,
      high organic VSR (view-to-baseline ratio); white space
  SKIP:
    Market-Level Statistics Hook — 2 killed ads, same root cause.
    Guarantee-Led Hook — mechanism reveal risk; excluded pending review.

TEMPERATURE GUIDANCE:
  LOW (validated winners): 3 concepts
    — Problem-Aware × Aspirer × Identity Callout
  MEDIUM (promising signals): 3 concepts
    — Problem-Aware × Aspirer × Named Student Story;
      Problem-Aware × Skeptic × Confession Lead
  HIGH (new tests): 2 concepts
    — Solution-Aware × Career Switcher; Unaware × Organic Transfer

SOPHISTICATION: 4 — High
LEAD TYPE: Primary DTC (direct to camera) for 6, Testimonial for 2
DEMOGRAPHIC SEGMENT: Established Women 35-55 (primary) | Career Switchers 28-42 (secondary)
EXACT AVATAR TERM: "interior designer" — confirmed from Voice Book and VOC

FORMAT GUIDANCE (Format-Hermes recommendations):
  60% DTC self-shot (high trust, matches Amelia's established voice register)
  25% Testimonial (student result as primary hook; counter-saturation play)
  15% UGC-style handheld (test only — one concept, medium temperature)

TOP PAINS:
  Tier A: Underearning despite real talent | Can't find premium customers
  Tier B: No-degree confidence gap | Bargain-hunter customer pool
  Tier C: Past course failure / skepticism

TOP DESIRES:
  Tier A: Charge $10K+ project fees | Build a full customer calendar
  Tier B: Be known as the premium designer in the niche
  Tier C: Leave corporate job entirely

KEY OBJECTIONS (current week):
  1. "No degree = no premium customers" — credential inversion hook
  2. "Can't find high-budget customers" — named student case study
  3. "Tried courses, didn't work" — Three Nots mechanism differentiation

LANGUAGE BANK:
  Pain: "who's going to pay me if I'm not certified?" (23 sales calls)
  Pain: "I only seem to attract bargain hunters" (11 calls)
  Pain: "I bought [competitor] and it sat on my shelf" (9 Reddit)
  Desire: "charge what I'm actually worth" (31 calls + VOC)
  Desire: "have customers come to me" (18 calls)
  Skepticism: "I've heard this before" (6 Reddit)
  Identity: "self-taught decorator" | "I never went to design school"
  AVOID: "transform your business" — forbidden (2 killers, B1 in launch_learnings)

HOOK SEED BANK:
  Identity Callout — PRIME | no-degree / career-switcher pain
    Language: "if you've never been to design school..."
    Archetype: Talented-But-Underearning | Mechanic: Identity Callout (F5/HT5)
    Origin: Internal winner iteration (CREDENTIALS/no-degree)

  Named Student — STRONG | fee transformation proof
    Language: "she went from $3K projects to a $22K retainer"
    Archetype: Aspirer | Mechanic: Specific Transformation (F4)
    Origin: IDA proof bank — Pioneer proof entry P7

  Confession Lead — CONTESTED | accountant → designer story
    Language: "I was an accountant who redesigned her own living room..."
    Archetype: Career Switcher | Mechanic: Confession/Vulnerability Lead (HT8)
    Origin: Internal performing test (ESCAPE/accountant)

  Organic-to-Paid Transfer — EXPLORATORY | pricing mindset gap
    Language: "most designers undercharge by exactly this amount..."
    Archetype: Underearning Designer | Mechanic: Hidden Truth (F3)
    Origin: Organic viral transfer — YouTube 4.2x VSR, zero paid competitor presence
How to read it: The Data Freshness Check at the top tells you immediately whether the report was built on fresh data — any STALE or EMPTY flag would have halted the run before synthesis began. The awareness allocation shows the evidence chain behind each integer count — not abstract percentages, but real concept numbers with a confidence tag that tells ad-ideate how much creative risk to take. The Construct Brief is the exact instruction set that ad-ideate executes; the operator reviews Section 9 before passing it on. The Key Objections block — pulled from the current week's active_launch_learnings and VOC brief — is what makes this report time-sensitive: it surfaces what the market is actively resisting right now, not what it resisted three cycles ago. The Format-Hermes recommendations give ad-ideate the format mix before a single concept card is written, so format selection is strategic, not improvised.

04 Glossary

TermIn full / what it means
ICPIdeal Customer Profile — The specific type of person this expert's offer is designed for, described by demographics, psychographics, purchase signals, and market segment. In ad-ideator-classify, ICP tier weighting means allocating concepts toward the segments most likely to convert based on evidence — not evenly across all possible buyers.
CPBCCost Per Booked Call — How much 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 the expert config. A creative is a winner if CPBC is at or below the target and it has had at least the minimum daily spend.
CPLCost Per Lead — How much was spent on ads to get one person to register for the free training — the intermediate conversion event before a booked call. Used as an early-signal proxy when not enough spend has accrued to assess CPBC.
TOFTop of Funnel — Cold traffic — people seeing the expert's content for the first time. IDA cold Meta ads target TOF audiences and drive them to a free training before asking for a sales call booking.
MOFMiddle of Funnel — Warm traffic — people who have seen content or engaged with an ad but have not yet booked a call. Retargeting ads typically target MOF audiences.
BOFBottom of Funnel — Hot traffic — people who have visited the booking page or completed the free training but have not yet booked. High-intent retargeting.
ArcEmotional or narrative arc — The trajectory a concept card or script takes the viewer through — e.g. Problem → Agitation → Solution, or Identity Callout → Validation → Mechanism reveal. Arc allocation means deciding how many concepts follow each arc type in a batch.
Pioneer modePioneer operating mode — Used when the expert has no prior ad performance data and no Iteration-Ready classification. All market intelligence comes from competitor intelligence and VOC research — no internal winners to weight against. Market Analysis Reports in Pioneer mode carry "Market-Inferred" confidence tags, not "Validated." Pioneer mode is retained in the skill source for reference but is deferred to V1.1 — it is not a live V1 production mode.
Iteration modeIteration operating mode — The primary V1 pipeline mode. Requires at least five classifiable winners in the live_performance Supabase view. Reads own performance data as the highest-confidence input layer, layering competitor and organic intelligence on top. The live_performance view must have been synced within 36 hours or the run halts.
Format-HermesFormat-Hermes (format recommendation function) — The always-on agent that analyses the competitive creative set and returns a recommended format mix for the current batch — e.g. "60% DTC / 25% Testimonial / 15% UGC." Its recommendations are a mandatory Classification output in the Construct Brief. Format-Hermes is part of the Hermes agent fleet.
Warm-cacheWarm cache (pre-populated Supabase views) — The five Supabase views that the always-on Hermes agent fleet keeps current between operator sessions. When the operator runs /ad-context, the skill reads from these views immediately — there is no waiting for a fresh scrape. The views are: winning_ads, competitor_intelligence (paid and organic), expert_profile, active_launch_learnings_for_<expert>, and live_performance (Iteration mode only).
SupabaseSupabase (database platform) — The PostgreSQL-based database that hosts the ad creative system's data layer. All seven data layers — Ad Swipe Library, Expert Profile (the Voice Book), Competitor Intelligence, Live Performance, Launch Learnings, Expert-Specific Asset Bank, and Audience Voice — live here. Agents and the strategist read Supabase views only at runtime. Fibery is a sync source, not a runtime read.
FiberyFibery (project management and creative entity system) — The system of record for all creative entities: CREATIVE entities, HOOK entities, FILMING/SHOOT tickets, and POST-PROD entities. Hermes agents pull Fibery performance data into the Supabase live_performance view after each daily Meta and Hyros sync. Ad-ideator-classify never queries Fibery directly — it reads the Supabase view.
OpenRouterOpenRouter (model-routing proxy) — The API gateway through which all language model calls in this system are routed. Provides unified billing, model switching between Haiku, Opus 4.8, and Fable 5, and per-call logs (model ID, provider, cost) that feed the agent_run audit trail.
Voice BookExpert Voice Book (Data Layer 2) — The structured profile of the expert's tone, vocabulary, proof points, and positioning signals, built by ad-voice-profile. The source of record is the markdown file at orchestration/expert-config/<expert>/voice-book.md, loaded by the context preflight. At runtime, ad-ideator-classify reads it via the expert_profile Supabase view (status = current). Ad-ideator-classify halts if the Voice Book is absent. Ad-scripter-write also halts if the Voice Book is absent for the expert. The old name "Layer 3 calibration" or "L3 calibration" is deprecated — never use it.
VSRView-to-Baseline Ratio — A signal used by ad-organic-scraper to detect high-performing YouTube videos relative to a channel's average view count. A video at 2x+ VSR with 10K+ views is classified as a Tier 5.5 market-validated attention signal in the evidence hierarchy. Organic virality proves audience engagement — it does not prove purchase intent.
VOCVoice of Customer — Research gathered directly from the target audience: sales call transcripts, Reddit threads, review site comments, survey responses, and interview recordings. Used in the language bank for verbatim phrases and in Section 5 for pain, desire, and objection evidence. VOC is Tier 7 in the evidence hierarchy — useful for language and pain framing, but respondents are not necessarily buyers.
DTCDirect to Camera — A video ad format where the presenter speaks directly into the camera, creating a one-on-one feel. One of the two main video formats in the IDA creative system (the other is Studio DTC with production lighting and backdrop).
UGCUser-Generated Content — An ad format that mimics organic, creator-style content — informal, handheld, less produced. Can be filmed by the expert or generated via the AI-UGC pathway (NBP Pro → Enhancor → Seedance 2.0). Format-Hermes includes UGC in format mix recommendations when organic signals suggest the niche responds to lower-production registers.
IDAInterior Design Academy — The expert identity for Amelia Fenmore, an interior-design business coach. IDA is the longest-running active customer in the ad creative system. The Supabase namespace is ida. All IDA-specific Supabase rows are filtered with expert_namespace IN ('ida','shared'); the ida-specific row wins ties.
HITLHuman in the Loop — The principle that no autonomous execution happens in the main creative pipeline in V1. The operator approves at every gate — including the Market Analysis Report and Construct Brief before ad-ideate begins. The system captures both raw agent output and the operator's edited final; the delta is the agentic-performance signal.
PIIPersonally Identifiable Information — Any data that can identify a specific individual: names, email addresses, phone numbers, call recordings with customer details. Fable 5 (used only for a brand-new expert's first classification run) carries a mandatory 30-day data-retention obligation on all inputs. PII must never be included in a Fable 5 run without explicit operator sign-off. This caveats is written to agent_run.status_detail whenever Fable 5 is used.
agent_runagent_run (Supabase audit table) — The cross-cutting audit table that records every agent run. Ad-ideator-classify opens a row at the start of every run (status = 'running') and closes it at the end (success / partial / failed / halted). The run_id is stamped on every Supabase write in the run, creating a full trace from output to the run that produced it.
HermesHermes (autonomous agent layer) — The always-on background fleet that maintains the Supabase data layer between operator sessions. V1 fleet: Curator-Hermes (swipe intake and curation), Voice-Hermes (voice profile maintenance), Sales-Hermes (sales intelligence), Scout-Hermes (daily), Format-Hermes (in-batch format recommendations), and the deterministic Live Performance cron (daily 06:00 Dubai). Watcher-Hermes and IDA-Hermes overnight pre-warm are V2.
expert_namespaceexpert_namespace (Supabase partition key) — The string value that partitions all Supabase data by expert: ida, alba, elena, or shared. Every read query filters by this value. A query for IDA reads IN ('ida','shared'); the IDA-specific row wins ties when a shared row and an IDA-specific row both match.
TIER-1-GAPTIER-1-GAP note — An operator-supplied flag in batch parameters that explicitly acknowledges the absence of Tier-1 verified winners in the winning_ads view and confirms the operator is proceeding knowingly without that data. Without this flag, the skill halts if the Tier-1 gate is unmet.
Three NotsThree Nots (script structure element) — A mechanism-protection device in the script body that names three things the offer is NOT (not a course, not a template, not theory) before introducing what it IS. Appears in ad-scripter-write and is referenced in Construct Brief objection handling where skepticism about prior courses is a ranked objection.