一键导入
qa
// Functional validation skill. Captures test evidence (screenshots, recordings, links) and produces QA reports in thoughts/*/qa/.
// Functional validation skill. Captures test evidence (screenshots, recordings, links) and produces QA reports in thoughts/*/qa/.
| name | qa |
| description | Functional validation skill. Captures test evidence (screenshots, recordings, links) and produces QA reports in thoughts/*/qa/. |
You are performing functional validation of a feature, bugfix, or deployment. Your job is to prove it works (or doesn't) by executing test scenarios and capturing evidence.
All user-facing questions go through AskUserQuestion (when not Autopilot) — see desplega:ask-user for conventions.
File-review is on by default — invoke it on the QA report when ready (skip only if Autopilot).
QA test cases live in QA docs (thoughts/<username|shared>/qa/YYYY-MM-DD-<feature>.md), not inline in plans. When a plan has a ### QA Spec (optional): block, that block links to a QA doc this skill produces.
This skill is reserved for cross-cutting or evidence-heavy QA — not routine per-phase checks. Routine per-phase agent verification belongs in the plan's inline #### Automated QA: bucket, executed by phase-running. Use this skill when:
Invocation paths:
QA Doc: <path>./qa) creates a standalone doc not linked to a plan.Unless Autopilot, ask once at the start:
| Question | Options |
|---|---|
| "How would you like to execute test cases?" | 1. Browser automation (qa-use) — if available, 2. Manual testing with guided steps, 3. Mixed — automate what we can, manual for the rest |
Note on qa-use availability: Check if qa-use is available (look for qa-use:* in available skills). Also check if the project's CLAUDE.md specifies a different testing tool. If qa-use is not available and no alternative is specified, default to manual testing.
This skill activates when:
/qa commanddesplega:qaAt the start of QA, adapt your interaction level based on the autonomy mode:
| Mode | Behavior |
|---|---|
| Autopilot | Execute all test cases, capture evidence, present summary at end |
| Critical (Default) | Ask about test case design, present results for review |
| Verbose | Walk through each test case, confirm before executing |
The autonomy mode is passed by the invoking command. If not specified, default to Critical.
Determine the source of QA specs:
Plan-driven (called from planning/implementing/phase-running) → A plan path + phase reference is supplied. Read the relevant phase, design test cases for the deliverable named in its Overview, and produce the QA doc the plan's QA Spec block will link to.
Separate QA spec document provided → Read the standalone spec, use it as the basis for the QA session.
Direct user invocation, no source → Build test cases from scratch with the user. Use AskUserQuestion to establish:
| Question | Options |
|---|---|
| "What are we validating? Please describe the feature or provide context." | [Free text response] |
In all cases, create the QA document from cc-plugin/base/skills/qa/template.md at thoughts/<username|shared>/qa/YYYY-MM-DD-<topic>.md. Use the user's name when known; fall back to thoughts/shared/qa/.
For plan-driven invocation: after the doc exists, update the plan's ### QA Spec (optional): block in the relevant phase to point at the doc path. Do not inline scenarios in the plan.
Define test cases covering:
If sourced from a plan: Aggregate phase QA specs into the test case list. Augment with additional exploratory cases.
If sourced from a separate spec: Use those scenarios as the starting point and augment with exploratory cases.
If browser automation was selected and qa-use is available: Design qa-use test steps for each test case (explore → snapshot → interact → screenshot).
Write all test cases into the QA document's ## Test Cases section.
For browser automation (qa-use):
qa-use:explore to navigate to the target pageFor manual testing:
| Question | Options |
|---|---|
| "TC-N: [Test case name]. Did it pass?" | 1. Pass, 2. Fail — [describe what happened], 3. Blocked — [describe blocker], 4. Skipped |
For CLI verification:
OPTIONAL SUB-SKILL: When a CLI test case needs the same multi-step probe re-run later (regression coverage, post-deploy smoke, multi-environment validation) and no existing script captures it, invoke desplega:script-builder inline. The generated script is committed to the project's scripts/ directory with the PASS/FAIL + /tmp log convention; this QA session uses it for the current run, and future QA/verifying sessions discover it via the auto-added <important if> block in CLAUDE.md.
For each test case, record the actual result and pass/fail status.
Gather evidence for the QA report:
Add all evidence to the QA document's ## Evidence section.
Update the QA document with:
## Issues Found section with severity tags (critical/major/minor)Aggregate results into an overall verdict:
| Verdict | When |
|---|---|
| PASS | All test cases pass, no critical/major issues |
| FAIL | Any test case fails, or critical/major issues found |
| BLOCKED | Cannot complete testing due to environment/dependency issues |
Write a 1-2 sentence summary in the QA document's ## Verdict section. Update the frontmatter status field to match (pass/fail/blocked).
If the project's CLAUDE.md or agents.md doesn't document how QA is done for this project, offer to add a QA section describing:
Use AskUserQuestion with:
| Question | Options |
|---|---|
| "This project doesn't have documented QA practices. Would you like me to add a QA section to CLAUDE.md?" | 1. Yes, add QA documentation, 2. No, skip this |
Also persist useful patterns to memory if they emerge across QA sessions.
File-review is on by default (unless Autopilot):
/file-review:file-review <qa-report-path> for inline human commentsfile-review:process-review skillOPTIONAL SUB-SKILL: If significant insights, patterns, gotchas, or decisions emerged during this workflow, consider using desplega:learning to capture them via /learning capture. Focus on learnings that would help someone else in a future session.
After the QA report is complete, use AskUserQuestion with:
| Question | Options |
|---|---|
| "QA complete. What's next?" | 1. Run post-QA verification (→ /verify-plan), 2. Run review on QA report (→ /review), 3. Done |
Based on the answer:
desplega:verifying skilldesplega:reviewing skill on the QA documentExecute a single DAG step as an autonomous background sub-agent. Sibling of phase-running for DAG plans produced by v-planning. Reads a step-<n>.md file directly, atomically claims it via frontmatter status, runs the three-bucket Success Criteria, and reports back. Spawned by v-implementing or by /run-step.
Parallel DAG-plan implementation skill. Reads a v-planning plan directory (root.md + step-<n>.md files), topologically schedules ready steps, and fans them out as parallel sub-agents. Use whenever the user invokes /v-implement, points at a plan directory produced by /v-plan, or asks to "run the parallel plan", "implement the DAG", or "fan out the steps" — even without those exact words. For linear plans (single .md file), use `implementing` instead.
Vertical / parallel implementation planning skill. Creates DAG-structured plan directories where each step is an independent, QA-able vertical slice that sub-agents can pick up and implement in parallel. Use whenever the user wants a plan that fans out (multiple independent features), invokes /v-plan, or asks for a "parallel plan", "DAG plan", "vertical plan", or "plan that can be parallelized" — even if they don't say those exact words. Prefer the linear `planning` skill for strictly sequential work.
Interactive exploration of ideas through Socratic Q&A. Produces progressive documents that serve as lightweight pre-PRDs feeding into research.
Plan implementation skill. Executes approved technical plans phase by phase with verification checkpoints.
Execute individual plan phases as background sub-agents for context-efficient implementation.