fortunto2/solo-factory/landing-gen
Claude Code and agent skill by fortunto2/solo-factory
- community
Checking that the SKILL.md file is still in the repository.
Turn a PRD into a landing page that converts and ships honest. One batch of intake questions, section-by-section copy with A/B headlines, a type, spacing, radius and motion system on Tailwind steps, a grep gate, then SEO with JSON-LD, agent-readiness files and a cookieless analytics counter. Use when user says "create landing page", "сделай лендинг", "landing page design", "сверстай лендинг", "лендинг для приложения", "write landing copy", "hero section", "A/B headlines", "landing content", or needs a marketing page from a PRD. Do NOT use for auditing a live site's SEO (use /seo-audit), social media posts (use /content-gen), or dense B2B app screens and dashboards.
Install
npx vskill@latest install fortunto2/solo-factory/landing-genSKILL.md
/landing-gen
One page, one offer, one audience, one primary action. This skill takes a project's PRD to a landing page that says one thing, is set on a system rather than by eye, and ships with the parts that usually get forgotten: honest proof, JSON-LD, the files agents read, and a counter that needs no cookie banner. With astro-static or Next.js it builds the page; otherwise it writes the content file.
Stages
Load only the reference for the stage you are in. Each opens with When / Inputs / Output.
| # | Stage | Output | Read | |
|---|---|---|---|---|
| 1 | Intake | Brief: action, offer, ICP, traffic source, objections, proof on hand, layout type A-E | references/intake.md | |
| 2 | Copy | Outline, hero, 5 A/B headlines, benefits, how it works, proof, FAQ, final CTA | references/copy-sections.md | |
| 3 | Visual system | One tokens block (font, type scale, spacing, radius, surfaces, motion), then sections one by one | references/layout-type-spacing.md | |
| 4 | Ship | Head and OG, JSON-LD with sourced Offer, robots/llms.txt/404, counter and CTA events, legal, form | references/ship.md | |
| 5 | Check | Grep gate prints nothing, checklist ticked, /humanize, seo audit, seo agent-audit | references/anti-patterns.md |
MCP tools (use if available)
kb_search(query): related methodology (conversion, copywriting)project_info(name): project stack and detailsweb_search(query): competitor landing pages
Without MCP, fall back to Glob + Grep + Read.
Steps
- Parse the project from
$ARGUMENTS. Readdocs/prd.md,README.md,docs/research.md.
Nothing there: run /validate first, or take the product description from the user.
- Detect the stack.
astro.config.*→ astro-static:src/pages/index.astroplus one
component per section. next.config.* → a Next.js route. Neither: content only.
- Intake (
intake.md). Fill the brief from the documents, ask only the gaps in ONE
AskUserQuestion batch, mark unanswered fields (assumed) and keep going. Pick the layout type and the mode: fake-door (hero, CTA, email capture, about two hours) or the full page.
- Forced reasoning, written into the brief before any headline: the ONE conversion, each
top objection with the proof or reversal that answers it, what sits above the fold.
- Competitor landings (optional, with search available): top three pages, their headline
patterns, CTA wording, proof types, and the positioning gap they leave.
- Copy (
copy-sections.md). The whole outline and all copy go into
docs/landing-content.md before any markup.
- Build (
layout-type-spacing.md). Tokens first, then hero, benefits, how it works, proof,
FAQ, final CTA, one section per iteration. Never regenerate the whole page to change a part.
- Ship (
ship.md): head, JSON-LD, agent files, counter with CTA events, footer, form. - Check (
anti-patterns.md): the gate must print nothing;/humanizethe copy; after
deploy, seo audit and seo agent-audit on the live URL (/seo-cli).
- Summary: headline, CTA, layout type, assumptions made, gate result, next steps.
Rules that hold in every stage
- One action. A second CTA is a subordinate link, never an equal button.
- Proof is real or absent. Invented quotes, logos, counts or ratings never reach a page that
ships; sample content is marked [SAMPLE] and the gate fails on it.
- Copy reads like a person. No em dashes, no stock inflation, specific over vague, measured
over specific (/humanize).
- Privacy-first. A cookieless counter (superduper-analytics by default, never PostHog or GA),
self-hosted fonts, no third-party pixels. Then no cookie banner is needed and the privacy page can say so (/legal).
- Values come from tokens. Every size, gap and radius is a scale step; an arbitrary value is
a gate failure, not a style choice.
Output: docs/landing-content.md
Notes
- Fake-door test: hero, CTA and email capture are enough;
noindexit. - Headlines are testable: run two or three variants, not one.
- Works with
/seo-auditand/seo-cli: generate, deploy, then audit the live page.
Gotchas
- Hero CTA must be above the fold — if users need to scroll to find the primary action, conversion drops 40%+. Hero = headline + subheadline + CTA button + visual. Nothing else.
- Too many CTAs = decision paralysis — one primary CTA per page. Secondary actions (learn more, see pricing) should be visually subordinate. Never put 3 equal-weight buttons side by side.
- Social proof placeholders hurt more than no social proof — "Join 0 users" or empty testimonial slots signal "nobody uses this". Remove social proof section entirely until you have real data. Use "Built by {founder name}" instead.
- OG image is required for social sharing — without
og:image, links shared on Twitter/LinkedIn/Slack show a blank preview. Use 1200x630px. Test with https://cards-dev.twitter.com/validator. - A/B test headlines BEFORE launch — don't pick one headline and ship. Use Google Ads ($20/day for 3 days) to test 3-5 variants against each other. The winner goes on the landing page.
- Fonts from Google's CDN leak every visitor's IP. A German court awarded damages for it
(LG München I, 3 O 17493/20, January 2022). Self-host: Fontsource in Astro, next/font in Next.js.
- A reveal animation can hide the page. Content set to
opacity: 0in CSS stays invisible
when JS fails or is off. Hide only under a .js class set inline in <head>.
- An Offer with no source is a claim agents repeat. Price and rating in JSON-LD come from
the store listing, a registry or the page itself, or they are left out.
Common Issues
No PRD or product info found
Cause: Project lacks docs/prd.md or a README with a product description. Fix: Run /validate to generate the PRD first, or provide a README with problem, solution, features.
Headlines too generic
Cause: Weak problem statement or no competitor differentiation. Fix: Add research.md with competitive analysis and real user quotes. Specific pain produces specific headlines.
Stack not detected for page scaffolding
Cause: No astro.config.* or next.config.* found. Fix: The skill writes content-only markdown. To get page files, use the astro-static or nextjs-supabase stack.
The gate flags a value the design really needs
Cause: A one-off size, such as a hero illustration's exact width. Fix: Put it in the tokens block as a named value and use the token; the gate checks classes, so a named token passes and stays findable.
Credits
Intake structure, the A-D layout taxonomy, page structure, type-scale snapping, the spacing table, the nested-radius rule, motion and state rules, and the checklist shape were adapted from `landing-page-design` by Elaya (MIT, Copyright (c) 2026 Elaya), rewritten for this skill's conventions. See THIRD-PARTY.md.
Security
- Security scanPassed, 95 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/landing-gen/SKILL.md
Popularity
- Repository stars
- 18
- Repository forks
- 3
- 7-day trend score
- 15
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/fortunto2/solo-factory/landing-gen)