Plans your AI agent writes
that you actually want to read.
Your coding agent already writes plans before it ships features. Plannar gives it an MDX surface — tabs, tradeoff tables, live previews — so the plan is skimmable in a minute instead of a wall of bullets you scroll past.
Pagination for /messages
The exact MDX file the agent wrote is in the next section. Below is what the reviewer sees: a tab per option, a tradeoff table, and a live API preview to click through.
Return an opaque cursor with each page; the client passes it back as ?after. Stable under concurrent writes, and the index lookup stays O(log n) at any depth.
Switching tabs swaps the prose, the request, the response, and the tradeoffs in one click — the agent wrote it once, in one MDX file.
Built for what agents are already good at
| Property | Plain markdown | Hand-rolled HTML | Plannar |
|---|---|---|---|
| Skimmable layout | Walls of text | Yes | Yes (tabs / cards / accordion) |
| Interactive preview | No | Yes, hand-rolled | Yes, via <Playground> |
| Tokens to author | Cheap | Expensive (full page) | Cheap (MDX + components) |
| Easy to revise | Easy | Hard (one blob) | Easy (named components) |
| Agent re-runs | Rewrites prose | Rewrites whole page | Patches MDX in place |
| Reads like a doc | Yes | One-off webpage | Yes (Fumadocs chrome) |
Agents are great at writing components and structured MDX. Plannar leans into that instead of asking them to format pretty prose.
Plannar ships a Claude Code skill (and works with any agent). The agent emits an MDX file with tabs, tradeoff tables, and Playground blocks instead of a flat wall of bullets.
plannar editor opens a local preview with HMR. Every Playground is live. Highlight any line to leave inline feedback for the agent.
Comments turn into a prompt you paste straight back to the agent. When the plan is final, plannar export packages it as a single HTML file to share.
Highlight any line and leave feedback. Plannar bundles every comment into a single prompt your agent can act on directly — no copy-paste roundtrips.
plannar export packages a plan — interactivity, state, styles — into one HTML file. Drop it in Slack, attach it to a ticket, no server required.
Plans render with the same shadcn/ui primitives as your app. The agent's mockup and the eventual implementation look the same.
One MDX file produced the plan above
No hand-wired state, no per-tab component. The agent writes structured MDX; Plannar handles tabs, bindings, and the Playground.
bind="api:cursor" wires the tab state without a single useState. The same pattern works for sliders, selects, and any registered control.