Skip to main content
skill CX Codex

retro · rainmanjam — Claude Code skill: what it does, how to install

Guides post-incident code analysis to identify structural weaknesses and prevent entire classes of failures.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add rainmanjam/poka-yoke --skill retro -a claude-code
Open on GitHub

What retro does

The skill provides a rigorous framework for conducting post-mortems after an outage or a severe bug. Instead of stopping at the immediate trigger or assigning personal blame, it investigates why the codebase permitted the bad state, such as ambiguous return types, silent fallbacks, or components observing state outside their scope.

It enforces a strict separation between a factual, uninterpreted timeline and the actual technical evaluation. The guide demands resolving the whole defect pattern rather than patching a single call site, while explicitly cataloging residual risks. It treats monitoring additions as secondary mitigations, since alerts only shorten detection time rather than eliminating the flaw.

What it helps with

  • write structural post-incident reviews after a production outage
  • isolate the architectural flaw that permitted the defect to happen
  • sweep the codebase for identical failure shapes and risky signatures
  • document residual risks and edge cases left after the patch

Example prompts for the agent

  • Run a retro on yesterday's cache invalidation outage to find the structural flaw
  • Help draft an incident review: separate the raw timeline from technical conclusions
  • Analyze this bugfix to identify if the same problematic code pattern exists elsewhere

How to install retro

1Skills CLI (Vercel)

npx skills add rainmanjam/poka-yoke --skill retro -a claude-code

2Manually: put the files in place

~/.claude/skills/retro/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/retro/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about retro

How to install retro in Claude Code?

Run npx skills add rainmanjam/poka-yoke --skill retro -a claude-code in your terminal or place the file directly at ~/.claude/skills/retro/SKILL.md.

What does the retro skill do?

It guides the agent through examining an incident, focusing on codebase design flaws, separating chronology from technical findings, and fixing root cause patterns.

Why does retro separate the timeline from analysis?

Keeping an objective timeline free of interpretations ensures that future engineers can review the chronological sequence of events independently, even if they disagree with the conclusions.

Source text

SKILL.md · MIT
---
name: retro
description: >-
  Something broke. Deciding what to change in the code so the class of problem is less likely,
  and writing it up so the next person understands the reasoning rather than just the outcome.
---

# Retro: Structural Lessons From an Incident

An incident is expensive information. Most of the value is lost because the write-up records
what happened and the fix records what changed, and neither records *why the code allowed it*.

The structural question is not "what went wrong" but "what about the shape of this code made
that failure available, and is that shape used elsewhere".

## Separate the timeline from the analysis

The timeline is what happened, in order, with times. It is a record, and it should be boring:
who noticed, when, what they did, what the system did back. Write it first and do not
interpret it while writing it.

The analysis is what you concluded. Keep it separate, because a timeline with interpretation
woven through it cannot be re-read later by someone who disagrees with the interpretation.

## Find the structural cause, not the last change

The last change before the incident is rarely the interesting one. Ask instead:

**What made this failure expressible?** A function that accepted an argument it could not
validate, a module that could observe state it had no business observing, a default that
silently applied.

**Why did the code look correct?** If the failing code passed review, understand what it
looked like to the reviewer. That perception is the thing to change, and it is usually a
naming or a structure problem rather than a knowledge problem.

**How far can this shape travel?** The same shape almost certainly exists elsewhere. Finding
the second and third instance is the difference between a fix and a lesson.

## The write-up

Aim it at someone six months from now who was not there.

- **Lead with the structural finding**, not the chronology. "A helper returned `None` for both 'absent' and 'failed', and three callers could not distinguish them" is the sentence worth remembering.
- **Say what was ruled out**, and why. A retro that lists only the cause reads as though it was obvious, which teaches the reader nothing about how to look.
- **Name the changes and their limits.** A fix that closes one path should say which paths it does not close.
- **Record disagreements.** If two people read the cause differently and one view won, the other view is evidence about how the code reads.

## What to change

**Prefer changes to shape over changes to process.** "Be careful with this function" degrades.
Splitting the function so the careless call is not available does not.

**Fix the class, not the case.** Patching the one call site that failed leaves the other twelve.
If the class is too large to fix at once, say so and list them.

**Reduce the distance between cause and symptom.** Much of an incident's cost is the time
between the wrong thing happening and anyone noticing. Structure that shortens that distance,
a narrower type, a failure that propagates rather than being absorbed, is worth as much as
preventing the failure.

**Change something.** A retro that concludes "we should be more careful" has concluded nothing.
If genuinely no code change is warranted, say what evidence would change that.

## What good output looks like

- **One structural finding, stated in a sentence**, before any detail.
- **The class sweep**, or an explicit statement that it was not done and why.
- **Changes tied to the finding.** A change that does not trace back to the structural cause is a separate piece of work and should be labelled as one.
- **What is still possible afterwards.** The residual risk is the part readers most need and most often do not get.

## What to avoid

**Blame framing.** Not primarily for kindness: naming a person ends the investigation, because
"they made a mistake" is a complete-sounding explanation that predicts nothing and prevents
nothing.

**Action items nobody owns.** An unowned item is a record of intent, and the next retro will
list it again.

**Over-fitting to the incident.** Building elaborate machinery to prevent one specific failure
adds complexity that must itself be maintained and understood. Ask whether the shape is
common enough to justify the structure.

**Treating monitoring as the fix.** Detection reduces the cost of a failure and does not reduce
its likelihood. Both are worth having; conflating them means the likelihood never gets
addressed.

© rainmanjam · MIT · rainmanjam/poka-yoke

Similar skills

All skills for Code review and refactoring →

retro by other authors comes first.

retro Matt Pocock Reviews a coding session and suggests changes to the agent environment for later runs. Use it after mistakes, slow repository navigation, or costly tool calls. 276,027installs retro phuryn Facilitates structured sprint retrospectives, analyzes team performance, and turns feedback into prioritized action items with assigned owners and deadlines. CX Codex +1 2,700installs retro typeui.sh Sets up a vintage design system with high-contrast palettes, Macondo typography, and WCAG 2.2 AA accessible component guidelines. CX Codex +1 2,300installs retro Necmttn Runs a guided session over the ax agent-experience graph. Shows open proposals, pending verdicts, and hook effectiveness signals. CX Codex +1 ★ 121repo stars retro rainmanjam Transforms an outage or bug into a structural constraint that stops the entire class of mistakes permanently. CX Codex +1 ★ 24repo stars improve-codebase-architecture Matt Pocock This skill scans a codebase for architectural friction, then builds a visual HTML report with refactoring candidates. Use it before a deeper architecture review. 1,163,035installs tdd Matt Pocock Guides the red-green TDD loop: ensures tests are written first, keep them at public interfaces, and avoid coupling to implementation details. 1,141,062installs triage Matt Pocock This skill moves issues and external PRs through triage states, verification, and agent briefs. It fits maintainers managing an issue queue. 990,453installs codebase-design Matt Pocock This skill helps design modules with small interfaces and hidden complexity. Use it when refactoring code, choosing a seam, or making tests easier to write. 850,344installs code-review Matt Pocock Reviews changes from a chosen reference point against repository standards and the originating spec. Use it for a branch, PR, or work in progress. 789,521installs implement Matt Pocock Implements work from a specification or tickets, following a test-driven flow and ending with review and a commit. Use it when a coding task needs a defined delivery routine. 774,700installs

From the same set20

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor