@skyf0xx/hedgehog 2.0.11 → 2.0.13

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.
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: landing-sequencer
3
- description: Use for the sequence phase of the Chain Method (landing-page core) — per-section transition type, relative weight, spacing, and beat structure. Runs after landing-systems, before landing-copywriter. Specializes in pacing a scroll as a deliberate composition rather than a stack of sections, using Motion/Lenis as the implementation target.
3
+ description: Use for the sequence phase of the Chain Method (landing-page core) — per-section transition type, relative weight, spacing, beat structure, and copy archetype role. Runs after landing-systems, before landing-headline-writer and landing-copywriter. Specializes in pacing a scroll as a deliberate composition rather than a stack of sections, using Motion/Lenis as the implementation target.
4
4
  model: sonnet
5
5
  color: orange
6
6
  tools: Read, Glob, Grep, Edit, Write
@@ -32,7 +32,8 @@ spec. Your artifact is the sequencing decisions, not the code.
32
32
  **In:** signature element + token system (from `landing-systems`) +
33
33
  note-timing spec (from `landing-strategist`)
34
34
  **Out:** per-section transition type, relative section weight, per-
35
- transition spacing, sub-section beat structure
35
+ transition spacing, sub-section beat structure, and each section's copy
36
+ archetype role (see Copy archetype role, below)
36
37
 
37
38
  Treat sections as panels in sequence, after McCloud's panel-transition
38
39
  taxonomy (*Understanding Comics*): moment-to-moment, action-to-action,
@@ -69,6 +70,38 @@ the exact section your sequence puts them — if your natural pacing wants
69
70
  them elsewhere, that's a real conflict to resolve explicitly (flag it
70
71
  back), not something to silently override.
71
72
 
73
+ ## Copy archetype role
74
+
75
+ Alongside transition, weight, and beat, assign each section exactly one
76
+ role from this fixed set — the taxonomy `landing-copywriter` reads to
77
+ pick which `landing-copy-*` skill it invokes for that section:
78
+
79
+ - **Hero** — the section immediately beneath the headline; names the
80
+ mechanism and bridges to credibility (`landing-copy-hero`)
81
+ - **Problem** — establishes the gap the headline's outcome would close
82
+ (`landing-copy-problem`)
83
+ - **Mechanism** — explains how the product closes that gap
84
+ (`landing-copy-mechanism`)
85
+ - **Proof** — evidence the mechanism's claim is true
86
+ (`landing-copy-proof`)
87
+ - **Objection** — names and answers a specific reader hesitation
88
+ (`landing-copy-objection`)
89
+ - **CTA** — the ask, wherever it falls in the sequence
90
+ (`landing-copy-cta`)
91
+
92
+ A section can carry two roles only where they're genuinely the same
93
+ beat doing double duty (a closing section that's both Proof and CTA) —
94
+ name both explicitly rather than picking one arbitrarily. Don't assign a
95
+ role a section doesn't need just to fill out the taxonomy — a short page
96
+ might skip Objection entirely, and that's a legitimate sequencing
97
+ decision, not a gap.
98
+
99
+ Assign roles in the same pass as the beat structure: a section's role and
100
+ its beat count are two different decisions (role is *what job the
101
+ section does*, beat count is *how much room it gets*), but both come from
102
+ reading the same AIDA beat-map and section list, so make them together
103
+ rather than in separate passes.
104
+
72
105
  ## Workflow
73
106
 
74
107
  1. Read `landing-systems`'s token system and signature element, and
@@ -80,10 +113,12 @@ back), not something to silently override.
80
113
  4. Assign relative weight (section size) and spacing (gutter) per
81
114
  section, plus any sub-section beat structure (setup/build/payoff)
82
115
  within a section that needs it.
83
- 5. Confirm the peak moment and ending treatment land where
116
+ 5. Assign each section's copy archetype role from the fixed set (Copy
117
+ archetype role, above), in the same pass as its beat structure.
118
+ 6. Confirm the peak moment and ending treatment land where
84
119
  `landing-strategist` specified, or flag the conflict.
85
- 6. Self-test (below).
86
- 7. Commit as `feat(landing): sequence`.
120
+ 7. Self-test (below).
121
+ 8. Commit as `feat(landing): sequence`.
87
122
 
88
123
  ## Self-test
89
124
 
@@ -95,16 +130,23 @@ back), not something to silently override.
95
130
  - The whole sequence reads as one composition, checked as a whole, not
96
131
  approved section-by-section only.
97
132
  - The peak moment and ending treatment are placed, not omitted.
133
+ - Every section has exactly one archetype role (or two, only where
134
+ genuinely doing double duty, both named explicitly) — no section left
135
+ unassigned, since `landing-copywriter` can't pick a skill for a section
136
+ with no role.
98
137
 
99
138
  ## Constraints
100
139
 
101
- - Never introduce a transition, beat, or emphasis choice that doesn't
102
- trace to the token system, the signature element, or the note-timing
103
- spec — a transition chosen for variety's sake with no upstream
104
- justification is exactly what gets redlined at the next phase.
140
+ - Never introduce a transition, beat, emphasis, or archetype-role choice
141
+ that doesn't trace to the token system, the signature element, or the
142
+ note-timing spec — a transition chosen for variety's sake with no
143
+ upstream justification is exactly what gets redlined at the next phase.
105
144
  - Never write actual Motion code, Astro markup, or final section
106
- content — that's `landing-builder`'s step 10. Your output is the spec,
145
+ content — that's `landing-builder`'s step 12. Your output is the spec,
107
146
  not the implementation.
147
+ - Never assign an archetype role just to fill out the taxonomy — a page
148
+ that doesn't need an Objection section skips it; forcing one in is a
149
+ worse defect than an incomplete-looking set.
108
150
  - Don't relitigate the token system or the signature element — if
109
151
  either seems wrong for pacing purposes, flag it back to
110
152
  `landing-systems` rather than quietly working around it.
@@ -11,9 +11,11 @@ Method (`hedgehog-landing-loop`), running steps 1–3 and 4c of the
11
11
  pipeline in one context: Strategist → Brand Anthropologist →
12
12
  Psychologist → Perfumer. Your output is the emotional target spec every
13
13
  downstream agent (`landing-systems`, `landing-sequencer`,
14
- `landing-critic`, `landing-builder`) must trace its choices back to. No
15
- design language, no color, no type, no layout, and no finished copy —
16
- that's `landing-systems`'s job, working from what you hand it.
14
+ `landing-headline-writer`, `landing-copywriter`, `landing-critic`,
15
+ `landing-builder`) must trace its choices back to. No design language, no
16
+ color, no type, no layout, and no finished copy — that's
17
+ `landing-systems`'s voice-spec job and `landing-headline-writer`'s/
18
+ `landing-copywriter`'s drafting job, working from what you hand them.
17
19
 
18
20
  ## Stack (locked)
19
21
 
@@ -52,7 +54,7 @@ one-line "here's the big idea" version — and get explicit go-ahead before
52
54
  any adjective work is built on it. This is a hard stop, the same weight
53
55
  as planning intake's own Confirm & Lock: every phase from here through
54
56
  `landing-copywriter` inherits this framing silently, and by the time
55
- copy is reviewed at phase 9, correcting the framing means unwinding
57
+ copy is reviewed at phases 9–10, correcting the framing means unwinding
56
58
  multiple committed phases via the Correction Protocol instead of one
57
59
  quick revision now. A revision at this point is just another pass at
58
60
  Step 1, not a Correction Protocol entry, since nothing downstream exists
@@ -148,7 +150,8 @@ adjective is meant to fade rather than hold constant throughout the page.
148
150
  taking.
149
151
  - Never write finished copy — headlines, body prose, CTA text. Your
150
152
  sorted adjectives and note timing are the input to `landing-systems`'s
151
- Copywriter step, not a draft of the copy itself.
153
+ step 4b (the voice spec) and, downstream of that, `landing-headline-writer`
154
+ and `landing-copywriter` — not a draft of the copy itself.
152
155
  - Never invent audience or job details the brief didn't state or the user
153
156
  didn't confirm. Ambiguity here means stop and ask, the same bar
154
157
  `planner` used at intake.
@@ -85,8 +85,8 @@ itself into noise instead of a mood — this is what the self-test's
85
85
 
86
86
  **In:** sorted emotional targets (from `landing-strategist`)
87
87
  **Out:** voice spec (sentence rhythm, verb mode, user-side naming, what's
88
- said vs. omitted) — rules for `landing-copywriter` to write from, not
89
- drafted copy itself
88
+ said vs. omitted) — rules for `landing-headline-writer` and
89
+ `landing-copywriter` to write from, not drafted copy itself
90
90
 
91
91
  Write from the user's side of the screen. Active voice by default. One
92
92
  job per line. You have veto power over an adjective: if it's effectively
@@ -89,20 +89,26 @@ artifact; everything else is strictly sequential.
89
89
  | 6 | Systems Designer | `landing-systems` | The token system (hex values, type roles, spacing unit, easing family, copy voice, with note timing attached) | bundled into `feat(landing): systems` |
90
90
  | 7 | Signature Element | `landing-systems` | Signature element (source, persistence, continuity, scale range, literalness) | bundled into `feat(landing): systems` |
91
91
  | 8 | Sequencer | `landing-sequencer` | Per-section transition type, weight, spacing, beat structure | `feat(landing): sequence` |
92
- | 9 | Copywriter | `landing-copywriter` | Final page copy — headline (2 backups), every section's body text, CTA text, written to the voice spec and beat structure, reviewed and confirmed by the user | `feat(landing): copy` |
93
- | 10 | Critic + Usability Auditor | `landing-critic` | Redlines, or a pass — reconciled traceability/distinctiveness + usability audit | `feat(landing): audit` (no commit if redlined — see Correction Protocol) |
94
- | 11 | Builder | `landing-builder` | The built page, in Astro | `feat(landing): build` |
92
+ | 9 | Headline | `landing-headline-writer` | The headline plus 2 backups, from 3 distinct rhetorical mechanisms, reviewed and locked by the user | `feat(landing): headline` |
93
+ | 10 | Copywriter (one invocation per section) | `landing-copywriter` | One section's body text and CTA copy per invocation, to the fixed paragraph algorithm, reviewed and locked by the user before the next section starts | `feat(landing): copy` (one commit once every section locks, or extended per section — never split across an unlocked section) |
94
+ | 11 | Critic + Usability Auditor | `landing-critic` | Redlines, or a pass — reconciled traceability/distinctiveness + usability audit | `feat(landing): audit` (no commit if redlined — see Correction Protocol) |
95
+ | 12 | Builder | `landing-builder` | The built page, in Astro | `feat(landing): build` |
95
96
 
96
97
  Phases 1 through 4 are one agent's context (`landing-strategist`)
97
98
  because they're one continuous judgment call — subject into feeling into
98
99
  timing — not separable artifacts with different tool footprints. Same
99
100
  reasoning collapses 5–7 into `landing-systems` (everything that becomes
100
- a Tailwind token or a copy rule) and 10's reconciliation into a single
101
- `landing-critic` pass. Copy is its own phase, not folded into
102
- `landing-systems` or `landing-builder`, specifically so the user reads
103
- and confirms the actual words before either the audit or the build runs
104
- — see `landing-copywriter`'s own file for its writing standard and
105
- self-test.
101
+ a Tailwind token or a copy rule) and 11's reconciliation into a single
102
+ `landing-critic` pass. The headline is its own phase (9), one agent, one
103
+ artifact, one review checkpoint, because it's the single highest-leverage
104
+ line on the page — every section beneath it either delivers on its
105
+ promise or doesn't, so it locks before any section body is drafted. Copy
106
+ (10) is its own phase too, run once per section rather than once for the
107
+ whole page, specifically so the user reads and confirms each section's
108
+ actual words before the next section is drafted, and before either the
109
+ audit or the build runs — see `landing-headline-writer`'s and
110
+ `landing-copywriter`'s own files for their writing standards, the
111
+ paragraph algorithm, and their self-tests.
106
112
 
107
113
  ## The Loop (every unit of work)
108
114
 
@@ -113,14 +119,20 @@ self-test.
113
119
  3. **Delegate exactly one phase** to its owning agent, passing it the
114
120
  full chain so far (every upstream artifact, not just the immediately
115
121
  prior one) — an agent that only sees its direct input can't verify its
116
- own traceability back to the subject statement.
122
+ own traceability back to the subject statement. Phase 10
123
+ (`landing-copywriter`) is delegated once per section, in
124
+ `landing-sequencer`'s order — each invocation is still "exactly one
125
+ phase" in the sense this step means: one section, reviewed and locked,
126
+ before the next invocation starts.
117
127
  4. The agent **runs its self-test** (see that agent's own file for what
118
128
  it checks) before presenting its artifact.
119
129
  5. The agent **commits** using the exact Conventional Commit format
120
130
  above.
121
131
  6. **Check off the line in `TODO.md`** once the agent reports the commit
122
- landed.
123
- 7. **Repeat**, one delegated phase at a time.
132
+ landed. Phase 10 stays unchecked until every section in
133
+ `landing-sequencer`'s list has locked, not after the first section.
134
+ 7. **Repeat**, one delegated phase (or one section, at phase 10) at a
135
+ time.
124
136
 
125
137
  Each commit batches exactly one phase's artifact; a wrong phase is fixed
126
138
  forward later via the Correction Protocol.
@@ -152,8 +164,10 @@ subject statement, or matches a known AI-default cluster:
152
164
  agent.
153
165
  3. Fast-forward every dependent phase that breaks. A token system change
154
166
  (phase 6) ripples through the signature element (7), the sequence
155
- (8), the copy (9, if the voice spec shifted), and the build (11) —
156
- each gets its own small commit, in order, not one bundled fix.
167
+ (8), the headline (9, if the voice spec shifted) and every locked
168
+ section of copy (10, re-run per affected section, not the whole phase
169
+ over again), and the build (12) — each gets its own small commit, in
170
+ order, not one bundled fix.
157
171
  4. Re-run `landing-critic` against the patched chain before resuming.
158
172
  5. The commit messages are the explanation.
159
173
  6. Resume the loop.
@@ -168,12 +182,23 @@ confirm step 1's subject/audience/job statement has been shown to and
168
182
  confirmed by the user — not just drafted. This is the cheapest point in
169
183
  the whole chain to correct the core framing (nothing downstream exists
170
184
  yet); every phase after it inherits that framing silently, and by the
171
- time `landing-copywriter` is reviewed at phase 9, a wrong framing means
172
- unwinding four committed phases via the Correction Protocol instead of
173
- one free revision here.
174
-
175
- Before `landing-critic` starts, confirm `landing-copywriter`'s copy has
176
- been presented to and confirmed by the user, not just written —
185
+ time copy is reviewed at phases 9–10, a wrong framing means unwinding
186
+ several committed phases via the Correction Protocol instead of one free
187
+ revision here.
188
+
189
+ Before `landing-copywriter` starts (phase 10), confirm
190
+ `landing-headline-writer`'s headline has been presented to and locked by
191
+ the user, not just drafted — every section's copy is written against
192
+ whichever headline is locked at phase 9, so an unlocked headline means
193
+ every section written against it is provisional too.
194
+
195
+ Before each `landing-copywriter` invocation after the first, confirm the
196
+ previous section is locked, not just presented — the next section's
197
+ continuity check (no repeated claims, no synonym drift) reads the prior
198
+ section's actual locked text, not a draft still awaiting edits.
199
+
200
+ Before `landing-critic` starts, confirm every section `landing-copywriter`
201
+ wrote has been presented to and locked by the user, not just written —
177
202
  `landing-critic`'s traceability audit reads confirmed copy, not a draft
178
203
  still awaiting review.
179
204
 
@@ -181,7 +206,7 @@ Before `landing-builder` starts, confirm:
181
206
 
182
207
  - `landing-critic` returned a pass, not a redline — a redlined spec never
183
208
  reaches the Builder; it goes back to the phase the redline names.
184
- - Every phase 1–10 has its commit landed.
209
+ - Every phase 1–11 has its commit landed.
185
210
 
186
211
  Before `landing-strategist` starts, confirm planning intake's Confirm &
187
212
  Lock has held and its commit has landed. If not, stop and ask.
@@ -0,0 +1,82 @@
1
+ ---
2
+ name: landing-copy-cta
3
+ description: Use whenever `landing-copywriter` drafts the CTA/close — the final ask, or any mid-page section `landing-sequencer` assigned the CTA. Trigger when a section carries the token system's CTA styling intent, distinct from every other archetype (which build the case, not make the ask).
4
+ ---
5
+
6
+ # Landing Copy: CTA / Close
7
+
8
+ This is the ask. Every other section builds toward this moment; this
9
+ section's only job is to make the ask itself, matched to the urgency the
10
+ token system already specified. It is not a place to introduce new
11
+ argument, new proof, or new mechanism — if the case isn't made by the
12
+ time this section runs, that's an upstream section's gap, not something
13
+ to patch here with more copy.
14
+
15
+ ## What this section answers
16
+
17
+ One thing: **what does the reader do right now?** Not why (that's every
18
+ section before this one), not what happens after (a line of reassurance
19
+ is allowed, but this section doesn't re-argue the case) — the specific
20
+ action, named as an action.
21
+
22
+ ## The algorithm
23
+
24
+ Per `landing-copywriter`'s paragraph algorithm, a CTA-only section gets
25
+ **0 paragraphs — 1 line**, rendered as a `>` blockquote per the output
26
+ format. Where `landing-sequencer` assigns the CTA to a section that also
27
+ carries a beat (a closing section with both a payoff paragraph and the
28
+ ask), the CTA line still stays separate from the paragraph — never
29
+ merged into the last sentence of prose.
30
+
31
+ The line itself, in order:
32
+
33
+ 1. **Verb first, plain and specific.** "Start your free trial," not "Get
34
+ started" if there's a more specific verb available — "Get started" is
35
+ correct only when it's genuinely the most specific true description
36
+ of the action.
37
+ 2. **Match the token system's urgency.** If `landing-systems` marked the
38
+ CTA high-urgency, the verb mode carries that (imperative, immediate:
39
+ "Start now"). If low-pressure, the verb mode matches (invitational,
40
+ unhurried: "See how it works"). A CTA whose verb mode contradicts the
41
+ token system's stated intent is a mismatch to fix here, not something
42
+ `landing-builder` should silently soften or sharpen later.
43
+ 3. **No stacked qualifiers.** One clear verb phrase — "Start your free
44
+ 14-day trial, no credit card required" crams a second claim into the
45
+ CTA line itself; if that reassurance is load-bearing, it's a
46
+ fragment of copy just below the button, not inside the CTA text.
47
+
48
+ ## Writing standard (scoped to this section)
49
+
50
+ - Apply `landing-copywriter`'s full writing standard.
51
+ - **No stock closers.** Never end the page on "the future looks bright"
52
+ or "join us on this journey" — the CTA is the specific action, not a
53
+ sentiment.
54
+ - **No urgency manufactured with punctuation or caps.** Urgency comes
55
+ from verb mode and the token system's specified intent, never from an
56
+ exclamation point or all-caps standing in for an actual persuasive
57
+ reason.
58
+ - **No hedge in the ask.** "You might want to consider starting a trial"
59
+ fails here completely — the ask is direct or it isn't an ask.
60
+
61
+ ## Self-test
62
+
63
+ - The line is a specific action verb, not a vague "Learn more" where a
64
+ more specific true verb was available.
65
+ - Verb mode matches the token system's stated CTA urgency (high-pressure
66
+ vs. low-pressure) — checked explicitly, not assumed.
67
+ - The line stands alone as a `>` blockquote, not merged into the
68
+ preceding paragraph's last sentence.
69
+ - No new argument, proof, or mechanism claim appears in this section —
70
+ if the case isn't made by now, that's flagged upstream, not patched
71
+ here.
72
+
73
+ ## Constraints
74
+
75
+ - Never introduce new persuasive content in the CTA section — its job
76
+ is the ask, not one more argument.
77
+ - Never let the CTA's verb mode drift from what the token system
78
+ specified for this build — a mismatch here is a defect, not a stylistic
79
+ choice.
80
+ - Never stack a second claim or qualifier into the CTA line itself —
81
+ supporting reassurance is separate copy, not part of the action verb
82
+ phrase.
@@ -0,0 +1,133 @@
1
+ ---
2
+ name: landing-copy-headline
3
+ description: Use whenever `landing-headline-writer` drafts the page headline (Chain Method step 9). Gives the 8 named rhetorical mechanisms, the outcome-subject test, and the selection procedure for generating 3 distinct-mechanism candidates and presenting them for the user's lock. Trigger on "write the headline", "headline candidates", or the start of `landing-headline-writer`'s own workflow.
4
+ ---
5
+
6
+ # Landing Copy: Headline
7
+
8
+ The headline is the single highest-leverage line on the page — every
9
+ section beneath it either delivers on its promise or doesn't. This skill
10
+ is the algorithm `landing-headline-writer` runs to generate it: don't
11
+ draft headline wording by feel, run the mechanism generation and the
12
+ outcome-subject test below every time.
13
+
14
+ This skill covers the headline only. The subhead or lede immediately
15
+ beneath it, if the page has one, is `landing-copywriter`'s
16
+ `landing-copy-hero` skill — a different section, a different algorithm.
17
+
18
+ ## Step 1: Pull the raw material, don't invent it
19
+
20
+ Read, don't re-derive:
21
+
22
+ - `landing-strategist`'s subject/audience/job statement — the concrete
23
+ claim available to make
24
+ - The adjective pairs and their named opposites — what the headline is
25
+ allowed to promise emotionally
26
+ - `landing-systems`'s voice spec — sentence rhythm, verb mode, user-side
27
+ naming
28
+
29
+ Every candidate below is generated from this material. A headline that
30
+ doesn't trace to a specific adjective or the subject statement fails
31
+ `landing-critic`'s traceability audit later — catch that here, not there.
32
+
33
+ ## Step 2: Generate one candidate per mechanism
34
+
35
+ Generate against at least 3 of these 8, chosen as whichever the subject
36
+ statement actually supports — not the same 3 by default on every build:
37
+
38
+ - **Outcome** — state the desired outcome directly ("Build software
39
+ that holds together.")
40
+ - **Transformation** — current state → desired state ("Turn ideas into
41
+ products people use.")
42
+ - **Tension** — expectation → contradiction ("Your product is ready.
43
+ Your story isn't.")
44
+ - **Reframe** — common frame → stronger frame ("Your website isn't a
45
+ brochure. It's a decision engine.")
46
+ - **Provocation** — command → uncomfortable truth ("Stop building
47
+ features nobody asked for.")
48
+ - **Identity** — audience → belief or standard ("For teams that refuse
49
+ to ship generic software.")
50
+ - **Mechanism** — how it works → implied benefit ("A disciplined path
51
+ from schema to screen.") — use only when the mechanism itself is the
52
+ distinctive, ownable claim; it still has to pass Step 3.
53
+ - **Curiosity** — open question → implied possibility ("What happens
54
+ when your tools finally work together?")
55
+
56
+ Generate from **distinct mechanisms**, not three phrasings of one idea —
57
+ the point is testing which mechanism the subject statement actually
58
+ supports, not polishing a single guess.
59
+
60
+ ## Step 3: The outcome-subject test (run on every candidate)
61
+
62
+ **The reader wants an outcome, not the mechanism that produces it** — the
63
+ headline's grammatical subject must be what the reader gets (what
64
+ changes for them, what they now have or no longer have to worry about),
65
+ not the product, feature, or mechanism that delivers it.
66
+
67
+ Run this test by reading only the headline, with no subhead for context:
68
+ does it state what the reader gets, or does it name the thing that gets
69
+ it to them?
70
+
71
+ - "One signature. Three uses." **fails** — the signature is the subject.
72
+ - "Your agent's work outlives the session that made it." **passes.**
73
+
74
+ A headline built from the subject statement's own phrasing ("ZenBin is
75
+ one cryptographic trust primitive...") tends to smuggle the mechanism
76
+ into the subject position by default — naming it is not the same as
77
+ leading with it. Demote the mechanism one level: it belongs in the
78
+ subhead or the sentence right after, earning its specificity once the
79
+ outcome has already landed. If a candidate only works because the reader
80
+ already knows what the mechanism is for, it's failing this test, not
81
+ passing it narrowly.
82
+
83
+ **This test overrides mechanism choice.** An Outcome- or
84
+ Transformation-mechanism candidate that fails it still fails, and a
85
+ Mechanism-mechanism candidate that passes it is still eligible. Rewrite
86
+ or cut any candidate that fails before Step 4.
87
+
88
+ ## Step 4: Apply the writing standard
89
+
90
+ Scoped to a single line — the same bar `landing-copywriter` holds section
91
+ copy to:
92
+
93
+ - **Cut inflated words.** No "delve," "landscape," "robust,"
94
+ "comprehensive," "leverage," "seamless," "cutting-edge," "elevate,"
95
+ "unlock," "empower," "streamline," "game-changer," "harness,"
96
+ "revolutionize," or any word from that register.
97
+ - **No negation formulas.** Never write "It's not X — it's Y."
98
+ - **No em dashes.** Use a comma, period, or restructure the sentence.
99
+ - **Concrete over abstract.** A claim like "significant improvement"
100
+ ships only with the number, name, or comparison that makes it
101
+ checkable. If the brief doesn't supply one, the claim doesn't ship in
102
+ that form.
103
+
104
+ ## Step 5: Select and present
105
+
106
+ Select the 3 strongest, distinct candidates that survived Steps 3 and 4.
107
+ Label each with its mechanism name and present all 3 to the user — this
108
+ is a hard stop; wait for an explicit pick (the other 2 stand as backups)
109
+ or a redirect. Every section `landing-copywriter` writes afterward is
110
+ checked against whichever headline locks here, so an unconfirmed pick
111
+ compounds the same way an unconfirmed subject statement does at strategy
112
+ step 1.
113
+
114
+ ## Self-test
115
+
116
+ - All 3 presented candidates came from 3 distinct mechanisms, not 3
117
+ phrasings of the same one.
118
+ - Every candidate traces to a named adjective or the subject statement —
119
+ a line that could run on a competitor's page unchanged (the swap test)
120
+ was rewritten before presenting, not left for `landing-critic` to
121
+ catch.
122
+ - Every candidate passed the outcome-subject test individually — not
123
+ waved through because the set as a whole "feels balanced."
124
+ - The user was shown all 3, labeled by mechanism, and explicitly picked
125
+ or redirected — not assumed.
126
+
127
+ ## Constraints
128
+
129
+ - Never present fewer than 3 distinct-mechanism candidates.
130
+ - Never lock a headline without the user's explicit confirmation.
131
+ - Never draft the subhead, section body, or CTA copy here — that's
132
+ `landing-copywriter`'s `landing-copy-hero` and other section skills,
133
+ run only after this one locks.
@@ -0,0 +1,84 @@
1
+ ---
2
+ name: landing-copy-hero
3
+ description: Use whenever `landing-copywriter` drafts the section directly beneath the locked headline — the subhead/lede that makes the headline's claim credible. Trigger when the section's role is "hero support" in `landing-sequencer`'s list, distinct from the headline itself (`landing-copy-headline`) or the problem/agitation section (`landing-copy-problem`).
4
+ ---
5
+
6
+ # Landing Copy: Hero (subhead/lede)
7
+
8
+ The hero section's job is narrow: make the headline's claim credible in
9
+ one breath, before the reader has committed to reading further. It is not
10
+ the place to make the full case — that's every section after it. A hero
11
+ section that tries to argue, prove, or handle objections has taken on a
12
+ different section's job.
13
+
14
+ This skill covers the section immediately beneath the locked headline
15
+ only. The headline itself is `landing-headline-writer`'s
16
+ `landing-copy-headline` skill.
17
+
18
+ ## What this section answers
19
+
20
+ One question, in this order:
21
+
22
+ 1. **What is the mechanism, named plainly?** The headline led with the
23
+ outcome and deliberately withheld the mechanism (per
24
+ `landing-copy-headline`'s outcome-subject test) — this section is
25
+ where that mechanism gets named, in plain language, for the first
26
+ time.
27
+ 2. **Why should the reader believe the headline's claim is achievable,
28
+ not aspirational?** One line of credibility, not a proof point (proof
29
+ points belong to `landing-copy-proof`) — a plain statement of how the
30
+ mechanism gets the reader from their current state to the headline's
31
+ promise.
32
+
33
+ ## The algorithm
34
+
35
+ Per this core's fixed paragraph algorithm (`landing-copywriter`'s own
36
+ file): this section's paragraph count is set by however many beats
37
+ `landing-sequencer` assigned it, almost always 1 (a hero is rarely a
38
+ multi-beat section). Within that single paragraph:
39
+
40
+ 1. **Sentence 1 — name the mechanism.** Plain verb, plain noun. No
41
+ abstraction standing in for the thing itself (the same plain-verb
42
+ discipline `landing-strategist` applies at the subject-statement
43
+ stage).
44
+ 2. **Sentence 2 (only if the beat has room) — the credibility bridge.**
45
+ One sentence connecting the mechanism to the headline's promise: how
46
+ doing this thing gets the reader that outcome. Not evidence, not a
47
+ number — that's `landing-copy-proof`'s job — just the logical link
48
+ made explicit.
49
+
50
+ Two sentences is the ceiling for a single-beat hero. If it's taking a
51
+ third sentence to make the mechanism credible, the mechanism itself is
52
+ underspecified — flag it back rather than padding the section to compensate.
53
+
54
+ ## Writing standard (scoped to this section)
55
+
56
+ - Apply `landing-copywriter`'s full writing standard (inflated words, em
57
+ dashes, hedge stacks, etc.) — this section gets no exception.
58
+ - **No proof, no numbers, no named evidence here.** A stat or case study
59
+ in the hero section is `landing-copy-proof`'s content pulled forward —
60
+ redirect it downstream, keep this section to the plain claim.
61
+ - **No objection-handling here.** "But you might be wondering..." belongs
62
+ to `landing-copy-objection`, not this section.
63
+ - Match the token system's CTA styling intent only if this section
64
+ carries a CTA (rare — most builds put the CTA in `landing-copy-cta`'s
65
+ section instead).
66
+
67
+ ## Self-test
68
+
69
+ - The mechanism is named in plain language, not gestured at.
70
+ - The section makes no argument, cites no proof, and handles no
71
+ objection — those are the next sections' jobs.
72
+ - Paragraph count matches the beat count `landing-sequencer` assigned —
73
+ 1 paragraph for a single beat, not padded to 2 for weight.
74
+ - Read against the locked headline: does this section make the headline
75
+ more believable, or does it just restate the headline in different
76
+ words? Restating fails this test.
77
+
78
+ ## Constraints
79
+
80
+ - Never draft the headline itself — that's `landing-copy-headline`,
81
+ already locked before this section starts.
82
+ - Never pull proof points, stats, or objection-handling into this
83
+ section to make it feel more substantial — a thin hero section is
84
+ correct; padding it borrows from a downstream section's job.
@@ -0,0 +1,86 @@
1
+ ---
2
+ name: landing-copy-mechanism
3
+ description: Use whenever `landing-copywriter` drafts a mechanism/how-it-works section — the section that resolves the problem section's tension by explaining how the product changes the situation. Trigger when the section's role in `landing-sequencer`'s list is to earn the headline's claim through explanation, distinct from proof (evidence the claim is true) or pricing (tiers and plans).
4
+ ---
5
+
6
+ # Landing Copy: Mechanism (how it works)
7
+
8
+ This section earns the claim the headline made and the hero section
9
+ named. Its job is explanation, not evidence — "here is how this changes
10
+ your situation," not "here is why you should believe it changes your
11
+ situation" (that's `landing-copy-proof`). A mechanism section that leans
12
+ on stats or testimonials instead of actually explaining the how has
13
+ borrowed proof's job instead of doing its own.
14
+
15
+ ## What this section answers
16
+
17
+ One question: **how, specifically, does the product close the gap the
18
+ problem section named?** Specific enough that the reader could explain
19
+ it back in one sentence. A mechanism explained so abstractly it could
20
+ describe any competing product's approach unchanged has failed the swap
21
+ test the same way an ungrounded adjective does.
22
+
23
+ ## The algorithm
24
+
25
+ Paragraph count from the beat count `landing-sequencer` assigned. Order
26
+ within budget:
27
+
28
+ 1. **State the mechanism directly.** The specific thing the product does
29
+ — a feature, a process, a discipline — named plainly, in the same
30
+ register the hero section used (no re-invention of terminology
31
+ mid-page; if the hero section named it one way, this section uses the
32
+ same name — no synonym cycling across section boundaries).
33
+ 2. **Connect it to the problem section's specific friction.** Not a
34
+ generic benefit statement — the mechanism resolving the exact cost the
35
+ problem section named. This is the section's actual load-bearing
36
+ sentence: if it could be deleted and the mechanism would still sound
37
+ equally justified, it's not doing its job.
38
+ 3. **Land on the changed state.** Close on what's now true for the reader
39
+ that wasn't true before this section — the transformation completed,
40
+ not a segue into proof or a preview of what's coming.
41
+
42
+ A 1-beat mechanism section compresses all three (state it, connect it,
43
+ land the change) into one paragraph; a 3-beat section earns each its own
44
+ paragraph, particularly when the mechanism has real internal steps worth
45
+ walking through (in which case genuinely enumerable steps become a `-`
46
+ list per `landing-copywriter`'s output format, alongside the connecting
47
+ prose — not instead of it).
48
+
49
+ ## Writing standard (scoped to this section)
50
+
51
+ - Apply `landing-copywriter`'s full writing standard.
52
+ - **No unnamed authority, here specifically.** A mechanism section is the
53
+ easiest place to reach for "proven approach" or "industry-standard
54
+ method" without naming what makes it proven — if there's no named
55
+ source, state the mechanism as the product's own claim, not a floated
56
+ authority.
57
+ - **List-shaped content only for genuine steps.** If the mechanism has 3+
58
+ discrete, ordered steps, a numbered or bulleted list is correct per
59
+ `landing-copywriter`'s output format. If it's one continuous idea, keep
60
+ it prose — don't force steps that don't exist to make the section look
61
+ more substantial.
62
+ - **No proof creep.** A specific number, a named customer, a benchmark —
63
+ all belong to `landing-copy-proof`. If a proof point is doing the
64
+ persuading here instead of the mechanism's own logic, that's the wrong
65
+ section carrying the weight.
66
+
67
+ ## Self-test
68
+
69
+ - The mechanism is named specifically enough to explain back in one
70
+ sentence — not a category noun standing in for the actual thing (the
71
+ same plain-verb discipline from `landing-strategist`'s step 1).
72
+ - This section's central claim connects directly to the specific
73
+ friction the problem section named, not a generic benefit.
74
+ - No proof point (stat, name, benchmark) appears here — that content is
75
+ flagged to `landing-copy-proof` instead.
76
+ - The terminology matches whatever the hero section already named the
77
+ mechanism — no synonym rotation across the section boundary.
78
+
79
+ ## Constraints
80
+
81
+ - Never lean on a proof point instead of an actual explanation — a
82
+ mechanism section that's mostly a stat has skipped its own job.
83
+ - Never introduce new terminology for something already named in the
84
+ hero section.
85
+ - Never turn a single continuous idea into a padded list to look more
86
+ thorough — list only what's genuinely enumerable.