tools/sage-claude-plugin/skills/qa/SKILL.md
QA report with bugs, severity, and fix classification
npx skillsauth add xoai/sage qaInstall 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.
Browser-based functional testing. Finds integration failures that live in the gap between "code is correct" and "product works."
Report only — /qa does NOT fix bugs. /fix fixes.
Check Lightpanda MCP availability. Attempt to call a Lightpanda
MCP tool (e.g., goto with about:blank).
If available: Ask for URL:
Sage → qa workflow. Lightpanda browser connected.
What URL is the application running on?
(e.g., http://localhost:3000, https://staging.myapp.com)
Verify URL is reachable via goto. If not, report and offer to
wait or proceed with code-only.
If not available:
Sage: Lightpanda MCP is not connected. /qa needs a browser to test
your application.
Setup: See sage/core/references/lightpanda-setup.md for install guide.
[B] Set up browser — I'll install Lightpanda
[C] Continue without browser — code-only QA
[X] Cancel
Pick B/C/X, or tell me what you need.
Code-only fallback (no browser): Analyze the diff, identify affected routes, review code for common integration issues:
Report notes: "Browser testing: not available — code-analysis only."
If invoked after /build (cycle context exists): Read the cycle's spec.md and plan.md. Identify affected routes, user flows, and acceptance criteria to verify.
If invoked standalone (no cycle context):
Sage: What should I test?
[1] Everything — full app smoke test (I'll discover routes)
[2] Specific flow — describe what to test
[3] Specific URL — point me at a page
Pick 1-3, type / for commands, or describe what you need.
Produce and present a test scope:
TEST SCOPE:
Routes to test:
- /dashboard (modified: added new widget)
- /settings/notifications (new page)
Flows to test:
- Dashboard loads with new widget visible
- Navigate to notification settings
- Toggle preference → verify API → verify UI update
Acceptance criteria to verify:
- [from spec] Toggle persists across page reload
- [from spec] Widget shows unread count
Ask: "Does this scope look right, or should I add/remove anything?"
For each route in scope:
goto) to the routeevaluate: check for JS console errorsmarkdown: verify page renders content (not blank/error)semantic_tree: verify expected structural elementsFor each flow in scope:
interactiveElements)click buttons, links, togglesfill form fieldsevaluate), verify state (semantic_tree)Save report to .sage/work/[cycle-id]/qa-report.md (if cycle context)
or .sage/docs/qa-report-[topic].md (if standalone).
Use the report template from develop/templates/qa-report-template.md.
🔒 QA REPORT CHECKPOINT:
Sage: QA complete.
Tested: {N} routes, {M} flows
Results: {pass} pass, {fail} fail, {warn} warning
Verdict: {PASS | FAIL | PASS WITH WARNINGS}
Bugs found: {count}
Critical: {count} — [brief descriptions]
Major: {count}
Minor: {count}
Report: .sage/[path]/qa-report.md
[A] Approve report [R] Revise — retest something
[F] → /fix to address bugs [N] New session
Pick A/R/F/N, or tell me what to change.
Next steps (Zone 3):
Next steps:
/fix — diagnose → scope → fix → verify (reads qa-report)
/design-review — design quality audit
/reflect — review the cycle, extract learnings
Type a command, or describe what you want to do next.
Good QA output:
No fake browser testing: If Lightpanda is not available, do NOT fabricate browser test results. Code-only analysis is honest about what it can and cannot verify.
Report completeness: Untested routes must be listed as "not tested" in the report. Do NOT claim a route passes if you didn't load it.
Advisory only: /qa reports. It does NOT fix bugs. If the agent catches itself thinking "I'll just fix this real quick" — STOP. Save the finding to the report and let /fix handle it.
No fixing in /qa: The separation between find and fix is deliberate. An agent that finds AND fixes has incentive to minimize findings. /qa's only job is thoroughness.
testing
Root cause diagnosis with evidence, Reproducing test, Minimal patch
tools
Session resumption with context
tools
Configure Sage preset and project settings. Switch between base, startup, enterprise, or opensource constitution presets. Use when the user says "configure sage", "change preset", or "sage settings".
development
Brief (medium+ tasks), Spec, Implementation plan