Karpathy-Style CLAUDE.md Self-Check Protocol for Loops

A self-check protocol embedded in CLAUDE.md that every loop iteration obeys before ending a turn: re-read the goal, diff the changes against it, run the verification command, and state what remains — a ritual that catches drift between iterations.

prompt
→ Claude
Preamble rules embedded in CLAUDE.md that every loop iteration obeys: before ending a turn, re-read the goal, diff your changes against it, run the verification command, and explicitly state what remains — a self-check ritual that catches drift between iterations. (Community template descended from Andrej Karpathy's circulated CLAUDE.md rules.)
claude-code

Implementation note

When to use: loops that drift — iterations that wander off-goal, declare premature success, or lose track of remaining work — where you want a correcting ritual applied every single turn without re-prompting. How it works: preamble rules embedded in CLAUDE.md that every loop iteration obeys before ending a turn: re-read the goal, diff your changes against it, run the verification command, and explicitly state what remains. Because CLAUDE.md is loaded every session, the ritual survives fresh-context iterations for free — drift correction as standing configuration rather than per-run prompting. Safety: the run-the-verification-command step keeps self-assessment anchored to an objective check instead of the model's optimism. One attribution caution from the source: this is a community template descended from Karpathy's circulated CLAUDE.md rules, reported by a secondary source — verify the exact current rule text against the upstream repo before quoting or republishing specific rules.

Source: Tech Times

More quality loops

Repair accessibility, highest-impact first

Confirm barriers against an agreed standard, fix the one with the greatest user impact, and rerun the same checks.

prompt
→ Claude
Check [scope] against [accessibility standard, such as WCAG 2.2 AA] with automated scans and available keyboard, screen-reader, and other manual tests. Confirm each issue, rank it by harm, and fix the highest-impact blocker. Rerun the same checks, affected task, and regression tests. Keep only verified fixes. Stop when no blocker remains, progress stalls, verification is unavailable, or approval is required. Never silence a check or weaken the target. Return issues, fixes, evidence, exceptions, and untested needs.
qualitymedium risk

Clean up the slop

/goalnew

Review your recent diff for debug code, dead branches, and bad names, then fix with minimal edits until lint and tests pass.

prompt
→ Claude
/goal the recent diff is clean and convention-aligned — review it for debug code, dead branches, and bad names, fix with minimal edits until `npm run lint && npm test` passes; stop after 4 turns
qualitylow risk

Run zero-config stop gate

/goalnew

Run the stop gate condition to judge loop completion; use judge.sh only for cross-model or off-plan evaluation.

prompt
→ Claude
/goal <condition (zero-config Stop gate) | judge.sh only for cross-model / off-plan judging |
qualitymedium risk