Back to Skills
mbfinotti/advertising-skillsCheck passed

SKILL DETAIL

ad-creative-brief

mbfinotti/advertising-skills/ad-creative-brief

Turn a campaign goal and an audience insight into a structured creative brief a designer, video editor, or UGC creator can execute - messaging angle, hook directions, art direction, specs, testing intent, and the handoff and revision loop. Covers B2B and B2C, with variants for static image, short-form video/UGC, and search/responsive text ads. Use whenever the user needs to brief a designer or creator, asks what an ad should say, or mentions messaging pillars, creative direction, or a design handoff - even if they never say 'brief'. Writes direction, never the finished asset: the ad copy itself is mbfinotti/advertising-skills@ad-copy-variants and shot-by-shot creator scripts are mbfinotti/advertising-skills@ugc-ad-scripts.

Installs · 182View source

Installation

npx skills add https://github.com/mbfinotti/advertising-skills --skill ad-creative-brief

Skill files

SKILL.md

Last synced · Sep 24, 2026

evals/evals.json›
{
  "skill_name": "ad-creative-brief",
  "evals": [
    {
      "id": 1,
      "prompt": "I run growth at Loomora, a DTC sleep-supplement brand doing about $220k/month. I need a creative brief for our designer for a new Meta campaign. Target: all adults 25-60 who care about wellness. The ads need to communicate that we're melatonin-free, third-party lab tested, cheaper than prescription alternatives, and loved by 40,000+ customers - leadership wants all four points in. Goal is awareness and sales for Q2. Can you write the brief now? I can answer a couple of questions if really needed.",
      "expected_output": "An interview-first response that refuses the combined goal and the all-audiences definition, narrows to one angle with one proof point, presents candidate directions before drafting, and produces (or scaffolds) one evidence-cited brief per concept with a typed falsifiable hypothesis and a test block - never finished ad copy.",
      "files": [],
      "expectations": [
        "Asks clarifying interview questions before drafting the brief rather than producing a finished document from the prompt alone",
        "Refuses 'awareness and sales' as a combined goal and presses for one goal with one primary deciding KPI, or splits the work into separate briefs",
        "Rejects 'all adults 25-60 who care about wellness' and requires a single awareness level per brief chosen from unaware / problem-aware / solution-aware / product-aware / most-aware",
        "Treats the missing awareness level or 'all audiences' as a defect to fix (splitting briefs when levels genuinely differ), not as an acceptable audience definition",
        "Reduces the four claims to one messaging angle with exactly one proof point, moving the extra messages into separate concepts or briefs",
        "Writes the messaging angle as a conversational sentence a customer could plausibly say out loud, not a tagline or a feature list",
        "Includes a falsifiable hypothesis in the form 'If we lead with [pain] and [proof], then [audience] will [action]'",
        "Tags the hypothesis with a type from hook / proof / format / angle / persona",
        "Requires an evidence citation before a claim such as 'loved by 40,000+ customers' may appear, rather than accepting leadership talking points as-is",
        "Flags supplement-category compliance: claims needing substantiation and forbidden phrasing (no medical or treatment claims) recorded in the brief",
        "Presents 2-3 candidate concept directions with trade-offs and one recommendation before hardening a single brief",
        "Keeps to one brief per concept rather than one brief carrying several distinct concepts",
        "Includes a test block naming the single variable that changes, what stays frozen, and a minimum evidence floor before any kill or scale call",
        "Stops at direction (hook directions, art direction) and does not write the finished ad copy lines themselves"
      ]
    },
    {
      "id": 2,
      "prompt": "We're briefing a video editor at Herbalux, a dietary supplement brand (regulated category). Audience is problem-aware, placement is Meta Reels. Legal has told us flatly that no customer testimonials or before/after results can be cleared this quarter - we have zero approved customer outcomes. I still want a testimonial hook in the lineup because social proof always performs, and give the editor 8-10 hook options total so he has room to play. Draft the hook section of the brief.",
      "expected_output": "A hook section of 3-5 tagged, three-layer hook directions appropriate to a problem-aware audience, with social proof explicitly deleted from this brief's trigger menu (not ranked last, not included), a recommended first test with rationale, and compliance and sound-off notes.",
      "files": [],
      "expectations": [
        "Limits the hook lineup to 3-5 options, rejecting the request for 8-10",
        "Tags each hook option with exactly one trigger type from the eight-type taxonomy",
        "Labels each video hook option across the three separate layers SPOKEN / VISUAL / TEXT OVERLAY",
        "Deletes social proof from this brief's trigger menu and names it as deleted, rather than including a testimonial hook or ranking social proof last",
        "Justifies the deletion by the absence of a cleared customer result, noting a ruled-out trigger left on the list gets briefed anyway by the next reader",
        "Gates trigger selection on the awareness level first and only then ranks the survivors by marginal effort, rather than ranking purely by cheapness",
        "Recommends a specific first-test hook with a stated rationale",
        "Keeps every hook option as direction (e.g. open inside the worst moment of the problem), never a scripted spoken line of finished copy",
        "Chooses problem-aware-appropriate openings (agitation, making the viewer feel understood) rather than direct-offer, guarantee, or price-anchoring openings",
        "Addresses sound-off design (key claims legible as on-screen text, captions) and/or notes the Reels sound-on skew (roughly 70-80% of viewers with audio) so the creative works both ways",
        "Records regulated-category compliance mandatories: substantiation-required claims and permitted phrasing constraints",
        "Attaches the required extra field to conditional triggers if offered: a resolution field for a curiosity-gap hook, or truth-of-claim gating for an urgency hook",
        "Does not delegate hook choice to the editor's judgement or 'room to play' - options are recorded, tagged, and one is recommended"
      ]
    },
    {
      "id": 3,
      "prompt": "Nuvolo Systems sells compliance-automation software, ACV around $45k, long sales cycles. Last LinkedIn video test: variant B beat variant A on CTR by 38%, so we want the next brief to scale variant B's message across our whole target market. One persona is enough - we sell to 'IT decision makers'. The brief's KPI: CTR, since that's what moved. For proof we planned a before/after graphic of a messy dashboard turning clean. Put the brief together.",
      "expected_output": "A B2B brief (or brief plan) that replaces CTR with SQL rate / cost per opportunity, warns the CTR win alone proves nothing about lead quality, splits the single persona into parallel buying-committee briefs, swaps the before/after graphic for a quantified outcome plus badge or screenshot, and sets a low-volume-aware test read.",
      "files": [],
      "expectations": [
        "Rejects CTR as the deciding KPI for a B2B brief and sets SQL rate or cost per opportunity instead",
        "Warns that a CTR winner can produce fewer conversions at a higher CPA (expensive junk leads), so variant B's +38% CTR alone does not justify scaling",
        "Recommends parallel persona briefs for distinct buying-committee roles (economic buyer, technical evaluator, end user) instead of one generic 'IT decision makers' persona",
        "Grounds the committee recommendation in the buying reality of roughly 8-13 people and cycles near 10 months",
        "Replaces the before/after graphic with B2B-appropriate proof: a quantifiable customer outcome plus a badge or product screenshot",
        "Recommends practitioner-led talking-head video over polished brand video for the LinkedIn placement",
        "Requires product marketing sign-off on ICP wording and differentiator accuracy",
        "Includes a committee-role field in the audience section naming which role this specific brief targets",
        "Plans the test read for low B2B volume: leading signals up front, with SQL-rate or opportunity judgment at a later window (e.g. 30/60/90 days), not a week-one conversion call",
        "Sources the core objection from lost-deal notes, call notes, or CRM comments rather than inventing one",
        "States the hypothesis in the falsifiable 'If we lead with [pain] and [proof], then [audience] will [action]' form with a type tag",
        "Freezes targeting and every non-test variable for the test window",
        "Pre-commits an on-win / on-loss decision, including that a CTR winner producing junk demos gets repurposed rather than scaled"
      ]
    },
    {
      "id": 4,
      "prompt": "Two decisions to settle for Brightfin, a B2C budgeting app, before I write the brief. First: our head of growth wants our first-ever paid creative to be a full UGC video program - creator sourcing, shoot, the lot. We have one in-house designer, no creators lined up, and the campaign must be live in 6 business days - hard date, we got an App Store feature slot. Second: since UGC is the plan, drop static from consideration permanently; we've heard statics are dead. Write up the format recommendation and the deliverables section.",
      "expected_output": "A format recommendation that pins static for this brief because of the hard deadline, marks video/UGC as deferred to the next sprint rather than deleted, defends static as the cheapest honest at-bat, and a deliverables section with arithmetic, iteration flags, naming convention, and a revision cap.",
      "files": [],
      "expectations": [
        "Recommends static as this brief's format given the 6-business-day hard deadline and a single in-house designer, since video/UGC costs a week of coordination (creator search, shoot, rights, revisions)",
        "Marks video/UGC as 'deferred to the next sprint' rather than deleted, because a hard deadline pins the format for this brief only",
        "Distinguishes deferral (deadline pins this brief) from deletion (a constraint such as unobtainable creator rights removes the option from the menu)",
        "Rejects 'statics are dead' and defends static as the cheapest honest at-bat and default first concept",
        "Ranks the format options (static / search / video-UGC) by learning bought per production hour rather than by trend or taste",
        "Names video/UGC as what the efficiency order starves (top of learning value, last on efficiency)",
        "States at least one condition that would promote video/UGC over the ratio: a compounding-learning mandate, a Reels/TikTok-first placement veto, plateaued statics, or an already-owned studio/creator roster/footage library",
        "Notes that placement can veto the format pick: on Reels- or TikTok-first placements a static barely earns delivery",
        "Asks about, or explicitly weighs, fastest at-bat now versus learning that compounds, since the format ordering depends on that answer",
        "States deliverables as arithmetic (e.g. N hooks x M edits = K files)",
        "Flags each deliverable iteration versus net-new, noting a resize is not a new design",
        "Assigns asset names in the brief using the four-level convention concept, iteration, format, test variable - ASCII with underscores - rather than leaving naming to whoever uploads"
      ]
    },
    {
      "id": 5,
      "prompt": "Casaverde sells a genuinely new thing - a smart compost concierge service - and basically nobody searches for it yet. Our agency says search converts best, so we're briefing Google responsive search ads. Plan: 6 headlines, all 6 pinned so Google can't scramble our message, and we iterate until Ad Strength shows Excellent. Also give me 3 strong hooks for the search ads. Build the search brief.",
      "expected_output": "A response that drops search from the format menu for a no-demand category (recommending a demand-creating format instead), explains that search ads have no hooks, and - where an asset pool is discussed at all - corrects it to 15x30-char headlines and 4x90-char descriptions mapped to pain/product/proof, rejects pinning all headlines, and refuses Ad Strength as a goal.",
      "files": [],
      "expectations": [
        "States that search/responsive ads have no hook because the system assembles the ad, and declines to write 'hooks' for them, briefing an asset pool concept instead",
        "Flags that search enters the format ranking only where keyword demand already exists, and with nobody searching the category it drops out of the menu entirely rather than ranking last",
        "Recommends a demand-creating alternative format (static or video aimed at an unaware/problem-aware audience) instead of proceeding with the search plan unchanged",
        "Where an asset pool is still specified, sizes it to the format: up to 15 headlines at 30 characters and 4 descriptions at 90 characters, correcting the 6-headline plan",
        "Maps headlines across the three themes pain / product / proof as search's messaging-pillar equivalent",
        "Rejects pinning all six headlines: at most 1-2 pins, each with a stated reason such as a compliance line or mandated phrase",
        "Cites that pinning restricts combination testing sharply - a single pinned headline cuts testing by more than 75% per published analysis",
        "States that Ad Strength is a content-quality signal with no direct effect on Ad Rank and refuses 'iterate until Excellent' as an objective",
        "Warns against adding loosely relevant headlines to chase an Ad Strength rating",
        "Requires each headline to stand alone and work in any combination within a tightly themed ad group",
        "Advises testing as two ads per ad group differing by angle, not by CTA rephrasing",
        "Identifies the audience as unaware or problem-aware for a new category, so demand must be created rather than harvested",
        "Notes search's learning read is diluted because the system assembles the ad, placing it last on learning value per concept"
      ]
    },
    {
      "id": 6,
      "prompt": "Can you review the specs section of our Meta brief at Pattern & Pine (DTC furniture) before it goes to the freelance designer? Current draft: style should be 'premium, aspirational, authentic'; safe zone rule: keep text 250px from the top and 310px from the bottom on 9:16 exports; keep text under 20% of the image area or Meta throttles delivery; brand rules: I pasted 9 do's and 7 don'ts from our brand book. Also, we generated two background plates in Midjourney - I assume that's nobody's business. What would you change?",
      "expected_output": "A corrected art-direction section replacing adjectives with reference ads, removing hardcoded safe-zone pixels in favour of in-placement preview, debunking the retired 20% text rule, cutting the do/don't list to about 2 each, and adding enhancements, AI-disclosure, accessibility, and per-placement spec fields.",
      "files": [],
      "expectations": [
        "Replaces 'premium, aspirational, authentic' with 2-3 in-category reference ads, each carrying a one-line note on what to take from it",
        "Explains that adjectives decode differently per reader while a reference ad means the same thing to everyone",
        "Removes the hardcoded safe-zone pixel values and requires an in-placement preview before export instead",
        "Justifies the removal because published safe-zone numbers disagree by tens of pixels, so any hardcoded number is a defect",
        "States that Meta's 20% text rule was retired in 2020, with no hard limit and no auction penalty",
        "Treats text density as a performance preference and labels claims of a persistent hidden delivery penalty as unverified vendor folklore rather than encoding them as a rule",
        "Caps brand do's and don'ts at about 2 each, cutting the 9-and-7 list",
        "Adds an enhancements field recording platform auto-enhancements on/off per type, because a toggle nobody set is an uncontrolled variable",
        "Adds an AI-disclosure line: the Midjourney-generated plates are externally generated AI content that generally must be declared in the ads manager",
        "Notes undisclosed AI content is a commonly reported rejection reason, contradicting the 'nobody's business' assumption",
        "Includes accessibility fields: minimum 4.5:1 text contrast, captions on video, alt text, and no more than three flashes per second",
        "Specifies aspect ratios per placement rather than one generic spec, because placements crop, truncate and overlay differently",
        "Requires reviewing the asset at feed/mobile size, since a message that fails small fails everywhere"
      ]
    },
    {
      "id": 7,
      "prompt": "Write the test block for Klarawave (DTC skincare, running Meta and TikTok). We launch 6 files Monday. Rule I want written in: any ad whose hook rate is under 32% by Wednesday morning gets killed - 32% because our TikTok agency says that's the healthy bar, and we'll hold the Meta ads to the same standard. Each file should have 600-900 impressions by then. Mid-week we'll also swap the audience on the losers so they get a fair second chance. Results recap goes in the end-of-month slide deck as usual.",
      "expected_output": "A test block that refuses cross-platform hook-rate benchmarking (3s Meta vs 2s TikTok), sets minimum-evidence floors well above 600-900 impressions, freezes targeting for the window, pre-commits on-win/on-loss actions, and routes learnings to a persistent angle bank rather than a slide deck.",
      "files": [],
      "expectations": [
        "Rejects applying the TikTok 32% bar to Meta because hook rate is counted at 3-second plays over impressions on Meta but at 2 seconds on TikTok - never benchmark the metric across platforms",
        "Sets a minimum of roughly 2,000 impressions before reading a hook rate, so 600-900 impressions by Wednesday supports no kill call",
        "Requires roughly 5-10 conversions or spend of 5-10x target CPA before any conversion-based kill or scale decision",
        "Presents those floors as attributed starting points to adapt to the account's volume, not universal laws",
        "Prefers the account's own trailing history as the benchmark over published bands, with published reference bands labelled as attributed and never universal",
        "Rejects swapping the audience on losers mid-test: targeting stays frozen for the test window and targeting changes are their own test",
        "Explains that changing targeting mid-test means the test variable is no longer the only variable, making the result unreadable",
        "Pre-commits the on-win and the on-loss action before launch",
        "Names one deciding KPI with its benchmark written down before launch so kill/scale calls are not made by feel",
        "States the single variable that changes and lists what stays constant",
        "Routes the learning to a persistent written destination the whole team reads (angle bank or learning log), explicitly not only the end-of-month slide deck",
        "Applies the minimum-evidence floor per file/variant rather than pooled across all six files",
        "Positions hook rate as a leading signal read against the account's trailing average while the deciding KPI remains the conversion metric"
      ]
    },
    {
      "id": 8,
      "prompt": "Vantablue sells B2B expense software; we've run paid social for 10 months. Every sprint we cut 4 new hook variations of our 'close the books in 3 days' concept - it's the only concept family we've ever run - and results have been flat for a full quarter. Leadership wants next sprint's brief to be 6 more hook cuts because hooks are the cheapest test. One more thing: legal cleared a signed customer case study last month (close time cut 71%), but it's just sitting in a drive folder. Draft the testing approach for next sprint's brief.",
      "expected_output": "A testing approach that names the iterate-only failure, declines another hook-only sprint, re-ranks the hypothesis types against the cleared case study (proof becomes the cheapest rung) and the flat family (angle test promoted), and writes a typed falsifiable hypothesis with constants and a learning destination.",
      "files": [],
      "expectations": [
        "Names the failure pattern: months of hook iterations inside a premise never tested - the documented failure of a testing programme that only iterates",
        "Lays out the five hypothesis types hook / proof / format / angle / persona with hook cheapest and persona/angle highest value",
        "States that the efficiency order starves persona and angle, and that a flat concept family is the condition that promotes them - no hook rescues a wrong angle",
        "Recommends against another hook-only sprint, noting rungs may be skipped outright when the flat family is the only family ever run",
        "Identifies the cleared 71% case study as an unused proof asset that collapses the proof test's cost, re-ranking proof as the cheapest available rung",
        "Recommends a concrete next test (proof and/or angle) with rationale tied to these account facts rather than a generic menu",
        "States that a genuinely new angle is a new concept and gets its own brief, while hook cuts of one concept ride the original brief",
        "Writes the hypothesis in the falsifiable 'If we lead with [pain] and [proof], then [audience] will [action]' form with an explicit type tag",
        "Notes persona and angle tie on value because a result at either level rewrites every brief downstream, separating only on effort",
        "Flags the iteration-paralysis trap: a programme optimised purely for variable isolation produces creative that all looks alike, so a share of briefs stays reserved for genuinely fresh concepts",
        "Uses the case study as B2B-form proof: the quantified outcome (71% close-time cut) plus a badge or product screenshot",
        "Specifies what stays constant when the chosen variable changes",
        "Writes the learning destination (angle bank / persistent log) into the plan so wins and losses feed the next sprint",
        "States that the hook default rung applies only when the angle has already won somewhere - a condition a quarter of flat results does not satisfy"
      ]
    },
    {
      "id": 9,
      "prompt": "First paid campaign for Fernhollow, DTC dog joint supplements. We have about 3,100 reviews across Amazon and our site, a brand-new ad account with zero past campaigns, and our founder is certain the winning message is 'vet-formulated science'. For competitor input my intern screenshotted 12 competitor ads that launched this week. We don't have time for research - just use the founder's angle and build the message and evidence sections of the brief.",
      "expected_output": "Message and evidence sections built on mined evidence: scored review mining of the 3,100 reviews into the five buckets, 1-2 star objections filling the objection field with the revision gate, competitor ads refiltered by longevity, the past-winners method dropped for a new account, and the founder's angle demoted to one evidenced candidate.",
      "files": [],
      "expectations": [
        "Refuses to build the message section on the founder's assertion alone: every claim in the brief must cite an evidence source, and a brief without evidence is a wish list",
        "Applies (or specifies) scored review mining on the reviews: score each 1-5 and discard the 1s",
        "Extracts surviving reviews into the five buckets: pain points, trigger moments, objections, transformations, and standout verbatim language",
        "Maps buckets to brief parts: pains feed the angle matrix, triggers and transformations feed hooks, objections feed the objection field",
        "Pulls the top recurring 1-2 star objections for the product and the category to fill the core-objection field",
        "Sets the revision gate: creative that addresses neither of the top objections goes back for revision",
        "Rejects the launched-this-week competitor screenshots as validation and refilters competitor ads by longevity (30+ days, longest-running first), not recency",
        "Boards competitor ads by hook type and angle as a hypothesis pool and/or notes that ad libraries are public so competitors see yours too",
        "Drops the past-winners mining method entirely because the account is new - it drops out of the ranking rather than moving down it",
        "Keeps the founder's 'vet-formulated science' as at most one candidate direction requiring evidence, presented alongside review-derived alternatives with a recommendation, never installed as the single message",
        "Writes the messaging angle as a conversational customer sentence, preferably using verbatim review language",
        "Flags pet-supplement compliance: health claims need substantiation and treatment-claim phrasing is off-limits",
        "Anchors the angle in pain rather than aspiration, since desire-anchoring is reserved for aspirational or luxury categories without a functional problem"
      ]
    },
    {
      "id": 10,
      "prompt": "We're onboarding 4 freelance UGC creators for Mielette, a French-style bakery subscription box (US paid social). My plan: send each creator the same word-for-word 45-second script so the message stays consistent; our standard usage term is unlimited perpetual rights; and we can skip disclosure hashtags since Meta already labels the ads 'Sponsored'. For feedback, our brand lead, product lead and legal counsel will each send creators notes as they think of them. Write up the creator section of the brief.",
      "expected_output": "A creator section built on talking points and per-creator hook directions instead of one shared script, scoped usage rights (where/how long/geography) with unlimited-perpetual flagged, creator-level FTC disclosure that platform labels do not satisfy, a numeric revision cap, and one approver with consolidated feedback rounds.",
      "files": [],
      "expectations": [
        "Replaces the word-for-word script with talking points, beats, and hook direction delivered in the creator's own words, because over-scripting kills the natural delivery that makes UGC work",
        "Marks exact spoken lines and shot-by-shot scripting as outside this brief's scope - the brief writes direction, never the script",
        "Briefs the creators on the same objective with different hook directions rather than identical scripts, treating round one as a learning round and rebriefing round two toward the winning direction",
        "Specifies usage rights as three explicit terms: where the content runs, for how long, and in which geographies",
        "Flags unlimited perpetual rights as a negotiation failure, not a template default",
        "Requires creator-level FTC disclosure such as '[Ad]' or '[Paid Partnership]' at the start of the caption",
        "States that platform ad labels ('Sponsored') do not satisfy creator-level disclosure obligations",
        "Warns that automated placement resizing can drop a disclosure tag in some formats, so disclosure is verified per placement",
        "Sets a revision cap as an agreed number in the brief, not discovered mid-project",
        "Replaces scattered notes from three leads with one approver and one consolidated feedback round per revision",
        "Includes the send-back rule: creative goes back for revision when it addresses neither of the brief's top objections",
        "Gives hook direction per option across the three layers SPOKEN / VISUAL / TEXT OVERLAY, still as direction the creator interprets",
        "Includes a b-roll list and/or the adaptable beat structure (cold open 0-2s visual hook, problem, demo/result, proof overlay, CTA) as beats rather than a script"
      ]
    },
    {
      "id": 11,
      "prompt": "Our CMO at Torvik Labs approved the new briefing process on one condition: it produces a winning ad within the first two sprints, and she wants a day-one dashboard tracking 'briefs that produced winners' as the main quality metric. We ship about 4 concepts a month. How should we measure whether the briefing process itself is working?",
      "expected_output": "A measurement plan that refuses the winner guarantee (about 5% of creatives win at scale), instruments in efficiency order - rebrief rate first with an under-20% self-set target, then brief-to-launch cycle time, then a rolling 90-day concepts-to-winner ratio flagged as noise at this volume - with diagnostic reads for each.",
      "files": [],
      "expectations": [
        "Declines to promise a winning ad: roughly 5% of creatives become winners at scale, a hit rate no brief can repeal",
        "Frames the brief's job as maximising the quality, cleanliness and diversity of every at-bat rather than promising outcomes",
        "Instruments the three KPIs in efficiency order, standing them up one at a time rather than all three at once",
        "Puts rebrief rate first: the share of briefs sent back for clarification before production starts, kept as a simple counter by whoever sends briefs back",
        "Gives the rebrief-rate target as under 20%, labelled a practical self-set target to tighten from the team's own history, not a researched constant",
        "Puts brief-to-launch cycle time second, measured as two dates per brief, with the published benchmark of 10 business days or less",
        "Puts the concepts-briefed-to-winner ratio third over a rolling 90-day window, warned to be noise until enough concepts ship - which two sprints at 4 concepts a month cannot provide",
        "Judges the winner ratio against the team's own history rather than an absolute bar, given the roughly 5% base rate",
        "Notes the re-rank condition: if a rolling results log already exists in the reporting stack, the ratio becomes free and moves to the top",
        "Provides the diagnostic reads: a rising rebrief rate is a brief problem; a collapsing winner ratio with clean briefs is a concept-diversity problem",
        "Cites the briefing stakes: roughly a third of marketing budget wasted through poor briefing and/or the gap where 80% of marketers think their briefs are good while only 10% of agencies agree",
        "Defines when a single brief counts done: every field carries real content with an evidence citation and the executor confirms zero clarification questions on read-through"
      ]
    }
  ],
  "trigger_queries": [
    { "query": "Write a creative brief for our new Meta campaign", "should_trigger": true },
    { "query": "I need to brief our designer on the next batch of ads", "should_trigger": true },
    { "query": "What should our Facebook ads actually say? I already have the audience research", "should_trigger": true },
    { "query": "Put together a design handoff doc for our freelance video editor for the spring ad push", "should_trigger": true },
    { "query": "Help me define the messaging pillars for our paid campaign", "should_trigger": true },
    { "query": "Our agency keeps asking for a brief before they'll start on the ads - what do I send them?", "should_trigger": true },
    { "query": "Draft creative direction for a TikTok campaign for our protein bar brand", "should_trigger": true },
    { "query": "I have a campaign goal and a customer insight - turn it into something a designer can execute", "should_trigger": true },
    { "query": "How do I brief a UGC creator without micromanaging them?", "should_trigger": true },
    { "query": "We need hook directions for the new video ads before the shoot next week", "should_trigger": true },
    { "query": "Write up the art direction section for our ad concept", "should_trigger": true },
    { "query": "My designer made ads that completely missed the point - how do I hand this off better next time?", "should_trigger": true },
    { "query": "What goes into a performance marketing creative brief?", "should_trigger": true },
    { "query": "Turn this audience insight into a messaging angle and hook directions for the designer", "should_trigger": true },
    { "query": "One-pager for the video editor: what the new ad needs to communicate, plus specs", "should_trigger": true },
    { "query": "I keep rewriting the agency's ad drafts - I think my briefs are the problem", "should_trigger": true },
    { "query": "Brief for a static ad concept targeting problem-aware shoppers", "should_trigger": true },
    { "query": "We're testing 3 new ad concepts next sprint - write the briefs", "should_trigger": true },
    { "query": "What's the right structure for briefing ad creative to an in-house design team?", "should_trigger": true },
    { "query": "Turn this customer review insight into a creative brief for Instagram ads", "should_trigger": true },
    { "query": "I hired someone on Fiverr to make our promo video ad and I don't know what to send her", "should_trigger": true },
    { "query": "The intern is making our ad visuals - what instructions do I give so they come back usable?", "should_trigger": true },
    { "query": "Need a doc for the video guy: campaign goal, what to say, sizes, deadline", "should_trigger": true },
    { "query": "How prescriptive should I be when briefing a UGC creator versus an in-house editor?", "should_trigger": true },
    { "query": "Give me a template for a per-concept ad test brief", "should_trigger": true },
    { "query": "What aspect ratios and spec notes should go in the brief for Reels placements?", "should_trigger": true },
    { "query": "Define the messaging angle and hooks for our new campaign concept", "should_trigger": true },
    { "query": "Our ads all say five things at once - help me tighten the message for the next creative round", "should_trigger": true },
    { "query": "Write the revision and feedback process for working with our ad creators", "should_trigger": true },
    { "query": "How do I tell the designer what I want without writing the ad for them?", "should_trigger": true },
    { "query": "Prep the handoff for tomorrow's shoot: what the ad needs to say and show", "should_trigger": true },
    { "query": "Creative brief for a B2B LinkedIn video campaign targeting CFOs", "should_trigger": true },
    { "query": "I need art direction and reference ads picked before the designer starts", "should_trigger": true },
    { "query": "Fill in the hypothesis and hooks sections of my creative brief", "should_trigger": true },
    { "query": "Our briefs keep coming back with clarification questions - fix our brief format", "should_trigger": true },
    { "query": "Structure a brief for responsive search ads - the headline and description pool", "should_trigger": true },
    { "query": "Awareness level, angle, hooks - walk me through building the messaging for this campaign", "should_trigger": true },
    { "query": "Build a brief for our first UGC campaign including usage rights and disclosure", "should_trigger": true },
    { "query": "How many hook options should I give the editor, and how do I pick them?", "should_trigger": true },
    { "query": "Translate our customer pain research into an ad concept the design team can produce", "should_trigger": true },
    { "query": "The founder wants 'premium and bold' ads - help me turn that into something a designer can act on", "should_trigger": true },
    { "query": "Concept, angle, hook - my team uses these words differently; help us brief consistently", "should_trigger": true },
    { "query": "Write the test block for this creative brief - what changes and what stays constant", "should_trigger": true },
    { "query": "Brief my video editor on a pain-first concept for our insole brand", "should_trigger": true },
    { "query": "We launch on Meta in two weeks - I need the creative direction locked today", "should_trigger": true },
    { "query": "What evidence should I gather before writing the next ad brief?", "should_trigger": true },
    { "query": "Draft a one-page spec for the ad shoot: message, hooks, do's and don'ts", "should_trigger": true },
    { "query": "Ad concept handoff: what does the designer need from me so there's only one revision round?", "should_trigger": true },
    { "query": "Turn our winning angle into a brief for three new iterations", "should_trigger": true },
    { "query": "How do I write a brief for a carousel ad concept?", "should_trigger": true },
    { "query": "What should the ad say to people who know our product but haven't bought yet?", "should_trigger": true },
    { "query": "Kick off creative production for Q3 - goals are set, I need the briefs written", "should_trigger": true },
    { "query": "Make me a brief the video editor can't misinterpret", "should_trigger": true },
    { "query": "Our creative strategist quit - I have to write the concept briefs myself now, guide me", "should_trigger": true },
    { "query": "What should the first frame and opening line of our new ad concept communicate?", "should_trigger": true },
    { "query": "Turn this positioning doc into ad creative direction", "should_trigger": true },
    { "query": "I need briefs for two concepts - one static, one short video - same campaign", "should_trigger": true },
    { "query": "How do I specify auto-enhancements and AI disclosure in an ad brief?", "should_trigger": true },
    { "query": "Write the audience and message sections for our new ad concept", "should_trigger": true },
    { "query": "A freelancer starts Monday on our ad creatives - what do I prepare this weekend?", "should_trigger": true },
    { "query": "Help me pick which hook trigger type to test first for a problem-aware audience", "should_trigger": true },
    { "query": "The last shoot produced footage nobody could use - improve our pre-shoot brief", "should_trigger": true },
    { "query": "Pick 2-3 reference ads with notes for the designer - help me assemble the art direction", "should_trigger": true },
    { "query": "Our ad concepts keep coming back as taglines - help me write angles a human would say", "should_trigger": true },
    { "query": "Set the deliverables arithmetic and naming convention for the next creative batch", "should_trigger": true },
    { "query": "I have review-mining output - turn it into a briefed ad concept", "should_trigger": true },
    { "query": "Write a brief for a founder-on-camera ad concept", "should_trigger": true },
    { "query": "What belongs in the test block of a creative brief?", "should_trigger": true },
    { "query": "Our briefs are six pages and nobody reads them - cut one down to what matters", "should_trigger": true },
    { "query": "Briefing a designer for ads in a regulated category - what claim guidance goes in?", "should_trigger": true },
    { "query": "Write 10 Facebook ad headlines for our meal-kit service", "should_trigger": false },
    { "query": "Give me 5 CTA variations for this ad copy", "should_trigger": false },
    { "query": "Rewrite this ad's primary text so it converts better", "should_trigger": false },
    { "query": "Write the full 40-second UGC script with exact spoken lines for our creator", "should_trigger": false },
    { "query": "Script a TikTok ad word for word - hook line, body, CTA", "should_trigger": false },
    { "query": "Here are transcripts of three video openings - which hook deserves the test budget?", "should_trigger": false },
    { "query": "Score the first 3 seconds of this ad script", "should_trigger": false },
    { "query": "Our best ad's ROAS has slid for two weeks - is the creative fatigued or something else?", "should_trigger": false },
    { "query": "Frequency hit 4.2 and CTR is dropping - time to refresh this creative?", "should_trigger": false },
    { "query": "How many conversions per cell do I need before this creative test is readable?", "should_trigger": false },
    { "query": "Design the test matrix and per-cell budgets for testing 6 creatives", "should_trigger": false },
    { "query": "Build the audience targeting plan for our campaign - lookalikes, interests, retargeting pools", "should_trigger": false },
    { "query": "Which audiences should we layer for cold prospecting on Meta?", "should_trigger": false },
    { "query": "Our CPA doubled last month - diagnose what's wrong with the account", "should_trigger": false },
    { "query": "Why did ROAS drop across the whole account? Walk through the possible causes", "should_trigger": false },
    { "query": "Meta says 412 conversions, Shopify says 268 - explain the gap", "should_trigger": false },
    { "query": "Should we switch from manual CPC to target ROAS bidding?", "should_trigger": false },
    { "query": "Set the tCPA for our new campaign and tell me when to move it", "should_trigger": false },
    { "query": "We're 40% underspent halfway through the month - fix our pacing", "should_trigger": false },
    { "query": "Project our month-end spend against the $60k budget", "should_trigger": false },
    { "query": "Map the buying committee for an $80k ACV data platform and how to reach each role", "should_trigger": false },
    { "query": "We have 47 campaigns and 300 ad sets - which should we merge?", "should_trigger": false },
    { "query": "Verify our pixel and Conversions API are deduplicating before launch", "should_trigger": false },
    { "query": "Is our purchase event double-firing? Check before we scale", "should_trigger": false },
    { "query": "Should this campaign use carousel or collection format on Meta?", "should_trigger": false },
    { "query": "Build a negative keyword list from this search terms report", "should_trigger": false },
    { "query": "Which ad platforms fit a $3k/month budget for a niche B2B tool?", "should_trigger": false },
    { "query": "Split our $90k quarterly budget across Google, Meta and LinkedIn", "should_trigger": false },
    { "query": "What CAC ceiling and ROAS floor should we set as company policy?", "should_trigger": false },
    { "query": "Collect our competitors' current ads into a categorized swipe file", "should_trigger": false },
    { "query": "Organize these competitor ad screenshots into a searchable library", "should_trigger": false },
    { "query": "Is a 2.1 ROAS healthy given our margins?", "should_trigger": false },
    { "query": "Compute our blended CAC from this spend and revenue export", "should_trigger": false },
    { "query": "Write copy for an ad slot inside an AI assistant's answer", "should_trigger": false },
    { "query": "Which customers should seed our lookalike audience?", "should_trigger": false },
    { "query": "Audit the landing page our ads send traffic to - conversion is 0.9%", "should_trigger": false },
    { "query": "Our winning campaign runs at $200/day - how fast can we scale it to $1,000?", "should_trigger": false },
    { "query": "Design the retargeting sequence for cart abandoners with frequency caps", "should_trigger": false },
    { "query": "Plan a campaign promoting our CEO's LinkedIn posts as paid ads", "should_trigger": false },
    { "query": "How do I become a creative strategist - what belongs in my portfolio?", "should_trigger": false },
    { "query": "Write the job description and interview loop for a paid social manager", "should_trigger": false },
    { "query": "Which PPC newsletters and podcasts are worth my time?", "should_trigger": false },
    { "query": "Where do I even start with paid ads for my startup?", "should_trigger": false },
    { "query": "Write a creative brief for our logo redesign project", "should_trigger": false },
    { "query": "Draft the brief for our wedding videographer", "should_trigger": false },
    { "query": "Brief for the new website homepage design", "should_trigger": false },
    { "query": "Write a content brief for a blog post targeting 'best CRM for startups'", "should_trigger": false },
    { "query": "Brand brief for our rebrand - mission, values, voice", "should_trigger": false },
    { "query": "Creative brief for our trade-show booth design", "should_trigger": false },
    { "query": "Brief our PR agency on the product launch announcement", "should_trigger": false },
    { "query": "Write the brief for our email newsletter redesign", "should_trigger": false },
    { "query": "Put together a photography brief for the product catalog shoot", "should_trigger": false },
    { "query": "Brief for an explainer video on our documentation page", "should_trigger": false },
    { "query": "Help me brief our social media manager on the organic content calendar", "should_trigger": false },
    { "query": "Draft an influencer gifting campaign brief - organic posts only, no paid", "should_trigger": false },
    { "query": "Score these 12 hooks from our last campaign and rank them", "should_trigger": false },
    { "query": "Rank my competitor's video openings by predicted performance", "should_trigger": false },
    { "query": "Turn this value prop into 15 RSA headlines ready to paste into Google Ads", "should_trigger": false },
    { "query": "Write the exact on-screen text overlays for our finished video edit", "should_trigger": false },
    { "query": "Our ad got rejected by Meta - figure out which policy we tripped", "should_trigger": false },
    { "query": "Set the sample size and stopping rule for this creative test", "should_trigger": false },
    { "query": "How long should the retargeting window be for abandoned carts?", "should_trigger": false },
    { "query": "Compare our CPMs to industry benchmarks for Q4", "should_trigger": false },
    { "query": "Ads Manager shows 'learning limited' - what do I do?", "should_trigger": false },
    { "query": "Choose between Advantage+ and manual campaign structure for our shop", "should_trigger": false },
    { "query": "Write ad copy variants at three awareness stages for our SaaS", "should_trigger": false },
    { "query": "Storyboard and shot list for tomorrow's UGC shoot, scene by scene", "should_trigger": false },
    { "query": "What's the ideal video length for Reels ads?", "should_trigger": false },
    { "query": "Which creative elements correlate with ROAS across our account?", "should_trigger": false },
    { "query": "Set up UTM naming conventions for our campaigns", "should_trigger": false }
  ]
}
references/angle-frameworks.md›
# Angle Frameworks and Evidence Mining

## Contents

1. Five levels of awareness (Schwartz)
2. Market sophistication - the neglected sibling
3. The pain × persona matrix
4. Hook trigger taxonomy
5. Concept / angle / hook - the vocabulary dispute
6. Evidence-mining methods

## 1. Five levels of awareness (Eugene Schwartz)

From _Breakthrough Advertising_ (1966). Schwartz's argument: a copywriter cannot create desire, only channel existing desire, and the buyer's awareness level decides which opening can do that work. His own word was _levels_, not stages.

Operational mapping (as popularized by Motion):

| Level          | Audience state                       | Hook strategy                                                           |
| -------------- | ------------------------------------ | ----------------------------------------------------------------------- |
| Unaware        | Doesn't know they have the problem   | Introduce the pain through a relatable situation; no product mention    |
| Problem-aware  | Knows the problem, no solution found | Agitate; make them feel understood; build urgency                       |
| Solution-aware | Comparing options                    | Differentiate; position against alternatives; call out what failed them |
| Product-aware  | Knows you, hasn't bought             | Remove objections; social proof; FOMO                                   |
| Most-aware     | Ready to buy                         | Direct offer; urgency; guarantee; price anchoring                       |

Two rules make this usable in a brief:

- The **messaging angle stays constant across levels - only its expression changes**.
- Budget interacts with level choice: smaller budgets start at problem/solution-aware (people already searching), scaling budgets invest in unaware content to grow the top.

The table above runs in Schwartz's own progression, coldest to warmest - a spectrum, not a priority order. When the audience genuinely spans several levels, the choice of which to brief first is ranked separately:

- effort: unaware > problem-aware > solution-aware > product-aware == most-aware
- value (new demand the level can reach): unaware > problem-aware > solution-aware > product-aware > most-aware
- efficiency: most-aware > product-aware > solution-aware > problem-aware > unaware

Product-aware and most-aware tie on effort because neither brief teaches anything: both are written for a buyer who already knows the category and the product, so both come down to an offer line and a proof line drafted in the same afternoon. They separate on value, not on what they cost to write.

The efficiency ordering is real but capacity-capped: the top two rungs are retargeting-sized pools that exhaust within days at any serious budget, so the highest ratio is not the right first brief. **What the ratio starves is unaware** - the only level that creates demand rather than harvesting it, and the only one that needs education-weight creative to work. An advertiser who briefs by ratio alone spends its whole budget re-selling the audience it already has. Promote unaware once the lower rungs are saturated and frequency climbs without incremental volume, or when the interview answer was a compounding mandate: category-education creative keeps working long after a retargeting ad has burnt its pool.

Default rung: **problem-aware or solution-aware** - big enough to spend against, cheap enough that the creative is an argument rather than an education. Re-rank against assets already owned: an established category-education content library, or an audience list that dwarfs the retargeting pool, changes which rung is actually cheapest for this advertiser. Where a level has no reachable audience at all - no retargeting pool yet, no list - delete that rung from the brief's menu and say so, rather than ranking it first on a ratio nobody can spend against.

## 2. Market sophistication - the neglected sibling

Schwartz paired awareness with sophistication: how many competing claims the buyer has already heard in the category. Awareness says what the buyer knows; sophistication says how tired they are of hearing it.

| Level | Prescription                                                        |
| ----- | ------------------------------------------------------------------- |
| 1     | Plain claim - first to market says the simple thing                 |
| 2     | Bigger claim - outbid the plain claim                               |
| 3     | Mechanism - claims exhausted; explain _how_ it works                |
| 4     | Better mechanism - mechanisms compete; yours must be newer/stronger |
| 5     | Identity/belonging - claims dead; sell who the buyer becomes        |

Rarely an explicit brief field, but it decides whether the brief needs a "unique mechanism" section: at sophistication 3+, an angle without a mechanism is just another tired claim.

Deliberately not ranked by efficiency, unlike the menus elsewhere in this file: the level is diagnosed, not chosen. The market has already heard what it has heard, and a level-2 claim in a level-4 market is not a cheaper option - it is a wrong one. Ordering these rungs by effort would read as a menu and invite exactly that mistake.

## 3. The pain × persona matrix

Motion's Creative Strategy Engine template, per intersection:

```
PAIN:            <the functional/emotional problem; the anchor>
PERSONA:         <life context in which this pain is felt>
MESSAGING ANGLE: <one conversational sentence a customer could actually say>
Use case:        <how this persona experiences this pain>
Deepest desire:  <what solving it actually means to them>
Feature/benefit: <which features matter here - a feature is a fact, a benefit is
                  how THIS persona experiences that fact>
Objections:      <what stops this persona, in their words>
```

Build the matrix before briefing: rows = pains (or desires, for aspirational categories), columns = personas. Each filled cell is a candidate angle.

Campaign structure often falls out of it - pain buckets become campaigns, personas become ad sets. Different personas experience the same feature as different benefits; write the benefit per cell, never once globally.

## 4. Hook trigger taxonomy

Eight trigger types (Motion's brief-field categories). Tag every hook option with exactly one; the tags build a hook-performance history by trigger type over time.

The awareness level gates which triggers can work at all (section 1); marginal effort then ranks the survivors. Rows below run in that efficiency order, matching SKILL.md § Hook Direction - the top four change a line and reuse the shoot, the bottom two need one.

| Trigger                    | Direction pattern (not a script)                                                                   | Marginal effort on an existing body/layout                                                             |
| -------------------------- | -------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------ |
| Pain agitation             | Open inside the worst moment of the problem                                                        | Near-zero: one spoken line, evidence already mined                                                     |
| Identity call-out          | Name the person directly ("if you run ops at a 50-person SaaS...")                                 | Near-zero: one spoken line and one overlay                                                             |
| Contrarian / myth-busting  | Open against the category's common advice                                                          | Near-zero to write; costs political capital when the claim contradicts brand or category orthodoxy     |
| Urgency / stakes           | Open on what it costs to wait                                                                      | Near-zero to write; gated on offer mechanics and on substantiating the scarcity claim                  |
| Curiosity gap              | Open a loop the ad (or landing page) closes - the gap must be visible, relevant, and feel closable | Near-zero to write, plus the resolution field below                                                    |
| Social proof / credibility | Open with the crowd, the number, or the authority                                                  | Near-zero if the asset exists; a week if it must be gathered, plus testimonial sign-off when regulated |
| Aspiration / desire        | Open on the after-state (default for desire-anchored categories)                                   | An after-state to stage or shoot                                                                       |
| Pattern interrupt          | Open with something visually/verbally out of place for the feed                                    | A shoot or a new frame - highest of the eight                                                          |

The order is a default, not a law. Re-rank per account before recommending a first test: an owned footage library, an in-house editor, or a founder who performs well on camera each move an expensive trigger up several places.

Curiosity hooks add one brief field: where the tension resolves - in the ad, on the landing page, or in a demo/conversation. Unresolved tension reads as a trick and burns credibility.

## 5. Concept / angle / hook - the vocabulary dispute

Three published positions, so expect collaborators to disagree:

- **Concept as container**: concept = the format shell (us-vs-them, before/after, founder story); angle = the argument inside it. The concept is about you; the angle is about them.
- **Angle as interpretive frame**: the angle is why this person should care right now; hooks, claims and formats are downstream. Strategists call hooks "angles", copywriters call claims "angles", media buyers call format swaps "angles" - and the looseness is expensive, because you cannot learn when everyone tests something different under one label.
- **Tooling split**: hook = opening 1-3 seconds; angle = the core argument or emotional appeal.

The convergent practical fix: tag creative on multiple independent dimensions (format, creator, messaging, imagery, persona - Dara Denney's five) instead of arguing over one word, and restate this skill's fixed definitions in every brief header.

## 6. Evidence-mining methods

Run before brainstorming. Every brief claim cites one of these sources.

Five methods compete for the same hours, listed below in efficiency order - the cheap ones confirm what you already ran, the expensive ones generate what you have not:

- effort: broad voice-of-customer > scored review mining > competitor-ad boarding > negative-review objections == past winners
- value (new angles the method can produce): scored review mining > broad voice-of-customer > competitor-ad boarding > negative-review objections > past winners
- compliance cost: broad voice-of-customer (consent and data-handling review before call recordings or CRM notes leave the system) > scored review mining == negative-review objections (verbatims are the reviewer's words - check the platform's terms before quoting one in an ad) > competitor-ad boarding == past winners

Negative-review objections and past winners tie on effort at one hour each, for unrelated reasons that happen to cost the same: one is a read of the category's 1-2 star reviews, the other a pull from the ad account. Competitor-ad boarding ties with past winners on compliance because both read material you are entitled to see and quote nothing into an ad.

**What the efficiency order starves: scored review mining.** It tops the value axis - the only method that fills the whole pain x persona matrix - and costs a day, so a ratio defers it to a week that never arrives. Promote it when the cheap sources only confirm what you already ran (the tell is an angle bank whose entries are all one angle wearing different hooks), or when the mandate is compounding: the matrix it produces feeds every brief for the rest of the quarter, not just this one.

Default: work down from the top until the brief's fields are full. Re-rank against what this account already owns: a B2B product with no public reviews inverts the top of the list and makes voice-of-customer first by default; a sales team that already tags lost-deal reasons in the CRM turns the most expensive method into an afternoon. A method the account cannot run at all - no reviews to mine, no consent path to call recordings - is deleted from the list and named as deleted, never carried at the bottom where the next brief cites it as a source it never used.

**Past winners with their metrics.** An hour in the ad account, and it fills two brief fields at once: the recommended-first-test rationale and the test block's benchmark, which the template already prefers over published bands.

Pull top performers over the last 30 days and 6 months, top hook rates, top hold rates with average watch time, and prior A/B results (Dara Denney's four-pronged research pattern: reputation, review mining, competitor analysis, past performance). A "past winner" cited without its numbers is nostalgia, not evidence. A new account has none, so this method drops out of the ranking rather than down it.

**Negative reviews as the objection source.** One hour of reading fills the core-objection field that gates revision acceptance.

1. Pull the most common 1-2 star reviews for the product _and_ the category.
2. Identify the top 2 recurring objections.
3. Put them in the brief.

Creative that addresses neither goes back for revision.

**Scored review mining** (Motion's published method). A day's work, and the only method that fills the whole pain × persona matrix.

Score each review 1-5 (1 = gibberish or bare "great product"; 5 = long, emotional, vivid). Discard the 1s. Extract the rest into five buckets:

1. Pain points - the problem before purchase
2. Trigger moments - what finally made them buy
3. Objections - usually past-tense in positive reviews ("I was skeptical, but...")
4. Transformations - what changed, in their words
5. Standout language - verbatim, ad-ready phrases, pulled unedited

Each bucket feeds a different part of the brief:

- Pains feed the matrix.
- Triggers and transformations feed hooks.
- Objections feed the objection field and objection-handling mechanics.

**Competitor ads, filtered by longevity.** A few hours of boarding.

1. Pull from public ad libraries.
2. Filter to ads running 30+ days, sorted by longest-running - longevity, not recency, is the validation signal (Foreplay's Jack Kavanagh).

Board them by hook type and angle: that board is the concept-hypothesis pool. Caveat for the brief: ad libraries are public - competitors see yours too.

**Voice-of-customer beyond reviews.** A week, and coordination across teams that do not report to you - which is why it sits last despite generating the angles nothing else can.

What they already believe, what they're tired of hearing, what they've tried, what stops them converting - from comments, community threads, surveys. B2B: sales-call notes, CRM comments, search terms, lost-deal reasons.

Volume expectation to set with stakeholders: AppsFlyer's 2024 report indicates marketers typically test upward of 50 variations to find a winner - evidence raises the odds per at-bat; it does not repeal the denominator.
references/brief-template.md›
# Brief Template - Field-by-Field

One brief per concept, 1-2 pages including references. Open every brief with the definitions header (concept / angle / hook / format / iteration, as fixed in SKILL.md) so no reader argues vocabulary mid-production.

## Contents

1. Core fields (all formats)
2. Variant: static image
3. Variant: search / responsive text ads
4. Variant: short-form video / UGC

Variants run in the efficiency order set by SKILL.md § Format Variants, not alphabetically or by popularity.

## 1. Core fields (all formats)

### 1 - Context

| Field                      | Guidance                                                                                              |
| -------------------------- | ----------------------------------------------------------------------------------------------------- |
| Concept name               | The name the naming convention builds on; pick it here, not at upload time                            |
| Goal + primary KPI         | One goal, one deciding KPI. "Awareness and conversions" is two briefs                                 |
| Platform(s) + placements   | Per placement, not per platform - crops and overlays differ within one platform                       |
| Dates                      | Launch date and production dates (shoot / draft / final) locked, not "ASAP"                           |
| Budget + deliverable count | Sets the test's statistical ceiling; a 3-file test at low spend cannot support a 5-variant hypothesis |

### 2 - Audience

| Field                  | Guidance                                                                                                             |
| ---------------------- | -------------------------------------------------------------------------------------------------------------------- |
| Persona + life context | The context in which this person feels the pain - not demographics alone                                             |
| Awareness level        | One of Schwartz's five: unaware / problem-aware / solution-aware / product-aware / most aware. Never "all audiences" |
| Belief before the ad   | What they currently think is true about the problem/category                                                         |
| Core objection         | The top recurring objection from 1-2 star reviews or lost-deal notes; the creative must address at least one         |
| B2B: committee role    | Which of the parallel personas (economic buyer / technical evaluator / end user) this brief targets                  |

### 3 - Message

| Field              | Guidance                                                                                                       |
| ------------------ | -------------------------------------------------------------------------------------------------------------- |
| Messaging angle    | One conversational human sentence. Test: could a customer plausibly say it out loud? A tagline fails this test |
| Value prop         | What's in it for them, in their words - pull verbatim from review mining where possible                        |
| One proof point    | Exactly one. B2C: review, before/after, demo. B2B: quantifiable outcome + badge or product screenshot          |
| Evidence citations | Which review / call note / past winner each claim traces to. No citation, no claim                             |

Completion test for this section: finish the sentence "After seeing this ad, our target customer should think/feel ___." If you cannot, you have talking points, not a brief.

### 4 - Hypothesis

`If we lead with [pain] and [proof], then [audience] will [action].` (Directive Consulting's template.) Tag the type - hook / proof / format / angle / persona, in the efficiency order SKILL.md § Testing Intent sets - because the type dictates what must stay constant, and how much the test costs to run. A brief without a hypothesis is a production order, not a test.

### 5 - Hooks

3-5 options. Each option carries:

- Trigger-type tag (one of the eight listed in efficiency order in SKILL.md § Hook Direction - default to the highest-ranked one the brief's awareness level endorses)
- For video, the three layers labelled separately: SPOKEN / VISUAL / TEXT OVERLAY
- For static: primary-text hook / headline / caption hook
- One line on the evidence behind it (long-running competitor pattern, review verbatim, past winner)

Then: recommended first test + rationale. Keep options as _directions_ ("open on the result, then explain how"), not scripted lines.

### 6 - Art direction

| Field                     | Guidance                                                                                                                                               |
| ------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Reference ads             | 2-3, in-category, each with one line: "take the pacing", "take the caption treatment". Never more than 3 - excess references confuse rather than align |
| Do / Don't                | Max 2 each                                                                                                                                             |
| Specs                     | Aspect ratio + length per placement; "preview in-placement before export" instead of hardcoded safe-zone pixels                                        |
| Sound-off + accessibility | Key claims legible as on-screen text; captions; 4.5:1 contrast; alt text; ≤3 flashes/sec                                                               |
| Enhancements              | On/off per auto-enhancement type, recorded, owner-approved                                                                                             |
| AI disclosure             | Whether any asset uses externally generated AI content, and that it will be declared                                                                   |
| Compliance mandatories    | Substantiation-required claims, forbidden phrasings ("helps relieve", never "cures"), regulated-category notes                                         |

### 7 - Deliverables

| Field                | Guidance                                                                                           |
| -------------------- | -------------------------------------------------------------------------------------------------- |
| Arithmetic           | Formula form: `2 hooks × 1 main edit = 3 files`, `1 concept × 3 ratios = 3 exports`                |
| Iteration vs net-new | Flag each file `NEW` or `IT`. A resize is not a new design; hook cuts of one video are one concept |
| Naming               | Concept → iteration (V1, V2) → format (1x1, 4x5, 9x16) → test variable; ASCII, underscores         |
| Revision cap         | A number, agreed here, not discovered in round four                                                |

### 8 - Test block

| Field                    | Guidance                                                                            |
| ------------------------ | ----------------------------------------------------------------------------------- |
| Variable / constants     | The one thing that changes; list what is frozen (targeting included)                |
| Minimum evidence         | Impressions/spend/conversions floor before any kill or scale call                   |
| Deciding KPI + benchmark | The number and where it comes from (account history preferred over published bands) |
| On win / on loss         | Next action for each outcome, decided now                                           |
| Learning destination     | The named log/bank where the result gets written, win or lose                       |

## 2. Variant: static image

Add to the core:

- **Visual hierarchy order**: what the eye lands on first, second, third (focal point → headline → CTA → brand mark). If product, headline, badge and logo all compete, the viewer picks none.
- **Copy blocks**: headline + supporting line + CTA, each with its character budget for the placement.
- **Mobile-size check**: require reviewing the asset at feed size - a message that fails small fails everywhere.
- Typical test variables, ranked rather than listed:
  - effort: visual style > headline == offer framing
  - efficiency: offer framing > headline > visual style
  - Headline and offer framing tie on effort because both are a text swap into the same layout - the designer touches nothing. A new visual style is a new design, and offer framing moves the decision itself rather than its wording, which is what separates the three on efficiency. Default first variable: offer framing.
  - What the ratio starves is **visual style**: it is the variable a scroll actually registers first and the only one that costs a design pass, so it never wins a ratio and never gets tested. Promote it when two offer and headline tests in a row have both come back flat, or when the designer owns a live template file and can restyle in minutes - the effort axis collapses and it moves up on cost alone. Where the offer is fixed by the business, delete offer framing from this brief's variable list and say so, rather than leaving it top-ranked and untestable.

## 3. Variant: search / responsive text ads

No hook, no visual; the system assembles the ad, so the brief specifies an asset pool.

- **Ad-group theme**: the real briefing unit. Every asset must work with every keyword in the group; loose theming is the format's main failure.
- **Headline pool**: up to 15 headlines, 30 characters each, mapped across three themes - **pain / product / proof** (Directive's pattern; this mapping is search's messaging-pillar equivalent). Each headline must stand alone _and_ in any combination.
- **Description pool**: 4 descriptions, 90 characters each. A keyword too long for a headline goes here.
- **Pinning map**: pin at most 1-2 essential headlines; note in the brief that pinning restricts combination testing sharply, so every pin needs a stated reason (compliance line, mandated brand phrase).
- **Ad Strength note**, verbatim into the brief: Ad Strength is a content-quality signal with no direct effect on Ad Rank; do not add loosely relevant headlines to chase "Excellent".
- Typical test variables - all three are writing, so effort is flat (`offer == headline theme balance == CTA phrasing`) and the ordering is pure value:
  - value: offer > headline theme balance > CTA phrasing
  - CTA rephrasing is the smallest swing in a system that already rotates combinations for you. Test as two ads per group differing by _angle_, not by rephrasing. Re-rank if the offer is fixed by the business - then theme balance is the top rung available, not a fallback.

## 4. Variant: short-form video / UGC

Add to the core:

- **Talking points, not a script**: the beats the creator must hit, in their own words. Beat structure to adapt: cold open (0-2s visual hook) → problem (2-5s) → demo/result → proof overlay → CTA.
- **B-roll list**: the shots needed for edits and future hook swaps.
- **Hook direction per option**: all three layers (SPOKEN / VISUAL / TEXT OVERLAY), still as direction - let the creator pick the option they can deliver naturally.
- **Usage rights**: where the content runs, for how long, in which geographies. An unlimited-perpetual default is a negotiation failure, not a template default.
- **Creator-level disclosure**: the creator's own disclosure ("[Ad]" / "[Paid Partnership]" at caption start) - platform ad labels do not satisfy creator-level FTC disclosure obligations. Note that automated placement resizing can drop a disclosure tag in some formats: verify per placement.
- Round design: brief 3-5 creators on the same objective with _different_ hook directions; treat round one as a learning round, rebrief round two toward the winning direction.
references/examples.md›
# Worked Examples

All brands, people and numbers below are invented for illustration. Metrics shown as "account history" model how a real brief cites its own data.

## Contents

1. B2C/DTC example - short-form video/UGC brief
2. B2B example - parallel-persona video brief
3. Negative example - a bad brief, annotated

## 1. B2C/DTC example - short-form video/UGC brief

```
CREATIVE BRIEF - StandingRelief_PainFirst, 2026-03-02
Definitions: concept = one creative idea, one brief | angle = why they care, as a human
sentence | hook = opening 1-3s expressing the angle | iteration = one changed element, no new brief

1 CONTEXT      Goal: purchases. KPI: CPA vs $38 target. Meta Reels + Feed (4:5, 9:16).
               Shoot Mar 9-10, edits Mar 11-13, launch Mar 16. Budget $6k test. 3 files.
2 AUDIENCE     Persona: retail/warehouse workers 30-50 on their feet 8+ hrs. Awareness:
               problem-aware (they know their feet hurt; they blame the job, not their insoles).
               Belief before: "sore feet are part of the job." Core objection (top 1-2 star
               pattern, category-wide): "insoles flatten out after two weeks."
3 MESSAGE      Angle: "Your feet don't hurt because of your job - they hurt because you're
               standing on cardboard." Value prop: shift-long support that doesn't pack out.
               Proof point: 90-day flatten-free guarantee. Evidence: review-mining bucket 4,
               verbatim "by week 3 I stopped thinking about my feet" (4-star, scored 5/5).
4 HYPOTHESIS   If we lead with end-of-shift foot pain and the 90-day guarantee, then
               problem-aware shift workers will purchase at or under $38 CPA. Type: hook.
5 HOOKS        (recommended first: H1 - pain agitation matches problem-aware level; account
               history: pain-first beat product-first on CPA in Jan test)
               H1 pain agitation    SPOKEN: the last hour of a shift, in their words
                                    VISUAL: locker-room bench, boots coming off
                                    TEXT: "hour 9 of 10"
               H2 contrarian        SPOKEN: it's not the job, it's what's inside the boot
                                    VISUAL: cheap insole bending flat in one hand
                                    TEXT: "this is what you're standing on"
               H3 social proof      SPOKEN: what reviewers say happened at week 3
                                    VISUAL: scrolling wall of review cards
                                    TEXT: verbatim review line
6 ART          Refs: [long-running category ad #1] - take the locker-room realism; [creator ad
               #2] - take the hands-on product demo pacing. Do: real work footwear on camera;
               keep guarantee on screen ≥2s. Don't: no medical claims ("helps tired feet",
               never "treats plantar fasciitis"); no polished-studio look. 9:16 + 4:5, preview
               in-placement before export. Captions on; guarantee legible sound-off; contrast
               ≥4.5:1. Enhancements: ALL OFF for test window. AI disclosure: none used.
7 DELIVERABLES 3 hooks × 1 main edit = 3 files, all IT of one concept.
               Names: StandingRelief_V1_9x16_HookPain / _HookContrarian / _HookProof.
               Creator: talking points only, 2 revision rounds max. Usage: paid social,
               12 months, NA only. Creator adds "[Ad]" at caption start.
8 TEST         Variable: hook. Constant: body edit, offer, audience, placements (targeting
               frozen). Minimum: 2,000 impressions/file AND $190 spend (5× target CPA) before
               any call. Deciding KPI: CPA; hook rate read as leading signal vs account's 27%
               trailing average. Win → scale winner, brief V2 iterations on its trigger type.
               Loss → angle survives, hooks retire; test proof-type next. Learning → angle bank.
```

## 2. B2B example - parallel-persona video brief

One of three parallel briefs for the same product (economic buyer / technical evaluator / end user); this one targets the economic buyer. The other two share sections 1 and 6 and differ in 2-5.

```
CREATIVE BRIEF - AuditHours_EconBuyer, 2026-03-04
Definitions header: as fixed in SKILL.md.

1 CONTEXT      Goal: pipeline. KPI: SQL rate and cost per opportunity (not CTR - see test
               block). LinkedIn feed video, 1:1. Launch Mar 23. Budget $9k/mo. 2 files.
2 AUDIENCE     Persona: VP Ops / COO at 50-200-person software company, owns compliance
               budget, doesn't run the audit. Committee note: evaluator and end-user briefs
               run in parallel; ~10-month cycle expected, judged on pipeline not week-one
               conversions. Awareness: solution-aware (comparing automation vendors vs
               consultants). Belief before: "audit prep just costs a quarter of someone's
               year." Core objection (lost-deal notes): "we already paid a consultant."
3 MESSAGE      Angle: "You're paying senior salaries for screenshot collection." Value prop:
               audit evidence collected continuously, not in a panic quarter. Proof point:
               customer outcome - 340 hours to 60 hours prep time - plus compliance-report
               badge and a real product screenshot. Evidence: 2 call notes (Feb), CRM
               lost-deal reasons, competitor ad running 200+ days leading with hours saved.
4 HYPOTHESIS   If we lead with wasted senior hours and the 340→60 customer outcome, then
               solution-aware ops leaders will request a demo at ≤ target cost per
               opportunity. Type: proof.
5 HOOKS        (recommended first: H1 - practitioner-led talking-head, per AJ Wilcox's
               observation that it tends to beat polished brand video on LinkedIn)
               H1 identity call-out SPOKEN: name the role and the budget line directly
                                    VISUAL: practitioner on camera, plain office
                                    TEXT: "what audit prep actually costs"
               H2 pain agitation    SPOKEN: the quarter your best ops hire disappears
                                    VISUAL: calendar filling with audit blocks
                                    TEXT: "Q3, gone"
6 ART          Refs: [long-running competitor ad] - take the talking-head framing, not the
               claim; [customer-story ad] - take the number-on-screen treatment. Do: real
               product screenshot; outcome number on screen. Don't: no stock-office b-roll;
               no unnamed "trusted by leaders" claims. Captions on; sound-off legible.
               Enhancements: off. AI disclosure: none. PMM sign-off required on ICP wording
               and differentiator accuracy before production.
7 DELIVERABLES 2 hooks × 1 edit = 2 files, NEW concept.
               Names: AuditHours_V1_1x1_HookIdentity / _HookPain. 2 revision rounds.
8 TEST         Variable: hook. Constant: proof, offer, audience. Volume is low: gate on
               leading signals (CTR trend, demo-request rate) and say so; judge SQL rate at
               30/60/90 days - a CTR winner that produces junk demos is repurposed
               mid-funnel, not scaled (lead quality field, reviewed with sales). Minimum:
               1,000 impressions/variant/week for 3 weeks before any call. Learning → angle
               bank + shared with PMM.
```

## 3. Negative example - a bad brief, annotated

A realistic bad brief; every line below it is a common real-world defect.

```
BRIEF - Q2 Social Push
We need 10 ads for Q2 to grow revenue and awareness. Target: all adults interested in
wellness. Message: our formula is premium, science-backed, affordable, and loved by
thousands. Style: authentic but premium, scroll-stopping, on-brand (see brand book, 40pp).
Make some videos and statics for Meta, TikTok, whatever works. Have fun with the hooks!
Deadline Friday. Team will share feedback as it comes.
```

What is wrong, line by line:

- **"grow revenue and awareness"** - two goals, no KPI, no target. Deliverables were briefed before the goal exists; nothing can be killed or scaled against this.
- **"10 ads"** - deliverable arithmetic without concepts. Ten of what? One concept iterated ten times and ten concepts are entirely different tests; no NEW/IT split, no naming.
- **"all adults interested in wellness"** - awareness level blank, persona absent. The unaware and the most-aware need opposite openings; this serves neither.
- **"premium, science-backed, affordable, and loved by thousands"** - four messages crammed into one ad; the viewer picks none. No angle a human could say out loud, no single proof point, zero evidence citations.
- **"authentic but premium, scroll-stopping"** - vague adjectives instead of 2-3 reference ads; every reader decodes these differently.
- **"see brand book, 40pp"** - mandatories outsourced to a document nobody will read mid-edit; no do/don't cap, no compliance line (a wellness brand with no claim guidance is a rejection or a regulator letter waiting).
- **"Meta, TikTok, whatever works"** - generic specs reused across platforms; no placements, no ratios, no preview requirement. Also invisible here: enhancement toggles and AI disclosure never mentioned - uncontrolled variables by omission.
- **"Have fun with the hooks!"** - hook direction fully delegated; the highest-leverage element goes untested, untagged and unrecorded.
- **No hypothesis, no target number, no minimum evidence, no on-win/on-loss** - decisions will be made by feel, and hook rates will get compared across Meta and TikTok despite the metrics not being comparable.
- **"feedback as it comes"** - unbounded stakeholders, no revision cap, no single approver: the revision loop that burns creator relationships.

The fix is not more words - this brief is already the wrong 90 words. Rebuild it as one brief per concept through the SKILL.md workflow: interview → evidence → brainstorm → translation chain → template.
SKILL.md›
---
name: ad-creative-brief
description: "Turn a campaign goal and an audience insight into a structured creative brief a designer, video editor, or UGC creator can execute - messaging angle, hook directions, art direction, specs, testing intent, and the handoff and revision loop. Covers B2B and B2C, with variants for static image, short-form video/UGC, and search/responsive text ads. Use whenever the user needs to brief a designer or creator, asks what an ad should say, or mentions messaging pillars, creative direction, or a design handoff - even if they never say 'brief'. Writes direction, never the finished asset: the ad copy itself is mbfinotti/advertising-skills@ad-copy-variants and shot-by-shot creator scripts are mbfinotti/advertising-skills@ugc-ad-scripts."
license: MIT
metadata:
  author: Maya-Beth Finotti
  version: "1.0.1"
---

# Creative Brief

Write a performance-marketing creative brief: a per-concept test specification, not a brand brief with metrics bolted on. The classic agency brief centers on a single-minded proposition, is written once per campaign, and stays deliberately loose so it can inspire. The performance brief replaces that proposition with a **falsifiable creative hypothesis**, is written per concept per sprint, and is prescriptive about hooks, specs and decision thresholds because dozens of variants ship each cycle.

The stakes are documented. The BetterBriefs Project (IPA, 1,700+ marketers and agency staff, 70+ countries) found respondents estimate ~33% of marketing budget is wasted through poor briefing, and that 80% of marketers think they write good briefs while only 10% of agencies agree. Agencies name the gaps as focus (83%), clarity (79%) and inspiration (65%).

One honesty check frames everything else. Motion's 2026 analysis of $1.29B in Meta spend across 578,750 creatives found roughly 5% of creatives become winners - a hit rate no brief can repeal. So the brief's job is not to promise a winner; it is to maximise the quality, cleanliness and diversity of every at-bat.

This skill ends at the approved brief document, and never produces final creative. Writing the finished ad copy belongs to `mbfinotti/advertising-skills@ad-copy-variants`; the shot-by-shot creator script - spoken lines, shot list - belongs to `mbfinotti/advertising-skills@ugc-ad-scripts`. This brief writes hook _direction_, never hook scripts; that line is the boundary.

Hand off elsewhere too: scoring an existing video opening to `mbfinotti/advertising-skills@ad-hook-analyzer`, deciding a running ad is worn out to `mbfinotti/advertising-skills@ad-creative-fatigue`, sample-sizing and structuring the test itself to `mbfinotti/advertising-skills@ad-creative-test-plan`, and the targeting plan to `mbfinotti/advertising-skills@ad-audience-targeting`.

## Interview

Ask before drafting anything. One question per message; offer multiple-choice answers where possible; skip anything already answered or visible in supplied material.

- Campaign goal, and the single primary KPI the creative will be judged on?
- Platform(s) and placements?
- B2B or B2C/DTC?
- Awareness level of the target audience: unaware / problem-aware / solution-aware / product-aware / most-aware? ("All audiences" is not an answer - it is the most common brief defect; press for one level per brief.)
- Who executes the brief: in-house designer, video editor, freelance UGC creator, or agency? (Changes how prescriptive to be, and whether rights and disclosure fields apply.)
- Production capacity, deadline, and revision cap? Is the deadline hard? (The format and testing-intent orderings below span hours to a week in time-to-effect, so they cannot be ranked without it.)
- Do you want the fastest at-bat available now, or learning that compounds across future briefs - a validated persona, a cleared proof asset, an owned footage library? (The first favours static and hook tests, the second favours video/UGC and persona tests.)
- Effort ceiling: who can be pulled in without asking permission, and can you get creator rights and claim approval at all? (A "no" deletes rungs rather than delaying them.)
- Brand mandatories and compliance constraints? (Regulated category? Which claims need substantiation before they may appear in a paid ad?)
- What evidence already exists: customer reviews, sales-call notes, ad comments, past winners with their metrics, competitor ads?
- Budget and expected deliverable count?
- Are platform auto-enhancements on or off - and does anyone actually know?

## Brainstorm Before You Brief

Never jump from interview to a finished brief; the brief hardens assumptions, so surface them first.

1. Restate the campaign goal and the audience insight in one sentence each; get confirmation before proceeding.
2. Mine the evidence (methods in [references/angle-frameworks.md](references/angle-frameworks.md)) and shortlist the candidate pains/desires and personas.
3. Present 2-3 candidate concept directions - each with its messaging angle, the evidence it rides on, its format family, its trade-offs - and one recommendation with rationale. Ask narrowing questions one at a time.
4. Once a direction is picked (or blended), draft the brief section by section and validate each before moving on: context + audience, then message + hypothesis, then hooks + art direction, then the testing block.
5. Hold an explicit approval gate: no brief is final without sign-off. Log rejected directions in the angle bank - they are future tests, not waste.

## Workflow

1. Run the Interview.
2. Gather evidence using the mining methods in [references/angle-frameworks.md](references/angle-frameworks.md): scored review mining, top recurring 1-2 star objections, voice-of-customer beyond reviews (B2B: call notes, CRM comments, search terms), competitor ads filtered by longevity, past winners with their metrics. Every claim in the brief cites a source; a brief without evidence is a wish list.
3. Run the brainstorming mode above.
4. Fix the translation chain (below): pain → persona → messaging angle → awareness level → hook direction → format.
5. Write **one brief per concept** using [references/brief-template.md](references/brief-template.md), choosing the format variant (static / search / video-UGC, ranked in Format Variants below). Variations of a winning concept ride the original brief; only a genuinely distinct concept gets a new one. Target length: 1-2 pages including references.
6. Fill the testing-intent block and assign asset names via the naming convention - never leave naming to whoever uploads.
7. If you can browse the web, pull the platform's _currently published_ aspect ratios and safe zones for each target placement; otherwise write "preview in-placement before export" into the specs field. Published safe-zone numbers disagree by tens of pixels, so a hardcoded number is a defect either way.
8. Check the draft against the failure-modes table, then pass the messaging angle and hook option lines through your preferred humanizer skill - they must read as conversational human statements, not marketing copy.
9. Hand off. Run the revision loop: collect feedback in one consolidated round per revision (scattered piecemeal notes burn the revision cap), and send creative back if it addresses neither of the brief's top objections.
10. When results land, write the outcome into the brief's learning field and the angle bank. If your harness has persistent memory, memorize the angle bank, hook performance by trigger type, and per-concept outcomes so the next brief starts from history.

## The Translation Chain

The intellectual core, and the part most briefs skip. Motion's Creative Strategy Engine is the named public methodology: **Pain (or Desire) → Persona → Messaging Angle → Awareness level → Hook → Format.**

- Pain is the default anchor; reserve desire for aspirational or luxury categories where no functional problem exists.
- Personas are secondary: different life contexts in which people feel the _same_ pain. Each pain × persona cell is a distinct messaging-angle opportunity.
- A messaging angle is a conversational human statement capturing the insight at that intersection - explicitly not a tagline or slogan.
- The angle stays constant across awareness levels; only its expression changes.

The named frameworks behind the chain - Eugene Schwartz's five levels of awareness (Breakthrough Advertising, 1966; Schwartz's own word was _levels_, not stages) and its neglected sibling, market sophistication - plus the pain × persona matrix and the awareness-to-hook mapping live in [references/angle-frameworks.md](references/angle-frameworks.md).

## Fixed Vocabulary

"Concept", "angle" and "hook" are used inconsistently across the industry - strategists, copywriters and media buyers each mean something different, and testing under one fuzzy label destroys learning. The practical fix is to tag on independent dimensions rather than argue over a word (Dara Denney's decomposition uses five: format, creator, messaging, imagery, persona). This skill fixes the vocabulary, and every brief restates these definitions in its own header:

- **Concept**: a distinct creative idea - one brief, one concept.
- **Angle**: the argument for why this person should care, stated as a human sentence.
- **Hook**: the opening 1-3 seconds (video) or the first-read elements (static) - an _expression_ of the angle.
- **Format**: the execution container (testimonial, demo, founder, us-vs-them, static, carousel...).
- **Iteration**: a variant that changes one element of an existing concept; not a new concept, not a new brief.

## The Brief Skeleton

Compact shape; per-field guidance and format variants in [references/brief-template.md](references/brief-template.md); worked examples plus an annotated bad brief in [references/examples.md](references/examples.md).

```
CREATIVE BRIEF - <concept name>, <date> - definitions header (concept/angle/hook/format/iteration)
1 CONTEXT      goal + primary KPI | platform(s) + placements | launch + production dates | budget
2 AUDIENCE     persona + life context | awareness level (one of five) | belief held before seeing
               the ad | core objection | B2B: committee role this brief targets
3 MESSAGE      messaging angle (one conversational sentence) | value prop | one proof point |
               evidence citations (review/call-note/winner each claim traces to)
4 HYPOTHESIS   "If we lead with [pain] and [proof], then [audience] will [action]"
               type (efficiency order): hook | proof | format | angle | persona
5 HOOKS        3-5 directions, each tagged by trigger type; video: SPOKEN / VISUAL / TEXT OVERLAY
               per option; recommended first test + rationale
6 ART          2-3 reference ads, one-line note each | do (max 2) / don't (max 2) | ratios + safe
               zones ("preview in-placement") | sound-off design + accessibility | enhancements
               on/off per type | AI-disclosure line
7 DELIVERABLES arithmetic (e.g. 2 hooks x 1 main edit = 3 files) | iteration vs net-new flag |
               naming convention | revision cap | UGC: usage rights (where / how long / geography)
               + creator-level disclosure
8 TEST         the one variable that changes + what stays constant | minimum spend or impressions
               before any call | deciding KPI + its benchmark | on win / on loss | where the
               learning gets written
```

## Hook Direction

A video hook has three layers; brief and label them separately (Motion's convention):

- **SPOKEN** - first words on camera.
- **VISUAL** - what happens in the first frame.
- **TEXT OVERLAY** - on-screen text.

For statics: primary-text hook, headline, caption hook. Offer 3-5 options, each tagged with exactly one trigger type, plus a recommended first test and why.

Value is not a property of the trigger - the awareness level sets it (mapping in [references/angle-frameworks.md](references/angle-frameworks.md)), so a trigger the level rules out is worth nothing however cheap it is. Gate on the level first, then rank the survivors by what they cost on a body already shot or a layout already designed. The eight trigger types, in that efficiency order:

1. **Pain agitation** - one spoken line, and the evidence is already mined. Near-zero.
2. **Identity call-out** - one spoken line plus one overlay. Near-zero.
3. **Contrarian / myth-busting** - near-zero to write; spends political capital when the claim contradicts brand or category orthodoxy.
4. **Urgency / stakes** - near-zero to write; gated on offer mechanics, and any scarcity or deadline claim has to be true before it runs.
5. **Curiosity gap** - near-zero to write, plus the resolution field: where the loop closes.
6. **Social proof / credibility** - near-zero when the review wall or badge already exists; a week when it must be gathered, plus testimonial substantiation and sign-off in a regulated category.
7. **Aspiration / desire** - an after-state to stage or shoot.
8. **Pattern interrupt** - its own frame or set-up: a shoot, not a rewrite.

- effort: pattern interrupt > aspiration > social proof > curiosity gap > pain agitation == identity call-out == contrarian == urgency
- compliance cost: social proof > urgency > contrarian > aspiration == pain agitation == identity call-out == curiosity gap == pattern interrupt

The four-way effort tie is real, not a shrug: pain agitation, identity call-out, contrarian and urgency are each one written line against footage that already exists, so there is nothing left to trade between them. Contrarian and urgency then separate on compliance instead, which is why they leave the tie on the line below. The five-way compliance tie holds for the same shape of reason: none of those five asserts a result, names a person, or promises a deadline, so none triggers a review the category did not already require.

**What this order starves: social proof, and pattern interrupt behind it.** Social proof is the only trigger carrying third-party evidence and it sits sixth, because gathering the wall or the badge costs a week and a sign-off. Pattern interrupt is last on effort because it needs its own frame shot.

A brief written purely by ratio therefore tests the four one-line triggers forever and never puts evidence in front of the reader. Promote them when the asset already exists and is cleared - social proof's cost then collapses to near-zero while its value is unchanged - or when the interview answer was a compounding mandate, which justifies paying for a pattern-interrupt shoot once and reusing the footage across the quarter.

Delete rather than demote: if no cleared customer result exists and none can be obtained, **social proof is deleted from this brief's trigger menu and named as deleted**; if the category bars the claim contrarian or urgency rests on, those are deleted too. A ruled-out trigger held at the bottom of the list gets briefed anyway by whoever reads it next.

Default first test: the highest-ranked surviving trigger the awareness level actually endorses. That is a default, not a law - it moves with the category and with who executes. Re-rank against the interview answers and say which answer moved which trigger: a hard deadline keeps you inside the one-line four. Then re-rank against what this account already owns - an in-house editor who turns a new opening frame in an afternoon, a cleared library of customer footage, a founder who is genuinely good on camera - each of which moves an expensive trigger up several places.

Direction, not script: "open with the problem, named directly" is direction; the exact words belong to the executor or to `mbfinotti/advertising-skills@ugc-ad-scripts`. Source hook options from evidence, not a blank page: pull competitor ads from public ad libraries and filter by **longevity, not recency** - an ad still running after months is the validated one (Foreplay's Jack Kavanagh) - and use Ben Heath's hook-factory approach (a few video bodies × many spoken and visual hook variants captured in one shoot) to make hook options cheap to produce.

## Art Direction Rules

- **Reference examples beat adjectives.** "Authentic" and "premium" mean different things to different people; a reference ad means the same thing to everyone. Include 2-3 in-category reference ads, each with a one-line note on what to take from it.
- Cap brand do's and don'ts at ~2 each; a longer list stops being read.
- Name aspect ratios per placement, but do not hardcode safe-zone pixels - published numbers disagree by tens of pixels. Require an in-placement preview before export instead.
- Design sound-off: every claim that matters must be legible as on-screen text; captions are non-optional. Exception to note in the brief: Reels skews sound-on (roughly 70-80% of viewers with audio, per Benly), so the best Reels creative works both ways.
- Accessibility fields: WCAG 4.5:1 minimum contrast for text, captions on video, alt text, and no more than three flashes per second.
- Meta's "20% text rule" was retired in 2020: there is no hard limit and no auction penalty. Treat text density as a performance preference. Claims of a persistent hidden delivery penalty circulate in vendor posts and are unverified - say so rather than encoding folklore as a rule.
- **Enhancements field**: platform auto-enhancements are default-on and expand the variable space without asking. A toggle nobody set is an uncontrolled variable, so the brief records enhancements on/off per type.
- **AI-disclosure line**: content generated outside the platform's own tools generally must be declared in the ads manager (platforms auto-label their own tools' output); undisclosed AI content is a commonly reported rejection reason. A brief field, not an afterthought.

## Testing Intent

Every brief carries a falsifiable hypothesis - Directive Consulting's B2B template generalizes well: _"If we lead with [pain] and [proof], then [audience] will [action]."_ Type it, change exactly one variable, and hold everything else constant.

The five types, in efficiency order:

- **Hook** - one extra cut from the same shoot.
- **Proof** - swap the evidence, reshoot nothing.
- **Format** - a new container, so a new production.
- **Angle** - a new concept and a new brief.
- **Persona** - new research, new audience, parallel briefs.

That order inverts on the other two axes, which is the whole point of naming a type:

- effort: persona > angle > format > proof > hook
- value (how much of the account the learning transfers to, and for how long): persona == angle > format > proof > hook

Persona and angle tie on value because a result at either level rewrites every brief downstream of it - a wrong persona and a wrong angle both invalidate the hooks, formats and proofs already tested underneath them. They separate on effort, which is the only thing that orders them.

**What this order starves: persona, and angle behind it.** They are the two highest-value types and the two most expensive, so a ratio picks hook every sprint. That is the documented failure of a testing programme that only ever iterates: months of hook cuts inside a premise nobody has ever tested.

Promote them when the concept family is flat - no hook rescues a wrong angle, and no angle rescues a wrong persona - when the flat family is the only family you have ever run (skip rungs outright), or when the interview answer was a compounding-learning mandate. A research team that can stand up a persona in days collapses the effort axis and promotes it on cost alone.

Default rung: **hook**, whenever the angle has already won somewhere - a hook test is one extra cut from the same shoot and resolves inside a sprint. A hard near-term deadline pins you there.

Re-rank against an unfair advantage you already hold, such as a proof asset (named customer outcome, third-party badge) already cleared and sitting unused, which makes a proof test the cheapest rung rather than the third. Where the account cannot run a type at all - no budget for persona research, no second audience to test against - delete that rung and say so, rather than leaving it at the top of a list nobody can act on.

- State deliverables as arithmetic (`2 hooks × 1 main edit = 3 files`) and flag iteration vs net-new explicitly: a resize is not a new design; three hook cuts of one video are not three concepts. This field is what prevents scope disputes.
- Pre-commit minimum evidence before any kill/scale call. Attributed starting points, not laws: at least 2,000 impressions before reading a hook rate (SparkUGC), and roughly 5-10 conversions or spend of 5-10× target CPA before a conversion-based call (Taylor Sicard). Adapt to the account's volume.
- Metric trap: hook rate is 3-second plays ÷ impressions on Meta but TikTok counts at 2 seconds - never benchmark across platforms. Published reference bands, attributed and never universal: 25-30%+ hook rate healthy on Meta cold traffic, 25%+ hold rate (SparkUGC; Motion).
- Decide up front what happens on win and on loss, and where the learning gets written - a system the whole team reads, never only a slide deck.
- **Naming**: the brief assigns asset names. Four levels - concept → iteration → format → test variable - ASCII only, underscores between variables (published convention via Apogee). Example: `PainFirst_V2_9x16_HookQuestion`.

## B2B vs B2C

The translation chain, hook layers, art rules and testing block work the same way for both. What differs:

**B2B**: one product needs _parallel_ persona briefs (economic buyer, technical evaluator, end user), because the buying committee averages ~8-13 people over cycles near 10 months (SalesHive) - not one persona at a time. The brief's KPI is SQL rate or cost per opportunity, never CTR alone: Directive's worked example had a variant win on clicks (+35%) while producing fewer conversions at a higher CPA - a CTR-optimised B2B brief buys expensive junk leads.

Proof is a quantifiable outcome plus a badge or product screenshot, not a before/after. Practitioner-led talking-head video tends to beat polished brand video (AJ Wilcox). Product marketing owns ICP and differentiator accuracy - consult them on every brief.

**B2C/DTC**: faster cycles, offer mechanics as an explicit brief field, review-mined verbatim language in angles and hooks, creator formats dominant.

## Format Variants

Full field lists in [references/brief-template.md](references/brief-template.md). Pick the container by learning bought per production hour, then let the placement veto the pick. The three, in efficiency order:

1. **Static** - one designer for an hour or two, and it reads the angle directly. The cheapest honest at-bat, and the default first concept.
2. **Search** - an afternoon of writing an asset pool, but the read is diluted because the system assembles the ad. Enters the ranking only where keyword demand already exists; where it does not, it drops out rather than ranking last.
3. **Video/UGC** - the strongest learning, since the three hook layers are isolated separately, and the largest bill: creator search, shoot, rights, revision rounds. A week of coordination, not hours.

- effort: video/UGC > search > static
- learning value per concept: video/UGC > static > search
- compliance cost: video/UGC (creator usage rights, paid-partnership and testimonial disclosure, AI-likeness disclosure where the face is synthetic) > static == search (whatever claim substantiation the category already demands)

Static and search tie on compliance because neither introduces a person, a performance or a rights-holder: the only review either triggers is the claim substantiation the category already demanded before either brief existed.

**What this order starves: video/UGC.** Top of the value axis, last on efficiency, so it loses every round to a static a designer turns in an hour. A team briefing by ratio alone ships statics indefinitely, never builds a footage library, and still cannot say which hook layer moves the number.

Promote it over the ratio on any of these, and name which one did it:

- A compounding mandate in the interview. The shoot buys footage, a validated creator and a rights agreement that make every later video brief an editing job.
- The placement vetoes the alternatives: on Reels- or TikTok-first placements a static barely earns delivery, so video/UGC leads because the others score zero there, not because it got cheaper.
- Statics have plateaued across the concept family. No new layout rescues an angle whose delivery format is wrong.
- The account already holds the expensive parts - in-house studio, standing creator roster, owned footage library - each of which collapses the effort axis outright.

Delete, do not demote. If the user answered that they cannot get creator rights or claim approval at all, **video/UGC is deleted from this brief's format menu and named as deleted**, not ranked last where the next sprint reads it as merely expensive and briefs it anyway. Same treatment for search where no keyword demand exists - it drops out rather than ranking last (above).

A hard deadline is different: it pins you to static for _this_ brief without removing video/UGC from the menu, so say "deferred to the next sprint", never "deleted".

The variant that breaks intuition is **search**: no hook, no visual - the system assembles the ad. Brief an asset pool (up to 15 headlines at 30 characters, 4 descriptions at 90 on responsive search ads) and map headlines to pain / product / proof themes - search's messaging-pillar equivalent (Directive).

Two warnings belong in every search brief:

- Ad Strength is a content-quality signal with no direct effect on Ad Rank; never chase it.
- Pinning restricts combination testing sharply (one published analysis puts a single pinned headline at >75% less testing).

For **UGC**: hook direction not hook script, talking points over word-for-word lines, revision cap and usage rights (where, how long, which geography) as brief fields, and creator-level FTC disclosure that platform ad labels do not satisfy.

## Measuring Whether This Worked

Instrument in this order - efficiency, not importance - rather than standing all three up at once:

1. **Rebrief rate** - share of briefs sent back for clarification before production starts. A counter kept by whoever sends briefs back, so near-zero to run, and the primary brief-quality KPI. This skill's practical target, not a researched constant: under 20%, tightened from your own history.
2. **Brief-to-launch cycle time** - two dates per brief. Directive's published B2B benchmark is 10 business days or less.
3. **Concepts-briefed-to-winner ratio** over a rolling 90-day window (an agency-published operational KPI) - a standing job, and noise until enough concepts have shipped. Read it against the denominator honestly: winners run near 5% of creatives at scale (Motion), so judge the trend against your own history, not an absolute bar.

Re-rank if that rolling log already exists in your reporting stack: the ratio becomes free rather than expensive, and moves to the top.

Iterate a brief until every template field carries real content with an evidence citation, and the executor confirms zero clarification questions on read-through.

Then track the three KPIs on a rolling log:

- A rising rebrief rate is a brief problem.
- A collapsing winner ratio with clean briefs is a concept-diversity problem.

## Common Failure Modes

Rows are in fix-first order, and that ordering is pure value: every fix costs the same brief-writing minutes before production starts (`goal == awareness == benchmark == everything below`), so nothing separates them but what each one buys. The top four make every fix beneath them unreadable - a brief with no KPI cannot be judged, one with no awareness level cannot pick a hook, and a test whose targeting moved cannot be read at all. Re-rank against the failure this team actually repeats: a shop that writes tight hypotheses but burns creators every quarter fixes the feedback rows first, whatever the general ordering says.

| Trap                                              | Why it burns                                                                                  | Fix                                                                         |
| ------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------- |
| Briefing deliverables before the goal exists      | Volume without a hypothesis teaches nothing                                                   | Goal and KPI are interview question one; no goal, no brief                  |
| Awareness level blank or "all audiences"          | Every level needs a different opening; targeting all serves none                              | One level per brief; split briefs when levels genuinely differ              |
| No performance benchmark in the brief             | Kill/scale decisions get made by feel                                                         | Deciding KPI + threshold + minimum evidence, written before launch          |
| Changing targeting mid-test                       | The test variable is no longer the only variable                                              | Freeze targeting for the test window; targeting changes are their own test  |
| Multiple messages crammed into one ad             | The viewer picks none of them                                                                 | One angle, one proof point; extra messages become separate concepts         |
| Hook direction left to the executor's judgement   | The highest-leverage element goes untested and unrecorded                                     | 3-5 tagged options plus a recommended first test                            |
| Vague adjectives instead of reference ads         | "Premium" and "authentic" decode differently per reader                                       | 2-3 in-category references, one note each                                   |
| Generic specs reused across platforms             | Placements crop, truncate and overlay differently                                             | Per-placement ratios; in-placement preview before export                    |
| Over-scripting a creator                          | Delivery stops sounding natural - the reason UGC works                                        | Talking points and hook direction; words are the creator's                  |
| Too many stakeholders adding conflicting feedback | Revision rounds multiply; the message dilutes                                                 | One approver; one consolidated feedback round per revision                  |
| Results stored only in slide decks                | Losing variants teach nothing next sprint                                                     | Learning field in the brief + a persistent angle bank                       |
| Iteration paralysis (contested - Dara Denney)     | A brief format optimised purely for variable isolation produces creative that all looks alike | Reserve a share of briefs for genuinely fresh concepts, not only iterations |

## Reference

- Read [references/brief-template.md](references/brief-template.md) when writing the brief - field-by-field guidance plus the static / search / video-UGC variants.
- Read [references/examples.md](references/examples.md) before the first brief for a client - a worked B2C brief, a worked B2B brief, and a bad brief annotated with what is wrong.
- Read [references/angle-frameworks.md](references/angle-frameworks.md) during brainstorming and the translation chain - awareness levels, market sophistication, the pain × persona matrix, the hook trigger taxonomy, and the evidence-mining methods.