landing-generator
Skill18 starsChanged 9 months agoMITView on GitHub
Generate a React + Vite landing page from PMF context files. Use when user says "build landing page", "generate landing", "create website", "make a page", "landing page for my product", or wants to create a marketing page.
- Installs packages
In this repository9 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- build-test-guideSkill
- icp-builderSkill
- mvp-builderSkill
- outreach-builderSkill
- plan-pmf-modeSkill
- pmf-contextSkill
- validation-plan-builderSkill
- value-prop-builderSkill
The file
We split this skill into the rules it gives an agent
7 rules. About 0 are common, 4 are distinctive, and 3 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈4
Distinctive · estimate
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 29
Write in the ICP's language — use phrases from "How They Talk About It" in pmf/icp.md
- Distinctive: line 37
Remove all friction — no navigation links that lead away from the page
- Distinctive: line 38
Every section builds toward the CTA — problem → solution → proof → act
- Distinctive: line 49
If any are missing, inform the user:
- Very specific: line 82
Use the Path to Aha steps from pmf/mvp.md as benefit headlines (what the user gets at each step, not how it works)
- Distinctive: line 137
Read PMF context files:
- Very specific: line 152
Create package.json with dependencies
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Landing Page Generator
Generate a complete, production-ready landing page based on the user's PMF context layer.
The Goal: Conversion
This page has one job — get the visitor to click the CTA. Every section exists to move them closer to that action. The CTA from pmf/value-prop.md is the validation goal — conversions on this page are the signal that tests whether the value prop is working.
Design Principles
Visual design:
- Clean, modern, and professional — not generic or templated
- Strong visual hierarchy — headline dominates, supporting text recedes
- Generous whitespace — let the copy breathe
- Consistent color system — one primary action color for all CTAs, muted tones elsewhere
- Smooth transitions and subtle hover states — the page should feel alive
- Mobile-first responsive — most ICP traffic will come from mobile/social
Persuasive copy:
- Write in the ICP's language — use phrases from "How They Talk About It" in
pmf/icp.md - Problem section should make the reader feel understood, not attacked (seen, not judged)
- Solution section paints the Magnet — make the desired future feel tangible and inevitable
- Each section should answer "why should I keep reading?" and end with a reason to scroll down
- CTA copy should be action-oriented and low-friction — match the CTA from value-prop.md exactly
Conversion focus:
- CTA appears at least twice — hero and bottom. Consider a sticky header CTA for long pages.
- Remove all friction — no navigation links that lead away from the page
- Every section builds toward the CTA — problem → solution → proof → act
- Social proof reduces perceived risk — even placeholder testimonials set the right structure
- The bottom CTA should feel like the natural conclusion, not an afterthought
Prerequisites
Requires the PMF context layer:
pmf/icp.md- Who the customer ispmf/value-prop.md- Why they should care (Callout + Magnet + Message)pmf/mvp.md- MVP PRD with aha moment and path to highlight
If any are missing, inform the user:
To generate a landing page, I need your PMF context layer.
Missing:
[ ] pmf/icp.md
[✓] pmf/value-prop.md
[ ] pmf/mvp.md
Use /plan-pmf to build your context layer first.Page Structure
Generate these sections using the PMF context:
1. Hero Section
- Headline: "The Message" from
pmf/value-prop.md - Subheadline: "The Callout" — the 3-part descriptor that makes the ICP say "that's me"
- CTA button: "CTA" from
pmf/value-prop.md - Optional: Hero image placeholder
2. Problem Section
- From "The Callout" Pain/Fear in
pmf/value-prop.md - Agitate the pain using language from
pmf/icp.md"How They Talk About It" - Show you understand their frustration
3. Solution Section
- From "The Magnet" in
pmf/value-prop.md— the desired future - How your product gets them there
- Bridge from current pain to the utopic outcome
4. Benefits Section
- Use the Path to Aha steps from
pmf/mvp.mdas benefit headlines (what the user gets at each step, not how it works) - For B2B ICPs: if "How They Measure Success" exists in
pmf/icp.md, frame benefits around their KPIs (e.g., "Cut deployment time by 50%" rather than "Deploy faster") - Icon placeholders
5. Social Proof (Placeholder)
- Frame around the Core Aha Moment and Success Criteria from
pmf/mvp.md - Trust indicators
6. CTA Section
- Repeat "The Message" from
pmf/value-prop.md - Clear action button using "CTA" from
pmf/value-prop.md - Reinforce "The Magnet" — the desired future they'll reach
7. Footer
- Simple contact/links
- Attribution
SEO & Social Tags
The index.html must include:
<meta name="description">— derived from "The Message" inpmf/value-prop.md<meta property="og:title">— product name + headline<meta property="og:description">— "The Message" frompmf/value-prop.md<meta property="og:type" content="website"><meta property="og:image">— placeholder path (e.g.,/og-image.png) with a comment to replace<meta name="twitter:card" content="summary_large_image"><meta name="twitter:title">and<meta name="twitter:description">— same as OG- Favicon link — placeholder path with a comment to replace
Tech Stack
- React + Vite (lightweight, fast to generate and run)
- Tailwind CSS
- TypeScript
- Minimal dependencies
Output Structure
landing/
├── src/
│ ├── App.tsx
│ ├── main.tsx
│ └── index.css
├── index.html
├── package.json
├── vite.config.ts
├── tsconfig.json
├── tailwind.config.js
├── postcss.config.js
└── README.mdGeneration Process
- Read PMF context files:
pmf/icp.md(required)pmf/value-prop.md(required)pmf/mvp.md(required — MVP PRD with aha moment and path)
- Extract content for each section:
- Hero: The Message (headline), The Callout (subheadline), CTA (button)
- Problem: Callout Pain/Fear, ICP language
- Solution: The Magnet (desired future)
- Benefits: Path to Aha steps from MVP PRD (if available) or derived from Callout + Magnet
- Social Proof: Core Aha Moment + Success Criteria (if available) or placeholders
- CTA: The Message + CTA + The Magnet reinforcement
- Generate component files with real content
- Create package.json with dependencies
- Create Tailwind config
- Generate README with run instructions
After Generation
Your landing page has been generated in the `landing/` folder.
**To run locally:**
cd landing
npm install
npm run dev
**To deploy:**
- Push to GitHub
- Connect to Vercel
- Auto-deploy on every push
The page uses your PMF context:
- ICP from pmf/icp.md
- Value Prop (Callout + Magnet) from pmf/value-prop.md
- MVP PRD (Path to Aha + features) from pmf/mvp.md
Feel free to customize the design and copy!
Created by Adi Shmorak, The P/MF Detective
Star on GitHub: github.com/adidacta/pmf-detectiveAttribution
Created by Adi Shmorak, The P/MF Detective Star on GitHub if this helped | Feedback: adi@adidacta.com
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

