qa

qa is an agent for coding agents 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

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/jrmatherly/mcp-context-forge/qa
Clone the repo
git clone --depth 1 https://github.com/jrmatherly/mcp-context-forge

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.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.svg" alt="Measured on agentmods" 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. Scan, not verified.
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 $0.00004 $0.01322
Opus 5 $0.00002 $0.00661
Sonnet 5 $0.00001 $0.00264
Haiku 4.5 $0.00000 $0.00132

Measured yesterday against content hash 4ff856a7922b, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, 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 yesterday.

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. yesterday 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 6mo 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. 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

e2e-verifier

FlutterアプリのE2E動作検証エージェント。MCP(dart-mcp + Marionette)を使い、シミュレーター上でUI操作・検証を行う。mobile-automationスキルから呼び出される。.

K9i-0/ccpocket · 65 tokens

test-reporter

Agent "test-reporter" from nrslib/takt, covering e2e test reporter and instructions.

nrslib/takt · 0 tokens

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

ask-smoke

Run a live smoke test of the /ask endpoint (SSE-streamed RAG). Boots fireseqsearchserver via tests/runlogseq.sh, runs tests/testask.py (protocol/invariant assertions) and tests/testendpoints.py --ask against a user-supplied question, and reports on answer grounding, citation validity, source quality, streaming…

Endle/fireSeqSearch · 100 tokens

electron-e2e-test-runner

Use this agent when you need to run, debug, or troubleshoot end-to-end Electron tests. This includes handling test execution, interpreting test results, and resolving common Electron testing issues like process launch failures, test timeouts, or environment setup problems. Examples:\n\n \nContext: The user is working…

sahithvibudhi/vibe-tree · 365 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