Keep Loops RunningLoops is going viral and we need your help to keep the project free and alive.

loops!
BrowseSign in
Back to loops
Quality
manual
CursorClaude Code

A11y Audit Until Clean

Run automated accessibility checks on changed routes, fix violations, and repeat until the audit is clean.

2k views1.5k installs

by loops!

Use loop copies the kickoff. Share copies the loop link. Open in Cursor / Claude Code only pre-fill that prompt — they do not install hook files. Download loop saves a README and kickoff into .cursor/loops/a11y-audit-until-clean/ — no hooks required. How it works

Guardrails
Hardened
Anti-gaming rules
Rules the agent must follow so it cannot cheat the exit condition.
  • Do not modify the check command or exit criteria to force success
  • Do not skip, disable, or bypass checks to pass the exit condition
  • If stuck after several iterations, stop and report blockers instead of gaming metrics
How to run this loop
Prompt only
Run “A11y Audit Until Clean” in your agent
Deeplinks and “Open in Cursor” only paste the kickoff prompt. They do not install hook files — your agent cannot tell whether files are on disk until you add them yourself.

Two separate pieces

  • Kickoff prompt — tells the agent the goal, check command, exit condition, and how to self-pace between passes.
  1. 1

    Copy or open the kickoff prompt

    Click Use loop to copy the kickoff into your clipboard. Open in Cursor and Open in Claude Code only open the agent with that prompt — they do not configure automation for you.

  2. 2

    Paste into your coding agent

    Start a chat in Cursor, Claude Code, Codex, or any agent. Paste the kickoff. The prompt includes the goal, iteration limit, shell check, and first step.

  3. 3

    Agent self-paces until done

    The agent runs the loop: act → run check command → read output → repeat until the exit condition is met or max iterations is reached. No install step is required for prompt-only loops.

Full guide with Cursor /loop notes: How to install loops

manual trigger
Quality
Manual start
Run a11y audit
Fix violations
Accessibility audit reports zero violations
Rendering diagram…
Steps
What the agent does on each pass.

1. Run a11y audit

Run axe, pa11y, or eslint-plugin-jsx-a11y on changed pages. List violations with selectors.

npm run test:a11y

2. Fix violations

Fix labels, contrast, focus order, and ARIA roles. Prefer semantic HTML over aria hacks.

Kickoff prompt
Copy this into your coding agent to start the loop.
Start the "A11y Audit Until Clean" loop.

Goal: zero serious accessibility violations on changed UI
Max iterations: 8
Between iterations run: npm run test:a11y
Exit when: a11y audit exits 0

Step 1: Run the a11y audit on changed routes. Fix each violation, prioritizing keyboard and screen reader issues.

Self-pace this loop. After each iteration, run the check command, read the output, and only continue if the exit condition is not met. Stop when the exit condition passes or max iterations is reached. Give a short status update each pass.

Related loops

Review
manual
Hardened
2.2k1.9k
Review your own diff like a senior reviewer, fix issues, and repeat for three passes before opening the PR.

Start the "PR Self-Review" loop. Goal: three clean self-review passes on the current diff Max iterations: 3 Between iterations run: git diff main...HEAD Exit when: three passes complete with no critical findings Step 1: Review the diff like a senior reviewer. Fix findings, then re-review. Self-pace this loop. After each iteration, run the check command, read the output, and only continue if the exit condition is not met. Stop when the exit condition passes or max iterations is reached. Give a short status update each pass.

Claude CodeCursor
review
pr
quality
by loops!
View
Testing
manual
Hardened
1.9k1.9k
Add focused tests until coverage meets your threshold (e.g. 80%), without changing production behavior unnecessarily.

Start the "Coverage Until Threshold" loop. Goal: coverage meets the target threshold (default 80%) with all tests passing Max iterations: 12 Between iterations run: npm test -- --coverage Exit when: coverage threshold is met and tests exit 0 Step 1: Run coverage. Add focused tests for the biggest uncovered gaps, then repeat. Self-pace this loop. After each iteration, run the check command, read the output, and only continue if the exit condition is not met. Stop when the exit condition passes or max iterations is reached. Give a short status update each pass.

Claude CodeCursor
coverage
testing
quality
by loops!
View
Performance
manual
1.8k1.4k
Ship features without bloating the client bundle — loop until size checks pass under your budget threshold.

Start the "Bundle Size Budget" loop. Goal: client bundle stays under the size-limit budget Max iterations: 6 Between iterations run: npm run build && npm run size-limit Exit when: size-limit exits 0 Step 1: Build and measure bundle size. If over budget, lazy-load or trim deps until size-limit passes. Self-pace this loop. After each iteration, run the check command, read the output, and only continue if the exit condition is not met. Stop when the exit condition passes or max iterations is reached. Give a short status update each pass.

Cursor
performance
bundle
frontend
by loops!
View