Smithy Agent

MULTI-AGENT ORCHESTRATION

Forge code with a six-agent crew.

Plans before it builds. Reviews its plans. Verifies its own work.

Install with one paste

Paste into pi
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

The six agents

Every /smithy run is a workflow, not a free-for-all.

prospector

Finds the relevant files and lines. Read-only, fast.

18 tools · 7 search · 4 tome bridge

draftsman

Produces the plan. Read-only.

16 tools · 6 search · 3 tome bridge

inspector

Fresh-instance adversarial review of draftsman's plan. Gates smith until APPROVE. Read-only.

17 tools · 6 search · 4 tome bridge

smith

Builds. Executes the approved plan. Emits [DONE:n] progress markers.

22 tools · edit · write · bash

judge

Verifies smith's work against the plan (runs tests/type-checks). Returns APPROVE / REQUEST CHANGES / REJECT.

20 tools · 7 search · bash · 3 tome bridge

Meet the agents →

WHAT SETS IT APART

Why it's different

Most agent harnesses hand a single model a single toolset and say "go." smithy-agent runs a disciplined workflow and keeps the receipts.

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.

Plans get stress-tested first

Non-trivial plans are auto-reviewed by inspector (a fresh-instance critic).

Learn the mechanics →

Work gets verified, not just produced

judge runs your test suite and type-checker and won't APPROVE until they pass.

Learn the mechanics →

It won't spiral

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.

Hard budgets

Every run accepts a { tokens?, usd? } ceiling. Hit it and the loop stops cleanly with [DONE:budget].

Learn the mechanics →

FIRST-CLASS

First-class features

The details that turn "clever demo" into a tool you can trust on a Tuesday.

Optional MCP code-graph bridge

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.

Hard budgets, even mid-plan

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.

Plan ledger you can grep

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

See it work

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
This is .smithy/plan.mdcat it any time.