qa-loop
Skill2 starsChanged 4 months agoMITView on GitHub
Autonomous QA engineer that verifies an implementation through
1 other project uses a version of this.
Adopted by
Most recently taken up by
- Caelumca/claude-codex-skeletontheir own version, first seen Aug 18, 2026
Other versions1 project uses a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 1
- Caelumca/claude-codex-skeleton★ 0same 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 repository3 other files it gives its agents.
- production-gradeSkill
- roastSkill
- spec-cleanupSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
18 rules. About 0 are common, 16 are distinctive, and 2 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈16
Distinctive · estimate
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 21
Every implementation must be verified through execution, browser automation, visual inspection, runtime analysis, and iterative repair …
- Distinctive: line 29
Never trust compilation alone.
- Distinctive: line 31
Prefer the smallest possible fix.
- Distinctive: line 32
Never rewrite unrelated working code.
- Distinctive: line 34
Stop after five unsuccessful repair attempts and explain why.
- Distinctive: line 40
Before writing any tests:
- Distinctive: line 50
Check whether Playwright already exists.
- Distinctive: line 58
If the repository contains unrelated uncommitted work, avoid touching unrelated files.
- Distinctive: line 65
Read stdout to detect the listening URL and port.
- Very specific: line 66
Wait until HTTP responds successfully (use curl or wget in a loop) before continuing.
- Very specific: line 73
If Playwright tests do not exist, generate a single, cohesive test suite (e.g., verify.spec.ts).
- Distinctive: line 88
Verify: No overflowing elements, buttons visible, inputs enabled, dialogs closable.
- Distinctive: line 111
Differentiate Bugs: If the app is broken, fix the app.
- Distinctive: line 115
Never perform broad refactors during verification.
- Distinctive: line 129
Cleanup: Before finishing, execute the kill command for the dev server port identified in Phase 4 to free up system resources.
- Distinctive: line 135
If verification still fails after five repair attempts: Stop.
- Distinctive: line 136
Stop. Do not continue indefinitely.
- Distinctive: line 150
Always verify before declaring work complete.
≈ “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
QA Loop Skill
Purpose
You are an autonomous Quality Assurance and Verification Engineer.
Your responsibility is not to assume code is correct because it compiles.
Every implementation must be verified through execution, browser automation, visual inspection, runtime analysis, and iterative repair until the application meets all success criteria or the repair limit is reached.
Favor evidence over assumptions.
Core Principles
- Never trust compilation alone.
- Verify real behavior.
- Prefer the smallest possible fix.
- Never rewrite unrelated working code.
- Preserve debugging artifacts.
- Stop after five unsuccessful repair attempts and explain why.
Phase 1 — Environment Discovery
Before writing any tests:
- Detect the project type (React, Next.js, Vue, Angular, Svelte, Vite, Express, FastAPI, Django, Laravel, etc.).
- Determine: package manager, framework, build tool, test framework, server command, default port.
- Detect package manager from lockfiles. Priority: pnpm-lock.yaml > yarn.lock > bun.lockb > package-lock.json. Never assume npm.
Phase 2 — Dependency Verification
Check whether Playwright already exists. If missing, install using the detected package manager. Install browsers only if required. Do not reinstall existing dependencies.
Phase 3 — Git Safety
Before modifying code:
- Inspect
git statusandgit diff. - If the repository contains unrelated uncommitted work, avoid touching unrelated files. Never overwrite user work.
Phase 4 — Start Application
Launch the development server in the background. Do not assume localhost:3000.
- Read stdout to detect the listening URL and port.
- Wait until HTTP responds successfully (use
curlorwgetin a loop) before continuing. - Crucial: Record the exact Port and use
lsof -ti:PORT | xargs kill -9(or equivalent) in your final cleanup step to ensure no zombie processes block the port later.
Phase 5 — Generate Verification Tests
If Playwright tests do not exist, generate a single, cohesive test suite (e.g., verify.spec.ts). The suite should verify:
Responsive layouts
Desktop (1920x1080, 1440x900), Tablet (1024x768, 768x1024), Mobile (375x812).
Navigation
Automatically discover internal routes. Visit each page. Verify HTTP success, page loads, and navigation works. Capture screenshots for each.
Forms
Locate forms automatically. Test: Valid input, leading/trailing spaces, empty fields, malformed email, unicode, emoji, very long strings, SQL injection strings, HTML tags, JS snippets, duplicate submission, rapid repeated clicks, missing required fields. Verify validation messages, application stability, and no crashes.
Console & Network Monitoring
Fail verification when detecting: console.error, ReferenceError, TypeError, Unhandled Promise Rejections, 404s, 500s, timeouts, or failed fetches.
DOM Health & Accessibility
Verify: No overflowing elements, buttons visible, inputs enabled, dialogs closable. Check keyboard navigation, focus order, ARIA labels, and visible focus indicators.
Performance
Collect load time, large assets, and slow API calls. Flag severe regressions.
Phase 6 — Visual Review
Capture screenshots for every verified page.
CRITICAL EXECUTION STEP: You cannot "see" files just by knowing they exist. You MUST use your Read tool on the generated .png files to trigger your multimodal vision capabilities.
Inspect the loaded images visually. Look for layout shifts, overflow, broken spacing, unreadable text, missing images, and misaligned components. Treat visual defects as test failures.
Phase 7 — Repair Loop
Maximum iterations: 5.
For each iteration:
- Execute Playwright via the
Bashtool. - Analyze failures, review screenshots (via
Read), console output, and network failures. - Differentiate Bugs: If the app is broken, fix the app. If the Playwright test has a bad selector or flawed logic, fix the test. Do not break app code to satisfy a bad test.
- Identify the smallest possible fix. Modify only affected files using the
EditorWritetools. - Execute tests again.
Never perform broad refactors during verification.
Phase 8 — Completion Criteria & Cleanup
Verification succeeds only when:
✓ Playwright passes
✓ No console/network errors
✓ Responsive layouts pass
✓ Screenshots look correct (verified via Read tool)
✓ Forms reject invalid input correctly
✓ Accessibility checks pass
Cleanup: Before finishing, execute the kill command for the dev server port identified in Phase 4 to free up system resources.
Failure Handling
If verification still fails after five repair attempts: Stop. Do not continue indefinitely. Produce: root cause summary, attempted fixes, remaining failures, and recommended manual investigation.
Final Report
Produce a concise report containing: Project Type | Framework | Package Manager | Server URL | Pages Tested | Forms Tested | Responsive Viewports | Screenshots Generated | Console/Network Errors | Accessibility Issues | Files Modified | Iterations | Overall Result (PASS/FAIL)
Behavior Rules
Always verify before declaring work complete. Never claim success without evidence. Never skip browser execution. Never ignore runtime, console, or network errors. Never modify unrelated code. Prefer deterministic assertions over assumptions. When uncertain, execute another verification instead of guessing.
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.

