v1.4.0 to v1.5.0

28 added, 3 removed. Audit A to A.

---
name: landing-page-generator
description: "Generate landing pages with PAS, AIDA, or StoryBrand from a product brief or existing README. Use for sales copy, hero sections, CTAs, or README rewrites. Don't use for blog posts, UX audits, or HTML builds."
license: MIT
effort: high
metadata:
- version: 1.4.0
+ version: 1.5.0
author: "Luong NGUYEN <luongnv89@gmail.com>"
---
# Landing Page Generator
Generate landing pages using proven copywriting frameworks (PAS, AIDA, StoryBrand). One skill,
two modes: write conversion-focused marketing copy from a product brief, or transform an existing
project README into a scannable, visual landing page.
## Two Modes
Pick the mode that matches the input and deliverable:
| Mode | Use when | Input | Output | Where |
|---|---|---|---|---|
| **A — Landing copy** | You need marketing copy for a sales/landing page | Product/service brief | Conversion-focused copy (hero → CTA) + A/B notes, in chat | This file, below |
| **B — README landing page** | You have an existing project `README.md` to make persuasive and scannable | Repo `README.md` + project files | Rewritten `README.md` (mermaid, tables, collapsed details) + `README.backup.md` | `references/readme-mode.md` |
If the user asks to "turn my README into a landing page", "make my GitHub page sell the project",
or similar, follow **Mode B** in `references/readme-mode.md`. Otherwise use **Mode A** below. When
unsure which applies, ask.
## Anti-Slop Rules
AI-generated marketing copy has predictable tells that kill credibility. See `references/anti-slop-rules.md` for banned phrases and structural patterns to avoid.
**Quick test:** read each sentence and ask "does this give the reader information they didn't already have?" If not, cut it.
## Default Quality Bar
In both modes, the final deliverable (Mode A copy and its structure; Mode B README layout) must be professional, production-ready, elegant, and premium, even when the user never asks. The brief or project voice decides the tone; this bar decides the finish:
- **Professional**: precise and credible; no hype
- **Production-ready**: ship-ready, every section complete; the only allowed gaps are labeled `[proof needed]` (Mode A) or `[placeholder]` (Mode B) markers
- **Elegant**: concise, one consistent voice, clean scannable hierarchy
- **Premium**: confident restraint, specific claims, polished formatting
These are qualities of the output, never words to put in it: do not write "premium", "elegant", or "world-class" into the copy.
## Prerequisites
Before writing, confirm the user supplied enough detail to make specific claims:
- Product/service name and target audience
- Problem solved and primary desired action
- Proof points, metrics, testimonials, or named differentiators
- Pricing/trial/guarantee details if a pricing section is requested
If proof is missing, write placeholders clearly labeled `[proof needed]`; never invent customers,
metrics, guarantees, scarcity, or compliance claims.
## Repo Sync Before Edits (mandatory)
- Mode B rewrites `README.md` inside the repo. Sync before that write to avoid clobbering remote work:
+ Mode B rewrites `README.md` inside the repo. Sync before that write to avoid clobbering remote work. If the working tree is not clean, stash first, sync, then restore:
```bash
branch="$(git rev-parse --abbrev-ref HEAD)"
+ dirty=0
+ if [ -n "$(git status --porcelain)" ]; then
+ git stash push -u -m "pre-sync"
+ dirty=1
+ fi
git fetch origin
git pull --rebase origin "$branch"
+ if [ "$dirty" -eq 1 ]; then
+ git stash pop
+ fi
```
- If the working tree is dirty: stash → sync → pop. If `origin` is missing or a conflict occurs: **stop and ask the user.** Skip this section for Mode A, which emits copy in chat and writes nothing.
+ If `origin` is missing, pull is unavailable, or rebase/stash conflicts occur, stop and ask the user before continuing. Skip this section for Mode A, which emits copy in chat and writes nothing.
## Workflow (Mode A — Landing copy)
> Mode B (README landing page) has its own self-contained workflow in `references/readme-mode.md`.
### Step 1: Gather Product/Service Information
Collect before writing:
| Input | Purpose |
|---|---|
| Product/service name | Anchor all copy |
| Target audience | Tone, pain points, vocabulary |
| Problem solved | Core value prop |
| Competitive advantage | Differentiation |
| Desired visitor action | Primary CTA |
| Social proof | Testimonials, metrics, logos |
If any **core** input is missing—product/service name, target audience, problem solved, or primary
CTA—ask before proceeding. For missing proof, pricing, or guarantee details, proceed with `[proof needed]`
placeholders per Prerequisites and guardrails.
### Step 2: Choose Copywriting Framework
| Framework | Best for | Structure |
|---|---|---|
| **PAS** | Pain-driven B2B, productivity tools | Problem → Agitate → Solution |
| **AIDA** | Consumer apps, broad audiences | Attention → Interest → Desire → Action |
| **StoryBrand** | Narrative brands, coaching, services | Hero → Guide → Plan → CTA → Success/Failure |
Tell the user which framework you picked. Let them override.
### Step 3: Generate Landing Page Sections
Populate **every section** in the framework-specific template from `references/section-templates.md`
that matches the framework chosen in Step 2. Use that template's section names and order exactly—do not
substitute a generic Hero/Problem/Solution layout when another framework applies.
**Content quality (all frameworks):**
- Headlines: 10 words or fewer, value-led, specific to the audience
- Subheadlines: 1–2 sentences that expand the headline without repeating it
- Body copy: active voice, benefit-led; address pain points with concrete scenarios where the template calls for them
- Features: 3–5 items described as outcomes, not feature lists
- How It Works: 3–4 simple steps; icon concept + description per step; CTA at the end
- Social proof: quote + name + role + company, or `[proof needed]` when proof is unavailable
- Pricing (if applicable): feature comparison, recommended plan callout, guarantee copy or `[proof needed]`
- FAQ: 5–7 common objections with clear, confident answers
- CTAs: follow CTA Button Rules; place primary and secondary CTAs where the template specifies
- Final CTA: risk reversal (guarantee, trial); urgency or scarcity only when genuine; button text reinforces value
### Step 4: Format Output
Use the template matching the chosen framework in `references/section-templates.md` (PAS, AIDA, or
StoryBrand). Keep large reusable structures in references to protect the agent's context budget; read
only the reference needed for the requested output. End with optimization notes: A/B test ideas and
conversion tips.
### Step 5: Copywriting Best Practices
- Active voice, present tense
- Benefits over features
- Specific numbers and data where available
- Address objections directly
- Urgency without pressure tactics
- Short, scannable sentences
- "You" language (customer-focused)
- Multiple CTAs throughout the page
### CTA Button Rules
- Start with an action verb
- Be specific about the outcome
- First person when appropriate ("Start My Free Trial")
- Genuine urgency ("Get Instant Access")
- Never generic ("Submit", "Click Here")
## Example Triggers
- "Write landing page copy for a B2B SaaS tool"
- "Create sales page content using PAS framework"
- "Generate hero section copy for my product"
- "Write conversion-optimized CTAs"
- "Help me with landing page headlines"
## Expected Output Example
Example input:
```text
Generate a landing page for AcmeDesk, a helpdesk for solo founders. Audience: indie SaaS founders.
Primary CTA: Start free trial. Differentiator: setup in 10 minutes, shared inbox + AI drafts.
```
Expected output:
```text
LANDING PAGE COPY
Product/Service: AcmeDesk
Framework: PAS
HERO SECTION
Headline: Answer Every Customer Without Hiring Support
Subheadline: AcmeDesk gives solo founders a shared inbox and AI draft replies that are ready in 10 minutes, not weeks.
CTA Button: "Start My Free Trial"
Trust Bar: [proof needed — add user count, testimonial, or response-time metric]
...
OPTIMIZATION NOTES
A/B Test Ideas: test speed-focused vs founder-control headlines.
```
## Safety & Guardrails
- Confirm missing inputs before generating a full page; if the user wants speed, proceed with clearly
marked assumptions.
- Treat unsupported claims as an error: add `[proof needed]` instead of fabricating metrics, logos,
testimonials, awards, guarantees, medical/legal/financial outcomes, or fake urgency.
- Validate every CTA against the CTA Button Rules before delivery.
- Warn when the requested copy depends on regulated claims, competitor comparisons, or scarcity that
requires legal or factual review.
## Edge Cases
- If the user asks for only one section, generate that section and a short note on how it fits the page.
- If the product is vague, ask 2–4 targeted questions rather than writing generic copy.
- If the user requests HTML, design, wireframes, SEO strategy, or UX critique, explain that this skill
only generates landing-page copy and offer a copy-only structure.
- If social proof is unavailable, write a proof slot rather than a fake testimonial.
+ ## Final Report
+
+ End every run, stops included, with this compact text block. Status is `COMPLETE` (the deliverable is produced and every applicable check passes — Mode A: the full-page copy follows the chosen framework's template, or the requested single section plus its fit note is delivered; Mode B: `README.md` is rewritten, `README.backup.md` exists, and the Step 6 Self-Review Checklist passes), `PARTIAL` (a deliverable was produced but a check still fails), or `BLOCKED` (no deliverable: a required question went unanswered and the user ended the run, Mode B found no `README.md` and the user declined creating one, or Repo Sync stopped on a conflict). A question that awaits the user's answer does not end the run. Fill rules, `PARTIAL` and `BLOCKED` examples, and reader checks: `references/final-report.md`. Example:
+
+ ```text
+ Result: COMPLETE. Delivered full PAS landing copy for AcmeDesk (hero through final CTA) plus A/B test ideas.
+ Evidence: Framework PAS named and applied via references/section-templates.md; hero headline 8 words; every CTA starts with an action verb; two proof slots labeled [proof needed]; anti-slop check passed.
+ Uncertainty: Assumed a setup-time objection belongs in the FAQ; no competitor information was supplied.
+ Decision: No approval needed. Replace the two [proof needed] markers with real metrics before publishing.
+ ```
+
## Acceptance Criteria
Verify before delivering:
- Output follows the framework-specific template in `references/section-templates.md` or a user-specified
subset.
- Chosen framework is named and consistently applied.
- Hero headline is 10 words or fewer, specific, and value-led.
- Every CTA starts with an action verb and states the outcome.
- Unsupported proof is labeled `[proof needed]`; no fake claims are present.
- Copy passes `references/anti-slop-rules.md`.
- Output meets the Default Quality Bar (professional, production-ready, elegant, premium) without the user asking.
- Final response includes A/B test ideas and conversion tips unless the user asked for a single section.
+ - The run closes with a Final Report: `Result:` and its status first, then `Evidence:`, `Uncertainty:`, and `Decision:` lines; `Evidence:` cites only checks that ran.
+ - The Final Report passes the four reader checks in `references/final-report.md` (result findable, facts and assumptions separated, claims traceable, next decision clear). Without a human reviewer's answer, human understanding is unconfirmed.
+
+ ## Step Completion Reports
+
+ After each major step, emit a compact status block — per-check `√`/`×` lines and a closing `Result: PASS | FAIL | PARTIAL` line. Mode A uses the format and per-step checks in `references/step-reports.md`; Mode B uses `references/readme-step-reports.md`.