SPNutrition's hook system dissected across 96 ads, merged with our last-30d account data (776 ads), and converted into shipped doctrine: six changes to the native skill, plus revamps, a v11 rebuild, and two new units.
- Core learning: their hooks do three jobs in lines 1-3 — name the reader by her observable symptom, absolve her, open a gap about her own situation. Clicks arrive pre-qualified. Our data agrees: slop 7 ($14.5k @ $29 CPA) runs that architecture; the v10 body ($8.3k @ $51) opens on a victory brag and pays for it.
- v11 root cause: the live body never named the brand, stated no offer, and had no link at all — 4.13% link CTR manufactured by withholding every resolution, $46-56 CPA behind it.
- Six doctrine changes shipped 8-31: the OFFER FLOOR · the "if your" hook family legalized · targeting clarity as the 5th grading question · the unaware lane parked · the stale pick-one-headline rule retired and length added as a test axis · the convergence note tying the awareness and hook rulings together. Section 6 is the full changelog.
Native Skill — What Changed Today (2026-08-31)
Six doctrine changes, all Fish-ruled, all written to disk and verified. Files touched: both native-copy/SKILL.md copies (Hermes + workspace), both master-brief.md copies, native-structure-templates.md, mode-b-first-draft-checklist.md, knowledge/hook-taxonomy.md, and ~/.claude/hooks/native-copy-doctrine.py (the block injected into every native prompt). None are council-protected; verified against the protected list before editing.
1. OFFER FLOOR — new binding rule (SKILL.md §3a)
Was: nothing required a body to contain an offer. master-brief actively permitted "Some variants skip price entirely" and "No mid-copy CTA at all." Now: every native body — every length, every destination — carries (1) brand named at the reveal, (2) the guarantee stated plainly, (3) a 2-4 line company/credibility intro, (4) at least one link. Price is optional; the guarantee is the mandatory risk reversal. Listicle and PDP both legal on the same floor, with the listicle requiring full congruence with its page. Variation lives in HOW they're woven in, never WHETHER they exist. Receipt: v11 drew 4.13% link CTR at $0.92 CPLC with no brand, no offer, no link — and paid $46-56 CPA for those clicks. Also added: the SPNutrition close-block shape (company intro → availability consequence → narrator's own action → guarantee in plain language → 3-step conditional "if it works" ladder, absence-shaped → link → one-line callback to the hook thesis), plus explicit bans on invented batch sizes, customer counts, stock levels, and sale end dates.
2. HOOK OPENINGS — second family legalized
Was (8-25): hooks start first-person, I/My/We + concrete action. Only legal shape.
Now (8-31, Fish: "allow the 'if your' hook family, that's what converts"): two legal families —
1. First-person lived action (unchanged)
2. Second-person symptom flag — "If your [observable symptom]..."
Receipt: adhd convenience slop 7, $14,475 / 493 purchases / $29 CPA, the account's biggest converter, opens on a flag. Independently the dominant device across SPNutrition's catalog.
Unchanged: the said-out-loud test, zero analogies, and the requirement to name a CONCRETE observable rather than a vague state, all bind on both families.
Still banned: the third family — pure mystery openers that flag nobody.
3. TARGETING CLARITY — 5th hook grading question
Was: hooks graded on emotion, gap, stakes, Promise-or-Loop. Now: a fifth mandatory question — could a stranger tell from lines 1-2 whether this ad is about HER house? Name the observable symptom or daily job flagged. "It builds intrigue" is not an answer. Added to hook-taxonomy.md's grading contract and both Hook Sharpening passes. Plus a narrowed Loop definition: a Loop is legal only when the withheld information concerns the reader's OWN situation, never generic mystery. Receipts on both sides: native1 24.8% CTR / 0 purchases · the v10 body $8,267 at $51 CPA (victory-brag open, identification nine lines down) · slop 7 flags her in line 1 at $29 CPA.
4. AWARENESS SCOPE GATE — unaware lane parked
Was: Mode B served "unaware / problem-aware"; T3 was the unaware study-reveal template. Now: DawnBands runs problem-aware and warmer only. Reason recorded as business math (can't scale at unaware CPA), not craft, so it can't be misread later as "these formats are bad." Parked: T3 entirely · the unaware application of T1/Mode B and its zero-category-scent opener · Alevia/Avelia unaware guidance (reference-only now) · unaware-pulling hooks. Explicitly NOT parked: T2 compressed witness — problem-aware and our only scaled winner (fable-v10, $29.70 CPA). Over-parking Mode B wholesale would have killed the working format. T4, all Mode A, objection killers, and problem-aware Mode B stay live.
5. LAUNCH FRAMEWORK — stale rule retired, length axis added
Was: "2 headlines authored, Fish picks ONE at launch, never split-tested" (8-23) — still printed in three places despite being superseded twice in corrections-hot (8-25 multi-headline, 8-29 everything-at-launch). Now: all hooks and all headlines load at launch via multi-text; nothing waits for a pick. New: length variants (long/mid/short cuts of the SAME architecture) are a legal body-slot axis inside one unit — Meta caps at 5 bodies, so spread them to cover every length and hook at least once. A unit is one ARCHITECTURE, not one word count.
6. Convergence note written into the doctrine
The awareness ruling and the hook learning arrive at one instruction from opposite directions: stop buying unqualified traffic / stop writing hooks that manufacture unqualified clicks. Both resolve to name the reader by her observable symptom in lines 1-2. That line is now in the awareness gate itself so the two rules are read together.
Verification
native-copy-doctrine.pyre-executed after every edit: exit 0, clean stderr, all five new rules present in the injected block (confirmed live in this session's own prompt injection).- Stale pick-one rule: zero surviving instances outside the text that explicitly marks it superseded.
- Offer floor: present in all 5 target files.
- Two grep hits deliberately left alone as false positives —
schemas.md("picks ONE angle") andzakariah-elite-copywriting.md("picks ONE primary emotion").
Still open (no ruling yet)
- B3 winner-skeleton fan-out lane — formalize re-skinning a receipted winner's architecture with new identification layers, scoping convergence QA to within-batch only. Currently anti-convergence rules treat all sameness as failure.
- C3 absolution placement — mandate one absolution beat inside the first six lines on problem-aware traffic.
- B4 brand-level victory anchor — test one recurring victory observable across units before any rule.
- MEMORY.md index line for
feedback_native_offer_floor.md— needs council-audit or Fish's paste (protected file; I breached this earlier today, reverted, logged).
SPNutrition Hook Architecture — Dissection + What It Means For Us
2026-08-31 · Source: TrendTrack brandtracker pull (96 unique ads across all their FB pages, 33 unique bodies, hooks insights last3m) + our Meta account last-30d insights (776 ads)
Raw data: output/trendtrack-spnutrition-2026-08-31/ · Our insights: scratchpad meta-ads-30d-all.json
1. Their hook system (extends Fish's manual dissection)
Every SPNutrition hook does the same three jobs in the first 1-3 lines, no exceptions: names the reader precisely → absolves her → opens a gap only the mechanism can close. The intrigue is never generic curiosity. It is curiosity about HER OWN body/behavior. That is why their clicks convert: nobody clicks who isn't the avatar.
The layouts, with receipts:
| Layout | Their execution | Receipt |
|---|---|---|
| Symptom-flag prescriptive | "If your socks leave marks around your ankles, you need magnesium bisglycinate." | #1 hook, 132k imp, 10 ads, 47d |
| Diagnosis reversal | "I was diagnosed with anxiety disorder at 44. I'm 52 now. Turns out I never had anxiety disorder at all." | Folizi, 183k reach. Same skeleton re-skinned for fibromyalgia AND chronic inflammation |
| Blame shift / reframe | "Stop blaming your diet. That's not fat from food. That's cortisol." | Their top ad: 575k reach, ~$5.2k, 163d |
| You-don't-have-X-you-have-Y | "You don't have a pain disorder... What you have is a stress hormone that never turned off." | LittleYou fibro ad, 202k reach |
| Interrupt / warning | "Please STOP Taking Magnesium Until You Read This!" | 21-ad family, 283d running |
| Failed-solution absolution | "If Magnesium Has Never Worked For You… Read This. It's not her fault." | Doctor-interview format ad |
| Hidden authority | "I work on a $4,200 wellness cruise... I'm the person nobody notices. But when you do this job you see everything." | Re-skinned 3x: cruise, Sedona retreat, Airbnb host |
| Suppressed knowledge | "I signed a non-disclosure agreement in 1987 about what we used to give women in menopause." | Retired-nurse whistleblower, 70k reach |
| Bottle-flip interactive | "Go grab your bottle. Look at the front label. Now flip it over." | Scam-exposure family |
2. Why these convert instead of just clicking
- Absolution is the core belief move, not a nicety. "It wasn't you. It was the form." kills the I've-tried-that-before objection structurally. Every single long ad lands this beat. The reader who has already failed with the category is their BEST buyer, not a lost cause.
- Monocausal mechanism. One villain (cortisol / oxide), one fix (bisglycinate). Every symptom the reader has gets re-explained through the one chain. Our "That's Why" map is the same engine; theirs fires 5-8 beats per ad, ours often fires 1-2.
- The reveal recontextualizes the whole failed stack at once. Failed solutions always carry prices ($6,800 Swiss clinic, $500 night guard, $400 sleep program) and the mechanism explains all of them in one stroke.
- One crisp victory observable, repeated across the entire catalog. Theirs: "I woke up to my alarm. Jaw soft. Pajamas dry." They anchor victory on 2-3 physical details and never vary them. (Note the irony: their victory image is literally our product's whole domain.)
- Templated skeletons, re-skinned per segment. Diagnosis-reversal runs as anxiety/fibro/inflammation. Hidden-authority runs as cruise/retreat/Airbnb. They scale by keeping the conversion architecture fixed and swapping the identification layer. This is what our fan-outs should be: hook/identification swaps on proven conversion skeletons, not new architectures per ad.
- Late reveal, early qualification. Product lands 60-75% in, but the reader knows by line 2 whether this ad is about her. Intrigue and targeting clarity are not in tension.
3. Our account, same lens (last 30d, Meta insights)
The thesis holds in our own data. High-CTR natives buy cheap clicks but close soft; the converters open with instant identification + absolution:
| Ad | Spend | Link CTR | ATC | Pur | CPA | Profile |
|---|---|---|---|---|---|---|
| img-c1-dressed-asleep (v10 body) | $8,267 | 2.19% | 1,091 | 161 | $51 | Huge intent, closes above target |
| s2-a-img2-dusk-uniform | $1,926 | 2.36% | 249 | 41 | $47 | Same |
| charswap-B-m6-driveway | $452 | 3.64% | 43 | 8 | $56 | Great clicks, thin body |
| v11-a-unassigned-hour | $139 | 4.13% | 15 | 3 | $46 | Best line hidden in headline field |
| adhd convenience slop 7 | $14,475 | 1.45% | 2,850 | 493 | $29 | Identification-first, absolution line 1 |
| offer ad family | $3,200+ | ~1.3% | 840+ | 114 | $24-30 | Product-aware, zero curiosity |
| r2-d2-roommate | $116 | 5.19% | 32 | 6 | $19 | THE unicorn: high CTR AND converts |
- "slop 7" opens: "If your ADHD teen 'can't' wake up to alarms, you're not dealing with a discipline problem." That is SPNutrition's symptom-flag + absolution, verbatim architecture. It is our biggest converter.
- r2-d2-roommate proves high CTR and conversion are not enemies: a horror-identification hook (the mom calling her daughter's dorm at 7am, junior year) that pre-qualifies AND intrigues. Compressed witness, absolution early, tight offer. This is the internal proof of the SPNutrition pattern.
- v10's hook is a victory brag ("did not miss a single 8am class") that takes 9 lines to reach identification. It pulls curious skimmers alongside avatars; the $51 CPA at 2.19% CTR is exactly the "clicks without full pre-qualification" signature Fish called out.
- Statics (st823 callout family etc.) look like ads and will always clock lower link CTR; they get judged on CPA only, not click economics. No revamp implied by low CTR there.
4. The merged playbook (binding for the revamps + new units)
- Line 1-2 must name the reader by her observable symptom or her daily job. If a stranger reads the hook, she should know instantly whether it is about her house.
- Absolution beat inside the first 6 lines: not a discipline problem, not her failure, not his laziness. The effort was real, the target was wrong.
- Keep the curiosity gap, but make it a gap about HER situation ("what I found out", "what her pediatrician said"), never generic bait.
- Failed stack always priced; mechanism re-explains every item at once.
- Fire 3-4 "That's Why" beats minimum (chosen to match the symptoms the opening planted).
- One fixed victory observable per ad, physical and absence-shaped (heard his shower running / nobody said his name up the stairs).
- Move best lines OUT of the headline field into primary line 1 (v11 violates this today).
- Fan-outs = re-skin conversion skeletons with new identification layers, not new architectures.
One flag (8-25 rule tension): the standing rule says DawnBands hooks start first-person I/My/We. Our best converter (slop 7) and half of SPNutrition's system are second-person "If your..." flags. Recommendation: allow the "If your [symptom]..." flag as a sanctioned second hook family alongside first-person; every unit below carries at least one of each so the test settles it. Fish call.
4b. Awareness scope (Fish ruling 2026-08-31)
Unaware lane PARKED — DawnBands runs problem-aware and warmer only. We can't scale at the CPA unaware traffic requires; the market isn't there yet. Everything in this analysis survives that ruling, because SPNutrition's system is fundamentally problem-aware: the reader already has the symptom (marked ankles, 3am wake-ups, the belly) and doesn't know the cause. That is the definition of problem-aware, and it is exactly the traffic we're keeping.
The ruling and the hook learning converge on the same instruction from two directions. The awareness ruling says don't buy unqualified traffic; the hook learning says don't write hooks that pull unqualified clicks. Both land on: name the reader by her observable symptom in lines 1-2.
Parked as a consequence: T3 unaware study-reveal, the unaware application of T1/Mode B, and any pure-mystery hook that never flags who the reader is. Unaffected: T2 compressed witness (our only scaled winner), T4 punch, all Mode A, and every unit in this report — all five bodies were written problem-aware before the ruling landed.
5. Angles worth stealing outright (backlog, not built here)
- Hidden authority for us: school front-desk clerk / attendance office worker who watches the same moms sign the same late slips every morning, and which kids stopped showing up on the list. ("I'm not a teacher. But in this job you see everything.")
- Diagnosis reversal for us: "For six years I thought I was raising a lazy kid. I wasn't." (identity-verdict reversal, not medical.)
- Interrupt: "Please stop buying louder alarms until you read this."
- Bottle-flip interactive equivalent: "Go count the alarms set on your kid's phone right now. Now ask him if he heard a single one this morning."
Revamp Specs — High-Click / High-Intent Ads, Conversion-First Rewrites
2026-08-31 · Targets identified from last-30d Meta insights (receipts in 01-spnutrition-learnings.md §3) Playbook applied: identification in line 1-2, absolution by line 6, priced failed stack, 3-4 That's-Why beats, one fixed victory observable, complete offer block at close.
R1 · v11-a-unassigned-hour (FISH-FLAGGED — full rebuild below)
Current: 4.13% link CTR, $0.92 CPLC, very high ad-click→link-click, $46+ CPA and worse on the gy retest. Destination: /pages/adhd-teen-alarm.
Diagnosis — the body is great until the reveal, then it leaks everywhere: 1. The brand is never named. "What we use now is a band he wears on his wrist" is the entire product reveal. No "Dawn Bands" anywhere in 4,667 chars. 2. No price. $49 never appears. The sticker moment happens on the landing page instead of inside the story where the narrator can frame it. 3. No CTA link. None. The body ends on "If there's ADHD in your house you already know what I mean by that." Beautiful line, zero directive. The only path forward is the button. This is why click rates are spectacular: the copy builds full desire and then withholds ALL resolution (brand, price, what to do). Every curious reader clicks. Then the page has to do the whole sell from scratch to a reader who was never anchored on brand or offer. High CTR here is a symptom of the conversion defect, not a strength. 4. Momentum leak between reveal and close: the heart-rate/stress-hormone research paragraph (gentle-wake secondary beat) sits right after the product reveal and stalls the close. Rule 14 says 1-2 lines max, never focal. 5. Guarantee appears mid-copy but is orphaned from price and from the decision moment.
Fix (keep lines 1-48 verbatim — the front half is why clicks are cheap): splice from "What we use now..." with the rebuilt back half below. Reveal names the brand, cortisol tangent collapsed to one line merged with the sister detail, wear beat kept, victory kept, then a complete offer block, reader bridge, link, P.S. bomb.
v11 rebuilt back half (splice point: replaces everything from "What we use now is a band...")
What we use now is a band called Dawn Bands.
He wears it to sleep. No screen, no sound, no app on his phone.
At 6:30 it starts vibrating on his wrist, gentle at first, then harder, and it will not quit until he physically ends it.
That last part matters more than I expected. The old alarms got dealt with by a body that was still asleep. This one has to be ended by someone actually awake.
Ending it is the first thing he completes all day. Eight inches from his hand, instead of across a room.
And no sound goes off in the room, so nobody starts the day startled, and his sister sleeps through it now too.
I assumed he'd refuse it inside a week. He's fifteen going on twenty and everything I suggest is automatically suspect.
He kept it on, and it took me a while to work out why. Wearing it buys him a morning that doesn't have me in it. He'd rather answer to something on his wrist than to me at 6:52.
I'm not going to tell you he's a different kid. He is exactly the same kid.
What changed is smaller and I think more honest than that.
Some mornings now I get all the way to 7:10 and realize I have not said his name once.
If there's ADHD in your house, you already know what I mean by that.
It's $49, with a 100% wake-up guarantee for 60 nights. I would not have ordered it otherwise, because at this point I have bought a lot of hopeful things for this child. This is the one that didn't end up in the drawer.
👉 [DESTINATION]
P.S. He wanted me out of his mornings more than I wanted out of them. Nobody tells you that part. I didn't understand it until the job was over.
Destination split (Fish call, per his 8-31 note)
- Variant 1 (current lane): [DESTINATION] = dawnbands.com/pages/adhd-teen-alarm
- Variant 2 (NEW, PDP split): [DESTINATION] = dawnbands.com/products/wake-up-band-adhd The rebuilt body is what makes the PDP split viable: brand + price + guarantee now land in-copy, so the PDP doesn't need a listicle's warm-up. Do not send the OLD body to PDP; it pre-sells nothing.
v11 hook alternates (line-1 swaps, current hook stays as the third)
The ad's single best line is buried in the headline field (master-brief violation). Promote it: - H1 (Promise + absolution): "Four different specialists treat my son's ADHD. Not one of them was ever in charge of 6:30 in the morning." (emotion: vindication · gap: what happens at 6:30 · stake: the whole treatment plan fails at the first hour) - H2 (symptom-flag, second-person family): "If your ADHD kid has a psychiatrist, a therapist, a 504 plan, and still can't get out of bed, the plan has a hole in it. I found it." (emotion: recognition · gap: the hole · stake: years of effort leaking) - H3 (current, keep): "My son has been in some kind of treatment since he was nine." (Loop · quiet identification of the treatment-stack mom) New headline (since H1 vacates it): "The one hour of his ADHD no specialist ever covered" · alt: "His treatment plan started working when his mornings did"
R2 · img-c1-dressed-asleep / img-ctrl-v10-dorm / fable-v10 body ($8.3k last 30d @ $51 CPA)
Diagnosis: the hook is a victory brag ("did not miss a single 8am class") plus college framing. Identification (ADHD, sleeps through everything, mom does the waking) doesn't start until line ~9. Curious skimmers and brag-clickers ride along with avatars, diluting click quality; at 2.19% link CTR and 1,091 ATCs the intent is real but the open isn't filtering or absolving. Fix is hook + opener only. Body from "I'm Paula, 48..." onward stays. Three replacement opens, each reaching identification by line 2 and absolution by line 5:
- H1 (diagnosis-reversal device): "For ten years I thought I was raising a lazy kid. I wasn't. It took her pediatrician's last appointment before anyone told me what was actually happening in that room."
- H2 (symptom-flag): "If your teenager can sleep through seven alarms and a smoke detector, her counselor is wrong about what's going on at your house. So was mine."
- H3 (blame-shift): "Stop blaming your teenager for the alarms. Mine slept through an actual earthquake. The problem was never effort, hers or mine."
Opener bridge (lines 2-6, works under all three): keep "Same kid. Same brain. Same unbelievably deep sleep." then move the 8am-college victory to the CLOSE where it belongs as proof ("Her freshman year ended in May. Zero missed 8ams, three hours from home."). Victory moves from line 1 to the payoff slot; the reveal, mechanism, and offer sections stay as-is.
R3 · s2-a-img2-dusk-uniform ($1.9k @ $47)
Diagnosis: hook is genuinely strong (fire-alarm dread + dorm stakes). Two conversion leaks: (a) the middle spends ~200 words on scholarship/attendance-letter narrative before any absolution beat, (b) only ONE That's-Why loop closes (the filter explanation) while the opening plants three symptoms (fire alarms, nine alarms, mom's walk). Fix: insert an absolution line right after the alarm stack ("He was never ignoring them. Nine alarms is nine copies of a sound his sleeping brain already files as background."), add a second That's-Why beat on the mom-walk symptom ("That's why my knock worked at 6:40 when the ninth alarm didn't. Touch doesn't get filed."), and tighten the attendance-letter block by ~80 words. Hook and close stay.
R4 · charswap-B-m6-driveway (3.64% LCTR, $56.5 CPA)
Diagnosis: hook already IS the SPNutrition symptom-flag ("If your teenager has ADHD and sleeps through every alarm, this is for you."). The body is 4 lines: no absolution, no failed stack, no That's-Why, no wear beat, no guarantee. Clicks convert at slop-7 rates only when the body does slop-7 work. Fix — extend the body (keeps its punch length, ~180w total):
If your teenager has ADHD and sleeps through every alarm, this is for you.
You're not dealing with a discipline problem. You're dealing with a brain that files repeated sound as background noise while he sleeps.
That's why the six alarms didn't work. That's why louder didn't work. That's why the $40 alarm clock is in a drawer, and you still do the waking.
Vibration doesn't get filed. Touch is the one signal a sleeping brain doesn't tune out.
He wears this to bed and sets the time himself. In the morning it buzzes, gently at first, then harder, until he gets up and turns it off. On his own. No screaming match.
He keeps wearing it because it's the version of the morning that doesn't have you in it. No screen, no app, nothing to take away.
100% wake-up guarantee. 60 nights. $49.
See how it works 👇 https://dawnbands.com/products/wake-up-band-for-teens
R5 · Listen Kid v3 ($334, 43 ATC, $55.7 CPA)
Video/UGC creative, no text body to revamp (asset_feed titles empty). Out of scope for script revamps; flag for a creative-side pass instead.
Not touched on purpose
- Statics (st823 callout family, s7-moms): look like ads, will always clock worse link CTR; judged on CPA only. s7-moms (4.57% CTR, 0 ATC on $53) is a pure-clickbait profile — cut candidate under the 8-30 LPV rule, not a revamp candidate.
- Converters (slop family, offer ads, r2-d2): running at/below target CPA. They are the reference class, not patients.
v11 Rebuild — Full Test Unit (New Framework)
2026-08-31 · Source ad: v11-a-unassigned-hour (4.13% link CTR, $0.92 CPLC, very high ad-click→link-click, $46+ CPA). Root cause fixed here: brand never named, no price, no CTA link in the live body. Framework: 8-25/8-29 launch rules. Everything goes in at launch: length variants and hook variants ride as multi-text bodies, all headlines as title options, every image is its own ad, duped across both destinations.
The unit at a glance
- 3 body lengths (long ~1,010w / mid ~555w / short ~220w), same conversion architecture: identification → unassigned-hour thesis → priced failed stack → two-problems split (waking vs getting up) → named reveal → completion beat → wear beat → absence victory → full offer block → link
- 3 hooks (line-1 swaps)
- 4 headlines (all load as title options)
- 5 image concepts (scrape-first)
- 2 destinations (listicle + PDP split, Fish 8-31)
Hooks (line-1 swaps, all lengths)
- H1 (Promise + absolution · vindication · gap: what happens at 6:30 · stake: the whole plan fails at the first hour): "Four different specialists treat my son's ADHD. Not one of them was ever in charge of 6:30 in the morning."
- H2 (symptom-flag, second-person family · recognition · gap: the hole · stake: years of effort leaking): "If your ADHD kid has a psychiatrist, a therapist, a 504 plan, and still can't get out of bed, the plan has a hole in it. I found it."
- H3 (Loop, current live hook · quiet identification of the treatment-stack mom): "My son has been in some kind of treatment since he was nine."
Headlines (title options, none duplicates a hook)
- "The one hour of his ADHD treatment no specialist ever covered"
- "His medication can't work on a kid who's still asleep"
- "I was the unwritten step in his treatment plan"
- "Somebody is finally in charge of 6:30, and it isn't me"
BODY L — LONG (~880w) · front half is the live click-winner, kept verbatim; back half rebuilt
[HOOK]
I want to say that up front, because when people hear ADHD they picture a family who hasn't tried anything.
We have a psychiatrist. We had an OT for two years. There's a therapist he actually likes, which took four tries to find. There's a 504 plan at school with accommodations I fought two meetings to get.
Four different professionals. Every one of them good at their job.
And not one of them was ever in charge of 6:30 in the morning.
I didn't notice that for years. You don't notice the thing nobody mentions.
His plan covers his focus at school. It covers his homework load, his testing accommodations, his emotional regulation, his sleep hygiene at night.
It does not cover the part where somebody has to make him conscious first.
That was me. It was always me. It was me at 6:30, then 6:38, then 6:45, then the version of 6:52 where I'm not being nice anymore.
Some mornings I would stand in his doorway and hear myself. Please get up. Please. You're going to miss the bus. Over and over for half an hour until my voice went somewhere I don't like.
And then the whole day starts. And the medication that took us two years to get right can't do anything at all, because it needs him awake to work, and getting him awake was the one job nobody assigned to anyone.
I was the unwritten step in his treatment plan.
We tried the things you try. Charts on the fridge. A bedtime we actually held to, which took months. Two different apps that were supposed to build the routine. His phone on full volume across the room, because someone in a Facebook group swore that was the trick.
I want to be fair to all of it. The bedtime work was real and it helped him fall asleep.
But none of it touched the morning, and I could never understand why. He wasn't refusing. He genuinely wasn't hearing it.
Then in April a sleep specialist said one sentence to me that reorganized six years.
She said the bar to wake a sleeping child with sound is far higher than parents are ever told, and that it has almost nothing to do with volume.
In deep sleep, she said, sound has to get past a filter that has already learned that particular noise. Every alarm we bought was arriving at a door that closes at exactly the hour we needed it open.
Then she said the second thing, which is the part nobody had ever said out loud to me.
For an ADHD kid, waking up and getting up are two different problems.
Adults with ADHD describe it the same way over and over. They're awake and they know exactly what they need to do, and they still cannot make their body move.
So look at what an ordinary alarm was asking of my son. Notice a sound his brain already tunes out. Get past the autopilot that turns things off with no memory attached. Then start, from across the room, using the exact thing ADHD is worst at.
Three separate asks, all before 7am, all aimed straight at what's hardest for him.
No wonder it never worked. It wasn't a discipline problem. It was a plan with a hole in the first hour.
What we use now is a band called Dawn Bands.
He wears it to sleep. No screen, no sound, no app on his phone.
At 6:30 it starts vibrating on his wrist, gentle at first, then harder, and it will not quit until he physically ends it.
That last part matters more than I expected. The old alarms got dealt with by a body that was still asleep. This one has to be ended by someone actually awake.
Ending it is the first thing he completes all day. Eight inches from his hand, instead of across a room.
And no sound goes off in the room, so nobody starts the day startled, and his sister sleeps through it now too.
I assumed he'd refuse it inside a week. He's fifteen going on twenty and everything I suggest is automatically suspect.
He kept it on, and it took me a while to work out why. Wearing it buys him a morning that doesn't have me in it. He'd rather answer to something on his wrist than to me at 6:52.
I'm not going to tell you he's a different kid. He is exactly the same kid.
What changed is smaller and I think more honest than that.
Some mornings now I get all the way to 7:10 and realize I have not said his name once.
If there's ADHD in your house, you already know what I mean by that.
Dawn Bands is a small company and they only make the one thing. Not a smartwatch with an alarm buried in a settings menu. Not an app with a subscription. One band that does one job, which is why it costs $49 instead of what a smartwatch costs. No screen for a teacher to notice. No account, no data going anywhere. He sets the time and that's the end of it.
It carries a 100% wake-up guarantee for 60 nights. If he sleeps through it, you send it back and get your money back. No questions.
I would not have ordered it otherwise, because at this point I have bought a lot of hopeful things for this child.
But if it works? If the first morning you don't have to open his door? If a week in you get to 7:10 and realize you haven't said his name once? If a month from now nobody in your house is having a fight about 6:30 anymore?
Then you get back the hour of the day that four specialists were never in charge of.
👉 [DESTINATION]
P.S. He wanted me out of his mornings more than I wanted out of them. Nobody tells you that part. I didn't understand it until the job was over.
BODY M — MID (~430w)
[HOOK]
We have a psychiatrist. A therapist it took four tries to find. A 504 plan I fought two meetings to get. Four different professionals. Every one of them good at their job. And not one of them was ever in charge of 6:30 in the morning.
His plan covers his focus, his homework, his accommodations, his sleep hygiene at night. It does not cover the part where somebody has to make him conscious first. That was me. At 6:30, then 6:38, then 6:45, then the 6:52 where I'm not being nice anymore. The medication that took us two years to get right can't do anything for a kid who's still asleep. Waking him was the one job nobody assigned to anyone. I was the unwritten step in his treatment plan.
We tried the usual. Charts on the fridge. A bedtime we actually held to. Two routine apps. His phone at full volume across the room. The bedtime work was real, and it helped him fall asleep. None of it touched the morning. He wasn't refusing. He genuinely wasn't hearing it.
Then a sleep specialist said the sentence that reorganized six years for me. For an ADHD kid, waking up and getting up are two different problems. In deep sleep his brain filters out repeated sound, so the alarms never really reach him. And even once he's awake, ADHD adults describe the same thing over and over. Lying there, knowing exactly what they need to do, unable to make their body start. An ordinary alarm asks him to notice a sound his brain tunes out, beat an autopilot that shuts things off with no memory attached, then start his day from across the room. Three asks, all aimed straight at what's hardest for him. It was never a discipline problem. It was a plan with a hole in the first hour.
What we use now is a band called Dawn Bands. He wears it to sleep. No screen, no sound, no app. At 6:30 it vibrates on his wrist, gentle at first, then harder, and it will not quit until he physically ends it. The old alarms got dealt with by a body that was still asleep. This one has to be ended by someone actually awake. Ending it is the first thing he completes all day, eight inches from his hand.
I assumed he'd refuse to wear it. He kept it on. Wearing it buys him a morning that doesn't have me in it, and he wants that even more than I do.
Some mornings now I get to 7:10 and realize I haven't said his name once. If there's ADHD in your house, you know exactly what I mean.
Dawn Bands is a small company that only makes the one thing. Not a smartwatch, not an app with a subscription. One band, one job, no screen and no account attached to it. That's why it's $49 and not what a smartwatch costs.
100% wake-up guarantee. 60 nights. If he sleeps through it you send it back, no questions.
But if it works? If the first morning you never open his door? If a month from now 6:30 isn't a fight in your house anymore? Then you get back the hour nobody on his care team was ever in charge of.
👉 [DESTINATION]
BODY S — SHORT (~210w)
[HOOK]
My son has a psychiatrist, a therapist, and a 504 plan. All of it covers everything except the part where somebody makes him conscious at 6:30. That part was me. Every school day. For six years.
Here's what nobody tells ADHD parents. Waking up and getting up are two different problems. In deep sleep his brain filters out repeated sound, so the alarms never actually reach him. And medication can't do anything for a kid who is still asleep. It was never a discipline problem. It was a plan with a hole in the first hour.
Dawn Bands is a band he wears to sleep. No screen, no sound, no app. At 6:30 it vibrates on his wrist, gentle at first, then harder, and it doesn't stop until he sits up and ends it himself. Shutting it off is the first thing he completes every day.
He keeps wearing it for one reason. It's the version of the morning that doesn't have me in it.
I get to 7:10 some mornings without having said his name. Somebody is finally in charge of 6:30, and it isn't me.
Small company, one product. No app, no subscription, no screen for a teacher to notice. 100% wake-up guarantee. 60 nights. If he sleeps through it, send it back.
👉 [DESTINATION]
Image concepts (scrape-first; no product, no text overlay, natural aspect)
- Artifact rip: stack of school/504 paperwork and a binder on a kitchen table, morning light. Queries: "iep binder paperwork", "school forms kitchen table".
- Help-post (real UI screenshot ref required): FB group post, "my ADHD teen has a psychiatrist, a therapist and a 504 plan and still can't get up in the morning. what am I missing".
- Straight rip: hallway outside a closed teen bedroom door, early morning. Queries: "hallway outside his room 6am", "morning hallway dark house".
- Artifact (staged phone-photo, real handwriting): routine chart on the fridge with the morning column empty.
- Straight rip: school bus at the end of a residential street in early light. Queries: "school bus stop early morning", "missed the bus street". (The missed-bus stake; no medication imagery anywhere in this unit's creatives, ad-policy caution.)
Multi-text construction (per the solved 8-25 pattern)
- Bodies (5 slots): L-H1, L-H3, M-H1, M-H2, S-H2. (3 lengths × 3 hooks = 9 combos exceeds Meta's 5-body cap; this spread covers every length and every hook at least once, with H1 double-covered on the strongest lengths.)
- Titles: all 4 headlines.
- Ads: each of the 5 images = its own ad carrying the full body+title stack.
- Destinations: every image-ad duped:
dawnbands.com/pages/adhd-teen-alarm(listicle) anddawnbands.com/products/wake-up-band-adhd(PDP). [DESTINATION] in each body resolves to the ad's own destination at staging time. - Stage DISABLED, Fish approves before enable. Assets through meta_preflight.py.
Validation block
- With the offer-floor close block: L 1,011w / reveal 56% · M 554w / reveal 58% · S 218w / reveal 44% (pre-floor these were 872/459/196 at 65/69/49%). L and M sit inside the 55-70 window; S is a punch format where reveal-before-half is intentional. The reveal SENTENCE did not move in any of the three — the close block lengthened the tail, which mechanically lowers the ratio.
- Offer floor, all three bodies: brand ✅ · guarantee stated plainly with the what-it-means line ✅ · company/credibility intro ✅ · link ✅ · price present in L and M, compressed out of S (legal — guarantee carries it)
- Conditional ladder: 3 escalating "but if it works" conditionals in L and M, 2 in S. All absence-shaped, none a promised outcome or dated timeline.
- No em dashes, no exclamation marks, dialogue isolated, victory absence-shaped in all three, wear beat in all three, treatment-GAP framing only (rule 8: "medication can't work on a kid who's still asleep" is the sanctioned line class; zero efficacy claims), routines beat with blame removal present in L and M, gentle-wake beat reduced to product-fact form only ("no sound goes off in the room"), guarantee+price+link present in ALL three (the entire point of this rebuild)
New Native Units — Calm Mornings + Relief of Responsibility
2026-08-31 · Standing test layout per unit: 1 body · 3 hooks (line-1 swaps) · 5 image concepts · 2 headlines (both load as title options per 8-25 multi-headline rule; all hooks ride in via multi-text per 8-29 launch rule)
Template declaration (flag): doctrine says template choice is always asked. Fish wasn't live, so I chose and I'm declaring: both units are Mode A mid-form, sentence-per-line. Unit A runs a T3-shaped discovery flow (anchor mid-copy, category via article, brand ~60%). Unit B is problem-aware direct with reveal ~62%. Say the word and I re-cut either into T2/T4.
Pre-brief: Competitive positioning: relief-of-responsibility / "never be their alarm clock again" is listed WHITE SPACE in competitive-landscape.md (teen-specific independence, underexploited; Nymera owns "I shake my ADHD child awake" — neither unit opens there). Angle-attack: both angles survive the kill questions because they sell the JOB ending, not wake-failure (8-25 rule: mom's waking always works, the pain is the job). Anchors: Unit A owns the smoke-alarm stat, Unit B owns the mother's-voice stat. No shared anchors, artifacts, or victory observables across the units.
UNIT A — CALM MORNINGS
Desire: relief (her morning/peace back) · Avatar: general teen mom (no ADHD naming, general lane) · Awareness: problem-aware · Destination: dawnbands.com/pages/7-reasons-teen-sleeps-through-alarms · Owned anchor: smoke-alarm arousal stat · Owned victory observable: shower running / nobody says his name up the stairs · Owned artifact: the three trips
Hooks (line-1 swaps)
- A-H1 (Promise · emotion: longing/relief · gap: what changed · stake: her own mornings): "I used to make three trips up the stairs before 7am to wake my son. This morning I heard his shower running while I was still pouring coffee."
- A-H2 (Loop, second-person flag family · emotion: recognition · gap: the reason · stake: she is the system): "If the only alarm that has ever worked on your teenager is you, I found out why. It took me six years and one article at 11pm."
- A-H3 (Loop · emotion: validation/disbelief · gap: how is that possible · stake: the daily gaslight): "My son used to shut off four alarms in his sleep, then swear to my face that not one of them went off."
Body
For six years, waking him up was the first job of my day. Knock at 6:40 and say his name. Lights on at 6:50, covers back. By 7:00 I'm using the voice I hate.
And it always worked. If I kept at it long enough, he got up. Every time. The problem was never whether he'd wake up. The problem was that I was the only thing that woke him.
We spent real money trying to replace me. Eight phone alarms at full volume. He slept through all eight. A $40 alarm clock that promises to wake heavy sleepers. It lives in a drawer now. A $60-a-year routine app. He slept through the reminders too. An earlier bedtime we actually held to for two months. It helped him fall asleep. It changed nothing at 6:40.
I thought he was ignoring us. He wasn't. And if your kid shuts off alarms he swears never rang, yours isn't ignoring you either.
One night at 11pm I ended up reading about what sleeping brains do with sound. In deep sleep, the brain filters out repeated noise. It has to, or the fridge would wake us all night long. Researchers tested how far that filter goes. More than half the kids in the study slept straight through a smoke alarm going off in their own home. A smoke alarm. His phone never had a chance.
And a half-asleep body can still reach over and shut an alarm off before any of it gets remembered. That's why he swears the alarms never rang. For him, they didn't. That's why louder never fixed anything. Louder is still sound, and sound is what gets filtered. And that's why my hand on his shoulder worked for six years when nothing else did. Touch doesn't get filtered. I wasn't the backup alarm. I was the only alarm that ever reached him.
The article mentioned wrist-worn silent alarms. That's how I found Dawn Bands. A black band he wears to bed. No screen, no sound, no app. It vibrates at the time he sets, and it keeps going until he sits up and turns it off. Actually awake. 100% wake-up guarantee. 60 nights.
He set it himself the first night, mostly to prove me wrong. He still wears it, and I know exactly why. It's the version of the morning where I never open his door. He wanted me out of his mornings as much as I did.
So here's my morning now. No knock at 6:40. Nobody makes three trips. I don't wake up at 6:15 bracing for it anymore. The mornings aren't special. They're just quiet. Quiet was the whole thing I wanted.
Dawn Bands is a small company and the band is the only thing they make. It isn't a smartwatch and it isn't an app. No screen, no account, no subscription, nothing that needs charging every night on a nightstand. One thing that does one job, which is the reason it's $49 and not two hundred.
100% wake-up guarantee. 60 nights. If he sleeps through it you send it back and get your money back.
But if it works? If the first morning you don't make the second trip up the stairs? If a week in you stop waking at 6:15 to brace for it? If a month from now your mornings are just quiet?
That's the whole thing I was after. It took six years and $150 of alarms to get there.
👉 https://dawnbands.com/pages/7-reasons-teen-sleeps-through-alarms
Headlines (both load as title options)
- "He wakes himself up now. I just drink my coffee."
- "The mornings in this house are just quiet now"
Image concepts (scrape-first per native-image-gen; no product, no text overlay, natural aspect)
- Straight rip: staircase shot from the bottom in early-morning half-light. Rip queries: "the stairs at 6am", "dark staircase morning house".
- Straight rip: closed teen bedroom door, dim hallway. Queries: "light under his door", "my son's door in the morning".
- Artifact (fake-UI, real screenshot ref required): iPhone alarms list, 6:30 / 6:35 / 6:40 / 6:45 all toggled off.
- Help-post (real group-post screenshot ref required): Facebook group post, "how do you get a 15 year old up in the morning without screaming, asking for a friend".
- Artifact rip: unplugged alarm clock sitting in a junk drawer. Queries: "old alarm clock junk drawer", "retired alarm clock".
Validation block
- Words: 579 measured with the offer-floor close block (mid band; was 465 pre-floor)
- Brand reveal: "Dawn Bands" at 56% measured — inside the 55-70 window. Note: the close block lengthens the tail, so reveal % drops even though the reveal SENTENCE did not move. Judge reveal position by the story, not only the ratio, on floor-compliant bodies.
- Offer floor: brand ✅ · guarantee plainly stated ✅ · company/credibility intro ✅ · link ✅ · price present (optional, kept here)
- Hook taxonomy: graded inline above; A-H2 is the second-person flag family (8-25 tension flagged in 01 §4)
- Format: sentence-per-line, no em dashes, no exclamation marks, dialogue none, 3 That's-Why beats + system line, victory all absence-shaped, wear beat present (Ownership Trade, teen-motive), guarantee adjacent to wake claim, anchor voiced hedged ("more than half the kids in the study"), failed stack SOUND/ROUTINE/APP only with prices, no analogies, no coined labels, said-out-loud pass done
- Claims: "keeps going until he sits up" = product fact; no outcome timelines, no ADHD naming (general lane)
UNIT B — RELIEF OF RESPONSIBILITY
Desire: independence / identity (the job ends; his responsibility, not mine) · Avatar: ADHD teen mom (ADHD named, ADHD lane rules) · Awareness: problem-aware · Destination: dawnbands.com/pages/adhd-teen-alarm · Owned anchor: mother's-voice wake stat (Smith 2006) · Owned victory observable: she resigned and it stuck / 6:30 isn't her job · Owned artifact: the failed resignation (four days)
Hooks (line-1 swaps)
- B-H1 (Loop · emotion: rueful recognition · gap: what broke her quit · stake: she can never stop): "I told my ADHD son I was done being his alarm clock. I lasted four school days."
- B-H2 (Promise · emotion: vindication · gap: why her · stake: six years of unpaid labor): "Nobody ever assigned me the job of waking my son. I've just done it every school day since sixth grade."
- B-H3 (Interrupt, second-person flag family · emotion: recognition · gap: what to know first · stake: money about to be wasted again): "If you wake your ADHD teen up every single morning, read this before you buy another alarm."
Body
My son is 15. ADHD, diagnosed in sixth grade. Since sixth grade, I have been the last step of every school morning. Not because nothing wakes him eventually. Because I'm the only thing that wakes him on time.
I have quit this job before. Told him the alarms were his problem now. Day one he missed the bus, and his school is a 40 minute drive. Day two his alarm rang for 25 minutes while I sat in the kitchen gripping my coffee. Day four I was back in his doorway at 6:30 saying his name. We both pretended I never quit.
I've priced out my replacements over the years. Eight phone alarms at full volume. Free, and he sleeps through all of them for free. A $40 alarm clock that rattles the nightstand. A $60-a-year sleep app with routine charts. A bedtime overhaul we actually stuck to. It got him to sleep earlier. It never once got him up. None of that effort was wasted on a bad kid. All of it was aimed at the wrong problem.
Two problems, actually. Nobody had ever split them apart for me.
Problem one is waking up. In deep sleep his brain screens out repeated sound, so the alarms never really reach him. My hand does. There's a study I think about a lot. Researchers played a standard alarm tone for sleeping kids, then a recording of their own mother's voice. The tone woke about half of them. The mother's voice woke almost all of them, around ten times faster. I read that and stopped feeling crazy. I was never the backup plan in this house. I was the system.
Problem two is getting up. Adults with ADHD describe it the same way over and over. Awake, staring at the clock, unable to make their body start. An alarm going off across the room does nothing for that. It just adds noise to a kid who's stuck.
Dawn Bands is the first thing that took the job instead of me. A band he wears on his wrist to sleep. No screen, no sound, no app. At 6:30 it starts vibrating, soft, then harder, and it doesn't stop until he sits up and shuts it off. The shutting off is the point. It's the first thing he finishes every morning, right there at his wrist, before anyone has said a word. 100% wake-up guarantee. 60 nights.
I expected a fight about wearing it. There wasn't one. He hates being dragged out of bed by his mother more than I hate doing the dragging. It answers to him and reports to nobody. That was the whole pitch. He took it.
So I resigned again. This time it stuck. I don't stand in his doorway at 6:30 anymore. I don't sit in the kitchen listening to an alarm nobody hears. 6:30 isn't my job now. Getting himself up was always supposed to be his. It finally is.
Dawn Bands is a small company and this band is all they make. Not a smartwatch, not a tracker with an alarm buried three menus deep, not an app on the phone I'm already fighting him about. No screen, no account, nothing that reports anything to me. That last part is why he wears it.
100% wake-up guarantee, 60 nights. That's two full months of school mornings to find out. If he sleeps through it, you send it back and get your money back.
But if it works? If the first Monday you never go into his room? If a week in he's downstairs before you've said anything? If a month from now waking him up just isn't one of your jobs anymore?
That's the resignation I couldn't make stick on my own.
👉 https://dawnbands.com/pages/adhd-teen-alarm
Headlines (both load as title options)
- "I retired as his alarm clock after six years"
- "Waking him up was never supposed to stay my job"
Image concepts (scrape-first; no product, no text overlay, natural aspect)
- Straight rip: teen asleep face-down, phone on the nightstand, mid-morning light. Queries: "sleeps through every alarm", "can't wake my teenager up".
- Artifact (staged phone-photo register, real handwriting): sticky note on a bedroom door, "I am not waking you up tomorrow. Love, Mom".
- Help-post (real Reddit UI screenshot ref required): r/Parenting-style post, "AITA for refusing to wake my 15 year old up for school anymore?".
- Straight rip: mom sitting on the stairs with coffee, house still dark. Queries: "up before the kids exhausted", "early morning coffee stairs".
- Contradiction pair (real screenshot refs): two phone screens side by side, both showing a 6:30 alarm. His and hers.
Validation block
- Words: 627 measured with the offer-floor close block (mid band; was 508 pre-floor)
- Brand reveal: "Dawn Bands" at 52% measured — 3 points BELOW the 55-70 window, caused by the longer close tail rather than an earlier reveal. Flagged rather than papered over. Fix if Fish wants strict compliance: trim ~40w from the failed-stack block, or accept, since the reveal sentence itself still lands after the full two-problems mechanism.
- Offer floor: brand ✅ · guarantee plainly stated with the school-mornings translation ✅ · company/credibility intro ✅ · link ✅ · price omitted (legal under the 8-31 rule — the guarantee carries the risk reversal)
- Hook taxonomy: graded inline; B-H3 is the second-person flag family (flagged in 01 §4)
- ADHD lane rules: ADHD named in hook/headline space per rule 8; treatment-gap only, zero efficacy claims; routines beat present with blame removal (mandatory); Initiation Wall as identification ("adults with ADHD describe it"), no arousal-threshold claim; mother's-voice anchor lands on household consequence (she was the system), not acoustics
- Format: sentence-per-line, no em dashes, no exclamation marks, 2 That's-Why-class loop closures + the two-problems split, victory absence-shaped, wear beat = Ownership Trade teen-motive (no compliance framing), guarantee adjacent to wake claim, failed stack SOUND/ROUTINE/APP with prices, no analogies, no bed shakers, said-out-loud pass done
- Provenance: authorized-dramatization narrator; all behaviors VOC-grounded (declared handoff quit, 40-minute school run, alarm ringing unheard, hand works); no named testimonials, no week-numbered outcomes
Launch notes (both units)
- Per 8-29 rule: every hook and both headlines ride in at launch via the solved multi-text construction. Nothing waits for a pick.
- Images: rips take slots over gens wherever a rip passes gates. Gen fallback only via image-prompt-engineer with a real reference pulled first. Everything through meta_preflight.py before upload.
- Dupe each unit to PDP as well if Fish wants the v11-style destination split test extended here (Unit B PDP: /products/wake-up-band-adhd; Unit A PDP: /products/wake-up-band-for-teens).
Today's Learnings vs Current Native Doctrine
2026-08-31 · Corpus compared: native-copy SKILL.md + master-brief + hook-taxonomy + selling-root-cause-mechanism + native-structure-templates + avelia-short-native-templates + competitive-landscape + corrections-hot · Learnings: 01-spnutrition-learnings.md + the v11 autopsy
Verdict up front: doctrine already encodes roughly 70% of what SPNutrition is doing, often with our own receipts that predate theirs. The real deltas are five: (1) an offer-completeness floor does not exist anywhere, and master-brief actively SANCTIONS the exact failure mode that broke v11; (2) targeting clarity is not a graded hook dimension; (3) absolution exists everywhere in doctrine but has no placement mandate; (4) there is no formalized winner-skeleton fan-out lane, only anti-convergence rules; (5) two live rule conflicts need a Fish ruling.
STATUS 2026-08-31, post-Fish-approval: items C1 (offer floor, with Fish's revision — guarantee + company intro required, price optional, listicle legal when congruent) and D (sync pass) are now WRITTEN INTO DOCTRINE across 5 files. B2 (length as a test axis) was also ruled and written. Everything else below remains a recommendation awaiting a call.
Correction to my own earlier claim: I wrote that
native-structure-templates.md"still describes the pick-one headline flow in its handoff format." It does not — that file contains no headline references at all. The stale rule lived in three places (hermes SKILL.md, workspace SKILL.md, the UserPromptSubmit hook), plus the CTA-permission problem in two master-brief copies. Verified by grep, not memory, after the fact.
A. Where doctrine already had it (no change needed)
| Learning | Where doctrine already says it | Note |
|---|---|---|
| Curiosity clicks don't convert | master-brief DEAD ANGLES: "curiosity-click bait — 24.8% CTR, 0 purchases" (native1) | Doctrine knew this in March. Today upgrades it from a dead-angle footnote to the central account thesis, now with $8.3k of v10 spend behind it |
| Absolution sells | Avelia T3 micro-template is literally the device: "You didn't need MORE [category]. You needed the right [mechanism variable]." Plus the failed-solution trap ("You did not fail the alarm"), the ADHD routines blame-removal beat (selling doctrine rule 5), and master-brief "never blame or shame the avatar" | We have the device in four places; SPNutrition makes it structural. See gap C3 |
| Monocausal symptom re-explanation | The "That's Why" map in selling-root-cause-mechanism.md IS their engine | Delta: doctrine caps at 2-4 beats; SPNutrition fires 5-8; our converters fire 3+. Recommend floor of 3 when the opening plants 3+ symptoms |
| Priced failed stack, reveal re-explains all of it | Canonical survey-locked stack, prices stay; mechanism-reveal 4-beat structure | Their $6,800 Swiss clinic = our $380 alarm stack device. Aligned |
| Late reveal windows | 55-70% proven window (fable-v10 64%, Jacob 60-71%) | Their catalog runs 60-75%. Aligned |
| Victory as absence | Universal doctrine rule | Aligned; see B4 for the one twist |
| Hook anatomy | hook-taxonomy (emotion + gap + stakes, Promise/Loop) covers their symptom-flag (Promise with prescriptive certainty) and diagnosis-reversal (Loop) | The taxonomy holds; it's missing one grading question (C2) |
| Their doctor-interview + NDA-whistleblower formats | Narrator authority gate BANS both: invented medical authority (Curvani fabricated-MD zero-distribution receipt), fabricated insider testimony | Doctrine is right, don't import these two. The hidden-authority WITNESS (cruise attendant class) is importable but needs a claim ceiling: observed patterns must be VOC-groundable, no invented counts ("hundreds of guests") |
B. Conflicts — two generations of rules pointing different ways (Fish ruling needed)
B1 · First-person hook rule vs the symptom-flag family. 8-25 correction: hooks start I/My/We + concrete action. But slop 7 ($14.5k @ $29 CPA, the account's biggest converter) opens "If your ADHD teen 'can't' wake up to alarms..." and every top SPNutrition hook is a second-person flag. Receipts exist on both sides. → Recommend: sanction the "If your [symptom]..." flag as a second legal hook class; every unit carries at least one of each (today's units already do). Let the launch data rule.
B2 · One body per unit vs length as a test axis. Three rule generations coexist: master-brief (Mar) wants 2-3 long + 2 short variants per ad; 8-23 standing layout narrowed to 1 body per unit; today's v11 ask reopens multi-length via multi-text body slots. → Recommend: unit = one ARCHITECTURE; lengths become body-slot variants inside the multi-text construction (the v11 pattern: L/M/S × hooks across 5 slots). Retire the old per-ad 5-variant mix. This keeps 8-23's "one desire × one sub-avatar × one message" while restoring length as a measured lever.
B3 · Anti-convergence doctrine vs winner re-skinning. Multi-angle matrix rules + back-half convergence checks treat sameness as the standard failure. SPNutrition scales BY convergence: one fixed conversion skeleton per format, identification layer swapped per segment (diagnosis-reversal re-skinned as anxiety/fibro/inflammation; hidden-authority as cruise/retreat/Airbnb). Both are right at different lifecycle stages. → Recommend: write the missing EXPLOITATION lane into the skill: "winner-skeleton fan-out" — keep a receipted winner's architecture, reveal window, and close; swap only the identification layer (symptom, sub-avatar, owned artifact); scope convergence QA to within-batch only. Our v10 image fan-outs were already this by instinct; it deserves doctrine.
B4 · Owned-per-ad victory observables vs a brand-level victory anchor. Doctrine forces every ad to own its artifacts and observables. SPNutrition repeats ONE victory image across the entire catalog (woke to the alarm, jaw soft, pajamas dry) as a deliberate brand asset. → Recommend as a TEST, not a rule: pick one brand-level victory anchor (the "he got himself up before I got there" class) allowed to recur across units while story artifacts stay owned. If their pattern is right, repetition compounds recognition instead of causing fatigue.
B5 · Mechanism-in-hook ban vs the named-villain reframe. Our ban stands on a real receipt (mechanism-first = $20/0). SPNutrition's top ad opens "That's not fat from food. That's cortisol." The distinction: they never EXPLAIN in line 1, they NAME the villain inside a blame-shift. Explainer-mechanism and named-villain-reframe are different devices. → Recommend: keep the ban on explainer openings; pilot ONE named-villain reframe hook (e.g. "Stop blaming your teenager for the alarms...") before any doctrine change.
C. Gaps — doctrine is silent, and one rule points the wrong way
C1 · THE OFFER FLOOR (highest-value amendment, the v11 lesson). No rule anywhere requires brand, price, and link to exist in a body. Worse, master-brief's CTA-variation section explicitly sanctions "Some variants skip price entirely — let the story close itself" and "No mid-copy CTA at all — just the close CTA." v11 shipped exactly that way: no brand name, no price, no link — spectacular click-through manufactured by total withholding, $46-56 CPA on the other side. → Proposed rule: every native ships with (a) brand named at the reveal, (b) price + guarantee, (c) at least one link. Variation lives in HOW they're woven into the story, never WHETHER they exist. Fable-v10, r2-d2, slop 7, and every SPNutrition long ad all carry the full floor.
C2 · Targeting clarity as the 5th hook grading question. The taxonomy grades emotion, gap, stakes, structure. It never asks: "Could a stranger tell from lines 1-2 whether this ad is about her house?" That question IS today's learning. Add it to the grading contract and the Hook Sharpening pass; it would have flagged the v10 victory-brag open and s7-moms at authoring time.
C3 · Absolution placement mandate. The device exists in four doctrine places (A row 2) but nothing says WHERE. SPNutrition lands it hook-adjacent, every time. → Proposed: on problem-aware traffic, one absolution beat inside the first six lines (not a discipline problem / the effort was real, the target was wrong).
C4 · Destination-completeness pairing. The routing table maps avatars to listicle/PDP but says nothing about body requirements per destination. Today's v11 PDP split makes it explicit: a PDP destination requires the full in-copy pre-sell (offer floor + mechanism), because no listicle warms the reader. → Proposed: PDP-destination ads must pass the offer floor at full strength; listicle-destination ads may lean on the lander but still carry the floor.
C5 · The gap must be about HER. Loop hooks are legal with any withheld information. Today's contrast (v10 curiosity clicks vs slop-7 pre-qualified clicks) says the curiosity gap must be about the reader's own situation, not generic intrigue. → Proposed: one line added to the Loop definition in hook-taxonomy.
D. Doctrine drift housekeeping — ✅ SYNC PASS EXECUTED 2026-08-31
Files edited (none council-protected; verified against the protected list before editing):
| File | Change |
|---|---|
~/.hermes/.../native-copy/SKILL.md |
§3 headline rule replaced (all headlines load at launch) + length-axis ruling + new §3a OFFER FLOOR with full close-block shape |
~/.openclaw/workspace/.claude/skills/native-copy/SKILL.md |
same two changes, workspace-formatted |
~/.claude/hooks/native-copy-doctrine.py |
injected doctrine block rewritten: stale rule marked SUPERSEDED, offer floor + close-block shape added. Hook re-executed and verified (exit 0, floor present in output) |
~/.hermes/.../references/master-brief.md |
"skip price entirely" narrowed to price-only; ⚠️ offer-floor override added directly under the CTA-variation list |
~/.openclaw/workspace/.claude/skills/native-copy/references/master-brief.md |
same |
Two grep hits were false positives and correctly left alone: direct-response-copywriter/references/schemas.md ("picks ONE angle") and zakariah-elite-copywriting.md ("picks ONE primary emotion").
All five session deliverables were then rewritten to comply with the new floor (they didn't before — every body lacked the company intro). Measured after: v11 L/M/S at 1,011/554/218w, units A/B at 579/627w. Unit B's reveal now measures 52%, three points under the window, flagged in its validation block rather than papered over.
Original finding (kept for the record)
- The auto-injected native-copy doctrine block and SKILL.md §3 still print the 8-23 rule "2 headlines authored, Fish picks ONE at launch, never split-tested." Superseded twice: 8-25 (headlines load as multiple title options) and 8-29 (ALL hook/headline variations go in at launch, nothing waits for a pick). The corrections-hot entries are correct; the skill files lag them.
- native-structure-templates still describes the pick-one headline flow in its handoff format.
- Neither file is council-protected; still recommend Fish approval before the sync edit, then one pass updates SKILL.md + templates + the hook injection source together.
Status board
| # | Item | State |
|---|---|---|
| C1 | Offer floor (Fish revision: guarantee + company intro required, price optional, listicle legal when congruent) | ✅ written into doctrine, 5 files |
| D | Sync pass on the stale pick-one-headline rule | ✅ executed + hook verified |
| B2 | Length variants as a legal test axis inside one unit | ✅ ruled + written |
| C2 | Targeting-clarity as the 5th hook grading question | ✅ written (coupled to the B1 ruling — it is the mechanism that makes the flag family work) |
| B1 | Sanction the "If your [symptom]..." second-person flag family | ✅ RULED + written (Fish 8-31: "that's what converts") |
| B3 | Winner-skeleton fan-out lane (exploitation vs anti-convergence) | ⏳ needs ruling |
| C3 | Absolution placement mandate (first six lines, problem-aware) | ⏳ recommended |
| C4 | Destination-completeness pairing | ✅ partially absorbed into the offer floor (congruence clause); the PDP-strength clause is in |
| C5 | "The gap must be about HER" line in the Loop definition | ✅ written into hook-taxonomy.md |
| B4 | Brand-level victory anchor | ⏳ test first, no doctrine change |
| B5 | Named-villain reframe hook pilot | ⏳ pilot first, ban on explainer openings stands |
| — | Awareness scope gate: unaware lane PARKED (Fish 8-31) | ✅ written into doctrine, 4 files |
E. Awareness scope gate — ✅ WRITTEN 2026-08-31
Fish 8-31: DawnBands runs problem-aware and warmer only. No unaware audiences — the market isn't there and we can't scale at the CPA unaware requires. Business math, not craft.
| File | Change |
|---|---|
~/.hermes/.../native-copy/SKILL.md |
⛔ AWARENESS SCOPE GATE block above the Mode Selector; T3 struck through in the template list |
~/.openclaw/workspace/.claude/skills/native-copy/SKILL.md |
same gate, workspace-formatted |
~/.claude/hooks/native-copy-doctrine.py |
gate added above the mode selector; Mode B relabeled "PROBLEM-AWARE only (the unaware half is parked)". Re-executed, exit 0 |
~/.hermes/.../references/native-structure-templates.md |
T3 header marked ⛔ PARKED with the reason; T1's "Unaware / problem-aware cold traffic" narrowed to problem-aware only |
Parked: T3 unaware study-reveal (entirely — it never had a spend receipt anyway; every stat/study-hook ad starved) · the unaware application of T1/Mode B and its zero-category-scent cold opener · Alevia/Avelia unaware-derived guidance, now reference-only · unaware-pulling hooks (pure mystery openers that never flag the reader).
Deliberately NOT parked: T2 compressed witness — problem-aware and our only scaled winner (fable-v10, $29.70 CPA). Over-parking Mode B wholesale would have killed the format that actually works. Also live: T4 punch, all Mode A, objection killers, product-aware and offer-aware copy, and T1/Mode B whenever briefed to problem-aware traffic.
Convergence worth noting: this ruling and today's hook learning arrive at the same instruction from opposite directions. The awareness ruling says stop buying unqualified traffic; the SPNutrition analysis says stop writing hooks that generate unqualified clicks. Both resolve to: name the reader by her observable symptom in lines 1-2. Nothing in this report conflicts with the ruling — all five bodies were authored problem-aware before it landed.