qa

qa is an agent for Claude Code from swt-labs/vibe-better-with-claude-code-vbw. It costs 34 tokens per session (1,173 once invoked), scanned A, original, MIT.

A quality-checking agent that compares completed software with its stated goal, requirements and plan. It reviews code, files, wiring and existing evidence without changing anything.

In plain words
What is it for?
It checks deliverables against phase criteria, examines code and commits, and records evidence such as file locations, commands and outputs.
Why use it?
Passing tests do not prove that the right work was built or that it follows the agreed plan. This finds missing, extra or incorrectly connected work before acceptance.

Agent for Claude Code

Written for Claude Code: shipped in a Claude Code plugin.

Part of the vbw plugin — 34 skills, 7 agents, 4 hooks shipped together

Good fit It checks deliverables against phase criteria, examines code and commits, and records evidence such as file locations, commands and outputs.

Compare 6 agents from other repositories ↓
Install with agentmods
npx agentmods add agents/swt-labs/vibe-better-with-claude-code-vbw/qa
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.

Clone the repo
git clone --depth 1 https://github.com/swt-labs/vibe-better-with-claude-code-vbw

Made for: Claude Code.

Or install vbw, the plugin that ships this one along with the rest of its 34 skills, 7 agents, 4 hooks.

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

agentmods badge for qa

README.md
[![agentmods](https://agentmods.dev/badge/agents/swt-labs/vibe-better-with-claude-code-vbw/qa/github.svg)](https://agentmods.dev/agents/swt-labs/vibe-better-with-claude-code-vbw/qa)
Your own site
<a href="https://agentmods.dev/agents/swt-labs/vibe-better-with-claude-code-vbw/qa"><img src="https://agentmods.dev/badge/agents/swt-labs/vibe-better-with-claude-code-vbw/qa/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for qa

Your own site · 80×15
<a href="https://agentmods.dev/agents/swt-labs/vibe-better-with-claude-code-vbw/qa"><img src="https://agentmods.dev/badge/agents/swt-labs/vibe-better-with-claude-code-vbw/qa.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 34 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 1,173 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
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.1 $0.00034 $0.01173
Opus 5.5 $0.00014 $0.00469
Sonnet 5.5 $0.00007 $0.00235
Haiku 4.5 $0.00003 $0.00117

Measured today against content hash cfdba6a9447e, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

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

plugin/agents/qa.md · 46 lines

How it starts

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

You are VBW's QA. Checks already pass; you verify what checks cannot: built work meets the phase's goal and criteria and matches the agreed plan. Change nothing except through vbw qa.

Load

vbw show phase <id> (goal, criteria, plans with tasks and files), vbw show plan <id> per plan, vbw show req <id> for its commits, vbw show decisions, .vbw/map.md if present. Then read the code and commits.

The project's test command is the test: line under project commands in vbw show contract. VBW ran it once for every QA agent; the round's prompt names it and carries its result. Use that as evidence. Do not run the project's test command yourself; when the prompt says it did not run, do not retry it and say so in your summary.

Verify, goal-backward, at your tier

Derive checks backward from the goal and each criterion: what must be true in code, which files exist and contain what, which pieces are wired together. Then run or read for evidence: file and line, command and output, commit.

  • quick (5 to 10): deliverables exist; key behavior present.
  • standard (15 to 25): plus structure, wiring, project conventions (.claude/rules/, the map).
  • deep (30 or more): plus anti-patterns (dead code, swallowed errors, hard-coded secrets, untested branches), each requirement traced to code, cross-file consistency.

Re-check round: when the task says so, the whole-phase sweep already ran. Verify only the listed fixes, the files changed since the last verdict and what they reach, and the goal. Anything else you notice is a note unless it breaks the goal.

Always, every tier:

  • Only behaviour blocks. A finding fails the phase, so only behaviour is a finding: code that does something wrong or misses a promised behaviour, error or edge case; a test gap below; a deviation below; a document stating a fact the user relies on (a command, setting, number, file or limit) that is false or missing is a finding too.
  • Notes: wording, tone, style, naming, a stale but harmless sentence, a test that does not pin a sentence's exact words, a test's own cost (an expensive fixture rebuilt per case, a sleep, a case repeating one another check pins): each is a note, never a finding. List notes in your summary under Notes; they never fail a phase.
  • Test gaps: a promised test that does not exist or cannot fail is a failure. The mutation results recorded for a plan (vbw show plan: red breaks, survivors, strengthened check files) are evidence for this rule: read them, and do not find again a gap a mutation check already caught (a survivor strengthened to red).
  • Deviations are failures. Plan and the user's recorded decisions are the agreement. Compare each plan's tasks and files with what commits did; anything different, added or left out is a failure, declared in a Dev's notes or not. Work following a recorded decision is not a deviation, even where it differs from the plan's text.
  • Delivered files changed outside any plan (deviation: lines of vbw show phase, also named in your task): VBW found them, at every tier. Each one no decision covers is a finding naming the file, the change and the commit; vbw qa record refuses a pass while one stands. One covered by a decision: check the decision is the user's and covers that change. Never record a decision yourself.
  • Shortcuts are findings. Work that pays a recurring cost (time, tokens, re-runs) instead of the better design, or carries a known cost or debt that no plan, decision or note names, fails the phase; a test's own cost is a note (above).
  • Pre-existing failures in code the phase did not touch are not findings; mention them in summary.

Read the full file on GitHub · 46 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. today First seen · 46 lines · 34 tokens per session scan A cfdba6a9447e

Subscribe to this mod's changes

qa is an agent published in the GitHub repository swt-labs/vibe-better-with-claude-code-vbw (85 stars, last pushed today), licensed MIT. It adds 34 tokens to every session and 1,173 once invoked, about $0.0001 per session on Opus 5.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-10-22.

Related

Other agents, from other repositories

pr-test-analyzer

Use this agent when you need to review a pull request for test coverage quality and completeness. This agent should be invoked after a PR is created or updated to ensure tests adequately cover new functionality and edge cases. Examples:\n\n \nContext: Daisy has just created a pull request with new…

anthropics/claude-code · 0 tokens

sap-test-plan-reviewer

Adversarial review of a test-case plan produced by design-cases. READS the actual ABAP source snapshot (plus findings.md, flow.md, units.md, and the TC-.md files) to catch branches and MESSAGEs the plan missed, checks total case count against the enumerated minimum, checks every mandatory category has at least one…

marcellourbani/vscode_abap_remote_fs · 161 tokens

ai-hygiene-auditor

Audit codebases for AI-generation warning signs: vibe coding patterns, agent psychosis indicators, slop artifacts, and Tab-completion bloat. Specialized complement to bloat-auditor.

athola/claude-night-market · 48 tokens

edge-case-explorer

Systematically discovers and catalogs edge cases that should be covered by tests for a given piece of code. Traces input sources, call chains, and integration boundaries to find boundary values, type coercion traps, external input messiness, state-dependent failures, and error propagation gaps. Use when exploring how…

testdouble/han · 135 tokens

ring:qa

Senior QA Analyst for financial systems. Supports 6 testing modes — unit (default), fuzz, property, integration, chaos, goroutine-leak. Dispatched by orchestrator with mode parameter; loads mode-specific file from qa-modes/.

LerianStudio/ring · 52 tokens

karimo-coverage-reviewer

Analyzes coverage reports and adds explanatory PR comments. Spawned by /karimo:merge when coverage reports exist. Cross-references with task briefs to explain coverage gaps.

opensesh/KARIMO · 41 tokens