pre-mortem
О программе
Навык премортема помогает разработчикам выявлять конкретные риски до начала реализации, представляя, что проект уже потерпел катастрофическую неудачу, и двигаясь в обратном порядке, чтобы найти вероятные причины. Он применяется на этапах планирования — таких как архитектурный обзор или моделирование угроз — для необратимых или высокоэффективных функций. Этот метод обеспечивает выявление конкретных рисков, выходящих за рамки общих списков, с использованием структурированного пятишагового процесса.
Быстрая установка
Claude Code
Рекомендуетсяnpx skills add avelikiy/great_cto -a claude-code/plugin add https://github.com/avelikiy/great_ctogit clone https://github.com/avelikiy/great_cto.git ~/.claude/skills/pre-mortemСкопируйте и вставьте эту команду в Claude Code для установки этого навыка
Документация
Pre-mortem — fail-it-before-you-build-it
A retrospective for a project that hasn't happened yet. Surfaces real risks that "list every risk" prompts miss.
Originated in Gary Klein's research at MIT Sloan, now standard at AWS and other ops-mature orgs.
The 5-step pre-mortem
Step 1. Imagine you're 6 months in the future
The project shipped. It is a clear, public failure. There's a Reddit thread about it. The CEO is asking what went wrong.
Step 2. Write the post-mortem newspaper headline
One sentence. Concrete. Specific. Examples:
- ❌ Bad: "We had some quality issues."
- ✅ Good: "On 2026-09-12, the Stripe webhook handler deduplicated by raw body hash, so 30K customers were double-charged after Stripe retried delivery during a network blip."
The headline forces you to name the failure mode SPECIFICALLY.
Step 3. List every individual reason this exact failure happened
Brainstorm 10-15 reasons. Be specific. Each item should reference:
- A real component / file
- A real failure mode (race condition, schema mismatch, expired credential)
- A real human factor (oncall didn't see alert, runbook was outdated)
Reject hand-waves like "testing was insufficient." Replace with "we didn't write a property-based test for the dedup-key collision case."
Step 4. Rank by likelihood × severity
For each cause, score:
- Likelihood: 1-5 (1=once-in-a-decade, 5=monthly)
- Severity: 1-5 (1=cosmetic, 5=data loss / regulatory breach)
- Risk score: likelihood × severity
Top 3 by risk score → these are your highest-priority mitigations.
Step 5. For each top-3 cause, write a guardrail in the plan
Each guardrail is a concrete change to the plan:
- A test that would have caught it
- A circuit breaker / feature flag
- A runbook entry
- A monitoring alert with specific SLO
If a top-3 cause CANNOT be mitigated within the time/budget, escalate to the user: "This plan accepts the risk of X with no mitigation."
Template — add to PLAN-*.md
## Pre-mortem
Six months from now, this project failed. Headline:
> <one-sentence failure headline>
### Top reasons (likelihood × severity)
| Cause | L | S | Risk | Mitigation in plan |
|---|---|---|---|---|
| <specific cause> | 4 | 5 | 20 | <Task #N: write idempotency test> |
| ... | | | | |
### Accepted risks (no mitigation)
- <risk> — accepted because <budget/scope reason>. Owner: <name>.
Common failure modes by archetype
Quick start — most-common pre-mortem causes per archetype:
| Archetype | Common failure |
|---|---|
| fintech / commerce | Idempotency-key collision; double-charge during retry storm |
| healthcare | PHI leak via debug log; BAA not signed with vendor |
| web3 | Oracle staleness; flash-loan exploit on bonding curve |
| mlops | Training/serving skew; model drift undetected |
| iot-embedded | OTA bricks devices in a region with no recovery path |
| data-platform | Late-arriving data overwrites correct values |
| ai-system / agent-product | Prompt injection exfiltrates other users' data |
| enterprise-saas | Cross-tenant data leak via RLS gap |
| cli-tool | Destructive flag with no confirmation (rm -rf equivalent) |
| library | Breaking change in minor version bump |
Anti-patterns in pre-mortems
❌ Vague risks. "Performance might be a problem." Be specific: which operation, at what load, what's the SLO.
❌ Cosmic risks. "AWS could go down." Yes, but that's not actionable. Focus on what you can mitigate.
❌ Defensive list. Listing risks you've already mitigated to look thorough. Only list risks the current plan does NOT yet address.
❌ Skip the headline. Without the headline, the team won't believe the failure scenario is real.
When to skip
- nano project_size — pre-mortem is overhead.
- Pure refactor with full test coverage — guardrails already exist.
- Bug-fix with one-line repro — risk is well-bounded.
GitHub репозиторий
Frequently asked questions
What is the pre-mortem skill?
pre-mortem is a Claude Skill by avelikiy. Skills package instructions and resources that Claude loads on demand, so Claude can perform pre-mortem-related tasks without extra prompting.
How do I install pre-mortem?
Use the install commands on this page: add pre-mortem to Claude Code as a plugin, or clone its repository into your skills directory, then restart Claude so it picks up the skill.
What category does pre-mortem belong to?
pre-mortem is in the Meta category, tagged ai and design.
Is pre-mortem free to use?
Yes. pre-mortem is listed on AIMCP and free to install. It runs inside Claude, so no separate service account is required to use the skill itself.
Похожие навыки
Этот навык предоставляет проверенную в продакшене настройку для Content Collections — TypeScript-ориентированного инструмента, который преобразует файлы Markdown/MDX в типобезопасные коллекции данных с валидацией Zod. Используйте его при создании блогов, сайтов документации или контентных приложений на Vite + React для обеспечения типобезопасности и автоматической проверки содержимого. Он охватывает всё: от настройки плагина Vite и компиляции MDX до оптимизации развертывания и валидации схем.
Этот навык позволяет разработчикам создавать приложения на платформе прогнозных рынков Polymarket, включая интеграцию с API для торговли и получения рыночных данных. Он также обеспечивает потоковую передачу данных в реальном времени через WebSocket для отслеживания текущих сделок и рыночной активности. Используйте его для реализации торговых стратегий или создания инструментов, обрабатывающих обновления рынка в реальном времени.
Этот навык помогает разработчикам создавать плагины OpenCode, которые подключаются к более чем 25 типам событий, таким как команды, файлы и операции LSP. Он предоставляет структуру плагина, спецификации API событий и шаблоны реализации для модулей на JavaScript/TypeScript. Используйте его, когда вам нужно перехватывать, отслеживать или расширять жизненный цикл ассистента OpenCode AI с помощью пользовательской событийно-ориентированной логики.
SGLang — это высокопроизводительный фреймворк для обслуживания больших языковых моделей (LLM), специализирующийся на быстрой структурированной генерации JSON, regex и рабочих процессов агентов с использованием кэширования префиксов RadixAttention. Он обеспечивает значительно более высокую скорость вывода, особенно для задач с повторяющимися префиксами, что делает его идеальным для сложных структурированных результатов и многократных диалогов. Выбирайте SGLang вместо альтернатив, таких как vLLM, когда вам требуется ограниченное декодирование или вы создаете приложения с интенсивным совместным использованием префиксов.
