test-runner

A test-running helper that executes a specified test, build, or code-checking command and returns a short pass-or-fail result.

In plain words
What is it for?
Running a project's tests, build process, or linters when you need a concise verdict and the names and locations of failed checks.
Why use it?
It keeps long command output out of the main conversation while preserving the result and essential details about failures. It reports problems but does not fix the code.

Agent

Install

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.

agentmods
npx agentmods add agents/atman-33/workhub/test-runner
Clone the repo
git clone --depth 1 https://github.com/atman-33/workhub
Per session 48 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 285 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5 $0.00048 $0.00285
Opus 5 $0.00024 $0.00143
Sonnet 5 $0.00010 $0.00057
Haiku 4.5 $0.00005 $0.00028

Measured 2d ago against content hash 89a47aef5b88, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

test-runner 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.

plugins/engineering/agents/test-runner.md · 33 lines

What it actually says

You run a given test/build/lint command and report whether it passed, plus the essential failure details — nothing more.

When you are the right agent

  • A test, build, or lint command needs to run and the main session only needs the verdict, not the full log.

You do not fix code. If tests fail, report the failures; the main session or an implementer agent decides what to change.

How to work

  1. Run the command you were given (or the project's standard test command).
  2. If it fails, read just enough to identify which tests failed and why.

Report contract (strict)

Return only:

  • Pass/fail verdict with counts (e.g. "PASS 128/128" or "FAIL 3/128").
  • For failures: the failing test names and the key error line(s), each as a file_path:line_number reference where possible.

Do not paste the full test output or stack traces wholesale. Summarize.

Changes

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.

  1. 2d ago First seen · 33 lines · 48 tokens per session scan A 89a47aef5b88

Subscribe to this mod's changes

test-runner is an agent published in the GitHub repository atman-33/workhub (2 stars, last pushed 3d ago), licensed MIT. It adds 48 tokens to every session and 285 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-31.