THE CREW
The six agents
Five for every /smithy run, plus questmaster — the critic who decides when a /smithy-quest loop is done.
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
prospector
Finds the relevant files and lines. Read-only, fast.
The scout. Reads the repo and returns the small set of files and line ranges that matter for the goal — never writes. When the knowledge-base MCP bridge is connected, prospector upgrades grep to symbol/relationship queries (mcp_tome_code_search).
Runs when: When the goal touches code the parent model has not already loaded into context — i.e. the case where reading the whole repo would burn the budget before planning starts.
Tools read · grep · find · ls · ast_grep · lsp_query · comment_check · task (3) · web (2) · cached (2) · tome bridge (4)
Example reads repo → returns ["src/calc.js:12-48", "src/format.js:5-22", "package.json:scripts.test"]
Hand off → passes findings
draftsman
Produces the plan. Read-only.
Turns prospector's findings into a numbered, executable plan and writes it to `.smithy/plan.md`. Read-only — draftsman never edits your code, only the ledger. Forces itself into the loop for any open-ended goal or 3+-file change so the build has a blueprint to follow.
Runs when: Always for open-ended goals and 3+-file changes. Skipped only when the goal is trivial enough that a one-line fix doesn't need a plan ceremony.
Tools read · grep · find · ls · ast_grep · lsp_query · task (3) · web (2) · cached (2) · tome bridge (3)
Example findings + goal → 5-step .smithy/plan.md with checkboxes, file paths, and a short rationale per step
Hand off → hands plan
inspector
Fresh-instance adversarial review of draftsman's plan. Gates smith until APPROVE. Read-only.
A fresh-instance critic (no shared context with draftsman — eliminates self-review bias). Re-reads the relevant code and the plan, then issues a verdict in `## Adversarial Reviews`: `approve` / `request changes` / `block`. A `block` sends you back to planning instead of wasting a build.
Runs when: Auto-runs on any non-trivial plan (the kind that warrants a second pair of eyes). You can force it on any plan with `/review`.
Tools read · grep · find · ls · ast_grep · lsp_query · task (3) · web (2) · cached (2) · tome bridge (4)
Example fresh-context read of .smithy/plan.md + repo → "VERDICT: approve" (or REVISE/BLOCK with concrete follow-ups)
Hand off → APPROVE → build
smith
Builds. Executes the approved plan. Emits [DONE:n] progress markers.
The only writer. Under `/smithy`, smith auto-runs in its own git worktree so concurrent builds never race on the same files; on success the branch merges back, on conflict an interactive chooser (judge-auto-fix, manual, or abort). Emits `[DONE:n]` markers so the orchestrator can track progress against the plan. Once done, judge verifies (not draftsman — see Option A in the docs).
Runs when: Once inspector has approved the plan. Skipped for trivial goals where planning is overkill — smith handles the one-line fix directly.
Tools read · grep · find · ls · ast_grep · lsp_query · comment_check · edit · write · bash · apply_patch · todos (2) · hashline (2) · task (3) · web (2) · cached (2)
Example reads approved plan → applies edits → emits [DONE:1] … [DONE:5] → commits on branch
Hand off → hands work → verify
judge
Verifies smith's work against the plan (runs tests/type-checks). Returns APPROVE / REQUEST CHANGES / REJECT.
Runs your test suite and type-checker against the current tree — for the post-`/smithy` judge, smith's branch has already merged so the parent tree IS the verified code; for a standalone `/verify` re-check, judge runs directly against the working tree. Emits a verdict in `## Verification`: `APPROVE` / `REQUEST CHANGES` / `REJECT`. Each run appends to the ledger, so the history of audit accumulates. Re-runnable any time via `/verify`.
Runs when: Automatically after smith finishes a multi-step plan. You can also invoke it manually with `/verify` to re-check the current tree.
Tools read · grep · find · ls · ast_grep · lsp_query · comment_check · bash · hashline_read · todo_read · task (3) · web (2) · cached (2) · tome bridge (3)
Example runs npm test + tsc --noEmit → emits "VERDICT: APPROVE" (or REQUEST CHANGES with concrete follow-ups)
Quest-only /smithy-quest only
This agent only appears during /smithy-quest runs. Questmaster is a fresh-instance critic — it did NOT do the work it evaluates — and decides whether the quest goal is met between iterations of the autonomous loop.
questmaster
Assesses whether the quest goal is met. Fresh instance — did NOT do the work. Returns QUEST_COMPLETE / QUEST_CONTINUE / QUEST_SATURATED.
A /smithy-quest-only agent. After each judge APPROVE, the questmaster (a fresh instance — it did NOT do the work) reads git diff --stat and the .smithy/quest.md history to assess progress. It returns EXACTLY one verdict on its final line: QUEST_COMPLETE (goal met — emit [DONE]), QUEST_CONTINUE: <specific next focus> (loop with a concrete next-iteration target the parent will use as the new goal), or QUEST_SATURATED (diminishing returns — emit [DONE:saturation]). The next-focus contract is what keeps iterations from drifting.
Runs when: Only during /smithy-quest, after each judge APPROVE. Decides whether the quest loops for another iteration or terminates.
Tools read · grep · find · ls · bash · ast_grep · lsp_query · hashline_read · web (2) · cached (2)
Example reads git diff --stat + .smithy/quest.md → "QUEST_CONTINUE" (more valuable work remains)
Six agents total. Five core — prospector, draftsman, inspector, smith, judge — compose every /smithy run. Questmaster is the sixth: a fresh-instance critic who only appears during /smithy-quest to decide whether the quest goal is met between iterations of the autonomous loop.
The model decides when to delegate within a run — trivial tasks skip straight to smith; complex ones get the full treatment. inspector only runs for non-trivial plans (a fresh-eyes critic is wasted on a one-line fix). /verify re-runs judge against the current tree at any time — useful when you've changed the code since the last verification, or want to re-check a plan you marked done a while ago. Each run appends a fresh verdict to .smithy/plan.md.