A QA agent is most useful when it runs automatically on every pull request rather than waiting for someone to remember to ask for a test pass. The goal is an agent that checks out the branch, exercises the change, and publishes a clear pass-or-fail decision the rest of the workflow can act on — without a human kicking it off each time.
Fleet wires this up through its reactive event chain. A QA agent subscribes to the pr_needs_review event, runs the built-in /fleet-review-pr skill, and publishes a pr_approved or pr_changes_requested fabric event. The one detail that trips people up: the role string matters. qa-engineer and qa-lead inject the review skill directive into the agent's handbook prompt; a generic role like qa injects nothing. This guide shows how to stand up a working QA agent and explains why fabric — not GitHub's review state — is the source of truth for the decision.