agentleFS
sahil1115sahil1115/claude-skills/qa-loop/SKILL.MD

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

  • Other versions1 project uses a version of this.

    Word for word · 0

    None found.

    Edited · 0

    None found.

    Wrote their own version · 1

    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.

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

    Every implementation must be verified through execution, browser automation, visual inspection, runtime analysis, and iterative repair …

    line 21
  2. Distinctive:

    Never trust compilation alone.

    line 29
  3. Distinctive:

    Prefer the smallest possible fix.

    line 31
  4. Distinctive:

    Never rewrite unrelated working code.

    line 32
  5. Distinctive:

    Stop after five unsuccessful repair attempts and explain why.

    line 34
  6. Distinctive:

    Before writing any tests:

    line 40
  7. Distinctive:

    Check whether Playwright already exists.

    line 50
  8. Distinctive:

    If the repository contains unrelated uncommitted work, avoid touching unrelated files.

    line 58
  9. Distinctive:

    Read stdout to detect the listening URL and port.

    line 65
  10. Very specific:

    Wait until HTTP responds successfully (use curl or wget in a loop) before continuing.

    line 66
  11. Very specific:

    If Playwright tests do not exist, generate a single, cohesive test suite (e.g., verify.spec.ts).

    line 73
  12. Distinctive:

    Verify: No overflowing elements, buttons visible, inputs enabled, dialogs closable.

    line 88
  13. Distinctive:

    Differentiate Bugs: If the app is broken, fix the app.

    line 111
  14. Distinctive:

    Never perform broad refactors during verification.

    line 115
  15. Distinctive:

    Cleanup: Before finishing, execute the kill command for the dev server port identified in Phase 4 to free up system resources.

    line 129
  16. Distinctive:

    If verification still fails after five repair attempts: Stop.

    line 135
  17. Distinctive:

    Stop. Do not continue indefinitely.

    line 136
  18. Distinctive:

    Always verify before declaring work complete.

    line 150

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

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:

  1. Detect the project type (React, Next.js, Vue, Angular, Svelte, Vite, Express, FastAPI, Django, Laravel, etc.).
  2. Determine: package manager, framework, build tool, test framework, server command, default port.
  3. 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 status and git 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.

  1. Read stdout to detect the listening URL and port.
  2. Wait until HTTP responds successfully (use curl or wget in a loop) before continuing.
  3. 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:

  1. Execute Playwright via the Bash tool.
  2. Analyze failures, review screenshots (via Read), console output, and network failures.
  3. 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.
  4. Identify the smallest possible fix. Modify only affected files using the Edit or Write tools.
  5. 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.

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.