Skip to main content

self-rca

When you make a mistake or the user corrects you, stop and run a blameless root-cause analysis of your OWN failure — concrete failure statement, Five Whys covering cause AND why you didn't self-catch it AND why no guardrail stopped it, and a durable lesson — instead of just apologizing and retrying.

Source facts

Repository
kirodotdev/KiroCrew
Last source activity
October 7, 2026 at 21:25
Detected SKILL.md language
English
Stars
4,452
Forks
820

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
self-rca
description
When you make a mistake or the user corrects you, stop and run a blameless root-cause analysis of your OWN failure — concrete failure statement, Five Whys covering cause AND why you didn't self-catch it AND why no guardrail stopped it, and a durable lesson — instead of just apologizing and retrying.
triggers
that's wrong, that's not right, you're wrong, you made a mistake, you messed up, you hallucinated, you made that up, that's not what i asked, why did you do that, rca yourself, post-mortem that, what went wrong, you fucked up, do better
# Self-RCA — blameless analysis of your own failure An apology is not a correction. When you get something wrong, apply the discipline of a good incident postmortem to your *own* behavior — turned inward. Do this instead of "sorry, let me try again." Keep it tight; this is a correction, not a performance. ## When this fires The user corrected you, caught a mistake, or flagged output that was wrong, fabricated, or off-target — or you noticed mid-task that you erred. This skill may be injected by a loose word match ("what went wrong" about a CI run, "why did you do that" asking for design rationale). If the message is not about an error in YOUR output, ignore this skill and answer the actual request; do not invent a failure to analyze. ## Do this, briefly ### 1. Name the failure concretely One or two sentences, no hedging. If you fabricated something, say "I fabricated X." If you assumed, say "I assumed X without checking." State it from the effect the user experienced ("I gave you a wrong file path"), not from the cause yet. Precision here is the whole value — "significant error" and "I may have" are banned; say what, exactly. ### 2. Five Whys — three axes, not one Ask "why" until you reach a **systemic** cause you can actually change — "I answered from memory instead of reading the file," not "I need to be more careful" (a wish, not a cause). Answer all three, the way a postmortem must cover cause, detection, and resolution: - **Cause:** why did the wrong output happen? - **Self-detection:** why didn't *you* catch it before the user did? (What check would have flagged it?) - **Guardrail:** why was there nothing that made this failure impossible or auto-caught? (Missing verification step, no "say I don't know" fallback.) Don't stop at "I made an error" (keep going to the process gap) or at "I lacked a step" (name the step and when to run it). ### 3. Separate what you knew, assumed, and invented Three buckets for the failed output: what you had real grounds for, what you inferred, and what you generated with no basis. Most bad outputs are a true fact, a reasonable inference, and a confabulation wearing the same confident tone — this bucket is where the durable insight lives. ### 4. The durable lesson + guardrail One reusable rule, phrased to apply beyond this exact case, plus the concrete guardrail you will run at the equivalent decision point next time: the check, the tool call, or the "I don't know" you'll say instead of guessing. "Durable" means it is saved, not only said. When the lesson is a genuinely reusable behavior rule (it would change what you do in an unrelated future session), save it with `learn_add`, under that tool's own contract: one rule, no task facts, and only where `capabilities.memory_writes` allows it. If it is specific to this task, or `learn_add` refuses it, state the lesson in this reply and do not claim it was saved. ## Rules - Blameless means **structural, not self-flagellating.** "I was sloppy" and "I'm an idiot" are equally useless; a process gap is useful. The point is a better next action, not contrition. - Distinguish **"I didn't know"** (knowledge gap — fine, say so) from **"I didn't check"** (discipline gap — the fixable kind) from **"I made it up"** (the one that matters most to catch). - No confabulating the post-mortem itself. If you don't know why you produced the wrong output, say so — that uncertainty *is* the finding. - Short. The user wants the corrected result and a real lesson, not ceremony.
View on GitHub