Every PR is a potential
crime scene.
A bug is unexpected behavior born from wrong intent.
These agents find it, prove it, and file the report - before it ships.
10 specialized QA agents. One question each. One Markdown report each.
AC-1: users can add items to cart from product listing
AC-2: cart count in nav updates immediately
Writing qa-output/functional-review.md
AC-1: COVERED at src/components/quick-add-button.tsx:43
AC-2: AT RISK - no router.refresh() after server action
2 regression risks in unchanged code paths
Verdict: GAPS - needs browser validation on AC-2
10 agents, 3 tiers
Each agent answers one question, runs independently, and writes a Markdown file. Most users only need Tier 1.
Daily drivers. Each answers one question, produces one report.
Test the feature in a real browser, not just read the diff.
Full pipeline and specialized workflows.
Output chaining
Every agent writes structured Markdown to qa-output/. The next agent reads from there. No copy-pasting between agents.
functional-review.md ← Functional Reviewer
test-scenarios.md ← Test Scenario Designer
test-selection.md ← Smart Test Selector
bug-reports.md ← Bug Reporter
environment-status.md ← Environment Manager
browser-validation.md ← Browser Validator
validation-report.md ← Manual Validator
release-analysis.md ← Release Analyzer
plan.md ← Orchestrator
automation/ ← Automation Writer
feature.spec.ts
pages/feature.page.ts
Up and running in 30 seconds
Three ways to install. The plugin method is recommended - all 10 agents load automatically.
Pick a recipe, run the command
Find the row that matches your question. Each row is a complete, standalone invocation.
| I want to… | Run |
|---|---|
| Review a PR for AC compliance | @functional-reviewer Compare this diff against these ACs: … |
| Generate test scenarios from a ticket | @test-scenario-designer Generate scenarios for these ACs: … |
| Find which tests a diff affects | @smart-test-selector Which existing tests are affected by this diff? |
| Turn findings into bug reports | @bug-reporter Read qa-output/functional-review.md and create bug reports |
| Get scenarios + runnable test code | @test-scenario-designer → then @automation-writer |
| Validate a feature live in a browser | @environment-manager → then @browser-validator |
| Analyze a multi-repo release | @release-analyzer Analyze the diff between v1.0 and HEAD across all repos |
| Run the full pipeline | @orchestrator Run full pipeline for PR #42 |
How AI QA orchestration works
Common questions about QA agents, AI-powered testing, and how QA Orchestra fits into your workflow.
QA orchestration is the coordination of multiple QA activities into a structured pipeline. Instead of running a single test suite, QA Orchestra routes your code change through specialized agents - functional review, test scenario design, browser validation, bug reporting - each handling one phase of the QA lifecycle. The output of one agent feeds into the next through qa-output/ files.
Each QA agent is an AI-powered specialist running inside Claude Code. The functional reviewer reads your diff against acceptance criteria and identifies gaps. The test scenario designer generates comprehensive test cases (happy path, negative, boundary, edge). The browser validator navigates your running app via Chrome DevTools MCP and verifies behavior. AI handles the analysis and reasoning; you provide the context in context/CONTEXT.md.
Regular AI code review gives you one opinion about your code. QA Orchestra gives you 10 specialized agents, each answering a different question. The functional reviewer checks AC compliance. The smart test selector maps your diff to existing tests. The browser validator tests the running app, not just the diff. Each agent writes a structured Markdown report you can paste into GitHub or Jira. Different questions, different agents, different outputs.
Yes. QA Orchestra is stack-agnostic. It works with React, Angular, Vue, Next.js, Rails, Django, Spring Boot, or any other web framework. All project-specific details (URLs, commands, repo paths) live in a single context/CONTEXT.md file. The agents read it before every run and adapt to your stack.
No. Each agent is standalone. Most users only use Tier 1: @functional-reviewer for PR review, @test-scenario-designer for test planning, or @smart-test-selector to find affected tests. Pick the agent that matches your question. The orchestrator exists for full-pipeline runs, but it's optional.
The environment manager checks out your PR branch, installs dependencies, and starts the app locally. The browser validator then connects via Chrome DevTools MCP, navigates to pages, clicks elements, fills forms, and verifies expected behavior - just like a manual QA tester, but automated through AI. This catches issues that static diff analysis misses.
Every agent writes structured Markdown to the qa-output/ directory. Functional reviews, test scenarios, bug reports, validation results - all in Markdown format you can paste directly into GitHub PRs, Jira tickets, or Linear issues. No proprietary formats, no dashboards to learn.
QA Orchestra is open-source under the MIT license. The agents run inside Claude Code, which requires a Claude subscription. No additional API keys, SaaS accounts, or paid services needed.