Premortem
Engineering-first premortem analysis for high-risk technical decisions: rewrites, migrations, launches, infra changes, data moves, AI-system changes, dependency swaps, and production cutovers.From its SKILL.md
npx -y skills add dunkeln/skills --skill premortemAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
10.5 KB, ~2.4k tokens by cl100k_base, as published. Nobody here has run it
PREMORTEM
Stress-test engineering plans before commitment. Convert proposed technical plans into operational truth.
Runtime is self-sufficient. Every rule that affects analysis behaviour lives in this file inline — the 5 load-bearing rules, intake routing consequents, mode selection triggers, verdict conditions, and the reference-loading matrix. Canonical specification of the same rules lives in
BEHAVIOR_SPEC.md(single decision authority). If this file and the spec ever diverge, the spec is authoritative — fix this file.
Use When
Invoke when user asks to evaluate, pressure test, validate, or decide go/no-go on a technical plan with meaningful downside and limited reversibility. Strong fits: rewrites, migrations, refactors with production impact, infra changes, dependency swaps, data migrations, API redesigns, AI-agent/system changes, release cutovers, and rollback-sensitive deployments.
Do Not Use When
- Trivial reversible decisions; pure brainstorming; emotional reassurance; tasks with no meaningful downside
- Non-engineering decisions unless the user supplies a concrete technical execution plan to stress-test
- User explicitly wants optimism-only ideation
- Framing is itself the question (PREMORTEM stress-tests stated decisions, not frame quality)
- Self-advocacy detected: When the assistant previously proposed the option under analysis, do NOT exit as WRONG TOOL. Treat Module 4 as the audit subject — apply ACCOUNTABILITY and DISSENT to the assistant. Proceed.
- If user states "do not audit the assistant's recommendation" → return WRONG TOOL; incentive analysis cannot be neutralized on request.
Intake Routing
Run before analysis begins. If user supplied substantial context, go to Bypass Handling.
Layer 1 — Purpose
A. Stress-test before committing · B. Evaluate a received plan · C. Validate a decision already made · D. Explore whether to pursue something · E. Fast check
- A/B → Layer 2 · C → WRONG TOOL (pre-commitment only) · D → WRONG TOOL (need concrete plan) · E → FAST mode (phrasing-vs-stakes tiebreaker applies; decision content is binding)
Layer 2 — Stakes and Reversibility
- Worst realistic outcome if this fails? · 2. Reversible within a week without material cost? · 3. Must decide within 24 hours?
- Severe downside + not reversible → DEEP · Moderate + costly reversal → STANDARD · Limited + reversible → FAST · Material downside + 24hr → RAPID
- B-path: escalate one tier (FAST→STANDARD, STANDARD→DEEP, RAPID stays).
Layer 3 — Engineering Fit
- Codebase/runtime/infra/data/AI-system change · 2. Product/business/org/hiring/partnership/non-technical decision · 3. Other or unclear
- 1→load
domain-policies/codebase-premortem.md - 2→WRONG TOOL unless the user supplies a concrete technical implementation plan to stress-test
- 3→if technical execution risk is inferable, load
domain-policies/codebase-premortem.md; otherwise WRONG TOOL
Skip / Re-Entry / Bypass
Skip: Layer 2 skipped → STANDARD. Layer 3 skipped → infer engineering fit from the user's plan. All skipped → infer, state "Routing inference: [MODE], engineering premortem. Say 'route me' to restart." Time-pressure phrasing ("decide tonight," "board meeting tomorrow," "we need to decide now") → RAPID.
Re-Entry: C→reframes as pre-commitment: accept, resume Layer 2. C→confirms retroactive audit: route Module 10 RESIDUAL-RISK-REGISTER. D→supplies concrete option: accept, resume Layer 2. D→no option: WRONG TOOL, no loop. Never silently accept a reframe — name what changed.
Bypass: User supplies context without routing: (1) infer mode from stakes/reversibility/urgency, (2) verify the plan is technical enough for this skill, (3) state "Routing inference: [MODE], engineering premortem. Say 'route me' if wrong." (4) proceed to Module 4 interview before full analysis.
Core Principles
- Most failures are preloaded before execution.
- Known neglected risks are more common than unknown surprises.
- Incentives often beat intelligence.
- Systems fail through interactions, not single causes.
- Good framing beats clever mitigation.
- Boring real risks > dramatic hypothetical risks.
- If no decision changes, analysis failed.
- If the load-bearing assumption is UNSUPPORTED, confidence ceiling is MEDIUM regardless of all other evidence quality.
Load-Bearing Behavioral Rules
These five rules fire in every mode including FAST. Training-data norms do not compensate for them — enforce exactly as written.
- M4 PRE-CHECK — self-advocacy: When the assistant previously proposed or advocated the option under analysis, do NOT exit. Treat Module 4 as the audit subject: apply ACCOUNTABILITY (was the recommendation challenged?) and DISSENT (was contrary analysis suppressed?). Proceed.
- M2 circuit-breaker — sycophancy: Treat the assumption the user states with most certainty as the FIRST candidate for UNSUPPORTED classification — not the last.
- M10 confidence ceiling: UNSUPPORTED load-bearing assumption → confidence ceiling MEDIUM, regardless of all other evidence quality.
- M1 commitment inference: Decision already made or substantially underway → STOP Modules 2–9, produce RESIDUAL-RISK-REGISTER. Adversarial reframes (user re-casts pre-commitment as exploration) do not exit to WRONG TOOL — name the reframe and proceed on the original decision.
- Output lead rule: First substantive block = concise status band with VERDICT, Decision, Confidence, Reason, and Condition. Omit empty sections.
Mode Selection
Select from strongest applicable signal. If signals conflict, escalate. Never silently downgrade.
- FAST: Single-team, reversible, scope < 2 weeks, sparse context, or "quick check."
- STANDARD (default): Cross-team or multi-stakeholder. Scope 2 weeks–1 quarter. Costly reversal.
- RAPID: High-stakes or irreversible AND must decide within 24 hours.
- DEEP: Irreversible or high-reversal-cost (cutover, data migration, API migration, dependency replacement, infra move). Production-facing launch. Multi-quarter timeline. Failure would materially affect users, data integrity, security, reliability, or team execution capacity.
Phrasing-vs-stakes tiebreaker: User phrasing requests FAST ("quick check," "sanity check," "gut check") but decision content signals higher mode → stakes win. Prefix output: [MODE: X — escalated from user-requested Y; stakes signals override phrasing]. No user confirmation required.
9-Verdict Taxonomy
Action verdicts:
- PROCEED — critical assumptions STRONG/PARTIAL with falsifiers; no UNSUPPORTED critical dependencies; M4 not RED; dominant constraint manageable.
- PROCEED WITH SAFEGUARDS — PROCEED criteria met except ≤3 explicit structural changes required (none touching scope/budget/headcount). List them; without them verdict becomes DELAY or REJECT.
- PILOT FIRST — load-bearing assumption UNSUPPORTED but testable cheaply at ≤20% of full commitment.
- REDUCE SCOPE — a critical risk is structurally driven by scope size; smaller version retires it without destroying the objective.
- DELAY PENDING EVIDENCE — specific, named, obtainable evidence would change the verdict. Name it in one sentence.
- REJECT — 2+ critical assumptions UNSUPPORTED with no cheap validation; OR M4 RED + governance conflict; OR immovable dominant constraint (Module 3).
Refusal verdicts:
- INSUFFICIENT SIGNAL — input too sparse, vague, or contradictory; proceeding would substitute fabrication. Name what is missing.
- WRONG TOOL — not a pre-commitment decision question; PREMORTEM cannot produce go/no-go output.
Alternative-deliverable verdict:
- RESIDUAL-RISK-REGISTER — decision already made or execution underway; produces 3–5 forward-looking risks (owner + escalation trigger), not go/no-go.
Must explain why for all verdict types. Detailed trigger conditions and "When returning X" protocols are in references/module-guide.md (Module 10).
Module Analysis Engine
M1 Objective Integrity · M2 Assumption Audit · M3 Constraint Reality Check · M4 Incentive Scan & Interview · M5 Dependency Fragility Map · M6 Failure Path Construction · M7 Base Rate Reality Check · M8 Detectability & Recovery · M9 Mitigation Design · M10 Decision Verdict
Load references/module-guide.md for full module bodies, register discipline, escalation logic, and heuristics (all non-FAST modes).
Output Non-Negotiables
- Lead with a concise status band. First substantive block: a two-column Markdown table with VERDICT, Decision, Confidence, Reason, and Condition. Mode-escalation headers prefix above — they do not replace this.
- Omit empty sections. No section header without substantive content. Short, sharp output is correct. Padding is failure.
Load references/output-template.md for the full output template, anti-slop rules, and domain format pointers.
Reference Loading
Load based on mode before beginning analysis:
FAST: Load references/output-template.md only (no module-guide, no mode-behaviors). Engineering policy per Layer 3 routing still applies.
STANDARD / RAPID / DEEP — load all three before beginning modules:
references/module-guide.md— module bodies, register discipline, escalation logicreferences/mode-behaviors.md— mode-specific run specs and conditional load triggersreferences/output-template.md— output format, anti-slop rules
Plus domain-policies/codebase-premortem.md.
STANDARD conditional loads (fire after module findings — full trigger specs in references/mode-behaviors.md):
- M2: 3+ unsupported assumptions or any contradicted assumption →
diagnostics/assumption-audit.md - M4: governance-level incentive conflict →
diagnostics/incentive-conflicts.md - M5: critical SPOF or concentration risk →
diagnostics/dependency-map.md - M8: high irreversibility + late detectability →
diagnostics/fragility-scan.md - High-risk rewrite/migration/cutover with optimistic estimates or unclear rollback →
references/software-failure-patterns.md - M4 RED or M6 all-canonical →
gotchas.md
DEEP: All four diagnostics + references/software-failure-patterns.md + gotchas.md unconditionally.
What ships with it: 13 files
95.3 KB alongside SKILL.md
diagnostics/
- assumption-audit.md5.2 KB
- dependency-map.md5.1 KB
- fragility-scan.md5.6 KB
- incentive-conflicts.md6.5 KB
domain-policies/
- codebase-premortem.md5.6 KB
references/
- mode-behaviors.md5.0 KB
- module-guide.md16.0 KB
- output-template.md4.6 KB
- software-failure-patterns.md10.2 KB
- BEHAVIOR_SPEC.md24.6 KB
- gotchas.md5.6 KB
- LICENSE1.0 KB
- README.md197 B