Post-Edit Test Guard
Hook-based loop that runs related tests after file edits to catch regressions early.
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. How it works
- 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
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
Download and extract install files
Click Install files on this loop, unzip, and merge into your project root so paths like
.cursor/hooks.jsonexist 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
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
Let hooks trigger, or start manually
After hooks are on disk, Post-Edit Test Guard can run when the configured event fires. For the first pass, paste the kickoff so the agent knows the loop rules.
Full guide with Cursor /loop notes: How to install loops
1. Detect edited files
Identify which source files were edited in the last turn.
2. Run related tests
Run the smallest relevant test subset for edited files. Fix failures before continuing.
npm test -- --findRelatedTests
Install and run the "Post-Edit Test Guard" loop. Goal: after each batch of file edits, related tests must pass before continuing. Between iterations run: npm test -- --findRelatedTests <edited files> Exit when: related tests exit 0. Step 1: After edits, run related tests. If they fail, fix before making more changes.
Related loops
Install and run the "Pre-Commit Guard" loop. Goal: block git commits when tests are failing. Between iterations run: npm test Exit when: tests exit 0 before each commit. Step 1: Before any git commit, run tests. Fix failures before committing.
Start the "Flaky Test Triage" loop. Goal: classify failing tests as flaky vs real and fix only real regressions Max iterations: 5 Between iterations run: npm test -- --testPathPattern=<failing-suite> Exit when: every failure is classified and real regressions are fixed or explicitly deferred Step 1: Run the failing suite multiple times. Classify each failure, fix real ones, and document flaky behavior. 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.
Start the "Independent Verifier Pass" loop. Goal: build, lint, and tests pass under independent verification Max iterations: 8 Between iterations run: npm run build && npm run lint && npm test Exit when: all verifier commands exit 0 Step 1: Run build, lint, and tests as a verifier. Trust only command output, not prior claims. 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.