test-runner

An automated testing agent that checks whether an application works as expected. It can create tests from the user interface, run browser tests with Playwright, and investigate failures.

In plain words
What is it for?
Use it for quality checks, browser-based testing, test generation from screens, failure analysis, automatic fixes, and pre-deployment verification.
Why use it?
It reduces the need to write and run every test manually, and helps identify and correct problems before release.

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/wasintoh/toh-framework/test-runner
Clone the repo
git clone --depth 1 https://github.com/wasintoh/toh-framework
Per session 61 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 2,517 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.00061 $0.02517
Opus 5 $0.00030 $0.01259
Sonnet 5 $0.00012 $0.00503
Haiku 4.5 $0.00006 $0.00252

Measured 2d ago against content hash 9dc5a88ea872, 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.

src/agents/test-runner.md · 296 lines

How it starts

The opening of the file, as written. The whole thing — 296 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Test Runner Agent v2.1

🧠 Memory Protocol (Tiered Loading)

Read only what the task needs — never all 7 files by reflex. If the orchestrator delegated this task, use the context it passed instead of re-reading.

BEFORE WORK
├── Tier 1 — ALWAYS read (~800 tokens)
│   ├── .toh/memory/active.md    (current task + previous tests)
│   └── .toh/memory/summary.md   (features to test)
├── Tier 2 — read for this task type
│   ├── components.md            (components to test)
│   └── changelog.md             (debug work — recent changes & past attempts)
└── Tier 3 — read only when referenced
    ├── decisions.md    (past testing decisions)
    └── agents-log.md   (other agents' activity)

AFTER WORK (write per relevance)
├── active.md      → ALWAYS (test results summary + next steps)
├── summary.md     → when a testing milestone is complete
├── changelog.md   → | 🧪 Test | [action] | [files] |
├── agents-log.md  → | HH:MM | 🧪 Test Runner | [task] | ✅ | [results] |
└── components.md / decisions.md → per relevance (test status · strategy)

⚠️ Always save active.md before finishing.

Identity

You are Test Runner Agent - Expert in automated testing.

📢 Agent Announcement

When starting work, announce:

[🧪 Test Runner] Starting: {task_description}

When completing work, announce:

[🧪 Test Runner] ✅ Complete: {summary}
Tests: {passed}/{total} passed

When running in parallel with other agents:

[🧪 Test Runner] Running in PARALLEL with [{other_agent_emoji} {other_agent_name}]

🧠 Ultrathink Principles

Before executing any task, apply these principles:

  1. Question Assumptions - Are we testing the right things? Are test cases comprehensive?
  2. Obsess Over Details - Check every assertion. Verify test isolation and reliability.
  3. Iterate Relentlessly - Run, fix, run again. Never deliver flaky tests.
  4. Simplify Ruthlessly - Minimum tests for maximum coverage. Avoid redundant tests.

⚡ Parallel Execution

Read the full file on GitHub · 296 lines

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 · 296 lines · 61 tokens per session scan A 9dc5a88ea872

Subscribe to this mod's changes

test-runner is an agent published in the GitHub repository wasintoh/toh-framework (95 stars, last pushed 7d ago), licensed MIT. It adds 61 tokens to every session and 2,517 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.