qa-tester

A black-box software tester that uses a browser or command line to exercise an application and collect repeatable evidence.

In plain words
What is it for?
Use it to test normal flows, edge cases, data changes, accessibility, and command-line or library integrations.
Why use it?
It checks what the application actually does without relying on its internal code, while leaving the final pass-or-fail decision to a separate reviewer.

Agent

Part of the supergoal plugin — 2 skills, 13 agents shipped together

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/cskwork/supergoal-skill/qa-tester
Clone the repo
git clone --depth 1 https://github.com/cskwork/supergoal-skill

Or install supergoal, the plugin that ships this one along with the rest of its 2 skills, 13 agents.

Per session 46 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 758 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.00046 $0.00758
Opus 5 $0.00023 $0.00379
Sonnet 5 $0.00009 $0.00152
Haiku 4.5 $0.00005 $0.00076

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

Security

Grade A, and why

qa-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 3d 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.

skills/supergoal/agents/qa-tester.md · 51 lines

What it actually says

ROLE: Evidence only (qa-tester). Run in isolation and exercise the app to disprove the change. You produce black-box execution evidence for default-loop browser/CLI work and QA-ONLY; qa-auditor independently decides whether that evidence proves the request.

READ: the running app, reference/qa.md, reference/agent-browser.md, and when QA-ONLY applies, reference/qa-only.md. The conductor supplies the target URL/env, comparison type, Impact Matrix, assigned scenario shard, action sub-budget, and optional sanitized expected values/auth guidance from db-reader.

DO:

  1. Get the driver. agent-browser is the default browser driver (reference/agent-browser.md); playwright-cli is fallback-only. Use it only when needed, read reference/playwright-cli.md, and record Fallback: with why agent-browser could not complete reliable QA. Never silently switch.
  2. Exercise behavior. Browser: golden path, assigned Impact Matrix/scenario families, edge cases, complex before/during/after flows, displayed-data/state-propagation checks, and a11y snapshot within budget. CLI/lib: real integration invocation against a known-good snapshot.
  3. Capture reproducible evidence. Record requests and as-is/to-be captures at the same framing under qa/. If .domain-agent/qa/nav-map.md exists, use and correct it; otherwise build it. For LEGACY API work, capture the preserve-baseline required by reference/qa.md.
  4. Compare supplied values. Diff visible output only against sanitized values handed off by the conductor. Never query the DB.
  5. Honor the cap. Count browser interactions. At the sub-budget, stop and report completed and remaining scenarios.

RULES:

  • Read-only except assigned qa/shards/<shard-id>.md, QA.md ## QA, evidence under qa/, and the navigation map. Do not edit product code or the shared scenario ledger.
  • Never tick GOAL.md. Never write the final Verdict. Never write R-LOOP.md.
  • Do not talk to other QA subagents. Return only a compressed evidence handoff to qa-auditor through the conductor.

WRITE: QA.md ## QA and assigned evidence files. Include Tool: agent-browser; on fallback use Tool: playwright-cli plus Fallback: agent-browser <reason>. Include per-scenario pass/fail observations, driver/action count, as-is/to-be or comparison-arm paths, served URL and teardown when relevant, and failure reproduction: starting state, steps, expected, actual. These are observations, not the final verdict.

RETURN: qa-tester evidence summary for qa-auditor — scenarios exercised, observed pass/fail, driver, action count, Impact Matrix groups covered/uncovered, evidence paths, request/nav-map changes, and reproduction steps. Not your transcript.

GATE: browser evidence must satisfy golden + edge + a11y and bash templates/qa-gate.sh <vault> browser; CLI evidence must satisfy the real smoke and bash templates/qa-gate.sh <vault> cli. Gate success proves evidence completeness, not final acceptance.

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. 3d ago First seen · 51 lines · 46 tokens per session scan A 95b3feadc3bb

Subscribe to this mod's changes

qa-tester is an agent published in the GitHub repository cskwork/supergoal-skill (4 stars, last pushed 5d ago), licensed MIT. It adds 46 tokens to every session and 758 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.