@aicopycoders/exodus 2026.9.1100-beta.3 → 2026.9.1400-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/assets/docs/CLAUDE.md +23 -1
  2. package/assets/docs/PIPELINES.md +20 -0
  3. package/assets/skills/anatomy-of-ads/SKILL.md +138 -0
  4. package/assets/skills/anatomy-of-ads/references/beat-map.md +69 -0
  5. package/assets/skills/anatomy-of-ads/references/concept-angle.md +50 -0
  6. package/assets/skills/anatomy-of-ads/references/hook-and-structure.md +69 -0
  7. package/assets/skills/bot-builder/SKILL.md +147 -0
  8. package/assets/skills/bot-builder/references/exodus-prompt-node.md +113 -0
  9. package/assets/skills/bot-builder/references/prompt-blocks.md +169 -0
  10. package/assets/skills/copy-instincts/SKILL.md +154 -0
  11. package/assets/skills/copy-instincts/references/instincts-catalog.md +131 -0
  12. package/assets/skills/copy-instincts/references/locked-examples.md +104 -0
  13. package/assets/skills/copy-instincts/references/worked-runs.md +148 -0
  14. package/assets/skills/exodus/SKILL.md +11 -1
  15. package/assets/skills/find-competitors/SKILL.md +150 -0
  16. package/assets/skills/find-competitors/references/query-grid.md +78 -0
  17. package/assets/skills/find-competitors/scripts/adlib_sweep.py +115 -0
  18. package/assets/skills/find-competitors/scripts/competitor_signals.py +170 -0
  19. package/assets/skills/handoff/SKILL.md +81 -0
  20. package/assets/skills/mechanism/SKILL.md +130 -0
  21. package/assets/skills/mechanism/references/bot-prompts.md +94 -0
  22. package/assets/skills/mechanism/references/competitor-mechanisms.md +39 -0
  23. package/assets/skills/odf/SKILL.md +167 -0
  24. package/assets/skills/patterns-and-gaps/SKILL.md +120 -0
  25. package/assets/skills/positioning-spiral/SKILL.md +166 -0
  26. package/assets/skills/remember-that/SKILL.md +56 -0
  27. package/assets/skills/segment-grid/README.md +45 -0
  28. package/assets/skills/segment-grid/SKILL.md +84 -0
  29. package/assets/skills/thinking-vs-build/SKILL.md +120 -0
  30. package/assets/templates/STANDARDS.md +49 -0
  31. package/dist/commands/init.d.ts +1 -0
  32. package/dist/commands/init.js +10 -5
  33. package/dist/commands/swipe.js +8 -1
  34. package/dist/commands/update.js +1 -1
  35. package/dist/commands/video.d.ts +6 -0
  36. package/dist/commands/video.js +30 -1
  37. package/dist/lib/assets.d.ts +1 -0
  38. package/dist/lib/assets.js +3 -0
  39. package/dist/lib/layout.js +1 -0
  40. package/dist/lib/scaffold.d.ts +3 -0
  41. package/dist/lib/scaffold.js +19 -1
  42. package/package.json +1 -1
@@ -4,7 +4,7 @@
4
4
 
5
5
  This is a creative-strategy workspace operated by the **exodus** CLI. It is brand-agnostic infrastructure serving **all of the account's brands**: each brand has its own subfolder here (marked by a `.exodus-brand.json` file) holding that brand's `state/` and `output/`. Which brand you're working on resolves **folder first, pointer second**: commands run from inside a brand's subfolder target that brand automatically; otherwise the `npx @aicopycoders/exodus brand use <slug>` pointer applies. (Older single-brand installs keep `state/` and `output/` at this root — same rules, one brand.)
6
6
 
7
- **How to engage the system:** every skill here is namespaced `exodus-*`, and a front-door `exodus` hub skill routes generic asks. Members say "exodus" to engage ("exodus, write me some ads") or invoke a specific skill with `/exodus-<name>` (e.g. `/exodus-write`). This namespacing is deliberate: it lets these skills coexist with other skill packs (like the workshop pack) installed in the same folder, and it keeps the bare word "Genesis" unambiguous — on its own, "Genesis" always means the member's own Genesis API key/recipes, never Exodus. CLI commands are unchanged (`npx @aicopycoders/exodus genesis`, `npx @aicopycoders/exodus brand use`, etc.).
7
+ **How to engage the system:** two families of skills live here. The pipeline skills are namespaced `exodus-*`, and a front-door `exodus` hub skill routes generic asks. The method skills (Luke's thinking as skills: `odf`, `mechanism`, `copy-instincts`, and the rest, listed under **Method skills** below) carry plain names and fire on what the user is trying to do. Members say "exodus" to engage ("exodus, write me some ads") or invoke a specific skill with `/exodus-<name>` (e.g. `/exodus-write`). This namespacing is deliberate: it lets these skills coexist with other skill packs (like the workshop pack) installed in the same folder, and it keeps the bare word "Genesis" unambiguous — on its own, "Genesis" always means the member's own Genesis API key/recipes, never Exodus. CLI commands are unchanged (`npx @aicopycoders/exodus genesis`, `npx @aicopycoders/exodus brand use`, etc.).
8
8
 
9
9
  The strategist persona, the Luke Mills / Genesis frameworks, the operating rules and creative principles, and the operating discipline all live in **one skill** plus its references:
10
10
 
@@ -64,11 +64,33 @@ These are the **Exodus** pipelines — the automatic system that drives the Gene
64
64
  | **Video** | `exodus-video` | Make a video ad from a Show: start a run from a script, read and approve the storyboard, `npx @aicopycoders/exodus video pull` every piece (per-scene clips, voices, keyframes, word timings, music bed) plus a manifest, cut them with the bundled first-cut script, upload the cut and approve it. Admin-only. |
65
65
  | **Browse** | `exodus-browse` | View history and retrieve past outputs |
66
66
  | **Drive** | `exodus-drive` | Read/write Google Docs, Sheets, and Drive files via `npx @aicopycoders/exodus drive` (uses the dashboard's Google OAuth — no local CLI) |
67
+ | **Swipe / Mining** | (no skill; CLI only) | The competitor watch list behind the Mining page: `npx @aicopycoders/exodus swipe brands list`, `swipe brands bulk-import <csv>` (checks each brand and starts collecting its ads), `swipe brands add "<Name>" --fb <pageId>` (adds without starting research, #1366), `swipe run` / `swipe mine`. There is no `competitors` verb. |
67
68
  | **Ads** | `exodus-ads` | Read your own live Meta ads once the account is connected on the dashboard — `npx @aicopycoders/exodus ads list` (sort by cost per result, spend or CTR), `ads show <adId>` (copy, both windows, media links, comment counts), `npx @aicopycoders/exodus comments list` (already commenter-redacted), and `npx @aicopycoders/exodus winners definition` (what this brand means by a winner). Read-only; no Meta login or MCP needed. |
68
69
  | **Winners** | `exodus-winners` | Mine your own Meta ad account for winning ads and import them into Exodus as generative fuel — interview, visual confirmation, `npx @aicopycoders/exodus winners import`. A brand whose Meta account is connected reads its ads and its winner definition straight from Exodus; only an unconnected brand needs the Meta Ads MCP. |
69
70
 
70
71
  For the operator-facing quick reference on how to invoke these in Claude Code, see `PIPELINES.md` in the workspace root.
71
72
 
73
+ ### Method skills (Luke's thinking, in Claude Code)
74
+
75
+ These are not pipelines. They are Luke's methods written as skills, so the thinking that happens *before* a pipeline runs (who to sell to, what the mechanism is, which competitors matter, what patterns the account shows) happens with the same discipline every time. They run as a conversation with whatever data the user has; some push results into Exodus through the CLI. Anything they write lands inside the active brand's subfolder (`<brand>/state/` for decided artifacts, `<brand>/inputs/` for research), so run `brand current` first. Invoke one by name (`/odf`) or just describe the job.
76
+
77
+ | Skill | When to Use |
78
+ |-------|-------------|
79
+ | `thinking-vs-build` | Load first whenever a session does method work (positioning, research, critique). The two modes (think: short lists, one axis per message, propose then the user cuts; build: the full thing, no check-ins) and how to tell which one a message is in. |
80
+ | `positioning-spiral` | Positioning a product before any ads: cycles through features, targets, research, catalog, and thinking until segments, mechanisms, and story hang together. Calls the four station skills below. |
81
+ | `odf` | Who to sell to. Outcome × Demographic × Facet, one axis at a time. MAP (build the grid), PERSONAS (named humans that live in Exodus), HORIZONTAL (aim a winner at a new segment). Pushes with `npx @aicopycoders/exodus segment`. |
82
+ | `mechanism` | The product's unique mechanism of the problem and of the solution, per segment. Uses the Genesis mechanism bots for breadth (needs `GENESIS_API_KEY` plus a provider key), works as a conversation without them. |
83
+ | `find-competitors` | Who is actually strong in a niche, on Meta first and Amazon second. Ranked competitor sheet and a watch list. Optional scripts for Atria and the Meta Ad Library via Apify (each needs its own key; they bill per result and say the plan back before spending). |
84
+ | `patterns-and-gaps` | What repeats and matters across own ads, competitor ads, organic content, and research, read layer by layer, and the three kinds of gap. |
85
+ | `anatomy-of-ads` | The parts list of an ad (Messaging × Creative). Write a brief, dissect any ad into the same parts, tag a batch so patterns can be counted. Also the vocabulary the other skills use. |
86
+ | `copy-instincts` | See, Attract, Make. Run on a draft that already exists (hook, ad, mechanism paragraph) to take it from good to great. |
87
+ | `bot-builder` | Build a custom bot the way Luke and Mario build the Genesis bots (SEAK), and put it where it runs: an Exodus workflow Prompt node, a Genesis bot, or a skill. |
88
+ | `remember-that` | Bank one reaction mid-session ("remember that", "never do X") into `STANDARDS.md`, and push approved winning lines to the matching Exodus bank. |
89
+ | `handoff` | End a session: scrape the chat into `workflow/sessions/`, propose standards, write a resume prompt, update the one-page workflow. "handoff review" reads the sessions back. |
90
+ | `segment-grid` | The earlier segment-grid kit. Superseded by `odf`; kept for existing hand-off docs. |
91
+
92
+ **Standards and handoff.** `STANDARDS.md` at the workspace root is the user's taste, written where the system always reads it. Every method skill reads it before producing anything and grades its draft against it. The install creates it once from a template and never overwrites it. Mid-session, "remember that" banks a reaction through `remember-that`. At the end of a session, "handoff" scrapes the chat and proposes standards; nothing is written without a yes. At the start of a session, check the newest file in `workflow/sessions/` (if the folder exists); when it has a **Resume** section, offer to continue from it.
93
+
72
94
  ### Genesis bots (manual)
73
95
 
74
96
  The same folder usually also carries **`genesis-bots`** — the *manual* way to drive the same Genesis bots. You pick a bot and prompt it yourself with the member's own `gen_` key, chaining bots by hand (buyer profile → creative brief → ad hooks → ads). It is **not** an `exodus-*` skill and is **never** invoked by saying "exodus".
@@ -23,6 +23,26 @@ In Claude Code you don't click buttons. You say **"exodus"** plus what you want
23
23
 
24
24
  ---
25
25
 
26
+ ## Method skills (Luke's thinking)
27
+
28
+ Not pipelines. These run as a conversation and shape the thinking before a pipeline fires. Call one by name or describe the job.
29
+
30
+ | Skill | Say things like |
31
+ |-------|-----------------|
32
+ | thinking-vs-build | (loads at session start) "let's think", "basic list", "just the outcomes" vs "build it", "let it rip" |
33
+ | positioning-spiral | "who do we sell this to and what's the story", "are we positioned right" |
34
+ | odf | "map the segments", "build personas from the comments", "aim this winner at a new segment" |
35
+ | mechanism | "what's the mechanism", "which ingredient leads", "name the problem" |
36
+ | find-competitors | "who's scaling in this niche", "build me a watch list" |
37
+ | patterns-and-gaps | "what patterns do you see", "what are they doing that we aren't" |
38
+ | anatomy-of-ads | "break this ad down", "tag these ads", "write me a brief" |
39
+ | copy-instincts | "make this hit harder", "what's wrong with this ad", "find the big idea" |
40
+ | bot-builder | "build me a bot that…", "turn this into a prompt", "make a node for the workflow" |
41
+ | remember-that | "remember that", "never do that again", "lock that in" |
42
+ | handoff | "handoff", "wrap up", "what did we do today", "handoff review" |
43
+
44
+ They read `STANDARDS.md` (your taste, at the workspace root) before producing anything. `remember-that` adds to it mid-session; `handoff` proposes additions at the end and writes session files to `workflow/sessions/`.
45
+
26
46
  ## exodus-write (start here)
27
47
 
28
48
  **What it does:** The guided front door for copywriting. You don't need to know which command to run — say "exodus" plus what you want and the exodus-write flow figures out where you are, helps shape the brief, sets up your foundation if needed, runs Genesis, and hands back the Google Doc.
@@ -0,0 +1,138 @@
1
+ ---
2
+ name: anatomy-of-ads
3
+ description: Luke's anatomy of an ad, Messaging × Creative, used three ways: to write a brief before an ad exists, to dissect any ad (own, competitor, organic) into the same parts, and to feed patterns-and-gaps so patterns are found layer by layer. Messaging is WHO (segment / persona) × WHAT (concept / angle, mechanism UMP / UMS, copy blocks, copy beats) × HOW (hook, structure). Creative is static (native, template, branded) or video (conceit, actors, style, terrain, setup). Use it whenever someone says "break this ad down", "what's the DNA of this", "tag these ads", "what's the angle here", "write me a brief", "which layer changed", "what would I swap", or hands over a transcript, a swipe file, or a batch of their own ads and wants them read the same way. Also the vocabulary every other skill uses for ads: when a user says format, conceit, angle, concept, or beat, this is what they mean. Carries the beat map, the angle families, the insight-vector operations, the hook rules, and the swap-cost rule in references.
4
+ ---
5
+
6
+ # Anatomy of an ad
7
+
8
+ Every ad is the same set of parts. Once you can see the parts, you can write a brief by filling them in, dissect anyone's ad by reading them out, and find patterns by counting each part across a set instead of squinting at whole ads. This skill is the parts list and the tests for each part.
9
+
10
+ Think mode for a read or a brief (lists, one layer at a time). Build mode for tagging a batch. Read `thinking-vs-build` if installed.
11
+
12
+ ## The grid
13
+
14
+ ```
15
+ MESSAGING
16
+ WHO = Segment / Persona
17
+ WHAT = Concept / Angle (the core idea, the point of the ad)
18
+ Mechanism (UMP, UMS, or both)
19
+ Copy Blocks (what's present, what's added, what's missing)
20
+ Copy Beats (from the beat map; added or missing)
21
+ HOW = Hook
22
+ Structure (format)
23
+
24
+ CREATIVE
25
+ Static = Native · Template (many types) · Branded
26
+ Video = Conceit (what media it pretends to be) · Actor(s) · Style · Terrain · Setup
27
+ ```
28
+
29
+ The same parts as a stack, top to bottom, each layer constraining the next: **Market** (segment, persona, awareness) → **Substance** (concept, mechanism, proof) → **Frame** (the angle) → **Structure** (the skeleton, an ordered set of beats filling block roles) → **Rendering** (medium, then conceit, actor, style, terrain, setup) → **Surface** (the literal words and pixels; the hook is the top of it).
30
+
31
+ ## The rule that orders the stack
32
+
33
+ The deeper a part sits, the less meaning it carries and the cheaper it is to swap. A style swap changes nothing the buyer has to believe. A format swap changes delivery, not the answers. An angle swap changes the doorway, not the claim. A concept swap is a new bet. A segment swap is the most expensive bet on the board.
34
+
35
+ Same list read as what kills you if wrong: segment and mechanism are driver genes, get them wrong and you are at zero; style is cosmetic, get it wrong and you are at minus thirty percent.
36
+
37
+ So: every launch should be one cheap swap away from something proven. Luke's order of what to play with most, for video especially: segment, format, style, conceit.
38
+
39
+ ## The layers, with their tests
40
+
41
+ ### WHO: segment / persona
42
+
43
+ Three parts, ODF: Outcome (what they want), Demographic (what you could tick from across the room), Facet (why they are here: belief, state, value, occasion). One outcome × one demographic × a facet or two. Change any part and it is a different human and usually a different ad. The facet is the underrated axis: self-verifiable in one second and usually carrying its own mechanism ("do you sit six hours a day?" → blood flow). A persona is the segment with its evidence attached: the verbatim quotes, the awareness the facet sets, the failed solutions in their language. Awareness rides on top; it is not inside the segment. Depth: `odf`.
44
+
45
+ Tag test: could you say who this ad is for in the ODF shape from the ad alone? If it only names a demographic ("women over 40"), the facet layer is empty; that is the usual gap.
46
+
47
+ ### WHAT: concept / angle
48
+
49
+ Concept is the raw truth, the flat fact, the WHAT. Angle is the psychological frame wrapped around it, the WAY IN. Tell: if you can say it flat, with no villain, no feeling, no "you", it is a concept. One fact, "vitamin D deficiency is linked to depression", through five angles: conspiracy ("why your psychiatrist will never check your vitamin D"), geographic ("why almost nobody in sunny Dubai gets seasonal depression"), accidental discovery ("a lab tech's mistake revealed what vitamin D does to serotonin"), countdown ("the FDA is moving to restrict high-dose vitamin D in 30 days"), enemy admission ("even the people who make antidepressants quietly take this").
50
+
51
+ The precise version: a concept is a causal diagram, not a sentence. Same graph, same concept, even if the words differ. An angle is which role in that graph you star: star the adversary and it is a conspiracy ad; the discoverer, a breakthrough ad; the experiencer, a story ad; the clock, a warning ad. The affordance rule: an angle is available only if a fact fills its role. No admitting insider, no enemy-admission ad.
52
+
53
+ Two asymmetries. Concepts burn out ("cortisol belly" saturates); angle families do not (conspiracy as a frame never wears out). You have a handful of true concepts and almost unlimited angles, so most firepower goes into angles. And why split them: if timeline ads keep winning, the market is responding to the angle; if "silver" keeps recurring across stories and conspiracies alike, it is responding to the concept.
54
+
55
+ Angle families: Discovery · Urgency · Authority · Conflict · Story · Reframe. Full list, the affordance roles, and the insight-vector operations that generate concepts: `references/concept-angle.md`.
56
+
57
+ ### WHAT: mechanism (UMP, UMS, or both)
58
+
59
+ UMP is the hidden reason behind the problem ("why were you able to figure out this hidden cause when other experts haven't"). UMS is the unique solution and how it was found ("how did you uniquely discover this when everyone else missed it"). The concept is the destination (the one-sentence edit: "your bloating is parasites"); the mechanism is the route that gets the edit accepted. The modal shape in winning ads is the re-diagnosis: relabel ("it's not fat, it's sludge"), install the hidden cause, sweep the retrodictions (it must explain their symptoms, every prior failure, and why it is worse now), draw the edge to the solution, gate it with a verification ritual.
60
+
61
+ The brand gate is the beat the beat map does not have and the winning corpus runs most consistently: only this version of the solution reaches the cause. Generic is dead → sourcing specifics → a way to verify. Tag it in or beside the mechanism field. Naming: body thing plus what it is doing wrong, and the name must imply the fix. Depth: `mechanism`.
62
+
63
+ ### WHAT: copy blocks
64
+
65
+ Six: Pain, Promise, Proof, Curiosity, Constraints, Conditions. Rate each present block 1 to 10 and name what is missing. The rule that matters for added/missing: curiosity is the only block unique to the product, because it holds the mechanism; the other five belong to the market and every competitor can say them. No curiosity block, no engine. Test for a line: paste it into a competitor's ad; if it still works, it is grey. Depth: `copy-instincts`.
66
+
67
+ ### WHAT: copy beats
68
+
69
+ The beat map is fourteen narrative beats reverse-engineered from VSLs, each defined by the subconscious question it answers. It is the story of the product, and it is where the point of an ad usually comes from: read down the beats and one of them is the ad. Short video forces ten more beats into existence that the map does not list: call-out, absolution ("it's not your fault, it's the mechanism", arguably the highest-leverage beat there is), demonstration, future pacing, comparison, offer reveal, CTA, re-hook, qualification, belonging.
70
+
71
+ Added/missing is a verdict audit: tag every line with the belief it is there to close, then ask which beliefs are left unreached and whether the market's awareness already covers them. Overbuilt shows as bloat (the timing beat is the usual offender); unreached shows as the reason it did not convert (risk is the usual gap). Full map and the nine verdicts: `references/beat-map.md`.
72
+
73
+ Copy melodies: "more specific psychological moments, lines, or clusters we might add." Only one line of definition exists. The nearest concrete material is the Make moves in `copy-instincts`. Open.
74
+
75
+ ### HOW: hook
76
+
77
+ The hook is concept plus angle compressed to the fewest, sharpest words. Structurally it is a beat promoted to slot zero, usually the body's organising beat; when hook and body diverge too far you pay the clickbait tax (high CTR, dead conversion). Hooks rotate independently of the body: five hooks on one identical body is a clean experiment, and the way to test is five made maximally different, not five micro-variations.
78
+
79
+ Craft rules: immediate relevance · charged words (object words and action verbs) · an open loop · stakes · specific and tangible · caveman-simple · consequence first, mechanism later · Germanic over Latinate · one sentence · a 1 to 3 intensity dial · always some wildcards. "Most language is filler, filler, filler, then a point. Be clear what the point is and let the rest be caveman."
80
+
81
+ For unaware traffic, the straddle: curiosity plus relevance in the first line. Relevance has four levels of charge: existential → mechanism → condition → sensation. The onion ladder shows the dial from unaware to problem-aware: what onions do to you → your body → your health → your blood sugar → your neuropathy. Full rules and ladders: `references/hook-and-structure.md`.
82
+
83
+ ### HOW: structure (format)
84
+
85
+ The word "format" hides four dials. Say which one you mean: **medium** (static, video, carousel), **skeleton** (beat order), **conceit** (what it pretends to be), **style** (visual gloss). On Luke's own list, podcast and 80s retro news are conceits, timeline and specimen VSL are skeletons, UGC is a style and actor choice, song ad is a conceit with a style.
86
+
87
+ Structure proper is the skeleton: the beat order. A format is a beat promoted to spine, the way a hook is a beat promoted to slot zero, which is why "conspiracy timeline" reads as one thing: the adversary beat is both spine and hook. Skeletons are walks through the concept graph: a timeline narrates it forward, a mechanism explainer walks back from symptom to root, an exposé radiates out from the adversary. Luke's short-ad skeleton: HOOK → POINT → MECHANISM → OFFER. Awareness collapses skeletons: each notch up collapses the middle beats because their beliefs arrive pre-closed. Format beats copy (the Lampropoulos principle): the same copy in a new format has been the massive winner more than once.
88
+
89
+ ### CREATIVE
90
+
91
+ **Static:** native (looks like a post, a screenshot, a text thread), template (the fifty-odd structured ad types: testimonial, before-and-after, comparison, sign-holder, infographic, and so on), branded (the product is the picture).
92
+
93
+ **Video:** conceit (street interview, podcast, on stage, doctor visit, customer call, cue cards, news desk), actor (founder, nurse, customer, cartoon, nobody, method-acted prospect), style (UGC, Pixar, claymation, greenscreen, whiteboard, mummies), terrain (where it is shot: kitchen, car, clinic, stage), setup (the situation the conceit needs in place: a phone being shown, a whiteboard already drawn, two chairs). The conceit is the hinge between message and creative: the last decision about how you say it and the first about how you show it. A customer-call script has two voices; a cue-card script is one beat per card. Test for any creative element: does it carry the message, or just host it?
94
+
95
+ ## Three uses
96
+
97
+ ### 1. Tag an ad (the read)
98
+
99
+ One ad in, one filled grid out. Quote the ad for every field; do not paraphrase.
100
+
101
+ ```
102
+ AD: <id / brand / source / run days or result>
103
+ WHO segment (O × D × F) · persona if named · awareness caught at
104
+ CONCEPT the flat fact, one sentence (or "none: a pure angle on a market truth")
105
+ ANGLE family · role starred · the door line, quoted
106
+ MECH UMP (the named cause) · UMS (the named fix) · brand gate present? · name implies fix?
107
+ BLOCKS pain n/10 · promise n/10 · proof n/10 · curiosity n/10 · constraints n/10 · conditions n/10 · missing:
108
+ BEATS in order as they appear (from the map + the ten) · overbuilt: · unreached:
109
+ HOOK quoted · which beat promoted · intensity 1–3 · straddle / symptom / worldview / story
110
+ STRUCT medium · skeleton (beat order in five words) · conceit · style
111
+ CREATIVE static: native / template:<type> / branded · video: conceit · actor · style · terrain · setup
112
+ SWAP the cheapest swap that would make this a different ad · the expensive one
113
+ NOTE one line: why it works or why it died
114
+ ```
115
+
116
+ For a single winning ad that deserves a full dissection, the `message-isolator` Genesis bot returns an eight-layer message object with exact quotes; run it, then fill the grid from it.
117
+
118
+ ### 2. Write a brief (the build)
119
+
120
+ Same grid, filled before the ad exists, top to bottom because each layer constrains the next: segment and awareness first, then concept and mechanism, then angle, then the beats the awareness level still needs, then hook candidates (five, maximally different), then skeleton, then the creative choices with the conceit chosen last on the messaging side and first on the creative side. A brief with an empty curiosity row or an unnamed mechanism is not ready to write.
121
+
122
+ ### 3. Feed patterns and gaps
123
+
124
+ Tag a set of ads with the grid, then count per layer: which segments, which angle families, which mechanism words, which beats, which hooks, which conceits. A pattern in one layer with the others held constant is what tells you what the market is responding to. Hand the counts to `patterns-and-gaps`; it reads them by layer and finds the gaps by layer.
125
+
126
+ When a definition here is unsettled for your brand (concept versus angle, where the brand gate sits), bank the call with `remember-that` and it becomes the rule here.
127
+
128
+ ## Worked read (fictional)
129
+
130
+ A competitor ad in the fictional cortisol lane, 289 days running. WHO: cortisol belly × women 45 to 60 × "tried everything" (solution-aware). CONCEPT: night-time cortisol keeps fat locked on the midsection. ANGLE: Authority, discoverer starred: a nurse who "sees it a thousand times a week". MECH: UMP "cortisol lock" (name implies a key), UMS the two-ingredient evening blend; brand gate present ("most ashwagandha is root powder; ours is the standardised extract"). BLOCKS: pain 9, promise 7, proof 6, curiosity 8, constraints 5, conditions 7; missing: a risk line with teeth. BEATS: call-out → symptom stack (problem narrative) → failed solutions → UMP → absolution → UMS → demonstration → timeline → offer; overbuilt: momentum; unreached: risk. HOOK: "You're not fat. Your cortisol is." Beat promoted: absolution. Intensity 3. Symptom hook. STRUCT: video, skeleton = diagnosis-then-timeline, conceit = clinic visit, style = UGC with lower-thirds. CREATIVE: actor nurse in scrubs, terrain clinic hallway, setup a clipboard. SWAP: cheapest = style (shoot it as a phone call); expensive = segment (men 35+). NOTE: works because the absolution beat is the hook and the spine, and the brand gate lands before the offer.
131
+
132
+ ## What this skill is not
133
+
134
+ It does not choose the segment (odf), find the mechanism (mechanism), or write the ad. It is the parts list every one of those skills refers to, and the read that turns any ad into comparable data.
135
+
136
+ ## Standards
137
+
138
+ Before producing anything, read `STANDARDS.md` at the workspace root (and the section for this output type). Grade the draft against it before showing it; rewrite failures first. When the user reacts with a judgment, a banking phrase, or the same note twice, hand the reaction to `remember-that`. At the end of the session, `handoff` scrapes the chat and proposes entries.
@@ -0,0 +1,69 @@
1
+ # The beat map
2
+
3
+ Fourteen narrative beats reverse-engineered from VSLs. Each answers a subconscious question the reader has before they can say it, and each is fodder for hooks, ads, emails, and curiosity content. Read down the beats to find the point of an ad. Tag an ad's lines to beats to find what is overbuilt and what is unreached.
4
+
5
+ | # | Beat | The question it answers | Sub-beats | Example |
6
+ |---|---|---|---|---|
7
+ | 1 | Speaker background and credibility | Who are you, and why should I listen to you about this? | general background · credentials · personality and perspective | "As a former yo-yo dieter myself, I know firsthand how demoralising it is to try every diet trend and end up back where you started." |
8
+ | 2 | Problem narrative | Do you actually understand what I'm going through, and how serious it is? | early warning signs · worsening · crisis point · emotional nadir | "I found myself walking on eggshells, afraid to say anything that might set her off." |
9
+ | 3 | Failed solutions | Why hasn't anything I've tried worked, and why is yours different? | common advice is wrong · common remedy makes it worse · comparisons | "Cutting carbs seems like the holy grail, but when you slash them your body goes into full panic mode." |
10
+ | 4 | Myths and mistakes | What beliefs am I relying on that are making it worse? | prevailing myths · costly mistakes | "One of the biggest myths about building wealth is that you need a high-paying job or an inheritance." |
11
+ | 5 | Unique mechanism preview (UMP) | Why were YOU able to figure out this hidden reason when other experts haven't? | discovery narrative · UMP trigger | "A landmark study uncovered a psychological trigger that makes women feel an uncontrollable pull. Dr. Hoffman calls it 'the Lovemap Loophole'." |
12
+ | 6 | UMP cause | What's REALLY causing it, and who or what is responsible? | surprising culprit · UMP adversaries | "The food industry adds AGEs to enhance flavour and shelf life, putting profits over people's health." |
13
+ | 7 | Unique mechanism elaboration | If this explains my issue, why doesn't everyone have it, and why is it worse now? | individual differences · changing landscape · unspoken truth | "In the past there weren't many emulsifiers in food. Now the amount has skyrocketed by more than 340%." |
14
+ | 8 | Self-reflection | How do I know this applies to ME? | UMP quiz | "Do you eat a lot of processed food? Cook at high temperatures? Struggle with belly fat despite eating well?" |
15
+ | 9 | UMS preview | How did you uniquely discover this solution when everyone else missed it? | UMS trigger | "After a devastating breakup I stumbled on an ancient Tibetan manuscript that revealed 'Emotional Resonance'." |
16
+ | 10 | UMS characterisation | How can you prove the solution is simple, intuitive, unique, and different? | blind / curiosity characterisation · single-step action · transformational roadmap · taboo reframe | "To trigger his response, all you need to do is whisper one specific phrase in his ear." |
17
+ | 11 | UMS tips and secrets | Can you give me value right now, before I commit? | how-tos, tips, ingredients, secrets | "One simple trick to create instant connection is to mirror their body language." |
18
+ | 12 | Creating the solution | How do I know this is credible, tested, and proven? | attempts and failures · first user success · unsolicited requests · zero-to-hero testimonials | "'I've struggled with my weight since high school… after 30 days I'm down 23 pounds' — Lisa H." |
19
+ | 13 | Momentum | Why act now instead of thinking it over? | urgency · scarcity | "We can only accept a limited number of couples to ensure personal attention." |
20
+ | 14 | Risk | What if it doesn't work, and what happens if I do nothing? | risk reversal · guarantees | "If you don't see a significant increase in 90 days, we refund everything and add a bonus session." |
21
+
22
+ The UMP trigger list, reused for the UMS at beat 9: scientific evidence, news, historical example, story, analogy, thought experiment, personal challenge, counterintuitive wisdom, paradoxical question.
23
+
24
+ ## Ten beats short video forces into existence
25
+
26
+ Not on the map, present in the winning corpus:
27
+
28
+ - **Call-out**: who this is for.
29
+ - **Absolution**: "it's not your fault, it's the mechanism." Arguably the highest-leverage beat in direct response; buried inside failed solutions on the map.
30
+ - **Demonstration**: live proof in action.
31
+ - **Future pacing**: the after, shown.
32
+ - **Comparison**: versus named alternatives.
33
+ - **Offer reveal / value stack**.
34
+ - **CTA**: the map ends at risk; there is no beat for "here is literally what to do."
35
+ - **Re-hook**: the mid-roll pattern interrupt every 20 to 30 seconds; a floating beat that inserts between others.
36
+ - **Qualification / exclusivity**.
37
+ - **Belonging**: "join 40,000 women who…"
38
+
39
+ ## The nine verdicts (what beats are for)
40
+
41
+ A beat is testimony; a verdict is the belief it closes. The verdict list is closed; the beat list is open forever.
42
+
43
+ 1. My problem is really caused by Y. (beats 5, 6, 7)
44
+ 2. Everything I tried failed because it never touched Y. (beats 3, 4)
45
+ 3. Z fixes Y through this pathway. (beats 9, 10, 11)
46
+ 4. Only this version of Z reaches Y. **The brand gate. No beat on the map.** Generic is dead → sourcing specifics → verification ritual.
47
+ 5. Left alone, Y compounds. (beat 2, and the ratchet)
48
+ 6. This messenger can be trusted. (beats 1, 12)
49
+ 7. This applies to me. (beat 8)
50
+ 8. I cannot lose. (beat 14)
51
+ 9. Now, not later. (beat 13)
52
+
53
+ **The verdict audit.** Tag every line of an ad with the verdict it serves. Which verdicts are unreached? Does the market's awareness already cover them? Overbuilt verdicts show up as bloat (timing is the usual one: "sells out constantly"). Unreached verdicts show up as the reason it did not convert (risk is the usual one). Awareness collapses the map: each notch up collapses beats 3 to 9, because their verdicts arrive pre-closed, and running them anyway re-litigates settled questions on borrowed attention.
54
+
55
+ ## The unaware-ad skeleton, with lengths
56
+
57
+ ```
58
+ Hook 1–2 sentences
59
+ Payoff 50–2000 words
60
+ Story 1000–2000 words
61
+ Other angles 100–150 words
62
+ === transition ===
63
+ Mechanism 200–300 words problem → intermediary → mechanism
64
+ Solution 200–300 words solution → unique solution
65
+ Product 150–300 words what's different about yours
66
+ Offer 50–100 words why buy now
67
+ ```
68
+
69
+ Luke's short-ad skeleton: HOOK → POINT → MECHANISM → OFFER.
@@ -0,0 +1,50 @@
1
+ # Concept, angle, and where concepts come from
2
+
3
+ ## Concept versus angle
4
+
5
+ Concept: the raw truth, the flat fact, the WHAT. Angle: the frame wrapped around it, the WAY IN. If you can say it flat, no villain, no feeling, no "you", it is a concept.
6
+
7
+ Precise version: a concept is a causal graph. "Chronically high glucose → endothelial damage → narrowed penile artery → reduced flow → weaker erections, with a feedback loop shame → avoidance → stress → worse glucose." Two ads on the same topic with different graphs are different concepts. Same graph, same concept.
8
+
9
+ Angle: which role in the graph you star.
10
+
11
+ | Role starred | Angle |
12
+ |---|---|
13
+ | Adversary | conspiracy / exposé |
14
+ | Discoverer | breakthrough / accidental discovery |
15
+ | Experiencer | story |
16
+ | Clock | warning / countdown |
17
+ | Admitter (insider) | enemy admission |
18
+ | Place | geographic |
19
+ | Prior belief violated | reframe / myth |
20
+
21
+ The affordance rule: an angle is available only if a fact fills its role. Worked on a fertility product: discoverer = the researchers; adversary = an industry with a $25K product to protect; admitter = embryologists who take it themselves; experiencer = a 43-year-old after four failed transfers; clock = the monthly decline rate after 35; place = none found, so no geographic angle; prior belief violated = "old eggs are old, period."
22
+
23
+ Asymmetries: concepts burn out, angle families do not. A handful of true concepts, unlimited angles; most firepower goes into angles. Diagnostic: if timeline ads keep winning, the market is responding to the angle; if one word keeps recurring across every frame, it is responding to the concept.
24
+
25
+ Proposed definition, not locked: a concept is a belief they don't have yet; an angle is a belief they already have; the ad is the wire from the second to the first.
26
+
27
+ ## Angle families
28
+
29
+ Discovery · Urgency · Authority · Conflict · Story · Reframe. The wider taxonomy ran to 55 entries; a stress test kept about 24 and evicted the rest as claims, spines, or proof modes wearing an angle's name (root cause → concept layer; hero's journey → skeleton; quiz → beat; permission granting → the absolution beat).
30
+
31
+ ## Where concepts come from: insight vectors
32
+
33
+ An insight vector is an edit to the causal graph the prospect already holds. Information adds nodes and needs source trust. Insight rewrites edges between nodes they already have and needs no trust at all, because every node in the rewrite is already theirs. The "aha" is that edit executing in their head.
34
+
35
+ Eight families, with one example each:
36
+
37
+ - **Causation shifts**: reverse ("your dog isn't misbehaving because they're stubborn; they're stubborn because they're misbehaving"), hidden, multiple, circular, delayed ("the fat you fight today was programmed by metabolic damage two years ago"), threshold.
38
+ - **Feedback loops**: vicious ("each sleepless night floods you with stress hormones, so your mind races faster the next night"), virtuous, balancing, reinforcing, delayed, cross-system ("slouched shoulders become salary problems").
39
+ - **Structure revelations**: hidden constraints, system boundaries ("you obsess over kibble brands when the microbiome is the system that matters"), leverage points ("a 3-second adjustment at first crack beats $2000 of roasting equipment"), bottlenecks, dependencies, hierarchies.
40
+ - **Context shifts**: environmental, rule, paradigm ("it's not about more DHT, it's about follicle sensitivity"), time horizon, scale, network.
41
+ - **Pattern recognition**: hidden cycles, archetypes, fractal, leading indicators ("a 23% spike in one-way U-Haul rentals has preceded every real-estate boom by eight months"), pattern breaks, meta-patterns.
42
+ - **Mental model updates**: false assumptions, missing variables, wrong metrics ("amateurs celebrate win rate; pros watch risk-adjusted expectancy"), model limits, model conflicts ("one foot on the gas, one on the brake"), model evolution.
43
+ - **Optimisation shifts**: local vs global, visible vs hidden, direct vs indirect ("nagging creates instant resistance"), simple vs complex, static vs dynamic, short vs long term.
44
+ - **Relationship revelations**: non-linear, emergent, counter-intuitive links ("your moisturiser is causing premature aging: the moisture dependency effect"), hidden dependencies, synergies, trade-offs ("the harder you cut calories the more your metabolism slows").
45
+
46
+ They stack. The textbook example: "It doesn't matter if you feed the most expensive kibble or table scraps; all that matters is what their gut converts it into. Think of it as a currency exchange." Zero new facts, one new edge, and the prospect supplies the confirming evidence from memory.
47
+
48
+ The nine operations every vector reduces to: install node · install edge · sever · redirect · flip · relabel · reweight · retime · swap.
49
+
50
+ Validation filters: not obvious · reveals a mechanism · proof-free (self-evident) · retellable · suggests an action. Delivery shape of one insight: familiar situation → pattern break → mechanism reveal → "therefore" bridge → action path. Banned: gravity, momentum, snowball metaphors; "success breeds success"; vague energy or force analogies.
@@ -0,0 +1,69 @@
1
+ # Hook and structure
2
+
3
+ ## Hook rules
4
+
5
+ The hook is concept plus angle compressed to the fewest, sharpest words. Structurally, a beat promoted to slot zero, usually the body's organising beat. Hooks rotate independently of the body, so test five hooks made maximally different on one body, not micro-variations.
6
+
7
+ Craft rules:
8
+
9
+ - Immediate relevance.
10
+ - Charged language: object words and action verbs with natural charge ("bullied", "whip", "dead muscle").
11
+ - An open loop, natural intrigue.
12
+ - Stakes; rubbernecking.
13
+ - Specific and tangible, but specificity that points at the point, not away from it.
14
+ - Caveman-simple. "Most language is filler, filler, filler, then a point. Be clear what the point is and let the rest be simple."
15
+ - No fragments. One sentence, not three.
16
+ - Consequence first, mechanism later.
17
+ - Germanic over Latinate ("cloth" over "fabric").
18
+ - A 1 to 3 intensity dial; always some wildcards.
19
+
20
+ Worked edit. Before: "My daughter got me this omelet, I caught myself staring at the stove barefoot without the broken glass feeling." The read: the point is hard to see, the specificity goes the wrong way. After: "My granddaughter bullied me into eating this weird Indonesian fruit to stop my neuropathy. Now, for the first time in three years, I can walk barefoot." The charged word is "bullied"; the rest is pain point and promise in plain words.
21
+
22
+ Second edit: "Laxatives whip your colon" has the association but you cannot see it. "Abuse it until it becomes a dead muscle that can't poop anymore" lands.
23
+
24
+ Patterns: weird facts ("why you wake up at 3:17am") · magic words ("the four-word text that makes him chase you") · weird methods ("the Japanese loophole that melts fat overnight") · incomplete loops.
25
+
26
+ Failure mode: hook and body diverging too far pays the clickbait tax, high click rate and dead conversion. The exception that proves the rule: a conspiracy-bodied ad opening with a discovery hook that pivots to suppression in line two.
27
+
28
+ ## Unaware hooks
29
+
30
+ Four types for unaware traffic: **straddle** (curiosity plus relevance in the first line), **symptom** (a neutral reference plus a charge), **worldview** (a belief chain: tap the reservoir → explain why → show the cost → mechanism, product, offer), **story**.
31
+
32
+ Relevance has four levels of charge, from broad to sharp: existential (death, aging) → mechanism (cortisol, blood sugar) → condition (neuropathy, ED) → sensation (tingling feet, waking at 3am, brain fog at 2pm).
33
+
34
+ The onion ladder, unaware to problem-aware, one word at a time:
35
+
36
+ ```
37
+ What onions do to you
38
+ What onions do to your body
39
+ What onions do to your health
40
+ What onions do to your blood sugar
41
+ What onions do to your neuropathy
42
+ ```
43
+
44
+ Symptom hooks: "Is your dog eating grass?" → "That's a sign of digestive distress." "If you need coffee to wake up, your mitochondria are already 40% dead."
45
+
46
+ Process: hooks first, always. A hook bot plus a hook primer of 50 to 100 winning hooks plus the brief, pushed two or three times, then edited by hand.
47
+
48
+ ## Structure: the four dials behind "format"
49
+
50
+ | Dial | What it is | Examples |
51
+ |---|---|---|
52
+ | Medium | the container | static, video, carousel |
53
+ | Skeleton | beat order | timeline, specimen VSL, diagnosis-then-timeline, mechanism explainer, exposé |
54
+ | Conceit | what it pretends to be | podcast, street interview, 80s news desk, customer call, cue cards, song |
55
+ | Style | visual gloss | UGC, Pixar, claymation, greenscreen, whiteboard, mummies |
56
+
57
+ Every time someone says "new format", ask which dial. Luke's own list mixes all four: story-telling song ad (conceit + style), timeline (skeleton), UGC (style + actor), animated ingredients or villains (style), conspiracy timeline (skeleton with the adversary beat as spine), podcast (conceit), POV (conceit + style), specimen VSL (skeleton: the problem-cause beat promoted, trust carried by the instrument), 80s retro news (conceit).
58
+
59
+ A format is a beat promoted to spine. A hook is a beat promoted to slot zero. When the same beat takes both, format, concept, and hook arrive fused; that is why "conspiracy timeline" reads as one thing.
60
+
61
+ Skeletons are walks through the concept graph: timeline narrates forward node by node; mechanism explainer walks backward from symptom to root; exposé starts at the adversary and radiates out. Same graph, three orders, three different-feeling ads.
62
+
63
+ Awareness collapses skeletons. Each notch up collapses the middle beats; running them anyway re-litigates settled questions on borrowed attention. Short-ad skeleton: HOOK → POINT → MECHANISM → OFFER.
64
+
65
+ Format beats copy (the Lampropoulos principle): the same copy moved into a bookalog format has been the massive winner. When copy is stuck, change the format before the words.
66
+
67
+ ## Conceit: the hinge
68
+
69
+ The conceit is the last decision about how you say something and the first about how you show it. It is the script's shape, not a separate step: a customer-call script has two voices, a cue-card script is one beat per card. Test for every creative element: does it carry the message, or just host it?
@@ -0,0 +1,147 @@
1
+ ---
2
+ name: bot-builder
3
+ description: Build a custom bot (a prompt that does one job well) the way Luke and Mario build the Genesis bots, and put it where it runs: an Exodus workflow Prompt node (variables, model, temperature, loops), a Genesis bot via the bot-builder-bot, or a Claude Code skill. Use it whenever someone says "build me a bot", "I want a bot that…", "turn this into a prompt", "make a node for the workflow", "clone my voice", "the bot keeps doing X, fix the prompt", "write the system prompt", or whenever, mid-task, a repeated step would be better as its own bot (then say: we'll just build that for you). The method is SEAK: Structure, Examples, Ask AI, Knowledge. The two things that matter most are domain knowledge and seven to ten high-quality, diverse examples, and this workspace already knows where the examples live (the ad bank, the swipe files, the winners, the reviews). Also covers the advanced stack (mandate, elite intelligence unit, operational protocol, quality-control checklist, creative-freedom filter, automatic failure triggers, anti-AI module) and the iterate loop (test, note everything you hate, ask AI to fix it, preserve don't compress).
4
+ ---
5
+
6
+ # Bot builder
7
+
8
+ A bot is a prompt with a structure, examples, and knowledge that does one job. Luke's crash course, in full: pick the right structure, find seven to ten high-quality examples, put in the domain knowledge and modules, test it, note everything you hate, tell AI to fix it, repeat until done. Everything else in this skill is detail on those five moves.
9
+
10
+ Two rules before anything:
11
+
12
+ - **Domain knowledge plus examples is the alchemy.** A rigorous concept with ten clear examples lets a model do the job better than most humans. Take either away and the bot gets worse. If you can only have one, examples win.
13
+ - **One task per bot.** Ideate, generate, and edit are different modes. Mixing them in one call makes every output muddier. A story-idea bot feeding a writing bot beats one bot that does both.
14
+
15
+ Think mode for scoping (what is it, who uses it, what comes out). Build mode for writing the prompt and running the test loop. Read `thinking-vs-build` if installed.
16
+
17
+ ## Step 0. Say what it is
18
+
19
+ Before writing a line, answer these in a few lines and say them back:
20
+
21
+ - **Who uses it and in what mindset?** A coach sitting down to write an email. A strategist who just ripped twenty ads. A node in a workflow that nobody talks to. This decides the whole operational protocol.
22
+ - **Inputs.** What they will actually have in hand: a buyer profile, a sales page URL, a dump of transcripts, a voice note. Give them two or three ways in; forcing one path is annoying.
23
+ - **Output.** The exact shape. A menu of twenty ideas. A rewritten email. A table with fixed columns. A one-breath mechanism.
24
+ - **Type.** Two dials, four types. Generative (a little in, a lot out) or analytical (a lot in, a little out). Interactive (back and forth, a process) or node (one in, one out, no conversation). A writing bot is generative and mostly node. A copy chief is analytical and interactive. An extract bot is analytical and node. Two modifiers: how polished (internal, or emoji-and-hierarchy pretty for perceived value) and how autonomous.
25
+ - **Where it runs.** An Exodus workflow Prompt node, a Genesis bot, or a Claude Code skill. See "Where it lives" below. The structure is the same everywhere.
26
+
27
+ Do not get stuck on the type. It is a tool to pick the structure, not a gate. If in doubt, build the node version first; it is the easiest and it slots into workflows.
28
+
29
+ ## Step 1. Structure (the S)
30
+
31
+ The building blocks, in the order that works for most bots:
32
+
33
+ | Block | What it is |
34
+ |---|---|
35
+ | Identity | The role, or better, the task and the team (see elite intelligence unit) |
36
+ | Purpose | The outcome, stated as the one thing success is measured on |
37
+ | Process | The steps, only for interactive bots; each step is its own subroutine with its own purpose, knowledge, and examples |
38
+ | Domain knowledge | The concepts the job runs on (copy blocks, ODF, the mechanism rules, a theory of humour) |
39
+ | Examples | Seven to ten, diverse, best first |
40
+ | Modules | Plug-in blocks reused across bots: copy chief, copy blocks, rhetorical frames, anti-AI |
41
+ | Formatting | The exact output shape |
42
+ | Guidelines | Do's and don'ts, then a recap of the mandates |
43
+
44
+ Order changes by type. **Voice and writing bots put examples before knowledge** (a voice is thousands of dimensions; examples carry them, descriptions do not). **Asset and analysis bots put knowledge before examples** (the concept is the job; examples show its shape). **Process bots put the process early** so the bot knows the flow, then each step carries its own purpose, knowledge, and examples.
45
+
46
+ Full block templates, by type, with the advanced additions: `references/prompt-blocks.md`.
47
+
48
+ ## Step 2. Examples (the E)
49
+
50
+ The most important input. Rules:
51
+
52
+ - **Seven to ten.** More rarely helps. Fewer than five overfits.
53
+ - **Diverse.** Short and long, with and without a call to action, selling and value, emotional and neutral. Diversity is what stops every output sounding like example one.
54
+ - **Best first.** Earlier examples carry more weight. The first example is the one the bot will sound most like.
55
+ - **Explain why.** An example plus one line on what makes it good beats the example alone. The bot learns the boundary, not just the shape.
56
+ - **Micro-examples too.** For structured outputs, show one example per component (a hook type with its example, a reframe with its example), not only whole pieces.
57
+ - **Show what to do, not what not to do.** Negative examples teach the negative.
58
+ - **Drip a little of what you want more of.** If the outputs are not hitting hard enough, add one example from a writer whose edge you want. A dash of it changes the alchemy.
59
+
60
+ Where the examples come from, in this workspace:
61
+
62
+ - Own winning ads, transcripts and copy, in the ad bank and the tested-ads master file. Highest quality.
63
+ - Competitor long-running ads from the swipe files (the rip). Proven in the wild.
64
+ - Reviews and comments with counts, from the research folders, for anything that needs the market's own words.
65
+ - The Scout library in Exodus for organic hooks.
66
+ - Genesis bank keys (hooks, headlines, body by awareness, modules) when the bot runs as a workflow node.
67
+
68
+ When no examples exist, **bootstrap them**. Start with one to three seed examples, even if you have to write them by hand. Build the v0 bot with the structure and the seeds. Generate one output. Edit it until it is as good as you can make it (or bring it to a feedback call). Put it back in as example four. Generate again. After five or six rounds the bot writes examples you no longer need to edit. Mario built almost every Genesis bot this way. A universal writing bot with a large example bank can also write your first seeds in any style ("write in this style, do not copy the content or structure, just the voice"), then you edit them. If a swipe feels too close to steal, have the model rewrite it into a different niche with the same idea, and use that.
69
+
70
+ ## Step 3. Ask AI (the A)
71
+
72
+ You are not asking enough. Ask at every step: what bot am I even building, how should I structure it, what is missing, where should this new block go, why does it keep ignoring rule four. Habits that make the answers better:
73
+
74
+ - Ask for its honest read, not confirmation: "you can say yes, no, or no opinion; tell me why."
75
+ - Ask for reasoning; it thinks harder when it has to explain.
76
+ - Refresh the chat between tasks; one chance to get it right beats a long muddied thread.
77
+ - Separate ideate, generate, edit into different calls.
78
+ - Use `###` as section separators; it reads them cleanly.
79
+ - "Do not be afraid to use tokens; go as long as you can." Models conserve by default.
80
+ - When optimising a prompt: **preserve, do not compress.** "Keep everything I wrote, only add what is missing, change words only where you say so explicitly." Left alone, the model simplifies and makes the prompt generic.
81
+ - Feed the model the prompt plus two or three bad outputs and say: fix the prompt so it never does this again. Then ask it exactly where to paste the fix.
82
+
83
+ ## Step 4. Knowledge (the K)
84
+
85
+ Domain knowledge is where the moat is. Three sources: theories that already exist, your own ideas, or examples you make the model find the pattern in. When the concept does not exist yet, build it with **expand, contract, refine**:
86
+
87
+ 1. **Expand.** "Give me every theory of X ever made." Then "more, you are missing some." Then "a detailed paragraph with examples for each." Push until it covers everything.
88
+ 2. **Contract.** Order it into one clear, unified system with a conceptual hierarchy (the model is bad at hierarchy on its own; it mixes levels). Ask the model to "organise all of these into a rigorous hierarchy: principles, then mechanisms, then moves, then examples, no level mixing."
89
+ 3. **Refine.** Read it. Argue with it. Cut. "Add anything we are missing." Expand again. Repeat until it is yours.
90
+
91
+ For voice bots the knowledge is small: a paragraph on how they speak (language, tone, relationship to audience, personality) and a paragraph on what they say (point of view, philosophy). Twenty to thirty percent of the way is enough; the examples carry the rest.
92
+
93
+ ## Step 5. The advanced stack (when v1 is not good enough)
94
+
95
+ Most of this was added by trial and error when a bot would not behave. Add pieces as the bot earns them; do not start here.
96
+
97
+ - **Mandate at the top.** The one metric success is measured on, before identity. "Your success is measured solely by X. Err on the side of Y." It sets the lens for everything below.
98
+ - **Elite intelligence unit** instead of one role. Name the task, then five to seven specialists whose skill sets serve it, each with credentials, purpose, and contribution. Include non-obvious ones (a method actor to embody the prospect, a courtroom psychologist for proof, a Disney experience designer for the user's journey). Give a rule for when they disagree.
99
+ - **Operational protocol.** The exact steps the user sees: how to give inputs (two or three doors), what the bot does with them, what it asks before writing. Complex behind the scenes, simple in front. Menus as numbers for one list and letters for the next so it never confuses them.
100
+ - **Decision rules, conditional.** Awareness level, traffic temperature, towards versus away motivation. "If solution-aware and towards, open with the differentiation; if problem-aware and away, open with pain amplification."
101
+ - **Framework with explanation.** Whatever system the copy runs on (copy blocks, AIP, your own), explained with why each part matters, not just listed.
102
+ - **Quality-control checklist.** A mandatory pre-delivery check per section, run before anything is shown. It makes the bot justify its choices; it does not stop every hallucination, but it catches most.
103
+ - **Proof confirmation step.** Before writing, the bot lists the proof elements it will use and asks the user to strike any it cannot verify. Cheapest hallucination fix there is.
104
+ - **Creative-freedom filter.** Permission to invent new hook types, structures, sequences, as long as the core principles hold. Without it the bot is a keyboard monkey; with it, consistency drops a little and the ceiling rises a lot.
105
+ - **Automatic failure triggers.** "If the hook and the insight do not align, the script is a failure regardless of quality." Repeat the ones that matter at the start, in the middle, and at the end; the end recap uses recency.
106
+ - **Anti-AI module.** The gnome list for this market plus the generic ones (triplets, "it's not X, it's Y", "here's the kicker", brutal truth, 2:47 AM, colons in headlines, inconsistent breaks). Kill gnomes in four places: the examples first, the module, the input method (voice notes keep the human in), then manual editing.
107
+ - **Copy chief module** at the end of writing bots: a menu of dimensions the user can turn (more insight, stronger hook, shorter, more natural, more feminine, less salesy) so chiefing becomes "more like this, less like that."
108
+ - **Prompt protection and a demo mode** when the bot faces other people.
109
+ - **Tone with the model.** Be strict where it matters ("automatic failure", "you must"), and give it a reason. Redundancy is fine; the extra tokens are cheaper than a bad output.
110
+
111
+ Mario's fully worked talking-head bot is a caricature on purpose: fifteen thousand words, too many specialists, every block present. Build the simple one first, then weed. The real expertise is curation: fewer specialists, better examples, tighter frameworks.
112
+
113
+ ## Step 6. Test and iterate
114
+
115
+ 1. Run it on a real input. Read the output cold.
116
+ 2. Write down everything you hate, in plain words. "It says 'here's the kicker'. It gave ten options when I wanted one. It invented a study."
117
+ 3. Give the model the prompt, the outputs, and the list. "Fix the prompt so this never happens. Preserve everything else. Tell me where you put each fix."
118
+ 4. Paste the fixes where it said. Run again.
119
+ 5. Stop when it saves you time and you would ship the output with light edits. The first bot takes five to ten hours. The tenth takes an afternoon, because you steal blocks from the previous nine.
120
+
121
+ If the bot is meant to learn your taste over time, keep the before-and-after pairs from every edit; that is the instinct-transfer material.
122
+
123
+ ## Where it lives
124
+
125
+ Same prompt, three homes. Pick by who runs it.
126
+
127
+ **Exodus workflow: the Prompt node.** Author it when the bot is a step in a saved automation. The prompt is the node: what you write is sent as one call on the workspace's own LLM key, no Genesis slug needed. Every distinct `{{variable}}` in the body becomes a required input port (up to 12), fed by a text wire or a Primer node. Config: `model` (Claude ids work on any key; slashed ids need OpenRouter), `temperature` 0 to 1 (honoured here, ignored on Genesis-routed bots), `loops` 1 to 5 (self-critique-and-rewrite passes; only the final flows downstream) with `loopInstructions` per extra pass, `bankKeys` to ride the brand's hooks, headlines, body, or modules banks along as reference, `sessionMode` to keep a chat handle. Fan it out with a Splitter (one lane per item), close with a Collector, gate with a Checkpoint. Contract, YAML, and gotchas in `references/exodus-prompt-node.md`. Validate before import; the schema is live, pull it fresh.
128
+
129
+ **Genesis bot via bot-builder-bot.** When the bot should be a reusable Genesis bot or you want a first draft of the whole prompt from a concept. The `bot-builder-bot` (slug in the live catalog) takes a concept and returns a complete prompt in the eight-block shape (identity, purpose, process, domain knowledge, examples placeholder, formatting, guidelines) plus implementation notes: type, temperature, model, testing priorities. It leaves the examples slot for you, correctly, and tells you what to put there. Prompt template that produced a clean node-safe draft in one shot: `references/prompt-blocks.md`, last section. Call it through the `genesis-bots` helper. Then run Step 6 on the draft; it is a v0.1, not a release.
130
+
131
+ **Claude Code skill.** When the bot is a method you want fired by phrases in this folder, or handed to a collaborator as a zip. Same blocks, written as a SKILL.md with a pushy description. The skills in this folder are the examples.
132
+
133
+ **The rule for offering it.** Any time a step in a session repeats (a third rip, a second grid, the same extraction on every swipe), say: this should be a bot, we will build it for you. Then run Step 0 in three lines and build the node version.
134
+
135
+ ## Worked example (fictional brand, real run)
136
+
137
+ Concept: a "segments seen" node for the fictional Evenkeel account. Analytical, node. Input: a dump of competitor transcripts. Output: every segment the ads call out, as Outcome × Demographic × Facet, with the exact quote, the ad id, and a note on whether it is a segment, a copy line, or a hypothesis. Runs silently inside a workflow.
138
+
139
+ Step 0 took four lines. Step 1: the bot-builder-bot returned identity (competitive intelligence analyst), purpose (silent, one in one out), a six-step process (inventory, extract signals in four categories, apply the grammar, copy-line test, mark hypotheses, compile), domain knowledge (the four facet families with examples, the validity rules, confidence tiers), an examples placeholder with instructions to include one copy-line case and one hypothesis case, a fixed output block per segment, and guidelines (quote exactly or not at all, silence is default, one signal one segment, volume does not equal validity, no editorial opinion, workflow-safe). Implementation notes: analytical one-shot, temperature 0.5, a high-reasoning model, four testing priorities. Step 2: three hand-marked transcripts go in the examples slot, best first. Step 6: test on five ads for quote fidelity, two ads with identical phrases for the copy-line trigger, one transcript-heavy ad for over-extraction, fifty ads for scale. Home: a Prompt node with `{{transcripts}}` as the one slot, temperature 0.3, loops 2 with the second pass told "check every quote against the source and drop any that are not verbatim", output wired to the segments-seen file.
140
+
141
+ ## What this skill is not
142
+
143
+ It does not decide what the copy should say (copy-instincts), who it is for (odf), or why the product works (mechanism). It packages a job into a prompt that runs without you, and puts it where it runs.
144
+
145
+ ## Standards
146
+
147
+ Before producing anything, read `STANDARDS.md` at the workspace root (and the section for this output type). Grade the draft against it before showing it; rewrite failures first. When the user reacts with a judgment, a banking phrase, or the same note twice, hand the reaction to `remember-that`. At the end of the session, `handoff` scrapes the chat and proposes entries.