---
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.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. 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 `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`.
