agentleFS
ww-w-aiww-w-ai/bkit-claude-code/skills/qa-phase/SKILL.md

qa-phase

Skill605 starsChanged 3 months agoApache-2.0View on GitHub

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

2 other projects use a version of this.

Adopted by

Most recently taken up by

The file

We split this skill into the rules it gives an agent

7 rules. About 0 are common, 5 are distinctive, and 2 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈5

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 2

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Context: Read design doc and Check phase analysis

    line 48
  2. Distinctive:

    Generate: Create test code files

    line 50
  3. Distinctive:

    Execute: Run L1-L5 tests (L3-L5 require Chrome MCP)

    line 51
  4. Distinctive:

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

    line 56
  5. Very specific:

    Run bash ${PLUGIN_ROOT}/scripts/qa/pre-release-check.sh via Bash.

    line 60
  6. Very specific:

    Use AskUserQuestion to ask whether to continue or abort the QA phase (e.g.

    line 69
  7. Distinctive:

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

    line 91

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

QA Phase Skill

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

Arguments

ArgumentDescriptionExample
[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

ScannerDetectsSeverity
dead-codeStale require/import, unused exportsCRITICAL / WARNING
config-auditUnreferenced config keys, hardcoded values, missing pathsCRITICAL / WARNING / INFO
completenessMissing agents, long descriptions, missing effortCRITICAL / WARNING / INFO
shell-escapeBare $N in awk, unescaped backticks, unsafe heredocsCRITICAL / WARNING
wiringExported but never called functionsWARNING

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

LevelTypeToolChrome Required
L1Unit TestNode.js / Jest / VitestNo
L2API Testfetch / curlNo
L3E2E TestChrome MCPYes
L4UX Flow TestChrome MCPYes
L5Data Flow TestChrome MCP + BashYes

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

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.