A plan you can actually see
Every plan, adversarial critique, and judge verdict persists to .smithy/plan.md — a durable, human-readable ledger. cat it mid-run. The thing competing tools' users keep asking for.
MULTI-AGENT ORCHESTRATION
Plans before it builds. Reviews its plans. Verifies its own work.
Install and configure the smithy-agent pi extension by following the guide here:
https://smithy-agent.dev/install-guide.md Prefer to do it by hand? install-guide.md. Requires Node ≥ 25.
THE WORKFLOW
Every /smithy run is a
workflow, not a free-for-all.
Finds the relevant files and lines. Read-only, fast.
18 tools · 7 search · 4 tome bridge
Produces the plan. Read-only.
16 tools · 6 search · 3 tome bridge
Fresh-instance adversarial review of draftsman's plan. Gates smith until APPROVE. Read-only.
17 tools · 6 search · 4 tome bridge
Builds. Executes the approved plan. Emits [DONE:n] progress markers.
22 tools · edit · write · bash
Verifies smith's work against the plan (runs tests/type-checks). Returns APPROVE / REQUEST CHANGES / REJECT.
20 tools · 7 search · bash · 3 tome bridge
WHAT SETS IT APART
Most agent harnesses hand a single model a single toolset and say "go." smithy-agent runs a disciplined workflow and keeps the receipts.
Every plan, adversarial critique, and judge verdict persists to .smithy/plan.md — a durable, human-readable ledger. cat it mid-run. The thing competing tools' users keep asking for.
Non-trivial plans are auto-reviewed by inspector (a fresh-instance critic).
judge runs your test suite and type-checker and won't APPROVE until they pass.
A thrash detector disengages on stalls/repeats; an echo-loop guard stops the model replying to its own subagent's stream. Autonomous runs stay sane.
Every run accepts a { tokens?, usd? } ceiling. Hit it and the loop stops cleanly with [DONE:budget].
FIRST-CLASS
The details that turn "clever demo" into a tool you can trust on a Tuesday.
Register smithy-mcp-bridge and you get tome — an MCP code-graph server that exposes mcp_tome_code_search, _context, _graph, and _hybrid. Prospector and inspector query the graph first when the bridge is online and gracefully fall back to grep/ast_grep when it isn't. The tools themselves are always listed in the system prompt; the bridge determines whether calls succeed or return a connection error.
Every run accepts a { tokens?, usd? } ceiling. Hit the wall and the loop stops cleanly with [DONE:budget] — no surprise runaway invoices, no half-finished plans eating the next morning.
Every plan, adversarial critique, and judge verdict persists to .smithy/plan.md. Human-readable, durable across restarts, diff-friendly. Cat it mid-run. The thing competing tools' users keep asking for.
THE RECEIPTS
Run a task and you get a record — the plan, the adversarial critique, the judge's verification. All durable. All human-readable.
# Plan
Status: done
## Steps
- [x] 1. Add assertFiniteNumber() helper in src/validate.js
- [x] 2. Gate add()/div() args in src/calc.js
- [x] 3. Gate fmt() in src/format.js
- [x] 4. Add "test" script to package.json
- [x] 5. Add test/index.test.js covering happy + error paths
## Adversarial Reviews
### APPROVE (2026-06-24T15:58:51Z)
Verified prospector's findings against disk. Plan below. …
VERDICT: approve
## Verification
### APPROVE (2026-06-24T15:59:02Z)
All steps done, tests pass, no type errors.
VERDICT: APPROVE .smithy/plan.md — cat it any time.