@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.
@@ -0,0 +1,85 @@
1
+ ---
2
+ name: landing-copy-objection
3
+ description: Use whenever `landing-copywriter` drafts an objection-handling section — FAQ, risk-reversal, or direct address of the reader's stated hesitation. Trigger when the section's role in `landing-sequencer`'s list is to remove a specific, nameable doubt before the CTA, distinct from proof (backs up a claim already made) or the CTA section itself (the ask).
4
+ ---
5
+
6
+ # Landing Copy: Objection handling
7
+
8
+ This section names the reader's actual hesitation and answers it
9
+ directly. It is not a second proof section, and it is not a place to
10
+ restate the mechanism — its job is to name a doubt the reader is likely
11
+ already holding and resolve it in the reader's own terms, not the
12
+ product's.
13
+
14
+ ## What this section answers
15
+
16
+ One question per objection handled: **what is the specific, nameable
17
+ reason this reader might not act, and what directly removes it?** A
18
+ generic FAQ ("How does it work?" restating the mechanism section) isn't
19
+ this — a real objection is something the reader would say out loud if
20
+ pushed ("this sounds like it'll take longer than what I do now," "I've
21
+ been burned by a tool like this before"). If the brief or upstream chain
22
+ doesn't supply a real, specific objection, that's a gap to flag, not a
23
+ license to invent a generic FAQ to fill the section.
24
+
25
+ ## The algorithm
26
+
27
+ Paragraph count from the beat count `landing-sequencer` assigned, with
28
+ one addition specific to this archetype: **one objection per beat**, not
29
+ one paragraph of general reassurance. A 3-beat objection section handles
30
+ 3 distinct, named objections, not one objection developed across 3
31
+ paragraphs.
32
+
33
+ Per objection:
34
+
35
+ 1. **Name the objection in the reader's own words**, not the product's
36
+ framing of it — a question or a stated doubt, not a euphemism for it.
37
+ 2. **Answer it directly**, in one or two sentences. No hedge stacks, no
38
+ "well, actually" — a direct answer or, if the honest answer is a
39
+ limitation, a direct acknowledgment of the limitation and why it
40
+ doesn't undermine the reader's specific job (from
41
+ `landing-strategist`'s subject statement).
42
+ 3. **Don't re-litigate proof or mechanism here.** If the honest answer to
43
+ an objection is "see the proof section above," reference it briefly
44
+ rather than restating the evidence.
45
+
46
+ If genuinely FAQ-shaped (3+ parallel question/answer pairs), render as a
47
+ list per `landing-copywriter`'s output format — each item a
48
+ question-plus-answer pair, not a bare noun phrase.
49
+
50
+ ## Writing standard (scoped to this section)
51
+
52
+ - Apply `landing-copywriter`'s full writing standard.
53
+ - **Answer honestly, including real limitations.** A section that only
54
+ handles softball objections ("Is it easy to use? Yes!") reads as
55
+ evasive by omission — if there's a genuine, known limitation the
56
+ audience would ask about, address it directly rather than picking only
57
+ favorable objections to list.
58
+ - **No hedge stacks in the answer.** "It could potentially work for most
59
+ teams" fails here specifically, since the whole point of this section
60
+ is removing uncertainty, not restating it in softer language.
61
+ - **No manufactured drama in the question framing.** State the objection
62
+ plainly, the way the reader would actually think it.
63
+
64
+ ## Self-test
65
+
66
+ - Each objection handled is specific and nameable — not a generic FAQ
67
+ restating the mechanism or proof sections.
68
+ - Each answer is direct — no hedge stack, no deflection to "it depends."
69
+ - At least one genuine limitation or edge case is addressed honestly, if
70
+ the subject statement or brief surfaces one — not only favorable
71
+ objections selected.
72
+ - No objection restates content already fully covered in
73
+ `landing-copy-mechanism` or `landing-copy-proof` — if it must reference
74
+ that content, it does so briefly, not by repeating it.
75
+
76
+ ## Constraints
77
+
78
+ - Never invent a generic FAQ to fill this section's beat count if no
79
+ real objection is available — flag the gap back rather than padding
80
+ with "How does pricing work?" unless pricing genuinely is a live
81
+ objection for this audience.
82
+ - Never handle more objections than the assigned beat count allows —
83
+ one objection per beat, not stacked.
84
+ - Never soften an honest limitation into a non-answer — a hedge here
85
+ undermines the section's entire purpose.
@@ -0,0 +1,81 @@
1
+ ---
2
+ name: landing-copy-problem
3
+ description: Use whenever `landing-copywriter` drafts a problem/agitation section — the section that names what currently prevents the reader from having the headline's outcome. Trigger when the section's role in `landing-sequencer`'s list is to establish stakes or friction before the mechanism section resolves it.
4
+ ---
5
+
6
+ # Landing Copy: Problem / Agitation
7
+
8
+ This section's job is to make the gap between the reader's current state
9
+ and the headline's promised outcome feel real and specific — not to
10
+ introduce the product, and not to resolve the gap. That's
11
+ `landing-copy-mechanism`'s job, in the section after this one. A problem
12
+ section that starts explaining the solution has skipped ahead.
13
+
14
+ ## What this section answers
15
+
16
+ One question: **what, specifically, is stopping the reader from already
17
+ having what the headline promised?** Not a generic industry pain point —
18
+ the specific friction `landing-strategist`'s subject statement and
19
+ adjective pairs point to. A problem statement that could open a
20
+ competitor's page unchanged (the swap test) hasn't located the real
21
+ friction yet.
22
+
23
+ ## The algorithm
24
+
25
+ Paragraph count from the beat count `landing-sequencer` assigned (1–3
26
+ paragraphs, per `landing-copywriter`'s ceiling). Order the content within
27
+ that budget:
28
+
29
+ 1. **Name the current state.** What the reader is actually doing today,
30
+ concretely — not "teams struggle with X" in the abstract, but the
31
+ specific behavior or workaround the subject statement implies they're
32
+ stuck with.
33
+ 2. **Name the cost.** What that current state actually costs the reader —
34
+ time, money, trust, control, whatever the adjective pairs' reflective-
35
+ layer sort (Norman) flagged as the real stake. Concrete over abstract:
36
+ a claim like "this wastes time" ships only with the specific
37
+ consequence that makes it checkable.
38
+ 3. **Sharpen the gap, don't resolve it.** The section's last sentence
39
+ should land on the tension at its most acute point — not a hint of the
40
+ solution. Ending this section on relief instead of tension borrows
41
+ from the mechanism section's job.
42
+
43
+ A 1-beat problem section compresses all three into one paragraph (state
44
+ plus cost in the same breath, sharpened in the closing clause); a 3-beat
45
+ section gets a full paragraph each.
46
+
47
+ ## Writing standard (scoped to this section)
48
+
49
+ - Apply `landing-copywriter`'s full writing standard.
50
+ - **Create contrast that clarifies, not drama that manufactures it.**
51
+ "Most AI tools help you generate more code. Hedgehog helps you keep
52
+ control of it" sharpens the reader's picture of what's actually
53
+ missing — it isn't manufactured urgency for its own sake.
54
+ - **No manufactured drama.** No "here's the scary part" or rhetorical-
55
+ question openers. State the friction plainly; specificity does the
56
+ work drama would otherwise be recruited to fake.
57
+ - **No solution language.** Don't name the product, a feature, or how it
58
+ helps — that's `landing-copy-mechanism`'s content, and pulling it
59
+ forward here undercuts that section's job of resolving the tension
60
+ this one builds.
61
+
62
+ ## Self-test
63
+
64
+ - The problem stated is specific to the subject statement, not a generic
65
+ industry pain point — fails the swap test if a competitor's page could
66
+ run it unchanged.
67
+ - The section names both the current state and its concrete cost, not
68
+ just a feeling of friction.
69
+ - The section ends on the tension at its sharpest, not on a hint of
70
+ resolution.
71
+ - No product name, feature, or mechanism appears in this section's copy.
72
+
73
+ ## Constraints
74
+
75
+ - Never introduce the product, a feature name, or how the product works
76
+ — that's `landing-copy-mechanism`'s section, immediately after.
77
+ - Never resolve the tension this section builds — ending on relief is a
78
+ defect here, not a bonus.
79
+ - Never inflate the paragraph count past what the assigned beat count
80
+ allows to fit in more agitation — flag a genuinely thin beat back to
81
+ `landing-sequencer` instead.
@@ -0,0 +1,82 @@
1
+ ---
2
+ name: landing-copy-proof
3
+ description: Use whenever `landing-copywriter` drafts a proof/evidence section — social proof, numbers, case studies, benchmarks, testimonials. Trigger when the section's role in `landing-sequencer`'s list is to make an already-explained claim believable, distinct from the mechanism section (explains the how) or the objection section (handles doubt directly).
4
+ ---
5
+
6
+ # Landing Copy: Proof
7
+
8
+ This section's only job is to make an already-stated claim checkable.
9
+ It doesn't introduce a new claim, and it doesn't explain how anything
10
+ works — that's `landing-copy-mechanism`, already run. A proof section
11
+ that's making its case for the first time here, rather than backing up a
12
+ claim made earlier, is out of order.
13
+
14
+ ## What this section answers
15
+
16
+ One question: **why should the reader believe the mechanism section's
17
+ claim is true, not just plausible?** Every sentence in this section
18
+ exists to make one specific upstream claim checkable — a number, a name,
19
+ a comparison, a quoted result. A proof section with no specific,
20
+ attributable evidence isn't a proof section; it's an unearned assertion
21
+ wearing this section's placement as false credibility.
22
+
23
+ ## The algorithm
24
+
25
+ Paragraph count from the beat count `landing-sequencer` assigned, but
26
+ proof content is the one archetype most likely to be genuinely
27
+ list-shaped — a set of parallel data points (3 stats, 3 logos, 3 quotes)
28
+ reads better as a list than forced into prose. Decide the shape first:
29
+
30
+ 1. **Single strong proof point** (1 case study, 1 headline stat) → prose,
31
+ 1 paragraph: name the evidence, state the specific number or result,
32
+ connect it back to the exact claim it's proving.
33
+ 2. **Multiple parallel proof points** (3+ stats, logos, or quotes of
34
+ equal weight) → a `-` list per `landing-copywriter`'s output format,
35
+ each item a specific, named data point — not restated as full
36
+ sentences if a short parallel phrase does the job.
37
+ 3. **Mixed** (one lead proof point plus supporting parallel evidence) →
38
+ one prose paragraph for the lead point, followed by a `-` list for the
39
+ rest.
40
+
41
+ Every item, in either shape, names its source: a specific number, a
42
+ named customer, a dated benchmark, a quoted individual — never "users
43
+ report" or "studies show" without the name attached (per
44
+ `landing-copywriter`'s no-unnamed-authority rule, which applies with
45
+ extra weight here since this entire section exists to be checkable).
46
+
47
+ ## Writing standard (scoped to this section)
48
+
49
+ - Apply `landing-copywriter`'s full writing standard.
50
+ - **No unnamed authority — this is the section's core failure mode.** If
51
+ a proof point has no name, number, or date attached, it doesn't ship in
52
+ this section in that form. Reframe it as the subject's own claim
53
+ (belongs in `landing-copy-mechanism` instead) or cut it.
54
+ - **Concrete over abstract, absolute in this section.** "Significant
55
+ improvement" never ships here — this is the one section whose entire
56
+ purpose is the number that makes a claim checkable.
57
+ - **Each proof point traces to a specific upstream claim.** A proof point
58
+ floating free, proving nothing stated earlier in the page, is
59
+ decoration, not evidence — connect it explicitly or cut it.
60
+
61
+ ## Self-test
62
+
63
+ - Every proof point names a specific source — a number, a customer, a
64
+ date, a quoted person. None reads as "studies show" or "users love it"
65
+ without attribution.
66
+ - Each proof point connects to a specific claim made in an earlier
67
+ section (usually `landing-copy-mechanism`'s), not floating as generic
68
+ credibility.
69
+ - The shape (prose vs. list vs. mixed) matches whether the content is
70
+ genuinely one strong point or several parallel ones — not forced into
71
+ prose to avoid "too many bullets," and not listed out of laziness when
72
+ one point deserves real prose development.
73
+
74
+ ## Constraints
75
+
76
+ - Never include a proof point with no named source — an unnamed claim
77
+ doesn't belong in this section in any form.
78
+ - Never introduce a new claim here that wasn't already made upstream —
79
+ this section proves, it doesn't originate.
80
+ - Never explain how the product works here — that's already
81
+ `landing-copy-mechanism`'s completed job; this section only backs it
82
+ up.
@@ -32,6 +32,13 @@ pinned icon source. Neither restates the other's decision.
32
32
  Lucide as the pinned icon source. `landing-systems` points into it
33
33
  when naming the signature element's family; `landing-sequencer` and
34
34
  `landing-builder` invoke it for the concrete recipe.
35
+ - **`landing-copy-headline`, `landing-copy-hero`, `landing-copy-problem`,
36
+ `landing-copy-mechanism`, `landing-copy-proof`, `landing-copy-objection`,
37
+ `landing-copy-cta`** — the per-archetype copywriting algorithms: what
38
+ question each section type answers, what order to answer it in, and its
39
+ own self-test. `landing-headline-writer` invokes `landing-copy-headline`
40
+ for the headline; `landing-copywriter` invokes whichever of the other
41
+ six matches the section's role, as assigned by `landing-sequencer`.
35
42
  - **`conventional-commits`** — when a change spans several phases in one
36
43
  working-tree pass and needs splitting back into per-phase commits
37
44
  (mainly Correction Protocol cleanups).
@@ -55,19 +62,32 @@ pinned icon source. Neither restates the other's decision.
55
62
  the token system that reconciles them, and the signature element. Owns
56
63
  everything that becomes a Tailwind token or a copy rule.
57
64
  - **`landing-sequencer`** — per-section transition type, weight, spacing,
58
- and beat structure — the Motion/Lenis pacing spec the Builder
65
+ beat structure, and copy archetype role (Hero/Problem/Mechanism/Proof/
66
+ Objection/CTA) — the Motion/Lenis pacing spec, plus the taxonomy
67
+ `landing-copywriter` reads to pick its per-section skill, the Builder
59
68
  implements against.
60
- - **`landing-copywriter`** — the final page copy: headline (2 backups),
61
- every section's body text, CTA text — written to the voice spec and
62
- the sequence's beat structure. Presented as its own artifact for the
63
- user to read and confirm before the audit or the build runs.
69
+ - **`landing-headline-writer`** — the headline, plus 2 backups from
70
+ distinct rhetorical mechanisms (via the `landing-copy-headline` skill),
71
+ written to the voice spec. Presented as its own artifact and locked by
72
+ the user before any section's body copy is drafted.
73
+ - **`landing-copywriter`** — every section's body text and CTA text, one
74
+ section per invocation, in the sequence's order — each section written
75
+ to its archetype role's dedicated skill and a fixed paragraph-count
76
+ algorithm (one paragraph per beat `landing-sequencer` assigned it),
77
+ to the voice spec, and presented as its own artifact for the user to
78
+ read, edit, and lock before the next section is drafted. Output is
79
+ semantic markdown (paragraph/list/blockquote) so `landing-builder`
80
+ reads section structure directly.
64
81
  - **`landing-critic`** — the reconciled traceability/distinctiveness
65
- audit (does every choice, including the copy, trace to the subject
66
- statement, does anything match a known AI-default cluster) and the
67
- usability pass (Fitts's Law on the CTA, affordance/signifier check).
68
- Has veto power; cannot rewrite, only redline back to the owning agent.
82
+ audit (does every choice, including the headline and every section's
83
+ copy, trace to the subject statement, does anything match a known
84
+ AI-default cluster) and the usability pass (Fitts's Law on the CTA,
85
+ affordance/signifier check). Has veto power; cannot rewrite, only
86
+ redline back to the owning agent.
69
87
  - **`landing-builder`** — builds the audited spec exactly in Astro,
70
- placing `landing-copywriter`'s copy verbatim. Anything that can't be
88
+ placing `landing-headline-writer`'s locked headline and
89
+ `landing-copywriter`'s section copy verbatim, mapping each section's
90
+ markdown structure to the matching markup. Anything that can't be
71
91
  built as specified is flagged back up the chain, never silently
72
92
  improvised around.
73
93
 
@@ -20,7 +20,8 @@ noted. Do not start a phase until the one above it is checked. -->
20
20
  - [ ] strategy — subject/audience/job + adjective pairs + visceral/behavioral/reflective sort + note timing — `landing-strategist`
21
21
  - [ ] systems — dial table + voice spec (parallel) → token system → signature element — `landing-systems`
22
22
  - [ ] sequence — per-section transitions, weight, spacing, beat structure — `landing-sequencer`
23
- - [ ] copy — final headline, section body, and CTA text, reviewed and confirmed by the user — `landing-copywriter`
23
+ - [ ] headline — headline + 2 backups, from distinct mechanisms, reviewed and locked by the user — `landing-headline-writer`
24
+ - [ ] copy — one section at a time, per the paragraph algorithm, each section reviewed and locked by the user before the next starts — `landing-copywriter`
24
25
  - [ ] audit — traceability/distinctiveness + usability, reconciled to a pass — `landing-critic`
25
26
  - [ ] build — the artifact, in Astro — `landing-builder`
26
27