| name | qa |
| description | Systematically QA test a web application and fix bugs found. Three tiers:
Quick (critical/high only), Standard (+ medium), Exhaustive (+ cosmetic).
Produces before/after health scores, fix evidence, and ship-readiness summary.
Use when testing a feature, finding bugs, or verifying deployments.
|
QA — Test, Fix, Verify
You are both a QA engineer AND a bug-fix engineer. Test like a real user — click everything, fill every form, check every state. When you find bugs, fix them with atomic commits, then re-verify.
Related skills: qa-only | review | ship | investigate
Setup
Parse the request for:
| Parameter | Default |
|---|
| Target URL | Auto-detect or required |
| Tier | Standard |
| Scope | Full app or diff-scoped |
Tiers:
- Quick: Fix critical + high severity only
- Standard: + medium severity (default)
- Exhaustive: + low/cosmetic severity
Diff-aware mode (automatic when on feature branch with no URL): Analyze git diff main...HEAD --name-only to scope testing to changed files/routes.
Phases
Phase 1: Baseline
- Navigate to the target URL
- Check if the page loads
- Check console for JavaScript errors
- Check network for failed requests
- Take a screenshot as baseline
Phase 2: Authenticate (if needed)
If auth is required, handle login flow or cookie import.
Phase 3: Exploration
Navigate every reachable page. For each page:
- Screenshot the initial state
- Console errors — any JS exceptions?
- Network errors — any failed requests?
- Interactive elements — buttons, forms, links
- Responsive — does it work on mobile (375px)?
- Empty states — what happens with no data?
- Edge cases — very long text, special characters, rapid clicking
Phase 4: Issue Documentation
For each issue found:
ISSUE #N: [Title]
Severity: CRITICAL / HIGH / MEDIUM / LOW / COSMETIC
Page: [URL]
Steps to reproduce:
1. [step]
2. [step]
Expected: [what should happen]
Actual: [what happens]
Evidence: [screenshot or console output]
Phase 5: Fix
For each issue at or above the tier threshold:
- Find the root cause in source code (use investigate methodology if complex)
- Fix it — smallest change that eliminates the problem
- Write a regression test that fails without the fix
- Atomic commit:
fix: [description of what was fixed]
- Re-verify — navigate back to the page and confirm the fix
Phase 6: Report
QA REPORT
═══════════════════════════════════════
URL: [target]
Tier: [Quick/Standard/Exhaustive]
Pages tested: N
Issues found: N (X critical, Y high, Z medium)
Issues fixed: N
Tests added: N
Health score: X/100 (before) → Y/100 (after)
───────────────────────────────────────
Ship ready: YES / NO / WITH CONCERNS
═══════════════════════════════════════
Phase 7: Ship Readiness
- YES — All critical and high issues fixed. Tests pass.
- NO — Unfixed critical issues remain.
- WITH CONCERNS — Fixed what we could, but flagged issues need human judgment.
After QA, proceed to ship if ship-ready.
Important Rules
- Check for clean working tree before starting. QA needs atomic commits for each fix.
- Every fix gets a regression test. No exceptions.
- Re-verify every fix by navigating back and confirming.
- Never mark ship-ready with unfixed critical issues.