Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ The **Depends on** column lists other skills in this repo that the skill invokes
| [`highlight-key-takeaways`](skills/highlight-key-takeaways/SKILL.md) | Highlight the key takeaways in an Obsidian note with `==highlight==` syntax, in place. | — |
| [`indie-hacker-wrapup`](skills/indie-hacker-wrapup/SKILL.md) | End-of-session ritual that mines the session on two lenses (the product built and the craft behind it), scores angles against a resonance bar, and drafts the strongest build-in-public post (or declines when nothing clears it), tracking past angles to repeat one only on stronger evidence. | `write-like-human` |
| [`json-canvas`](skills/json-canvas/SKILL.md) | Create and edit JSON Canvas (`.canvas`) files — nodes, edges, groups, connections. | — |
| [`landing-page-copy`](skills/landing-page-copy/SKILL.md) | Generate high-converting landing page copy in markdown from a short product description. | |
| [`landing-page-copy`](skills/landing-page-copy/SKILL.md) | Generate high-converting landing page copy in markdown from a short product description. | `create-product-vision` |
| [`landing-page-gap-analyzer`](skills/landing-page-gap-analyzer/SKILL.md) | Audit landing page copy against a 13-section conversion blueprint and return a scored gap report. | `defuddle` |
| [`markdown`](skills/markdown/SKILL.md) | Create, refine, or convert content into strictly formatted, export-ready Markdown. | — |
| [`microsoft-clarity`](skills/microsoft-clarity/SKILL.md) | Add Microsoft Clarity analytics (heatmaps, session recordings) to a Next.js app. | — |
Expand Down
6 changes: 6 additions & 0 deletions changelog/20260713193547-landing-page-vision-section.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# landing-page-copy: add Vision section + clarify gate

- Added a Vision / Manifesto section to the generated landing page, placed between Testimonials and About.
- Reframed the workflow into an explicit clarify gate: confirm nothing needed is missing before generating, and always ask for the product's vision.
- Vision is an optional input with a smart default (derived from transformation + pitch); when missing, the skill points to `create-product-vision` to draft one.
- Why: the copy captured the individual user's transformation but had no place for the bigger mission the customer joins, and there was no single checkpoint to catch missing inputs before writing copy.
11 changes: 7 additions & 4 deletions skills/landing-page-copy/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,11 @@ Turn a short product description into a complete, conversion-focused landing pag

1. **Read the input**. Extract whatever is already given.
2. **Map to schema**. See [references/input-schema.md](references/input-schema.md) for required vs optional fields.
3. **Ask one question at a time** for each missing *required* field, in the order listed in the schema. Do not batch. Do not proceed until all required fields are answered.
4. **Apply smart defaults** for missing *optional* fields and flag them inline in the output as `> ⚠️ assumed:` notes the user can revise.
3. **Clarify gate — do not generate until it passes.** Confirm nothing needed is missing before writing a single line of copy:
- **Ask one question at a time** for each missing *required* field, in the order listed in the schema. Do not batch. Do not proceed until all required fields are answered.
- **Ask for the `vision`** — the bigger mission, the change the product is part of beyond the individual user's Point B. If the user has none, offer to draft one with the `create-product-vision` skill, or proceed with a default derived from `transformation` + `one_line_pitch` and flag it inline. Never block on vision.
- **Confirm the structure-changing optional flags** (`icp_technicality`, `offer_guarantee`, `urgency_basis`) with a single yes/no each, only when the answer would change output.
4. **Apply smart defaults** for the remaining missing *optional* fields and flag them inline in the output as `> ⚠️ assumed:` notes the user can revise.
5. **Generate the page** by filling [assets/output-template.md](assets/output-template.md), guided by [references/blueprint.md](references/blueprint.md).
6. **Apply copy rules** from [references/copy-rules.md](references/copy-rules.md) — voice, anti-patterns, conflict-resolution defaults.
7. **Run the self-check** (5 questions in copy-rules.md). If any section fails, rewrite that section once before returning.
Expand All @@ -31,14 +34,14 @@ Required (skill blocks until provided):
- `pricing_model` + `price_points`

Optional (defaults applied + flagged):
- `founder_story`, `testimonials`, `trust_logos`, `icp_technicality`, `offer_guarantee`, `urgency_basis`
- `vision` (the bigger mission — always asked, since it adds a section), `founder_story`, `testimonials`, `trust_logos`, `icp_technicality`, `offer_guarantee`, `urgency_basis`

Full prompts and defaults: [references/input-schema.md](references/input-schema.md).

## Output

Markdown only. Sections in order:
Navbar · Hero · Trust Logos · Problem · How It Works · Features · Benefits Recap · Testimonials · About · Pricing · FAQ · Final CTA · Footer.
Navbar · Hero · Trust Logos · Problem · How It Works · Features · Benefits Recap · Testimonials · Vision · About · Pricing · FAQ · Final CTA · Footer.

Section requirements: [references/blueprint.md](references/blueprint.md).
Skeleton: [assets/output-template.md](assets/output-template.md).
Expand Down
11 changes: 11 additions & 0 deletions skills/landing-page-copy/assets/output-template.md
Original file line number Diff line number Diff line change
Expand Up @@ -105,6 +105,17 @@

---

## {{vision_headline}}

{{vision_statement}}

- {{vision_belief_1}}
- {{vision_belief_2}}

> Visual: {{vision_visual_note}}

---

## Why I Built This

{{founder_story_paragraph_1}}
Expand Down
17 changes: 12 additions & 5 deletions skills/landing-page-copy/references/blueprint.md
Original file line number Diff line number Diff line change
Expand Up @@ -57,12 +57,19 @@ Formula: emotional promise + rational delivery.
- Match ICP demographics
- Position right before pricing

## 9. About
## 9. Vision / Manifesto
- The bigger change / movement the product is part of — world- or category-level, beyond one user's Point B
- Ties the reader's personal transformation to that larger purpose ("you + us → this future")
- Short: 1 aspirational headline + 2–3 belief lines
- Grounded belief, not hype — no "we are passionate about…" fluff (see anti-patterns)
- Visual note: aspirational future-state image

## 10. About
- 2–3 short storytelling paragraphs + founder face note
- What you've built before
- Press / community mentions

## 10. Pricing
## 11. Pricing
- 2–3 plans: downsell · main (highlighted "Most popular") · upsell
- Anchor the main plan visually
- 3–5 plan bullets, benefit-led
Expand All @@ -73,18 +80,18 @@ Formula: emotional promise + rational delivery.
- CTA under every plan
- Default: no refund guarantee

## 11. FAQ
## 12. FAQ
- 5–7 conversion-blocking objections
- Order: setup → billing → support → safety
- Straightforward, no BS
- Include safety questions (cancel, trial, guarantee if offered)

## 12. Final CTA
## 13. Final CTA
- Repeat the core promise (one line)
- Big CTA — same label as hero/pricing CTAs
- Optional micro-proof line under button

## 13. Footer
## 14. Footer
- Simple nav (legal, contact, support)
- Trust badges / certifications
- Repeated CTA
Expand Down
8 changes: 6 additions & 2 deletions skills/landing-page-copy/references/input-schema.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ If the user's initial product description already answers some of these, **skip

| Field | Default if missing | Inline flag |
|---|---|---|
| `vision` | One-line vision derived from `transformation` + `one_line_pitch` (the bigger change this points toward) | `> ⚠️ assumed vision — replace with your real mission, or run create-product-vision to draft one` |
| `founder_story` | Generic "built it because I lived this problem" placeholder | `> ⚠️ assumed founder story — replace with your real "why"` |
| `testimonials` | 5 placeholder cards `[Name, Role]` with templated specific-outcome quotes | `> ⚠️ placeholders — swap in real quotes ASAP` |
| `trust_logos` | Generic "Trusted by 500+ teams" line + logo slots | `> ⚠️ placeholder — add real logos / press mentions` |
Expand All @@ -30,7 +31,10 @@ If the user's initial product description already answers some of these, **skip

## Order of Operations

This is the **clarify gate** — nothing gets generated until it passes.

1. Parse what's already given.
2. Walk fields 1→8. For each missing one: ask, wait, restate.
3. Confirm optional fields with a single yes/no per field *only if* the answer would change output structure (e.g. "Is your ICP technical?" / "Do you offer a money-back guarantee?" / "Any authentic scarcity to use — limited seats, launch window, cohort close?").
4. Generate.
3. Ask for `vision` — "What's the bigger mission here? The change you want to be part of, beyond what one user gets." If the user has none, offer to draft one with the `create-product-vision` skill, or proceed with the default (derived from `transformation` + `one_line_pitch`) and flag it inline. Never block on vision.
4. Confirm optional fields with a single yes/no per field *only if* the answer would change output structure (e.g. "Is your ICP technical?" / "Do you offer a money-back guarantee?" / "Any authentic scarcity to use — limited seats, launch window, cohort close?").
5. Generate.
Loading