---
name: qa-plan
description: "Creates the QA plan for a sprint or feature — maps each story's acceptance criteria to test levels/tools/files, test data and environment, regression set, quality risks; writes production/sprints/qa-plan-NN.md. Run at sprint start."
argument-hint: "[sprint NN | F-NNN]"
user-invocable: true
allowed-tools: Read, Glob, Grep, Write, AskUserQuestion, Task
model: sonnet
agent: qa-lead
---

# QA Plan

Reply in the project conversation language (CLAUDE.md → Language); code, identifiers, paths and commit messages stay in English.

Template `test-plan.md`; the project's `test-strategy.md` (missing → `/test-setup` first).

## Phase 1: Stories
Sprint/feature → stories → acceptance criteria.

## Phase 2: Matrix
Criterion → level (unit/integration/contract/e2e/security/a11y/perf) → tool → file → owner agent; test data; regression set; risks (`test-engineer` via Task — effort estimate).

## Phase 3: Write
"May I write `production/sprints/qa-plan-NN.md`?" — one `AskUserQuestion`: write (Recommended) · show the draft/diff first · not now. After the "write" answer: `touch .claude/.write-consent` (rule 7 — the consent-guard hook checks the marker).

Verdict: `READY`. Next step — one `AskUserQuestion`: `/dev-story` (Recommended) · `/sprint-plan` adjustments · stop here.
