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 commands/dwarvesf/dwarves-kit/batterygit clone --depth 1 https://github.com/dwarvesf/dwarves-kitWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/commands/dwarvesf/dwarves-kit/battery)<a href="https://agentmods.dev/commands/dwarvesf/dwarves-kit/battery"><img src="https://agentmods.dev/badge/commands/dwarvesf/dwarves-kit/battery.svg" alt="Measured on agentmods" height="20"></a>What 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.00108 | $0.01020 |
| Opus 5 | $0.00054 | $0.00510 |
| Sonnet 5 | $0.00022 | $0.00204 |
| Haiku 4.5 | $0.00011 | $0.00102 |
Grade A, and why
battery 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 today.
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 — 75 lines — stays where its author put it; the contents beside it link to each section on GitHub.
You are running the verification battery on a finished build (a branch, a PR, or the active spec's diff). The build's own orchestration already ran; your job is the INDEPENDENT right arm: fresh-context agents that did not write the code, re-executing and re-reading it. Never "review" inline in the session that wrote the code and call it the battery.
When this runs
- The operator says "run the battery" / "overtest this" / "full check before merge".
- At the end of any normal/full-lane cycle where /kit:execute's pipeline ran but no fresh-context review/verify did.
- NOT for tiny-lane one-line changes (verify inline or skip with a stated reason), and NOT a replacement for the ship-gate (this battery FEEDS it: record its legs in the gate ledger under the branch slug).
The three legs
| Leg | Agent | Model tier | Job |
|---|---|---|---|
| 1. Acceptance verify | acceptance-verifier (or task-verifier for a single task) | mid (Sonnet-class) | re-execute the spec/branch verification commands VERBATIM in fresh context; check every AC against the actual files |
| 2. Review | code-reviewer single-pass; escalate domain lenses per the table below | high (Opus-class) | static-read judgment: what re-execution cannot see |
| 3. Advisor | advisor (critique mode) | mid | the uniform extra lens; additive, never replaces leg 2 |
Dispatch legs 1 and 2 IN PARALLEL (one message, multiple Task calls). Leg 3 rides leg 2's dispatch unless the diff is large. Every leg is read-only; the LEAD applies fixes.
Lens escalation
Add specialized lenses when the diff touches their domain; each is its own agent:
| Diff touches | Lens | Tier |
|---|---|---|
| secrets, keys, symlinks, subprocess, network, containers, persist paths | security-reviewer | high |
| a public interface / request-response shape | api-reviewer | mid |
| UI | frontend-reviewer | mid |
| deploy, CI, IaC, launchd | infra-reviewer | mid |
| hot paths, N+1, allocations | performance-reviewer | mid |
The measured lesson behind the escalation rule: a diff that qualified for the security lens shipped without it, and the lens later found a HIGH (a key-persist path into a public repo) that the panel, the reviewer, AND the verifier had all missed, because each looked from a different frame and none from the threat model. Skipping a qualifying lens is a decision; record it, do not default into it.
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.
- today First seen · 75 lines · 108 tokens per session scan A cb5e37d9d6e6
battery is a command published in the GitHub repository dwarvesf/dwarves-kit (11 stars, last pushed today), licensed MIT. It adds 108 tokens to every session and 1,020 once invoked, about $0.0005 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-09-04.
Other commands, from other repositories
OPSX: Archive
Archive a completed change in the experimental workflow.
OPSX: Explore
Enter explore mode - think through ideas, investigate problems, clarify requirements.
OPSX: Propose
Propose a new change - create it and generate all artifacts in one step.
OPSX: Sync
Sync delta specs from a change to main specs.
OPSX: Apply
Implement tasks from an OpenSpec change (Experimental).
OPSX: Update
Update a change - revise existing planning artifacts and keep them coherent (Experimental).