Skip to content
Back to skills

Qa Phase

ASecurity

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

  • 599 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added May 27, 2026
data-aishellbashnodeapi

Works with

  • api
  • mcp

Security analysis

A100/100

Scanned October 1, 2026

npx -y skills add popup-studio-ai/bkit-claude-code --skill qa-phase --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Qa Phase?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Qa Phase
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/popup-studio-ai-qa-phase/badge)](https://www.skillsdirectory.com/skills/popup-studio-ai-qa-phase)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
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:

```markdown
## 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

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.