loops!
BrowseSign in
Back to loops
Testing
manual
CursorClaude Code

Test Until Green

Run your test suite, fix the smallest root cause on failure, and repeat until every test passes.

3 copies · 0 installs · 47 views

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. Click Install files, extract the zip into your repo, then restart your agent. Full install guide

Sign in to save
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
  • Do not weaken, delete, or skip tests to make the suite pass
  • Do not replace real assertions with trivial always-pass tests
  • Prefer fixing production code over patching tests to go green
How to run this loop
Includes install files
Run “Test Until Green” 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.
  • Install files — optional hooks under .cursor/ or .claude/ that fire on events (save, commit, etc.). You must download and extract these into your repo.
  1. 1

    Download and extract install files

    Click Install files on this loop, unzip, and merge into your project root so paths like .cursor/loops/test-until-green/README.md exist on disk.

    Restart Cursor or reload the Claude Code session so hooks are picked up. Until then, nothing is “installed” — the browser cannot write into your repo.

  2. 2

    Copy or open the kickoff prompt

    Use Use loop to copy the kickoff, or Open in Cursor / Open in Claude Code to pre-fill the prompt in that app. Those links only carry text, not hook files.

  3. 3

    Paste and let the agent self-pace

    Paste the kickoff into agent chat. The agent should run your check command between iterations and stop when the exit condition passes.

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

manual trigger
Testing
Manual start
Run tests
Fix failures
Re-run tests
All tests pass (exit code 0)
Rendering diagram…
Steps
What the agent does on each pass.

1. Run tests

Run the project test command and capture failures.

npm test

2. Fix failures

Fix the smallest root cause for the current failing tests. Prefer minimal diffs.

3. Re-run tests

Run tests again and verify progress toward zero failures.

npm test
Kickoff prompt
Copy this into your coding agent to start the loop.
Start the "Test Until Green" loop.

Goal: all tests pass
Max iterations: 10
Between iterations run: npm test
Exit when: tests exit 0

Step 1: Run tests. If there are failures, fix the smallest root cause, 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.

Related loops

CI
manual
155 copies
Implement on a branch, run tests, push, open a PR, wait for CI, and loop until checks pass and the PR is ready to merge.

Start the "Ship PR Until Green" loop. Goal: PR is open with all CI checks passing Max iterations: 10 Between iterations run: gh pr checks Exit when: all PR checks are success Step 1: Implement the change, test locally, push, open PR, and fix CI until green. 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 CodeCursorCodex
pr
ci
ship
continuous-claude
by loops!
View
CI
interval
40 copies
Every 15 minutes, inspect open PRs with a watch label: nudge reviewers, fix CI, rebase if behind main.

/loop 15m Start the "PR Babysitter" loop. Goal: open PRs labeled codex-watch are healthy (CI green, rebased, not stale). Max iterations: 20. Between iterations run: gh pr list --label "codex-watch" Exit when: each watched PR is green and current, or escalated. Step 1: List watched PRs. Fix CI once, rebase if behind, comment if stale. Escalate repeated failures.

CodexCursor
pr
github
ci
boris-cherny
by loops!
View
Testing
manual
Hardened
32 copies
Run the production build, fix compile and bundling errors, and loop until the build succeeds.

Start the "Build Until Green" loop. Goal: production build succeeds Max iterations: 10 Between iterations run: npm run build Exit when: npm run build exits 0 Step 1: Run the build. If it fails, fix the first error, then repeat until green. 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.

CursorClaude Code
build
compile
ci
by loops!
View