skills/qa-gate/SKILL.md
Mandatory QA gate before delivering any feature, fix, or component. Dispatches an independent testing agent to exercise the implementation end-to-end before returning results to the user.
npx skillsauth add nhouseholder/nicks-claude-code-superpowers qa-gateInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
QA gate is ONE part of the review pipeline — avoid stacking:
Never dispatch more than 2 total review agents for a single change.
Mandatory: After each task in subagent-driven development, after completing a major feature, before merge to main.
Optional: When stuck (fresh perspective), before refactoring (baseline check), after fixing a complex bug.
BASE_SHA=$(git rev-parse HEAD~1) # or origin/main
HEAD_SHA=$(git rev-parse HEAD)
git diff --name-only $BASE_SHA..$HEAD_SHA # files to review
Dispatch with: what was implemented, plan/requirements, base and head SHAs, files changed, areas to scrutinize.
| Priority | Action | |----------|--------| | Critical | Fix immediately before proceeding | | Important | Fix before proceeding to next task | | Minor | Note for later, don't block progress | | Disagree | Push back with technical reasoning |
| Tier | Change Type | QA Level | |------|------------|----------| | Tier 3 — Full QA Gate | New feature (multi-file), full-stack changes, algorithm overhaul, deployment-bound work | Dispatch independent QA subagent, full checklist, fix before delivery | | Tier 2 — Inline Verification | Single-component change, bug fix, API endpoint tweak, algorithm parameter change | Trace code path with real inputs, check edge cases inline, no subagent needed | | Tier 1 — Quick Sanity Check | Small fix (1-2 lines), style/layout tweak, single function change | Mentally verify correctness, check for obvious breakage | | Skip | Config-only, docs, git ops, memory/skill files, unused code deletion, user explicitly requests skip | No QA needed |
| Change Type | Test Scope | |-------------|------------| | Frontend component | Render without errors, props/state, user interactions, edge cases (empty, loading, error) | | API endpoint | Request/response shape, error handling, auth, edge cases | | Algorithm/scoring | Input → output correctness, edge cases, regression against known-good values | | Database/data | Schema integrity, query correctness, migration safety | | Full feature | All above + integration between layers | | Bug fix | Specific bug fixed + no regression in surrounding functionality |
For non-trivial changes, dispatch an independent QA subagent with: what was built, files changed, expected behavior, specific test cases. Report: pass/fail per scenario, bugs found, edge cases missed.
When to use subagent vs inline:
If ANY test fails: fix immediately, re-run, only deliver when all pass. Mention what you caught: "Found and fixed: [issue] — [resolution]"
Do not deliver known-broken code with a disclaimer.
| Attempt | Minimum Verification | |---------|---------------------| | 1st fix | Tier 2 minimum — trace the exact bug scenario through fixed code with real inputs | | 2nd fix (same bug) | Tier 3 mandatory — dispatch QA subagent. First mental trace failed. | | 3rd+ fix | Tier 3 + reproduce bug first. Prove you can trigger original failure, fix, prove failure is gone. |
Rules:
Don't reduce QA to binary pass/fail. Use escalation statuses:
| Status | Meaning | Action | |--------|---------|--------| | DONE | All tests pass, no concerns | Ship it | | DONE_WITH_CONCERNS | Tests pass, but something feels off (perf, edge case coverage, design smell) | Ship with noted concerns for future attention | | NEEDS_CONTEXT | Can't fully verify without information you don't have (user's env, specific data, third-party state) | Ship but explicitly state what you couldn't verify and why | | BLOCKED | Tests fail or critical issue found that you cannot resolve | Do NOT ship. Explain the blocker clearly. |
Tested: [what was tested]
Status: [DONE | DONE_WITH_CONCERNS | NEEDS_CONTEXT | BLOCKED]
Verified: [key scenarios that passed]
Fixed during QA: [anything caught and fixed]
Concerns/Blockers: [if applicable]
Keep to 3-4 lines.
You are an independent QA engineer. Find bugs before the user does.
## What was built
[Description]
## Files to review
[Changed files with brief description]
## Test scenarios
1. [Happy path]
2. [Edge case — empty/null/missing data]
3. [Error path]
4. [Integration with connected components]
5. [Regression — existing functionality]
## How to test
- Read changed files, trace logic with concrete inputs
- Check for: unhandled errors, missing null checks, incorrect state management,
broken imports, type mismatches, async race conditions
- If dev server is running, test actual endpoint/page
- Report every issue, ranked by severity
## Output format
For each scenario: PASS or FAIL with details
Bugs found: [file:line and description]
Recommendation: SHIP or FIX FIRST
Core principle: Evidence before claims, always.
Before modifying ANY data/values/calculations, record current state:
BEFORE: ML = +107.89u (355W-142L), Method = +171.76u...
CHANGING: [what you're about to change]
AFTER: [verify matches or improves — any decrease = regression]
Before sending, check WORDS match DATA:
"I edited the code" is NOT verification. Check the OUTPUT:
Pick ONE suspicious value and trace it source → output. Red flags:
npm run build — fails → STOPnpx tsc --noEmit or pyright .npm run lint or ruff check .git diff --stat — review for unintended changestools
Unified context management and session continuity skill. Combines total-recall, strategic-compact, /ledger, and session continuity. Runs in background to preserve critical context across compaction and sessions.
tools
Toolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing browser screenshots, and viewing browser logs.
tools
Suggest /ultraplan for complex planning tasks on Claude Code CLI (2.1.91+ only). Research preview.
tools
UI/UX design intelligence. 50 styles, 21 palettes, 50 font pairings, 20 charts, 9 stacks (React, Next.js, Vue, Svelte, SwiftUI, React Native, Flutter, Tailwind, shadcn/ui). Actions: plan, build, create, design, implement, review, fix, improve, optimize, enhance, refactor, check UI/UX code. Projects: website, landing page, dashboard, admin panel, e-commerce, SaaS, portfolio, blog, mobile app, .html, .tsx, .vue, .svelte. Elements: button, modal, navbar, sidebar, card, table, form, chart. Styles: glassmorphism, claymorphism, minimalism, brutalism, neumorphism, bento grid, dark mode, responsive, skeuomorphism, flat design. Topics: color palette, accessibility, animation, layout, typography, font pairing, spacing, hover, shadow, gradient. Integrations: shadcn/ui MCP for component search and examples.