Get started
How a run works
The six stages, what each one writes, and how a session ends.
Point Leakdown at a site and six stages run in order. Each one writes a file you can open.
The six stages
Each stage reads what the one before it wrote, and you can stop after any of them.
01site
Reads your landing page: what you sell, to whom, the signup path, visible pricing, walls, and what a first-timer trips on.
SITE.md02map
Crawls two clicks deep plus your sitemap, with no AI. Tags every page and every booking or payment surface. The report later lists pages no prospect found.
MAP.md03personas
Builds up to 10 prospects that fit your product, spread across core buyers, adjacent roles and people outside the target.
personas/04visit
One real browser session per prospect. Each step: look at the screen, decide, act, think out loud.
session.jsonl · video.mp4 · filmstrip.html05report
The one-page report plus every table behind it.
AGGREGATE.md · DETAIL.md06fix
An expert panel reads each session and proposes the fix.
FIXES.md
leakdown your-site.com --stop personas # read the site and build prospects, then stopInside a session
A prospect only sees one screen at a time, plus an outline of the headings below it. On a page 21 screens long that is about 40 elements instead of 776. Scrolling is free and does not use up patience.
Every session ends one of four ways:
| Ending | Meaning |
|---|---|
| Completed | The prospect reached the goal. |
| Abandoned | The prospect walked out, with a reason, or ran out of patience. |
| Guardrail | A safety rule stopped an action, such as paying or booking. |
| Could not run | Our side failed: the URL was unreachable, the model stopped answering, or setup broke. It is never counted as a drop-off. |
Each ending prints a block like this in the terminal, then the tally of prospects so far.
============================================================
[4/10] ABANDONED
Where: step 7 on https://your-site.com/signup/step-2
Why: "The plan selector looks like a confirmation page. I think I am done."
Wanted answered: "Which button takes me to the dashboard?"
Session: runs/your-site.com/2026-09-17/10-14-02/wide/haiku/momus
[##########--------------] 4/10 agents finished
The ladder
--ladder is the full run. Cheap models visit every persona and act as votes. A filter keeps only what more than one session cites. Sonnet verifies those sessions, then opus re-walks the hardest persona and writes the report you read.
leakdown your-site.com --ladder --yes --headless
leakdown your-site.com --ladder --wide "haiku:5,opencode/<model>:5" # split the sweepReruns and caching
SITE.md is written once per site, and personas are skipped when a set already exists. Every run re-crawls the site once and asks whether to rebuild when the page list changed.
| Flag | Effect |
|---|---|
--plan | Re-read the site and rebuild its personas. |
--no-map | Skip the re-crawl. |
--force | Regenerate outputs that are already up to date. |
A ladder run that stopped, for example on a usage limit, resumes the same day and reuses the sessions it already has.