It is inside this file, along with the renderer. Nothing is fetched to give it to you.
Paste it into your own model
With a description of your process. Claude, ChatGPT, whichever you already use — you run this step, not this page. It hands back a workflow file.
Paste the result back here
The renderer turns it into one self-contained HTML page you can send to anyone. Or download the renderer and run it yourself.
Action1 · Turn a process into a page you can send
1
Copy the prompt
It is inside this file
Purpose
The prompt and the renderer both travel inside this page. Copying the prompt fetches nothing and tells no one you did it.
How it works
Open the builder and press Copy on the prompt.
Nothing leaves your machine at this step.
Input1 · Turn a process into a page you can send
2
Paste it into your own model, with your process
You run this step, not this page
SourceClaude, ChatGPT, whichever you use
Purpose
This is the only step where your process text leaves your machine, and it goes to the model vendor you already chose — on their terms, not ours. This page is not involved and never sees it.
How it works
Start a fresh conversation; the prompt is long and does badly with prior context.
Paste the prompt, then describe your process underneath it.
The reply should be one fenced JSON block and nothing else.
When it goes wrong
The reply is wrapped in explanationKeep only what is between the fences2 →
Choice1 · Turn a process into a page you can send
3
Render it here, or run the renderer yourself?
Both produce the same file
Purpose
This page will render your workflow without ever reading it — but you do not have to take that on trust. The renderer is open source, so the whole thing runs on your machine with nothing pasted anywhere.
Rules and constraints
Both paths use the same renderer and produce the same file.
Neither path sends your document anywhere.
Output1 · Turn a process into a page you can send
3a
Download the renderer
One repository, no dependencies
DestinationYour machine
Purpose
Nothing here is a service, so there is nothing to be locked into. The renderer that draws this page is the same code you can run locally, and the format is a plain JSON file. If you would rather your workflow never touched someone else's page at all, this is the supported path, not a workaround.
How it works
Clone the repository and run ./build.sh — Node, no package install.
Or open the downloaded index.html and use the builder inside it offline.
The document format is the same either way, so a file built here opens there.
Action1 · Turn a process into a page you can send
3a.2
Run it against your document
Same renderer, same bytes out
Purpose
The build is deterministic: the same document produces the same page every time, here or on your machine. That is what makes the two paths genuinely interchangeable rather than a hosted version and a lesser one.
Commands
./build.sh
Tests, builds, and proves the file stands alone
Action1 · Turn a process into a page you can send
4
Paste the workflow back here
The renderer draws it without reading it
Purpose
The renderer is mechanical: it validates the shape of the document and lays out what it finds. It makes no judgement about your process and sends nothing anywhere.
Rules and constraints
The first character must be { and the last must be }.
Same document in, same page out, every time.
Question1 · Turn a process into a page you can send
5
Does it validate?
Shape only — never content
Purpose
The only gate. It checks that the document is the right shape, not that your process is any good — that judgement stays with you and the people who run it.
Output1 · Turn a process into a page you can send
5a
Send the validator output back to the model
Verbatim, paths included
DestinationYour model
Purpose
The validator's message is written to be pasted straight back. It names the path that failed and the rule it broke, which is usually all the model needs to return a corrected document.
How it works
Copy the whole error, including the JSON path.
Take the corrected document whole; do not merge it by hand.
Output1 · Turn a process into a page you can send
6
Download one HTML file
No server, no build, no dependencies
DestinationAnyone you send it to
Purpose
What comes out is a single file that carries its own renderer, styles and content. It opens from a mail attachment on a laptop with no network.
How it works
Send it, commit it next to the code it describes, or host it anywhere.
Or download the renderer instead and run the whole thing yourself.
Drawn by the renderer it describes, from the same format as every page in this file
What the format carries
Confidence
Nothing here has been checked by a human
Every step carries a verification state, and an absent one means unverified — authority is earned by a human act, never granted by omission. Unchecked boxes draw a 1.04px border and checked ones 1.92px, so the answer is on the canvas rather than buried in a panel. All 256 steps below are light. Review mode walks a sheet, marks each step, and exports the marked copy.
Freshness
The document dates itself
A document says when it was written and how often it wants revisiting — naturalization asks for six months, checkout-ux for a year — and the line under each header does that arithmetic against your clock, never the build's. Nothing moves the date on its own, because a rebuild is not a review. Starter carries no date and so gets no line at all: a document that makes no claim about its age is not nagged about one.
Depth
Every box opens onto the real material
A diagram that fits on a page can only ever be an index. Click any box and the panel behind it holds the actual work — the runbook, the schema, the wireframe with every control wired to where it leads. 197 of the 256 steps enumerate their own failure modes, and all 256 open. Left and right walk the panels without going back to the sheet, and nothing is fetched to fill them — the material travels inside this file.
Specification
Precise enough to hand to an agent
On an agent sheet a step is not a description of what should happen. 66 steps name their model, the tools that turn may call and a worked transcript of it going right; 43 of those add the guardrails. The diagram is the control flow around them, exceptions included: 35 of the 66 sit off the happy path, so a guardrail that trips is a step with its own transcript rather than a footnote.
Exceptions
One column works. The rest are exceptions.
The successful path runs straight down the left edge, and every branch that can go wrong hangs off it to the right — the further right a box sits, the worse the situation that put you there. A branch is control flow and gets a box of its own; the smaller ways a single step can fail are listed inside that step, under "When it goes wrong". 113 of these 256 boxes are things going wrong, and 197 steps enumerate their own failure modes on top of that.
Legibility
No two lines cross. Not once.
The renderer tests every horizontal against every vertical, lays the sheet out again if it finds an intersection, and refuses to build the file if it cannot separate them. A guarantee rather than a habit, asserted by a test across all 15 sheets — which is why these stay readable at two hundred steps where a hand-drawn chart stops at twenty.
Ownership
Who does what, without a second axis
Swimlanes want an axis and both are spent: down is sequence, right is severity. So each box carries a three-character chip of its owner's initials, the legend dims the sheet to one actor while you hover it, and where the owner changes the connecting line is ticked with the receiving initials. Handoffs are where processes fail.
Severity
It survives a photocopy
Tone was hue alone, which a colour-blind reader or a black-and-white print loses entirely. Branch labels lead with a glyph — ▲ warning, ✗ error, ⓘ note, ✓ success — picked by drawing twenty-four candidates at the size they actually render, then again through a 1-bit threshold. None is in the emoji set: a colour-emoji font would repaint it a colour the tone never chose.
Examples
Five worked examples below, each a page of its own — 256 steps across 15 sheets. The path that works runs straight down one column; everything that can go wrong hangs off it to the right in a box of its own, so a failure mode nobody enumerated is a missing box rather than a sentence nobody wrote — 113 of the 256 steps are things going wrong.