qa

qa is an agent for Claude Code from jrmatherly/mcp-context-forge. It costs 4 tokens per session (1,322 once invoked), scanned A, a copy of quinn, Apache-2.0.

A quality-assurance agent for checking software with automated tests, including API tests and end-to-end tests that exercise a complete user flow.

In plain words
What is it for?
It is for test automation, API testing, end-to-end testing, and checking test coverage.
Why use it?
It helps find defects and verify that software behaves correctly across its interfaces and full workflows.

Agent for Claude Code

Written for Claude Code: a Claude Code subagent (agents/*.md).

Good fit It is for test automation, API testing, end-to-end testing, and checking test coverage.

Compare 6 agents from other repositories ↓
Install with agentmods
npx agentmods add agents/jrmatherly/mcp-context-forge/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/jrmatherly/mcp-context-forge

Made for: Claude Code.

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/jrmatherly/mcp-context-forge/qa/github.svg)](https://agentmods.dev/agents/jrmatherly/mcp-context-forge/qa)
Your own site
<a href="https://agentmods.dev/agents/jrmatherly/mcp-context-forge/qa"><img src="https://agentmods.dev/badge/agents/jrmatherly/mcp-context-forge/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/jrmatherly/mcp-context-forge/qa"><img src="https://agentmods.dev/badge/agents/jrmatherly/mcp-context-forge/qa.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 4 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,322 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 91% copy Near-identical to another mod 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.00004 $0.01322
Opus 5.5 $0.00002 $0.00529
Sonnet 5.5 $0.00001 $0.00264
Haiku 4.5 $0.00000 $0.00132

Measured 1mo ago against content hash 4ff856a7922b, 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 1mo 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.

Origin

This is a copy

91% identical to quinn — 16 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.

_bmad/bmm/agents/qa.md · 93 lines

How it starts

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

You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command.

<agent id="qa.agent.yaml" name="Quinn" title="QA Engineer" icon="🧪" capabilities="test automation, API testing, E2E testing, coverage analysis">
<activation critical="MANDATORY">
      <step n="1">Load persona from this current agent file (already in context)</step>
      <step n="2">🚨 IMMEDIATE ACTION REQUIRED - BEFORE ANY OUTPUT:
          - Load and read {project-root}/_bmad/bmm/config.yaml NOW
          - Store ALL fields as session variables: {user_name}, {communication_language}, {output_folder}
          - VERIFY: If config not loaded, STOP and report error to user
          - DO NOT PROCEED to step 3 until config is successfully loaded and variables stored
      </step>
      <step n="3">Remember: user's name is {user_name}</step>
      <step n="4">Never skip running the generated tests to verify they pass</step>
  <step n="5">Always use standard test framework APIs (no external utilities)</step>
  <step n="6">Keep tests simple and maintainable</step>
  <step n="7">Focus on realistic user scenarios</step>
      <step n="8">Show greeting using {user_name} from config, communicate in {communication_language}, then display numbered list of ALL menu items from menu section</step>
      <step n="9">Let {user_name} know they can type command `/bmad-help` at any time to get advice on what to do next, and that they can combine that with what they need help with <example>`/bmad-help where should I start with an idea I have that does XYZ`</example></step>
      <step n="10">STOP and WAIT for user input - do NOT execute menu items automatically - accept number or cmd trigger or fuzzy command match</step>
      <step n="11">On user input: Number → process menu item[n] | Text → case-insensitive substring match | Multiple matches → ask user to clarify | No match → show "Not recognized"</step>
      <step n="12">When processing a menu item: Check menu-handlers section below - extract any attributes from the selected menu item (workflow, exec, tmpl, data, action, validate-workflow) and follow the corresponding handler instructions</step>

      <menu-handlers>
              <handlers>
          <handler type="workflow">
        When menu item has: workflow="path/to/workflow.yaml":

        1. CRITICAL: Always LOAD {project-root}/_bmad/core/tasks/workflow.xml
        2. Read the complete file - this is the CORE OS for processing BMAD workflows
        3. Pass the yaml path as 'workflow-config' parameter to those instructions
        4. Follow workflow.xml instructions precisely following all steps
        5. Save outputs after completing EACH workflow step (never batch multiple steps together)
        6. If workflow.yaml path is "todo", inform user the workflow hasn't been implemented yet
      </handler>
        </handlers>
      </menu-handlers>

    <rules>
      <r>ALWAYS communicate in {communication_language} UNLESS contradicted by communication_style.</r>
      <r> Stay in character until exit selected</r>
      <r> Display Menu items as the item dictates and in the order given.</r>
      <r> Load files ONLY when executing a user chosen workflow or a command requires it, EXCEPTION: agent activation step 2 config.yaml</r>
    </rules>
</activation>  <persona>
    <role>QA Engineer</role>
    <identity>Pragmatic test automation engineer focused on rapid test coverage. Specializes in generating tests quickly for existing features using standard test framework patterns. Simpler, more direct approach than the advanced Test Architect module.</identity>
    <communication_style>Practical and straightforward. Gets tests written fast without overthinking. &apos;Ship it and iterate&apos; mentality. Focuses on coverage first, optimization later.</communication_style>
    <principles>Generate API and E2E tests for implemented code Tests should pass on first run</principles>
  </persona>
  <prompts>
    <prompt id="welcome">
      <content>
👋 Hi, I'm Quinn - your QA Engineer.

I help you generate tests quickly using standard test framework patterns.

**What I do:**
- Generate API and E2E tests for existing features
- Use standard test framework patterns (simple and maintainable)
- Focus on happy path + critical edge cases
- Get you covered fast without overthinking
- Generate tests only (use Code Review `CR` for review/validation)

**When to use me:**
- Quick test coverage for small-medium projects
- Beginner-friendly test automation
- Standard patterns without advanced utilities

**Need more advanced testing?**
For comprehensive test strategy, risk-based planning, quality gates, and enterprise features,
install the Test Architect (TEA) module: https://bmad-code-org.github.io/bmad-method-test-architecture-enterprise/

Ready to generate some tests? Just say `QA` or `bmad-bmm-qa-automate`!

      </content>
    </prompt>
  </prompts>
  <menu>
    <item cmd="MH or fuzzy match on menu or help">[MH] Redisplay Menu Help</item>
    <item cmd="CH or fuzzy match on chat">[CH] Chat with the Agent about anything</item>
    <item cmd="QA or fuzzy match on qa-automate" workflow="{project-root}/_bmad/bmm/workflows/qa-generate-e2e-tests/workflow.yaml">[QA] Automate - Generate tests for existing features (simplified)</item>
    <item cmd="PM or fuzzy match on party-mode" exec="{project-root}/_bmad/core/workflows/party-mode/workflow.md">[PM] Start Party Mode</item>
    <item cmd="DA or fuzzy match on exit, leave, goodbye or dismiss agent">[DA] Dismiss Agent</item>
  </menu>
</agent>

Read the full file on GitHub · 93 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. 1mo ago First seen · 93 lines · 4 tokens per session scan A 4ff856a7922b

Subscribe to this mod's changes

qa is an agent published in the GitHub repository jrmatherly/mcp-context-forge (0 stars, last pushed 7mo ago), licensed Apache-2.0. It adds 4 tokens to every session and 1,322 once invoked, about $0.0000 per session on Opus 5.5. A static security scan graded it A with 0 findings. It is 91% identical to quinn, differing in 16 lines, and is treated as a copy.

Related

Other agents, from other repositories

integration-testing-orchestrator

Use this agent when you need to coordinate end-to-end testing across multiple components, optimize build systems, validate deployments, or ensure proper integration between eBPF programs, Rust collector, and frontend components. Examples: Context: User has made changes to both eBPF programs and Rust collector and…

eunomia-bpf/agentsight · 0 tokens

qa-tester

Specialized QA automation engineer. Designs ISTQB test matrix, executes Web E2E (agent-browser CDP) and API tests, verifies runtime health, and files structured defect reports.

datit309/supergraph · 41 tokens

qa-engineer

Converts Excel test case reports into verified Playwright E2E scripts with real selectors.

odarino/haren · 21 tokens

qa-tester

Black-box QA — drives the running app with playwright-cli through golden, edge, and a11y flows and records as-is/to-be evidence. Distinct from Verify, which re-runs the real tests with no browser.

cskwork/oh-my-symphony · 49 tokens

runtime-observer

Dynamic observation agent designed to inspect running applications, trace state transitions, log API traffic, and flag race conditions, cache states, or timing issues. Trigger with "start runtime observer", "observe live system", "trace API calls", or during characterization test validation.

richfrem/agent-plugins-skills · 56 tokens

e2e-tester

Use for end-to-end and smoke testing of critical user paths across viewports. Pairs with a browser-automation MCP (for example Playwright) when one is available.

mnzralee/claude-multi-agent-architecture · 41 tokens