Imagine it already failed. Now explain why.
Two Claude Code skills built on Gary Klein's prospective hindsight method: imagining failure has already occurred increases ability to identify real failure reasons by 30% (HBR, 2007).
Most teams do risk analysis by asking "what could go wrong?" The pre-mortem flips the frame: the failure has already happened, now explain it. That shift unlocks risks people wouldn't surface otherwise — political, structural, the uncomfortable ones — because there's no longer anything to defend.
| Skill | Question | When to run |
|---|---|---|
/pre-mortem |
Will this feature fail? | During planning, before build starts |
/release-premortem |
Will this release cause an incident? | Before deploying to production |
They are complementary, not overlapping. A feature pre-mortem surfaces build risk — wrong assumptions, scope creep, adoption failure. A release pre-mortem surfaces shipping risk — rollback viability, schema migration ordering, observability gaps, on-call readiness. Run both on high-stakes work.
# Feature pre-mortem
cp SKILL.md ~/.claude/skills/pre-mortem/SKILL.md
# Release pre-mortem
cp release-premortem/SKILL.md ~/.claude/skills/release-premortem/SKILL.md/pre-mortem "Add AI-powered search to replace our keyword search"
/pre-mortem "<feature>" --depth quick # 5 risks, fast
/pre-mortem "<feature>" --depth thorough # 8-12 risks (default)
/pre-mortem "<feature>" --depth deep # 15+ risks, adversarial pass, confidence scores
/pre-mortem "<feature>" --format table # compact table output
/pre-mortem "<feature>" --format register # risk register only
/pre-mortem "<feature>" --save # writes PREMORTEM.md to project root
/release-premortem "Migrate users table from MySQL to PostgreSQL. Cutover Saturday 2am."
/release-premortem "<release>" --depth quick # 5 risks, fast
/release-premortem "<release>" --depth thorough # 8-12 risks (default)
/release-premortem "<release>" --depth deep # 15+ risks, adversarial pass, confidence scores
/release-premortem "<release>" --format table # compact table output
/release-premortem "<release>" --format register # risk register only
/release-premortem "<release>" --save # writes RELEASE-PREMORTEM.md to project root
If no input is given, both skills read from the current conversation context.
Each risk in the output is structured as:
| Field | Description |
|---|---|
| What goes wrong | Concrete failure, not vague |
| Why it's easy to miss | Why teams typically don't surface this |
| Mitigation | One actionable thing |
| Signal to watch | Early warning sign |
Risks ranked Critical → High → Medium → Low, followed by a Top threat and Immediate action.
At --depth deep: adversarial pass (each risk challenged by a skeptic) + confidence scores (1–5).
| Posture | Meaning |
|---|---|
GO |
No Critical risks. High risks have mitigations in place. |
GO WITH CONDITIONS |
Critical risk present but mitigation exists and is verified. State the conditions. |
NO-GO |
Unmitigated Critical risk. Rollback unconfirmed. Data risk without reversibility. |
This is a heuristic, not a decision. The team decides. The pre-mortem informs.
/pre-mortem
Technical · Assumptions · Process / Team · Adoption / Rollout · Strategic / External · People / Political
/release-premortem
Deployment / Rollout · Database / Data · Rollback Viability · Dependencies / Integrations · Observability / Detection · Operational Readiness · Testing / Validation · People / Political
8 scenarios across both skills. Same test method: run the skill manually, paste output into tests/outputs/, run assertions.
# Feature pre-mortem (4 scenarios)
bash tests/run-tests.sh
bash tests/run-tests.sh 01-ai-search # single scenario
# Release pre-mortem (4 scenarios)
bash release-premortem/tests/run-tests.sh
bash release-premortem/tests/run-tests.sh 02-db-schema| # | Scenario | Tests |
|---|---|---|
| 01 | AI semantic search replacing keyword search | Happy path, thorough depth |
| 02 | "Improve the onboarding flow" (vague input) | No hallucination, assumption risks surfaced |
| 03 | Public REST API with rate limiting + versioning | --depth quick size cap |
| 04 | Billing system monolith → microservices | --depth deep, adversarial pass, confidence scores |
| # | Scenario | Tests |
|---|---|---|
| 01 | Session → JWT, simultaneous multi-service deploy | Deploy ordering, session invalidation, XSS, rollback |
| 02 | Non-nullable column on 14M row table, rolling deploy | Table lock, backfill time, schema irreversibility |
| 03 | Emergency SQL injection hotfix, 30-min window | --depth quick, regression risk, no hallucination |
| 04 | Async payment migration, dual-path, Kafka | --depth deep, double charge, event ordering, idempotency |
See tests/TESTING.md and release-premortem/tests/TESTING.md for the full method, assertion directives, and pass-rate guidance.
SKILL.md ← /pre-mortem skill (install this)
tests/
run-tests.sh
TESTING.md
fixtures/required-sections.txt
scenarios/01-ai-search/ … 04-depth-deep/
outputs/
release-premortem/
SKILL.md ← /release-premortem skill (install this)
tests/
run-tests.sh
TESTING.md
fixtures/required-sections.txt
scenarios/01-auth-migration/ … 04-platform-deep/
outputs/
Klein, G. (2007). Performing a Project Premortem. Harvard Business Review, 85(9).