Build from Claude
Author recipes in your own Claude session, with every change verified server-side.
The dashboard's build conversation is metered: each round runs on Levain's models and bills your credits. If you already pay for Claude, you can do the same work in your own session instead and only pay for the verification pass at the end.
The trade is deliberate. Iteration moves to your machine; the checks that decide whether a version is fit to publish stay on ours. Passing locally is necessary, never sufficient.
Setup
Install the plugin, which teaches Claude how Levain recipes work:
/plugin marketplace add levainlabs/skills
/plugin install levainConnect the Levain MCP server in your client (see MCP). It signs you in through your browser, so there's no API key to create or store.
Then install the toolchain and sign in:
uv tool install levain-cli
levain loginlevain login prints a URL and a short code. Open it, approve, and the
CLI holds the session from then on. Install it as a tool rather than
running it through uvx — git calls it by name, so it has to be on
your PATH.
The loop
Ask Claude to change an agent and the skill takes over. What it does, so you know what to expect:
- Forks a draft. Published versions are immutable; every change starts as a new draft.
- Clones the recipe. The CLI acts as git's credential helper and
mints a credential scoped to that one repository, good for about an
hour. Nothing is written to
.git/config. - Edits the recipe — the
graph.tlaspec, the Python behind each node, andSPEC.md. - Checks locally with
levain validate-package ., which validates the spec, model-checks the graph for unreachable nodes and loops that never terminate, and regenerates the typed state. - Pushes, then verifies. The platform re-runs the checks and an independent review against the exact commit you pushed, and records the verdict.
- Publishes once that verdict is green.
You can drive any step yourself. The CLI and the API are the same ones the skill uses.
What the review reads
The reviewer sees your diff and SPEC.md. It does not see your
conversation with Claude.
That makes SPEC.md the place to record decisions, especially the ones
that look odd without context: an unusual model on a node, a step kept
deliberately simple, a suggestion you considered and rejected. Written
down, a choice reads as intent. Left out, it reads as an oversight and
comes back as a review comment.
Marking a comment resolved doesn't settle it. The next verification pass judges the code as it stands.
What stays on the platform
- Verification decides. A version publishes on the platform's verdict, not your local run.
- Published versions are read-only. Pushing to one is refused; fork a draft instead.
- Integrations still gate publishing. A node that calls an integration the agent isn't attached to blocks the publish, same as in the dashboard.
- Runs are unchanged. Where an agent runs, what it costs, and how it's isolated are the same whichever way you authored it.
Working in the dashboard instead
Nothing here replaces the Recipes tab. Both edit the same versions, so you can start a draft in the dashboard, finish it from Claude, and publish from either. Use the dashboard when you want Levain to do the authoring; use this when you'd rather drive.
Next
- Recipes covers authoring in the dashboard and the shape of a recipe.
- MCP lists the tools the skill uses.
- Authentication covers API keys, for automation that runs outside a Claude session.