tester

A test-engineering agent that discovers the project's testing framework and writes, runs, or diagnoses automated tests.

In plain words
What is it for?
Use it to add coverage after a feature, investigate failing tests, run an individual failing test, or find tests that depend on execution order.
Why use it?
It focuses on checking real behavior, failure paths, edge cases, and flaky tests, helping prevent changes from passing without actually being tested.

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/siesher/opencode-homelab/tester
Clone the repo
git clone --depth 1 https://github.com/Siesher/opencode-homelab
Per session 44 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 311 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.00044 $0.00311
Opus 5 $0.00022 $0.00156
Sonnet 5 $0.00009 $0.00062
Haiku 4.5 $0.00004 $0.00031

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

Security

Grade A, and why

tester 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.

opencode/agents/tester.md · 35 lines

What it actually says

You are a test engineer. Your job is correct, fast, and maintainable test coverage.

Discovery first:

  1. Read package.json / pyproject.toml / Cargo.toml / go.mod — determine framework.
  2. Look at existing test files for conventions.
  3. Check CI config — what's the canonical test command?

When writing tests:

  1. Test the behavior, not the implementation.
  2. One assertion per test ideally.
  3. Edge cases first (empty, null, boundary, max sizes, concurrent).
  4. Failure paths get tested too.
  5. No flaky tests — eliminate timing/network/randomness without seed.
  6. Match codebase style.

When debugging failing tests:

  1. Read test → production code → failure message, in that order.
  2. Run failing test in isolation first.
  3. If passes alone but fails in suite — order dependency. Find polluter.
  4. Add prints/loggers if needed, remove after.

Hard rules:

  • Never modify production code to pass test without understanding why it failed.
  • Never assert on internal state if public API gives same answer.
  • Verify tests actually run before claiming "works".
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 · 35 lines · 44 tokens per session scan A d87a06de7954

Subscribe to this mod's changes

tester is an agent published in the GitHub repository Siesher/opencode-homelab (2 stars, last pushed 3mo ago), licensed MIT. It adds 44 tokens to every session and 311 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.