Skip to content
Agent Orchestration
Skill

/qa-phase

QA Phase execution — L1-L5 test planning, generation, execution, and reporting for a single feature. For sprint-level QA (7-Layer dataFlowIntegrity / S1 gate across multiple features) use /sprint qa <sprintId> which delegates to sprint-qa-flow agent (v2.1.13). Triggers: qa

From plugin
bkit
60544 skills34 agents2 commands21 hooks

Claude Code

$ npx -y skills add ww-w-ai/bkit-claude-code --skill qa-phase --agent claude-code

SKILL.md

qa-phase.SKILL.md
name: qa-phase
classification: workflow
classification-reason: QA phase automation within PDCA cycle
deprecation-risk: none
effort: high
description: |
  QA Phase execution — L1-L5 test planning, generation, execution, and reporting for a single feature. For sprint-level QA (7-Layer dataFlowIntegrity / S1 gate across multiple features) use /sprint qa <sprintId> which delegates to sprint-qa-flow agent (v2.1.13).
  Triggers: qa phase, QA test, qa run
argument-hint: "[feature]"
user-invocable: true
agents:
  lead: bkit:qa-lead
  planner: bkit:qa-test-planner
  generator: bkit:qa-test-generator
  debug: bkit:qa-debug-analyst
  monitor: bkit:qa-monitor
  default: bkit:qa-lead
allowed-tools:
  - Read
  - Write
  - Edit
  - Glob
  - Grep
  - Bash
  - Task
  - AskUserQuestion
imports:
  - ${PLUGIN_ROOT}/templates/qa-report.template.md
  - ${PLUGIN_ROOT}/templates/qa-test-plan.template.md
next-skill: pdca
pdca-phase: qa
task-template: "[QA] {feature}"

QA Phase Skill

> Execute QA phase of the PDCA cycle. Automatically runs L1-L5 tests with Chrome MCP integration.

Arguments

| Argument | Description | Example | |----------|-------------|---------| | `[feature]` | Target feature to test | `/qa-phase user-auth` |

Workflow

1. **Context**: Read design doc and Check phase analysis 2. **Plan**: Generate test plan (L1-L5 items with priorities) 3. **Generate**: Create test code files 4. **Execute**: Run L1-L5 tests (L3-L5 require Chrome MCP) 5. **Report**: Generate QA report to `docs/05-qa/{feature}.qa-report.md`

PRE-SCAN: Pre-Release Quality Check

Before running L1 tests, execute the automated quality scanners to catch structural issues early.

Steps

1. Run `bash ${PLUGIN_ROOT}/scripts/qa/pre-release-check.sh` via Bash. The path must be absolute: the script ships inside the plugin, not in the user's project, so a relative `scripts/qa/...` resolves to nothing wherever this skill actually runs. The script scans `$CLAUDE_PROJECT_DIR` (falling back to the working directory) — pass `--root DIR` to point it elsewhere. 2. Parse the output for CRITICAL / WARNING / INFO counts 3. **If CRITICAL issues found**:

  • Report all CRITICAL issues with file paths and suggested fixes
  • Recommend fixing CRITICAL issues before proceeding with L1-L5 tests
  • Use **AskUserQuestion** to ask whether to continue or abort the QA phase

(e.g. options: "Fix CRITICAL first" / "Continue anyway" / "Abort QA"). This gate is issued directly here, in the main session context — qa-phase is deliberately **not** `context: fork`. AskUserQuestion is stripped at the fork sub-agent boundary (CC #34592 / #54892), so it must run in the main context and must not be delegated to a sub-agent (qa-lead, etc.). 4. **If only WARNING/INFO issues (no CRITICAL)**:

  • Include scanner results in the QA report under "Pre-Release Scan" section
  • Continue to L1 test planning

Scanner Coverage

| Scanner | Detects | Severity | |---------|---------|----------| | dead-code | Stale require/import, unused exports | CRITICAL / WARNING | | config-audit | Unreferenced config keys, hardcoded values, missing paths | CRITICAL / WARNING / INFO | | completeness | Missing agents, long descriptions, missing effort | CRITICAL / WARNING / INFO | | shell-escape | Bare $N in awk, unescaped backticks, unsafe heredocs | CRITICAL / WARNING | | wiring | Exported but never called functions | WARNING |

QA Report Integration

When scanner results are available, include them in the QA report:

## Pre-Release Scan Results

- **Scanner**: dead-code — 0 CRITICAL, 1 WARNING, 0 INFO
- **Scanner**: config-audit — 0 CRITICAL, 0 WARNING, 2 INFO
- **Scanner**: completeness — 0 CRITICAL, 0 WARNING, 1 INFO
- **Scanner**: shell-escape — 0 CRITICAL, 0 WARNING, 0 INFO
- **Scanner**: wiring — 0 CRITICAL, 1 WARNING, 0 INFO

**Overall**: PASS (0 CRITICAL issues)

Test Levels

| Level | Type | Tool | Chrome Required | |-------|------|------|:---------------:| | L1 | Unit Test | Node.js / Jest / Vitest | No | | L2 | API Test | fetch / curl | No | | L3 | E2E Test | Chrome MCP | Yes | | L4 | UX Flow Test | Chrome MCP | Yes | | L5 | Data Flow Test | Chrome MCP + Bash | Yes |

Browser QA Depth (L3-L4)

qa-lead adds three things on top of the scripted L3-L4 scenarios. The full procedure is in `agents/qa-lead.md`:

  • **Diff-aware scope** — changed files are mapped to the pages and endpoints

they serve, and those pages are tested first.

  • **Exploratory pass** — each priority page is checked for forms, empty/error

states, navigation, and console output after every action.

  • **Health Score** — a weighted 0-100 summary of the exploratory findings,

reported next to the gate metrics. It is informational; the QA gate (`qaPassRate`, `qaCriticalCount`, `runtimeErrorCount`) still decides the verdict.

On QA_FAIL, issues are handed to Act in fix order with reproduction steps. Act fixes one issue at a time, re-verifies it, and adds a regression test. It stops to ask when fixes start spreading to unrelated files or breaking passing tests.

Fallback

Chrome MCP unavailable:

  • L1 + L2 only
  • QA report notes "L3-L5 skipped"
  • QA pass/fail based on L1+L2 results only
Read more
@ww-w-ai
Ships withbkit

A Claude Code plugin that verifies AI-generated code against its own design specs. Three commands. Anyone — even someone vibe-coding for the first time — can ship robust, production-quality software.

60544 skills34 agents
Get the whole plugin

Stars on GitHub

Momentum

stars in total
605
Star history of ww-w-ai/bkit-claude-code on GitHub, a chart by star-history.com

Other skills on bkit.

audit

audit

View audit logs, decision traces, and session history for AI transparency. ACTION_TYPES (19 entries) include PDCA events…

@ww-w-ai@ww-w-aiInstall Skill
bkend-auth

bkend-auth

bkend.ai authentication — email/social login, JWT tokens, RBAC, session management. Triggers: bkend auth, bkend login, bkend…

@ww-w-ai@ww-w-aiInstall Skill
bkend-cookbook

bkend-cookbook

bkend.ai project tutorials (todo to SaaS) and common error troubleshooting. Triggers: bkend tutorial, bkend cookbook, bkend…

@ww-w-ai@ww-w-aiInstall Skill
bkend-data

bkend-data

bkend.ai database — CRUD, column types, filtering, sorting, relations, indexing. Triggers: bkend table, bkend CRUD, bkend column,…

@ww-w-ai@ww-w-aiInstall Skill
bkend-quickstart

bkend-quickstart

bkend.ai onboarding — MCP setup, resource hierarchy, tenant/user model, first project. Triggers: bkend quickstart, bkend…

@ww-w-ai@ww-w-aiInstall Skill
bkend-storage

bkend-storage

bkend.ai file storage — upload (presigned URL), download (CDN), visibility levels, buckets. Triggers: bkend file, bkend upload,…

@ww-w-ai@ww-w-aiInstall Skill

More skills from other plugins.

1password

1password

Set up and use 1Password CLI for sign-in, desktop integration, and reading or injecting secrets.

clawdis12d393k
@steipete@steipeteInstall Skill
computer-use

computer-use

Drives the GUI of a visible local app window through `orca computer`: accessibility tree, clicks, typing, menus, dialogs, and…

orca12d111k
@stablyai@stablyaiInstall Skill
agentmail

agentmail

Use your assigned AgentMail inbox to read email tasks, explicitly send or reply, and check delivery. Provided automatically by…

paperclip11d109k
@paperclipai@paperclipaiInstall Skill
adr-create

adr-create

Create a new Architecture Decision Record with sequential numbering and AgentDB registration

@ruvnet@ruvnetInstall Skill

Questions about qa-phase.

Which coding agents can use qa-phase?
qa-phase installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.