agentleFS
hmshbhmshb/autonomous-dev-squad/skills/qa-fix/SKILL.md

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

  • Other versions2 projects use a version of this.

    Word for word · 0

    None found.

    Edited · 0

    None found.

    Wrote their own version · 2

    1. victoraguilarsantamariadev/qa-explore★ 2same name
    2. 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.

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
  1. Distinctive:

    Run instruction-driven QA: test and fix autonomously based on the user's input.

    line 6
  2. Distinctive:

    If args match a known module name → run that module's predefined scenarios

    line 10
  3. Distinctive:

    If args are free text (e.g., "the persona chips on generate page aren't highlighting on click") → run custom QA targeting the described …

    line 11
  4. Distinctive:

    If no args → ask the user what to test

    line 13
  5. Distinctive:

    Read the user's arguments from the skill invocation.

    line 22
  6. Very specific:

    Ensure qa-reports/ directory exists:

    line 38
  7. Distinctive:

    Use whatever branch is currently checked out (the user likely has the code they want tested already running).

    line 46
  8. Very specific:

    Read .claude/agents/qa/system-qa.md for the base prompt.

    line 56
  9. Distinctive:

    Module mode: Use the base prompt as-is, providing:

    line 58
  10. Distinctive:

    Instruction mode: Use the base prompt but REPLACE the module test scenarios section with the user's instruction.

    line 63
  11. Distinctive:

    Wait for the agent to complete.

    line 80
  12. Distinctive:

    Read the bug report:

    line 86
  13. Distinctive:

    Create a fix branch:

    line 101
  14. Distinctive:

    Run tests to verify no regressions

    line 115
  15. Distinctive:

    Commit, push, and create/update a PR

    line 116
  16. Distinctive:

    After the fix agent completes, ask the user to restart the servers on the fix branch before re-testing.

    line 124
  17. Distinctive:

    Wait for user confirmation before proceeding.

    line 127
  18. Distinctive:

    After user confirms servers are restarted:

    line 135
  19. Distinctive:

    If 0 open bugs → output "QA PASS after {N} cycles" and STOP

    line 141
  20. Distinctive:

    If open bugs AND cycle < 3 → go to Step 4 again

    line 142
  21. Distinctive:

    If open bugs AND cycle = 3 → run one final fix (Step 4), then one verification test.

    line 143
  22. Very specific:

    ALL testing via Playwright MCP browser tools — no curl/httpx/API testing

    line 167
  23. Distinctive:

    ALL fixes go to a PR — never push to main directly

    line 168
  24. Distinctive:

    Only pause for server restarts (Step 5)

    line 170
  25. Distinctive:

    Do NOT modify test files unless the test itself is wrong

    line 173
  26. Distinctive:

    Do NOT add features or refactor — only fix reported bugs

    line 174

≈ “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.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

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.md and 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

  1. Ensure qa-reports/ directory exists:
    mkdir -p qa-reports
  2. Determine the branch to test on. Check current branch:
    git branch --show-current
    Use whatever branch is currently checked out (the user likely has the code they want tested already running).

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-fix

Spawn a fix sub-agent (subagent_type: "general-purpose", mode: "bypassPermissions") with the fullstack prompt, providing:

  • MODULE: {MODULE} or custom
  • BRANCH: fix/{MODULE_OR_CUSTOM}-qa-fix
  • CYCLE: current cycle number

The fix agent will:

  1. Read the bug report
  2. Fix all OPEN bugs
  3. Run tests to verify no regressions
  4. 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:

  1. Increment cycle count
  2. Go back to Step 2, but now:
    • BRANCH = the fix branch
    • CYCLE = current cycle number
  3. 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

Download now (ZIP)

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
What did you use it for? e.g. Reviewing pull requests in a Rails app

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.