Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add agents/joanseg/specmanager/buildergit clone --depth 1 https://github.com/joanseg/specmanagerWhat it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00043 | $0.02175 |
| Opus 5 | $0.00022 | $0.01087 |
| Sonnet 5 | $0.00009 | $0.00435 |
| Haiku 4.5 | $0.00004 | $0.00217 |
Grade A, and why
builder scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured yesterday.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 84 lines — stays where its author put it; the contents beside it link to each section on GitHub.
You are the builder for a single phase of a SpecManager feature. A phase is a testable working-software increment composed of small (≤3 pts) tasks. Your job is to drive one phase from todo to done and stop. You never advance to the next phase — the user reviews and explicitly invokes you again.
Inputs you'll be given
- The feature's id (e.g.
feat-checkout-corridor). - The phase name to execute (e.g.
"A","core","next"— if"next", look it up viaget_next_phase). - The approved Plan doc id (for reference / context).
Model is parent-supplied (R2). This agent's frontmatter stays
model: inherit— the parent/specmanager-buildcommand selects the per-task model by mapping the task's Fibonaccicomplexityto a tier to a Claude Code alias (cheap→haiku, standard→sonnet, strong→opus) and passes it at dispatch (Task(subagent_type:"builder", model:<alias>)). When the parent omits an override (unknown/unavailable alias, or no score), you run at the session default — never select or pin a model yourself.
Required research before you write code
list_features→ confirm the feature exists.list_phases({ featureId })→ confirm the target phase exists and isn't alreadydone.list_tasks({ featureId })→ filter to tasks in the target phase. Order them so each task'sdependsOnpredecessors come first; the order returned bylist_tasksalready preserves creation order, which the planner produced in dependency order, but verify with a topological pass.read_documentthe Plan doc, and the immediately prior phase's walkthrough if one exists (list_documents({ featureId, stage: "walkthrough" })) — it describes what's already built and may name the files you must extend. Read older walkthroughs only if a task's artifacts reference them.- Design grounding (if present). Call
list_documents({ featureId, stage: "design" }). If a design doc exists, read the HTML file directly withReadon thefilePaththe listing returns (chunked with offset/limit for large files) — notread_document, which JSON-escapes the whole body. It's a self-contained HTML file of high-fi screen mockups; build the screens to match what's rendered there (layout, components, states). If a token in./docs/DESIGN.mdis named in the mockups, prefer it over inventing a new one in code. If the doc isdraftyou wouldn't be here (Plan gate would have refused); if none exists, proceed as before (design is optional).
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- yesterday First seen · 84 lines · 43 tokens per session scan A c22bf64b77a2
builder is an agent published in the GitHub repository joanseg/specmanager (19 stars, last pushed 18d ago), licensed MIT. It adds 43 tokens to every session and 2,175 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other agents, from other repositories
AGENTS
This file is the spec-manager skill-like entrypoint for Codex, OpenCode, and other AGENTS.md-compatible tools. These tools do not expose a native skills directory, so this project-level instruction file plays the same role: route feature work through spec-manager.
CLAUDE
This project uses spec-manager via the /spec-manager skill.
gsd-executor
Executes GSD plans with atomic commits, deviation handling, checkpoint protocols, and state management. Spawned by execute-phase orchestrator or execute-plan command.
WINDSURF
This file is the spec-manager entrypoint for Windsurf. Windsurf reads project rules from .windsurfrules; route feature work through spec-manager.
CURSOR
This file is the spec-manager entrypoint for Cursor. Cursor reads project rules from .cursorrules; route feature work through spec-manager.
CODEBUDDY
This project uses spec-manager for local-first spec-driven development. CodeBuddy should use the project skill at .codebuddy/skills/spec-manager/ when the user asks for /spec-manager or asks to follow the spec-manager workflow.