Give the plan a shape before you write the code.
Schematic Planner turns a written plan into a graph you and your AI agent both edit — then hands it back as Markdown files and an Obsidian Canvas you keep.
The problem it solves
Coding agents write plans well. What they cannot do is hold one still. Ask for a feature and you get a plausible task list, half of it forgotten three messages later, and the architecture quietly reinvented on the next run. The plan was never anywhere: it was in the conversation, and the conversation moved on.
Put the plan somewhere both of you can see, and that stops happening.
How it goes
Your agent writes the plan
However it likes — prose, a task list, a design note. That part already works.
One call turns it into a drawing
The agent sends the structure and the server places every node. Agents declare what depends on what and never coordinates, because a model asked for positions produces a diagram nobody wants to read.
You move what you want moved
A node you drag is pinned, and automatic layout leaves it alone from then on. Everything else reflows around it.
The files come with you
Containment becomes directories, dependency order becomes the numbers on the filenames. Commit the folder next to your source and your agent reads it every run.
What an agent sees
Eleven tools behind a URL and a key. Nothing to install, nothing to keep in step with the server. A whole plan arrives in one call, and every change after that goes through one batched, atomic door — so forty nodes appear on your canvas at once rather than crawling in one at a time.
Nodes are addressed by a slug you would recognise, so a retry changes nothing the second time.
The tool referencecreate_plan({
title: "Billing rework",
nodes: [
{ slug: "ledger-schema", title: "Ledger schema" },
{ slug: "pricing-rules", title: "Pricing rules" },
{ slug: "render-pdf", title: "Render PDF" }
],
edges: [
{ from: "pricing-rules", to: "ledger-schema" },
{ from: "render-pdf", to: "pricing-rules" }
]
})What comes out
A zip of plain Markdown with the graph in the frontmatter, plus a .canvas that opens in Obsidian with the layout intact. Nothing in the format needs this service to be readable, and the same plan always exports to the same bytes.
plan-export.zip ├── README.md ├── 01-foundation/ │ ├── 01-ledger-schema.md │ └── 02-pricing-rules.md ├── 02-invoicing/ │ └── 01-render-pdf.md ├── plan.canvas └── plan.json
Run it yourself
The whole stack is AGPL-3.0 and needs Node and Postgres. No proprietary authentication service, no managed-only dependency, every setting an environment variable. If your source cannot leave your network, neither do your plans.
Where it actually is
Pre-alpha, and worth saying plainly. Planning, drawing, live collaboration, the agent surface, sharing, export, and managing a workspace and your account all work. No email is ever sent, so an invitation is a link you pass along; social sign-in is not built. Export your plans — that is what the export is for.