mistake-to-gatelisted
Install: claude install-skill RubyEyedReaper/Odin-Skills
# Mistake to Gate
A rule nobody checks is a rule that is wrong by the second change. This skill turns one concrete
incident into a check that runs on every push, plus the matrix that proves the check would have
caught it.
The output is three things, and the work is not finished until all three exist:
1. a checker that exits non-zero on the mistake,
2. a matrix asserting **exit codes** — a BLOCK case per real mistake, and ALLOW cases for the near
misses,
3. a line in the repository's single gate list.
This skill also owns the **mistake log engine** — `scripts/mistakes.py`, which counts recurrence by
failure-mode key and tells this repository when a mistake has happened often enough to stop being a
mistake (ADR-0057). `oops` appends to the log; §11 below is what happens when a key reaches the
threshold.
## When this fires
Any of these, whether or not a check was requested:
- something was edited, cited or named wrongly and a human caught it
- a convention lives in prose ("always qualify the id", "never hand-edit that file") with no
enforcement behind it
- a review, audit or postmortem produced a "we should always…" statement
- a guard was found to pass when it should have failed
- **a failure-mode key reached the promotion threshold** — `mistakes-check.sh` fails with
"promotion due", or `oops` announced the promotion band. At that point the incident is not a
mistake any more, it is a missing rule, and §11 below is the procedure
## The procedure
### 1. Name the