
Premortem
Run structured pre-mortem risk analysis on plans, PRs, or code before failure modes become incidents, using tiger/paper-tiger/elephant categories.
Overview
Pre-Mortem is a journey-wide agent skill that systematically surfaces failure modes on plans, PRs, and implementations using tiger, paper-tiger, and elephant risk categories—usable whenever a solo builder needs to stress
Install
npx skills add https://github.com/parcadei/continuous-claude-v3 --skill premortemWhat is this skill?
- Shreyas framework: Tiger, Paper Tiger, and Elephant risk categories with symbols
- Modes: /premortem quick (plans, PRs) and /premortem deep (before implementation)
- CRITICAL verify-before-flagging rule to avoid pattern-matching false tigers
- Based on Gary Klein pre-mortem, popularized by Shreyas Doshi (Stripe)
- Allowed tools: Read, Grep, Glob, Task, AskUserQuestion, TodoWrite
- 3 risk categories: Tiger, Paper Tiger, Elephant
- 2 depth modes: quick and deep
Adoption & trust: 621 installs on skills.sh; 3.8k GitHub stars; 3/3 security scanners passed (skills.sh audits).
What problem does it solve?
You are about to implement or merge work but have not stress-tested hidden risks, scope traps, or elephants the team is avoiding naming.
Who is it for?
Builders with a written plan, open PR, or target file who want disciplined what-could-go-wrong analysis without generic negativity.
Skip if: Work with zero artifact to analyze (no plan, PR, or file) where /premortem has nothing to ground verification on.
When should I use this skill?
/premortem with optional quick, deep, or file target; auto-detect context for plans, PRs, or code.
What do I get? / Deliverables
You get a verified, categorized pre-mortem risk list with quick or deep depth so you can fix tigers and acknowledge elephants before coding or shipping proceeds.
- Categorized risk list with [TIGER]/[PAPER]/[ELEPHANT] labels
- Verified findings after context reads
- Depth-appropriate pre-mortem narrative
Recommended Skills
Journey fit
Useful at every journey phase - explore requirements and options before committing to a direction.
Where it fits
Deep pre-mortem on a feature spec to catch elephants about pricing or dependencies before prototype spend.
Auto-detect context on an implementation plan and force deep analysis before the agent writes production code.
Quick pre-mortem on a PR to separate real tigers from paper tigers without blocking merge on noise.
Re-run premortem on a hotfix file after an outage to verify flagged paths with line-context reads.
Stress-test a launch checklist for silent elephants like support load or rollback gaps.
How it compares
Use instead of vague chat worry-lists—this skill enforces verify-before-flagging and explicit Tiger/Paper/Elephant taxonomy.
Common Questions / FAQ
Who is premortem for?
Solo and indie builders using Claude agents who want Klein/Doshi-style pre-mortems on plans, PRs, or code paths before implementation or merge.
When should I use premortem?
In validate when scoping a plan; in ship when reviewing a PR (/premortem quick); in build before deep implementation (/premortem deep); in operate when iterating on fragile systems—whenever you need failure modes named early.
Is premortem safe to install?
It reads repo files and may spawn Task/TodoWrite; check Security Audits on this Prism page and avoid running against trees with secrets you do not want in agent context.
SKILL.md
READMESKILL.md - Premortem
# Pre-Mortem Identify failure modes before they occur by systematically questioning plans, designs, and implementations. Based on Gary Klein's technique, popularized by Shreyas Doshi (Stripe). ## Usage ``` /premortem # Auto-detect context, choose depth /premortem quick # Force quick analysis (plans, PRs) /premortem deep # Force deep analysis (before implementation) /premortem <file> # Analyze specific plan or code ``` ## Core Concept > "Imagine it's 3 months from now and this project has failed spectacularly. Why did it fail?" ## Risk Categories (Shreyas Framework) | Category | Symbol | Meaning | |----------|--------|---------| | **Tiger** | `[TIGER]` | Clear threat that will hurt us if not addressed | | **Paper Tiger** | `[PAPER]` | Looks threatening but probably fine | | **Elephant** | `[ELEPHANT]` | Thing nobody wants to talk about | ## CRITICAL: Verify Before Flagging **Do NOT flag risks based on pattern-matching alone.** Every potential tiger MUST go through verification. ### The False Positive Problem Common mistakes that create false tigers: - Seeing a hardcoded path without checking for `if exists():` fallback - Finding missing feature X without asking "is X in scope?" - Flagging code at line N without reading lines N±20 for context - Assuming error case isn't handled without tracing the code ### Verification Checklist (REQUIRED) Before flagging ANY tiger, verify: ```yaml potential_finding: what: "Hardcoded path at line 42" verification: context_read: true # Did I read ±20 lines around the finding? fallback_check: true # Is there try/except, if exists(), or else branch? scope_check: true # Is this even in scope for this code? dev_only_check: true # Is this in __main__, tests/, or dev-only code? result: tiger | paper_tiger | false_alarm ``` **If ANY verification check is "no" or "unknown", DO NOT flag as tiger.** ### Required Evidence Format Every tiger MUST include: ```yaml tiger: risk: "<description>" location: "file.py:42" severity: high|medium # REQUIRED - what mitigation was checked and NOT found: mitigation_checked: "No exists() check, no try/except, no fallback branch" ``` If you cannot fill in `mitigation_checked` with specific evidence, it's not a verified tiger. ## Workflow ### Step 1: Detect Context & Depth ```python # Auto-detect based on context if in_plan_creation: depth = "quick" # Localized scope elif before_implementation: depth = "deep" # Global scope elif pr_review: depth = "quick" # Localized scope else: # Ask user AskUserQuestion( question="What depth of pre-mortem analysis?", header="Depth", options=[ {"label": "Quick (2-3 min)", "description": "Plans, PRs, localized changes"}, {"label": "Deep (5-10 min)", "description": "Before implementation, global scope"} ] ) ``` ### Step 2: Run Appropriate Checklist #### Quick Checklist (Plans, PRs) Run through these mentally, note any that apply: **Core Questions:** 1. What's the single biggest thing that could go wrong? 2. Any external dependencies that could fail? 3. Is rollback possible if this breaks? 4. Edge cases not covered in tests? 5. Unclear requirements that could cause rework? **Output Format:** ```yaml premortem: mode: quick context: "<plan/PR being analyzed>" # Two-pass process: first gather potential risks, then verify each one potential_risks: # Pass 1: Pattern-matching findings - "hardcoded path at line 42" - "missing error handling for X" # Pass 2: After verification tigers: - risk: "<description>" location: "file.py:42" severity: high|medium category: dependency|integration|requirements|testing mitigation_checked: "<what was NOT found>" #