Qa
Skill VRIL-LABS/skill-jam/skills/core-collections/spellbook-master/spellbook-master/skills/qa
Browser-based QA, exploratory testing, evidence capture, and bug reporting. Drive running applications and verify they work — not just that tests pass. Use when: "run QA", "test this", "verify the feature", "exploratory test", "check the app", "QA this PR", "capture evidence", "manual testing". Trigger: /qa.From its SKILL.md
npx -y skills add VRIL-LABS/skill-jam --skill qaAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
5.0 KB, ~1.1k tokens by cl100k_base, as published. Nobody here has run it
/qa
Drive the running application and verify it works. Tests passing is necessary but not sufficient — QA means exercising the real app as a user would.
Target: $ARGUMENTS
Routing
| Intent | Reference |
|---|---|
| Exploratory QA (default) | This file |
| Browser tool deep-dive | references/browser-tools.md |
| Evidence capture patterns | references/evidence-capture.md |
Tool Selection
Pick the right browser tool for the job. Don't default to one — match it.
| Tool | Best for | Token cost |
|---|---|---|
| Playwright MCP | Deterministic automation, test generation, cross-browser, traces | Medium |
| Playwright CLI | Same as MCP but 4x cheaper on tokens; saves snapshots to disk | Low |
| Chrome MCP (claude-in-chrome) | Exploratory QA in live browser, existing auth, GIF recording | Medium |
| agent-browser | Lowest token usage (82% less), annotated screenshots, video | Low |
| Stagehand/Browserbase | Hosted sessions, anti-bot, stealth, session recordings | Medium |
| Chrome DevTools MCP | Deep debug: console, network, perf traces, not primary QA | Low |
Decision tree:
- Need existing browser auth/cookies? → Chrome MCP
- Need hosted/stealth/anti-bot? → Stagehand/Browserbase
- Need deterministic test generation? → Playwright MCP/CLI
- Need annotated screenshots + lowest token cost? → agent-browser
- Need deep frontend debug (perf/network)? → Chrome DevTools MCP
- Not sure? → Chrome MCP for exploration, Playwright for regression
See references/browser-tools.md for setup and detailed usage patterns.
QA Protocol
Before
# Verify dev server is running
curl -s -o /dev/null -w "%{http_code}" http://localhost:3000/
# Start if not — adapt command to project
bun dev &
sleep 5
During
For each user-facing change, verify:
- Happy path works end-to-end
- Key edge cases from oracle criteria
- No console errors on affected pages
- No failed network requests
- Loading/empty/error states render correctly
- Mobile viewport works (if applicable)
Web apps: Navigate to affected routes, exercise the feature, capture evidence. CLIs: Run commands with representative inputs, verify output. APIs: Curl endpoints, verify response shape and status codes.
After
- Classify findings: P0 (blocks ship), P1 (fix before merge), P2 (log for later)
- P0/P1: fix and re-run QA on the fix
- P2: document in PR body or create issues
- Capture evidence for everything tested (see below)
Evidence Requirements
Every QA run produces evidence. No exceptions.
| Change type | Default evidence |
|---|---|
| UI feature/fix | GIF walkthrough + route screenshots |
| Visual change | Before/after screenshots |
| Multi-step flow | GIF or video recording |
| API/backend | Terminal output as code block |
| Refactor with parity | GIF showing the app still works |
Evidence goes to /tmp/qa-{slug}/. Use /demo to upload evidence to PRs.
See references/evidence-capture.md for tool-specific capture patterns.
CLI QA
mkdir -p /tmp/qa-{slug}
your-cli command --args > /tmp/qa-{slug}/cli-output.txt 2>&1
echo "Exit code: $?"
API QA
curl -s http://localhost:3000/api/endpoint | jq . > /tmp/qa-{slug}/api-response.json
curl -s -o /dev/null -w "%{http_code}" http://localhost:3000/api/endpoint
Hardening to Tests
When a QA exploration reveals a stable flow worth keeping:
- Use Playwright's test agents (Planner → Generator → Healer) to convert the exploratory flow into a deterministic test
- Or manually write the test based on the QA notes
- Add visual baselines if applicable
See references/browser-tools.md → Playwright test agents section.
Gotchas
- "Tests pass" is not QA. Tests verify code paths. QA verifies user experience. A test can pass while the page is visually broken.
- Collecting evidence before confirming repro burns agent budget. Confirm the issue reproduces from a clean state before recording elaborate walkthroughs.
- Screenshots of motionless screens should be screenshots, not recordings. Use video/GIF only for flows with multiple steps or state changes.
- Skipping console/network checks misses the most common backend-caused frontend bugs: 500s, CORS, missing env vars.
- Auth-heavy apps need Chrome MCP (existing session) or Stagehand (stealth). Don't waste time re-implementing login flows in Playwright unless you're hardening them into a test.
- agent-browser security controls are opt-in. Turn on guardrails for internal apps.
What ships with it: 2 files
11.4 KB alongside SKILL.md
references/
- browser-tools.md7.1 KB
- evidence-capture.md4.3 KB