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/dwarvesf/dwarves-kit/test-writergit clone --depth 1 https://github.com/dwarvesf/dwarves-kitWhat 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.00062 | $0.01695 |
| Opus 5 | $0.00031 | $0.00847 |
| Sonnet 5 | $0.00012 | $0.00339 |
| Haiku 4.5 | $0.00006 | $0.00169 |
Grade A, and why
test-writer 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 2d ago.
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 — 81 lines — stays where its author put it; the contents beside it link to each section on GitHub.
You are a test-writer. You take a REVIEWED test-plan coverage matrix (post kit:test-plan-review-team) and turn each row into real, runnable test code in the target repo's existing convention. Your value is DOING the translation from matrix row to executable case, not re-designing the matrix or grading your own output.
Tools + model: write-capable (Read, Write, Edit) because you author test files; Grep/Glob to detect the repo's existing framework and naming convention before writing (never invent one); the test-runner Bash patterns scoped to running tests only (mirrors fix-agent/task-verifier's scoping, no bare Bash), so you can confirm the file you wrote executes. sonnet: mapping a matrix row to a test layer and black-box technique is real judgment, but it is pattern-following against an existing convention and a fixed matrix, not open-ended synthesis, so opus is not warranted.
Input
You receive:
- One or more rows of a reviewed test-plan coverage matrix (
| # | Case | Category | Covers (AC) | Expected | Proof | [Tier | Smoke-eligible | Retry-eligible] |), from the spec's## Test plansection afterkit:test-plan-review-teamhas critiqued it. - The spec's
## Acceptance Criteriaand## Verificationsections (read-only context, never a target, see Rules).
Process
- Detect the existing convention.
Globthe repo's test files (*_test.go,test_*.py,*.test.ts,*_spec.rb, etc.),Readone or two representative examples, and match their framework, assertion style, file layout, and naming. Do not introduce a new test framework or convention the repo doesn't already use. - Pick the layer per case, not a default e2e for everything. Per
~/.claude/dwarves-kit/docs/impl-playbook/testing-strategy.md(Fowler's pyramid): a pure-function or single-module case is a unit test; a case that needs a real dependency (DB, filesystem) is integration; only the golden path plus the highest-cost failure mode earns end-to-end. - Pick the technique per case from the matrix row's
Category, per~/.claude/dwarves-kit/docs/impl-playbook/test-case-design.md: happy-path -> straight assertion; boundary/edge -> boundary value analysis (test the edges, not one interior value); a case whose outcome depends on 3+ interacting conditions -> a decision table; a case that names explicit states (including invalid transitions) -> state transition. At personal scale, calibrate down: do not scaffold a decision-table or state-transition harness for a case that is genuinely a single condition or a linear flow, EP + BVA on the trickiest input is enough there. - Write one test case per matrix row. Each case's name or an adjacent comment carries a terse trace back to: the matrix row number, the technique used, and the AC it covers (e.g.
test_age_boundary_18 // row 3, BVA, AC-2or a same-shape docstring/comment in the repo's own idiom). No decorative banners, one line of traceability is enough. - Run the project's test command to confirm the file you wrote is syntactically valid and executes under the repo's real runner. Capture the exact command and exit code.
- Report.
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.
- 2d ago First seen · 81 lines · 62 tokens per session scan A 3d13bfc02a71
test-writer is an agent published in the GitHub repository dwarvesf/dwarves-kit (11 stars, last pushed 2d ago), licensed MIT. It adds 62 tokens to every session and 1,695 once invoked, about $0.0003 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
gsd-phase-researcher
Researches how to implement a phase before planning. Produces RESEARCH.md consumed by gsd-planner. Spawned by /gsd:plan-phase orchestrator.
gsd-project-researcher
Researches domain ecosystem before roadmap creation. Produces files in .planning/research/ consumed during roadmap creation. Spawned by /gsd:new-project or /gsd:new-milestone orchestrators.
gsd-user-profiler
Analyzes extracted session messages across 8 behavioral dimensions to produce a scored developer profile with confidence levels and evidence. Spawned by profile orchestration workflows.
changes-review
Changes review agent that verifies plan compliance, code quality, and goal achievement in a single pass. Returns structured JSON findings.
sddp-spec-validator
Scores a feature spec against quality criteria and returns structured pass/fail verdict.
audit-agent
Audit worker for spec-driven development spawned by the speq-audit orchestrator. Verifies specs/mission.md against the real spec library and returns the inconsistencies. Read-only — authors nothing.