Skip to content

darknessnerd/pre-mortem

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 

Repository files navigation

pre-mortem

Claude Code Method Skills Scenarios

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.


Two skills, two moments

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.


Install

# 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

Usage

/pre-mortem

/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

/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.


What they produce

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).

/release-premortem also produces a Go / No-Go signal

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.


Risk categories

/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


Tests

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

Feature pre-mortem scenarios

# 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

Release pre-mortem scenarios

# 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.


Structure

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/

Based on

Klein, G. (2007). Performing a Project Premortem. Harvard Business Review, 85(9).

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages