A Claude Code hook that blocks commits naming the mistake you told Claude not to make
A developer catalogued a failure mode most Claude Code users will recognize: you reject an approach and the rejection ends up in the artifact, as grilled_cheese_no_ketchup.md, 'Add retry logic (without exponential backoff)', test_parser_without_regex, or PR bodies saying 'as discussed' and 'per your feedback'. His diagnosis is that it is not about negation, since half the cases contain no 'no'; it is that the model is writing to the person in the chat instead of whoever reads the file a year later. ship-the-result (github.com/ChufanS008/ship-the-result) ships a SKILL.md rule, a residue_check.py scanner with six pattern families, and a PreToolUse hook that scans git commit and gh pr create plus staged comments, test names and new filenames, blocking on a hit. His stated reason for making it a hook rather than a prompt rule: prompt rules fade after forty turns and regex does not.
↳ Follow the thread