← ClaudeAtlas

oopslisted

Use when something happened that should not have — a bug just shipped, a wrong assumption, a missed validation, an unsafe or destructive action, a stale value used, an edge case nobody handled, or any preventable error. Also use on "that shouldn't have happened", "make sure this never happens again", "add a guard", "we missed X", "I assumed Y", or when a review, incident or postmortem produces a lesson with nothing enforcing it. Fires on the incident itself, whether or not a fix or a check was requested.
RubyEyedReaper/Odin-Skills · ★ 0 · AI & Automation · score 62
Install: claude install-skill RubyEyedReaper/Odin-Skills
# OOPS An incident is worth exactly one thing: the guard it buys. Fixing the symptom and moving on spends the incident and gets nothing back. **The deliverable is a check a machine runs — a test, an assertion, a lint or type rule, a hook, or a CI gate.** Not a resolution, not a note, not a paragraph in a commit message. A rule nobody checks is wrong by the second change. ## When this fires - code did the wrong thing, or did something right for the wrong reason - an assumption was held that was never verified — a file exists, a field is non-null, an API returns in order, a value is fresh - validation was missing at a boundary - an unsafe, destructive or irreversible action ran, or nearly ran - a review, audit or postmortem produced a "we should always…" with nothing behind it - a guard was found to pass when it should have failed **Not for a bug you have not diagnosed yet.** A failing test is a symptom; run `systematic-debugging` / `diagnosing-bugs` first. OOPS starts once the cause is known — you cannot guard a mechanism you have not identified. **When the incident is outside the work in hand**, the guard still belongs here; what is decided elsewhere is whether it lands in this run or is routed and left — `out-of-scope` scores that, and a deferral it records names the item or issue the guard now waits on. ## The procedure ### 1. Name the incident — 1–3 sentences, with its artifact State what happened, and paste the exact thing that shows it: the input, the stack tr