qa-fix
Skill1 starsChanged 7 months agoMITView on GitHub
Instruction-driven QA — test and fix via Playwright based on free text or module name. Usage - /qa-fix [module or free text instruction]
2 other projects use a version of this.
Adopted by
Most recently taken up by
- victoraguilarsantamariadev/qa-exploretheir own version, first seen Sep 28, 2026
- napnap11/claude-skillstheir own version, first seen Jun 26, 2026
Other versions2 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 2
- victoraguilarsantamariadev/qa-explore★ 2same name
- napnap11/claude-skills★ 1same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository4 other files it gives its agents.
- create-ticketSkill
- dev-team-hybridSkill
- dev-teamSkill
- qaSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
26 rules. About 0 are common, 23 are distinctive, and 3 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈23
Distinctive · estimate
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- could be automatic: a setting could enforce it
- Distinctive: line 6
Run instruction-driven QA: test and fix autonomously based on the user's input.
- Distinctive: line 10
If args match a known module name → run that module's predefined scenarios
- Distinctive: line 11
If args are free text (e.g., "the persona chips on generate page aren't highlighting on click") → run custom QA targeting the described …
- Distinctive: line 13
If no args → ask the user what to test
- Distinctive: line 22
Read the user's arguments from the skill invocation.
- Very specific: line 38
Ensure qa-reports/ directory exists:
- Distinctive: line 46
Use whatever branch is currently checked out (the user likely has the code they want tested already running).
- Very specific: line 56
Read .claude/agents/qa/system-qa.md for the base prompt.
- Distinctive: line 58
Module mode: Use the base prompt as-is, providing:
- Distinctive: line 63
Instruction mode: Use the base prompt but REPLACE the module test scenarios section with the user's instruction.
- Distinctive: line 80
Wait for the agent to complete.
- Distinctive: line 86
Read the bug report:
- Distinctive: line 101
Create a fix branch:
- Distinctive: line 115
Run tests to verify no regressions
- Distinctive: line 116
Commit, push, and create/update a PR
- Distinctive: line 124
After the fix agent completes, ask the user to restart the servers on the fix branch before re-testing.
- Distinctive: line 127
Wait for user confirmation before proceeding.
- Distinctive: line 135
After user confirms servers are restarted:
- Distinctive: line 141
If 0 open bugs → output "QA PASS after {N} cycles" and STOP
- Distinctive: line 142
If open bugs AND cycle < 3 → go to Step 4 again
- Distinctive: line 143
If open bugs AND cycle = 3 → run one final fix (Step 4), then one verification test.
- Very specific: line 167
ALL testing via Playwright MCP browser tools — no curl/httpx/API testing
- Distinctive: line 168
ALL fixes go to a PR — never push to main directly
- Distinctive: line 170
Only pause for server restarts (Step 5)
- Distinctive: line 173
Do NOT modify test files unless the test itself is wrong
- Distinctive: line 174
Do NOT add features or refactor — only fix reported bugs
≈ “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.
Files
Run instruction-driven QA: test and fix autonomously based on the user's input. Accepts either a module name or free text describing what to test.
Input parsing:
- If args match a known module name → run that module's predefined scenarios
- If args are free text (e.g., "the persona chips on generate page aren't highlighting on click") → run custom QA targeting the described issue
- If no args → ask the user what to test
Customize the module list in
.claude/agents/qa/system-qa.mdand this skill's Step 0 for your project. The default list is an example.
Step 0 — Parse input
Read the user's arguments from the skill invocation.
Module mode — args match a module name:
- Set
MODE = module - Set
MODULE = {matched name} - Set
INSTRUCTION = null
Instruction mode — args are free text:
- Set
MODE = instruction - Set
MODULE = null(infer from context during testing) - Set
INSTRUCTION = {the user's text}
Step 1 — Prepare
- Ensure
qa-reports/directory exists:mkdir -p qa-reports - Determine the branch to test on. Check current branch:
Use whatever branch is currently checked out (the user likely has the code they want tested already running).git branch --show-current
Step 2 — Run QA test agent
Spawn a sub-agent (subagent_type: "general-purpose", mode: "bypassPermissions")
with the system-qa prompt adapted for the current mode.
Read .claude/agents/qa/system-qa.md for the base prompt.
Module mode: Use the base prompt as-is, providing:
- MODULE:
{MODULE} - BRANCH: current branch
- CYCLE: 1
Instruction mode: Use the base prompt but REPLACE the module test scenarios section with the user's instruction. Build a custom test plan:
CUSTOM TEST INSTRUCTION:
{INSTRUCTION}
Based on this instruction, determine:
1. Which page(s) to navigate to
2. What actions to perform
3. What to verify (expected behavior)
4. Take screenshots of any issues found
Write results to qa-reports/custom-bugs.md using the same bug report
format. Use "custom" as the module name.Wait for the agent to complete.
Step 3 — Check results
Read the bug report:
- Module mode:
qa-reports/{MODULE}-bugs.md - Instruction mode:
qa-reports/custom-bugs.md
Count OPEN bugs (ignore OBSERVATIONS).
- 0 open bugs → output "QA PASS — no bugs found" and STOP
- Open bugs exist → proceed to Step 4
Step 4 — Run fix agent (autonomous)
Read .claude/agents/qa/fullstack.md for the base prompt.
Create a fix branch:
git checkout -b fix/{MODULE_OR_CUSTOM}-qa-fix 2>/dev/null || git checkout fix/{MODULE_OR_CUSTOM}-qa-fixSpawn a fix sub-agent (subagent_type: "general-purpose", mode: "bypassPermissions")
with the fullstack prompt, providing:
- MODULE:
{MODULE}orcustom - BRANCH:
fix/{MODULE_OR_CUSTOM}-qa-fix - CYCLE: current cycle number
The fix agent will:
- Read the bug report
- Fix all OPEN bugs
- Run tests to verify no regressions
- Commit, push, and create/update a PR
Wait for the agent to complete.
Step 5 — Ask user to restart servers
After the fix agent completes, ask the user to restart the servers on the fix branch before re-testing.
Wait for user confirmation before proceeding.
Step 6 — Re-test (max 3 cycles)
Track cycle count (started at 1 in Step 2).
After user confirms servers are restarted:
- Increment cycle count
- Go back to Step 2, but now:
- BRANCH = the fix branch
- CYCLE = current cycle number
- After Step 3:
- If 0 open bugs → output "QA PASS after {N} cycles" and STOP
- If open bugs AND cycle < 3 → go to Step 4 again
- If open bugs AND cycle = 3 → run one final fix (Step 4), then one verification test. Mark done regardless of result.
Step 7 — Final summary
Output:
QA-FIX COMPLETE
Mode: {module | instruction}
Target: {MODULE or first 60 chars of instruction}
Cycles: {N}
Result: {PASS | PARTIAL — N bugs remain}
PR: {PR_URL or "none (clean pass)"}
Bugs found: {total}
Bugs fixed: {count}
Bugs remaining: {count}Rules
- ALL testing via Playwright MCP browser tools — no curl/httpx/API testing
- ALL fixes go to a PR — never push to main directly
- Fix and re-test autonomously — no approval gate between cycles
- Only pause for server restarts (Step 5)
- Max 3 fix cycles — don't loop forever
- Sub-agents must use
subagent_type: "general-purpose"for Playwright access - Do NOT modify test files unless the test itself is wrong
- Do NOT add features or refactor — only fix reported bugs
- OBSERVATIONS are informational — do NOT trigger fix cycles for them
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
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.

