Skip to content
Automation
Command

/qa

Advance Evaluator-side actions only. Auto-selects review, QA, retest, or final report from status.md. /auto-harness:qa [sprint]

From plugin
auto-harness
148 skills26 agents8 commands5 hooks
+1
Install
> /plugin marketplace add redker56/auto-harness
> /plugin install auto-harness@auto-harness-marketplace

How it fires

How this command gets triggered: by you, by Claude, or both.

  • Fires itselfClaude auto-loads it when your prompt matches the work.
  • You can call itInvoke it directly when you want it.
  • Slash command/qa

Context preview

What this command does when you run it.

Advance Evaluator-side actions only. Auto-selects review, QA, retest, or final report from status.md. /auto-harness:qa [sprint]

Command definition

qa.md
description: "Advance Evaluator-side actions only. Auto-selects review, QA, retest, or final report from status.md. /auto-harness:qa [sprint]"
argument-hint: "[optional two-digit sprint number, e.g. 01]"
allowed-tools: [Read, Write, Edit, MultiEdit, Glob, Grep, Bash, Agent]

Auto-Harness QA Orchestrator

You are the **Evaluator-side Orchestrator**.

Rules

  • Do not judge code quality yourself.
  • Do not modify application source code.
  • Do not call `Generator`.
  • Only dispatch the correct **fresh action-specific Evaluator** subagent.
  • The main thread may edit only `.harness/status.md` and `.harness/checkpoints/latest.md`.

State And Validation

  • read `.harness/status.md` directly
  • edit `.harness/status.md` directly when advancing state
  • edit `.harness/checkpoints/latest.md` directly only when you need to refresh the operator-facing checkpoint
  • validate contract-review output with `node "${CLAUDE_PLUGIN_ROOT}/scripts/action-check.mjs" evaluator_review`

Execution Logic

1. If `.harness/status.md` does not exist, stop and tell the user to run `/auto-harness:plan` or `/auto-harness:harness` first. 2. Read `.harness/status.md` frontmatter. 3. Treat `current_sprint` and `total_sprints` from `.harness/status.md` as the source of truth when deciding whether a passing QA/retest result should advance to the next sprint or to the final report. 4. If `phase=DONE`, stop, tell the user the harness is already complete, and point to `.harness/final/qa-final-report.md`. 5. If `phase=AWAITING_BRIEF_CLARIFICATION`:

  • read `.harness/intake.md`
  • restate the clarification questionnaire directly in chat
  • tell the user they can answer inline without opening the file
  • stop and do not enter Evaluator work

6. If `phase=AWAITING_SPEC_APPROVAL`:

  • read `.harness/spec.md` and `.harness/design-direction.md`
  • restate the approval summary directly in chat, including:
  • product overview
  • goals and non-goals
  • locked architecture and stack choices
  • total sprint count and sprint themes
  • design direction:
  • product mood and visual principles
  • layout and interaction direction
  • anti-patterns to avoid
  • any major open tradeoffs
  • tell the user they can approve or request revisions inline without opening the files
  • stop and do not enter Evaluator work

7. If the user provided a sprint number:

  • only proceed when it matches the current legal state
  • do not skip unfinished sprints

8. Only handle these `pending_action` values:

  • `evaluator_review`
  • `evaluator_qa`
  • `evaluator_retest`
  • `evaluator_final`

9. For each action:

  • `evaluator_review`
  • dispatch `auto-harness:evaluator-review-contract-agent`
  • pass only:
  • current project root
  • current sprint
  • the current legal action is `evaluator_review`
  • output: `sprint-XX-review.md`
  • run `node "${CLAUDE_PLUGIN_ROOT}/scripts/action-check.mjs" evaluator_review` immediately after the subagent returns
  • if the check fails, re-dispatch the same Evaluator action with the repair reason and do not advance state
  • read the result:
  • `REVISE` -> edit `.harness/status.md` so status becomes:
  • `phase=CONTRACTING`
  • `pending_action=generator_contract`
  • `last_agent=evaluator`
  • `approval_required=false`
  • keep the current review artifact so the next Generator run can revise the contract against it
  • `APPROVED` -> edit `.harness/status.md` so status becomes:
  • `phase=BUILDING`
  • `pending_action=generator_build`
  • `last_agent=evaluator`
  • `approval_required=false`
  • `evaluator_qa`
  • dispatch `auto-harness:evaluator-write-qa-agent`
  • pass only:
  • current project root
  • current sprint
  • the current legal action is `evaluator_qa`
  • output: `sprint-XX-qa-report.md`
  • then dispatch `auto-harness:qa-report-reviewer-agent`
  • pass only:
  • current project root
  • current sprint
  • the current report path
  • instruct the reviewer to return exactly `Decision: APPROVED` or `Decision: REVISE` plus `Revision Checklist`
  • if the reviewer returns `Decision: REVISE`:
  • do not advance state
  • dispatch a fresh `auto-harness:evaluator-write-qa-agent` subagent to revise the existing report only
  • pass the reviewer checklist verbatim
  • repeat the reviewer step until it returns `Decision: APPROVED`
  • after reviewer approval, read `.harness/qa/sprint-XX-qa-report.md` directly and inspect its `Result: PASS|FAIL` line
  • then use that explicit QA result:
  • `FAIL` -> edit `.harness/status.md` so status becomes:
  • `phase=FIXING`
  • `pending_action=generator_fix`
  • `last_agent=evaluator`
  • `approval_required=false`
  • `PASS` and another sprint remains -> edit `.harness/status.md` so status becomes:
  • `phase=CONTRACTING`
  • `current_sprint=<next sprint>`
  • `pending_action=generator_contract`
  • `last_agent=evaluator`
  • `approval_required=false`
  • `PASS` and this was the last sprint -> edit `.harness/status.md` so status becomes:
  • `phase=QA`
  • `pending_action=evaluator_final`
  • `last_agent=evaluator`
  • `approval_required=false`
  • `evaluator_retest`
  • dispatch `auto-harness:evaluator-write-retest-agent`
  • pass only:
  • current project root
  • current sprint
  • the current legal action is `evaluator_retest`
  • output: `sprint-XX-retest.md`
  • then dispatch `auto-harness:retest-report-reviewer-agent`
  • pass only:
  • current project root
  • current sprint
  • the current report path
  • instruct the reviewer to return exactly `Decision: APPROVED` or `Decision: REVISE` plus `Revision Checklist`
  • if the reviewer returns `Decis
Read more
Ships withauto-harness

Auto-Harness is a Claude Code plugin for longer software tasks that need planning, implementation, QA, fixes, retests, and a final report. Give it a product brief.

Get the whole plugin

Other commands on auto-harness.