Claude Code · Codex · Kimi Code

Your agent writes a landing page in one shot. That's the problem.

LandingForge makes it work in eight gated phases, then scores the result against a published 39-check rubric and loops until it clears 8.0/10. You approve every phase.

Install the pluginRead the rubric

MIT · runs locally · no account, no API key, no telemetry

landing-build — landingforge
› /landing-build landingforge
phase 1 strategy ✓ brief.md
phase 2 copy ✓ copy.md
phase 3 design ✓ tokens.css · design.md
phase 4 build ✓ site/
phase 5 discoverability ✓ seo-report.md
phase 6 conversion QA ✓ cro-report.md
phase 7 performance ✓ perf-report.md
phase 8 score
9.1/ 10  ·  ship bar 8.0, no axis < 6.0
conversion 9.5   visual 9.7   discoverability 8.7   craft 8.3
7 checks lost points — itemized in SCORECARD.md

The default

Average is the one thing a landing page can't be.

You asked for a landing page and got one. Centered hero, three identical feature cards, an indigo-to-violet gradient button, a stock photo of someone pointing at a whiteboard.

It isn't bad, exactly. It's average — which is what your visitor has already scrolled past four times today. And because you have no rubric to argue with the model about, the next prompt just produces a differently average page.

LandingForge names the failure modes first — eight hard reject rules and thirteen conversion anti-patterns, written down before generation starts — then grades the output against them.

How it works

Eight phases. You approve each one.

  1. 01

    Lock the strategy

    Positioning, ICP, awareness stage, and the ONE action the page drives. Nothing gets written until this is settled — and you approve it before phase 2 starts.

  2. 02

    Write, design, build

    Copy keyed to a persuasion framework. A visual system with one accent and one display face. A self-contained Astro project where the product UI is coded, not stock.

  3. 03

    Audit what shipped

    Conversion, discoverability, and performance passes run against the rendered page in a real browser — not against the plan that produced it.

  4. 04

    Score it, then loop

    Four axes, 39 checks. Below the bar, each fix routes back to the phase that owns it. Three rounds maximum, then it reports what it could not fix.

01 — The rubric is the product

Most generators hide their taste in a system prompt.

LandingForge publishes all 35,631 words of it. The anti-slop blocklist alone bans eight specific tells. You can read every rule, disagree with one, and edit it.

Read anti-slop-blocklist.md
  • A1 default Inter as the display face
  • A2 indigo-violet gradient accent
  • A3 centered-everything layout
  • A4 identical three-card grid
  • A5 decorative gradient blobs
  • A6 emoji as iconography
  • A7 stock-photo hero
  • A8 untinted Tailwind grays

02 — It grades the DOM, not the plan

A page can promise discipline in the brief and still ship two competing buttons.

So the QA phases drive a real headless browser over the built page and read computed styles, above-the-fold paint, and the mobile fold. The browser ships with the plugin — there is nothing else to install and nothing to connect to.

03 — Written for AI search, not just Google

A page that only ranks gets summarized without attribution.

Structured data is server-rendered into the initial HTML, answers are self-contained at the passage level, and crawler access for citation engines is checked explicitly rather than assumed.

Proof

No testimonials. This was published today.

Inventing users would break the same specificity rule the engine enforces on every page it builds. So here is what you can check yourself instead, in about a minute.

The scorecard this page earned — every check itemized, including the ones it lost.
SCORECARD.md
The artifact chain that produced it — brief, copy, tokens, design, site, score.
examples/self
CI that fails on prompt drift — the per-CLI prompts regenerate from one source every build.
ci.yml

The obvious objection

“A score the model gives itself isn't evidence.”

Correct. So here is exactly what the number is, and what it isn't.

AxisWeightHow it's determined
Conversion35%A 13-rule linter read against the rendered DOM — element counts, form fields, what survives the fold
Visual distinctiveness25%Model judgment against five named calibration pages — labeled as taste, not measurement
Discoverability25%Structured-data and crawler-access checks, delegated to claude-seo when installed
Craft & performance15%Lighthouse, when a URL can be served. Labeled “reasoned” when it cannot

Three of four axes read from deterministic sources. One is taste, and it says so.None of them measure conversion — no A/B data enters this loop. The score enforces a floor of craft; it does not predict revenue, and a tool that claims otherwise is selling you something.

Price

Free. MIT.

There is no paid tier, no hosted version, and no plan to add one. Fork it and change the rules if yours are better.

FAQ

Questions worth asking first.

Does it work without Claude Code?

Yes. Codex and Kimi Code are supported. The per-CLI prompt variants are generated from one source and CI fails if they drift, so all three stay in step.

Does it need an API key, or send my page anywhere?

No. It runs inside the coding agent you already use, and the bundled browser only opens pages you point it at. There is no account, no key, and no telemetry.

Can I change the rules?

That is the intended use. The knowledge base is plain markdown — edit a rule and every page the engine builds afterwards follows it.

What does it actually produce?

A self-contained Astro and Tailwind project you own, plus the artifact chain that justifies each decision: the brief, the copy, the design tokens, the QA reports, and the scorecard.

Will it deploy the page for me?

No. It writes page code and commented integration stubs. It holds no secrets and touches no accounts — deployment stays yours.

Read the rubric first. Install it second.

Two lines in Claude Code. Codex and Kimi Code are one command each — see the README.

Claude Code
/plugin marketplace add NmadeleiDev/landingforge
/plugin install landingforge@landingforge
Install the pluginRead the rubric

MIT · runs locally · no account, no API key, no telemetry