| name | qa |
| description | Use when asked to "qa", "verify this", "does this implementation work?", or "test this feature". Verifies the current implementation in context and reports `PASS`, `PARTIAL`, or `FAIL` with evidence. |
| allowed-tools | ["Bash","Read","Write","Edit","Glob","Grep","Agent"] |
/qa: Scope โ Verify โ Report
You are an implementation verifier. /qa checks whether a feature or change behaves correctly in context. It does not act as a release-readiness gate and it does not fix code.
What /qa verifies
Focus on the current work context:
- the intended golden path
- the most relevant edge cases
- obvious regressions near the changed behavior
- all Risk Surfaces identified in Phase 0 (์ธ๋ถ ์์คํ
๊ฒฝ๊ณ๋ ํญ์ ์ง์ ๊ฒ์ฆ)
/qa is the default verification path. If cross-service or multi-layer flow integrity is the main risk, add /e2e.
Scope resolution
Decide scope in this order unless the user explicitly overrides it:
- Plan context โ if there is an active implementation plan, verify the feature or task described there
- Branch context โ otherwise inspect the current branch diff (for example
main...HEAD) and verify the affected behavior
- User hint โ if the user gives extra guidance without explicit override, use it to refine the current context
If the user explicitly narrows scope (for example: "login only", "verify checkout success flow only"), treat that as user override and use it as the primary scope.
If the user names a verification environment or execution path (for example local/alpha/beta/prod, Jenkins, batch, Databricks), treat it as scope refinement. Before writing the report, confirm the verification set includes that named environment/path or mark it incomplete.
Always report the scope source as one of:
Scope source: plan
Scope source: branch
Scope source: user override
Verification flow
Phase 0: Risk Surface
๋ณ๊ฒฝ๋ ์ฝ๋๊ฐ ์ธ๋ถ ์์คํ
๊ฒฝ๊ณ(OpenSearch, DB, message queue, ์ธ๋ถ API, ํ์ผ ์์คํ
๋ฑ)์ ์ํธ์์ฉํ๋์ง ์๋ณํ๋ค.
์๋ณ ๋จ์:
- diff์ ์ธ๋ถ ํด๋ผ์ด์ธํธ/๋ฆฌํฌ์งํ ๋ฆฌ/๊ฒ์ดํธ์จ์ด ํธ์ถ์ด ํฌํจ๋จ
- ๊ณํ์๋ Rollout ๋ฉ๋ชจ์ "๋ฐฐํฌ ์ ~ ํ์ธ ๊ถ์ฅ" ๊ฐ์ ํญ๋ชฉ์ด ์์
๊ฐ Risk Surface์ ๋ํด ๋ค์์ ๊ฒฐ์ ํ๋ค:
- ์ด๋ค ํธ์ถ/์กฐํ๋ก ๊ฒ์ฆํ ๊ฒ์ธ๊ฐ
- ์ง๊ธ ์ ๊ทผ ๊ฐ๋ฅํ๊ฐ (SSO, ๊ถํ, ํฐ๋ ๋ฑ)
์ ๊ทผ ๋ถ๊ฐ๋ฅํ Risk Surface๊ฐ ์์ผ๋ฉด ๊ฒ์ฆ์ ์์ํ๊ธฐ ์ ์ ์ฌ์ฉ์์๊ฒ ์๋ฆฌ๊ณ , ์ ๊ทผ ๋ฐฉ๋ฒ์ ์ ๊ณต๋ฐ๊ฑฐ๋ ๊ทธ ํญ๋ชฉ์ ์ ์ธํด๋ ๋๋์ง ๋ช
์์ ์ผ๋ก ํ์ธ๋ฐ๋๋ค. ์ฌ์ฉ์ ํ์ธ ์์ด ๊ฑด๋๋ฐ์ง ์๋๋ค.
Phase 1: Scope
- Identify the feature, scenario, or change under verification
- State the scope source:
plan, branch, or user override
- Define a compact verification set:
- one golden path
- one or more key edge cases
- one or more obvious regression checks when relevant
For project-type-specific verification ideas, read references/exploration-guide.md.
Phase 2: Verify
Execute the verification plan.
Create output directory: mkdir -p .qa/reports/evidence
For each verified scenario:
- Run the scenario
- Save evidence when useful (command output, screenshots, HTTP responses)
- Record whether it passed, failed, or remains incomplete
Web projects: use /browse for browser automation.
Boundaries with /e2e and /ship
/qa is the default verification path for implementation behavior.
It does not replace /e2e when the main question is whether a full flow still connects across:
- a service boundary
- multiple layers
- an external integration
It does not decide:
- rollout readiness
- rollback readiness
- monitoring readiness
- release readiness
Those belong to /ship.
Verdicts
Always choose one:
- PASS โ Phase 0์์ ์๋ณ๋ ๋ชจ๋ Risk Surface์ ์๋๋ฆฌ์ค๊ฐ ๊ฒ์ฆ๋์๊ณ , ๋ฌธ์ ๊ฐ ์์
- PARTIAL โ ๊ฒ์ฆ๋์ง ์์ Risk Surface๊ฐ ์๊ฑฐ๋, ์ผ๋ถ ์๋๋ฆฌ์ค๊ฐ ์คํจ/๋ถ์์ /๋ถํ์ค
- FAIL โ ํต์ฌ ์๋๋ฆฌ์ค๊ฐ ์คํจํ๊ฑฐ๋ ์๋ํ ๋์๊ณผ ๋ช
๋ฐฑํ ๋ค๋ฆ
Report structure
Use the template from templates/qa-report-template.md. The report must include:
- Verdict
- Scope
- Verification summary
- Failed / incomplete scenarios
- Evidence
- Issues
- Next actions
Use references/issue-taxonomy.md only as a supporting classification system, not as the primary output structure.
Transition
Branch on the verdict:
PASS
Report the verdict and end. Do not ask whether to fix anything โ there is nothing to fix.
Optionally point to the natural next step (for example /ship for release-readiness review), but never present "์์ ํ ์ฌ๊ฒ์ฆ" options.
PARTIAL / FAIL
Ask how to proceed:
"๊ฒ์ฆ ๊ฒฐ๊ณผ๋ PARTIAL/FAIL์
๋๋ค. ์์ ํ ๋ค์ ๊ฒ์ฆํ์๊ฒ ์ต๋๊น?"
A) Subagent-driven โ ์์ ํ ์ฌ๊ฒ์ฆ (superpowers:subagent-driven-development)
B) Inline โ ์์ฐจ ์์ ํ ์ฌ๊ฒ์ฆ (superpowers:executing-plans)
C) ์๋์ค โ ๋ฆฌํฌํธ๋ง ๋จ๊ธฐ๊ณ ์ข
๋ฃ
If C: end.