# Incident Postmortem: [Incident Title]
**Date**: YYYY-MM-DD
**Author**: [Name]
**Status**: Draft | In Review | Final
**Severity**: Critical | High | Medium | Low
---
## Executive Summary
One paragraph summary: what happened, impact, resolution, key learnings.
---
## Incident Details
| Field | Value |
|-------|-------|
| **Incident ID** | INC-XXXX |
| **Start Time** | YYYY-MM-DD HH:MM UTC |
| **Detection Time** | YYYY-MM-DD HH:MM UTC |
| **Resolution Time** | YYYY-MM-DD HH:MM UTC |
| **Duration** | X hours Y minutes |
| **Time to Detect** | X minutes |
| **Time to Resolve** | X hours |
---
## Impact
### User Impact
- Number of users affected: X
- Percentage of traffic affected: X%
- Features unavailable: [list]
### Business Impact
- Revenue impact: $X (if applicable)
- SLA breach: Yes/No
- Customer complaints: X
### Data Impact
- Data loss: Yes/No
- Data corruption: Yes/No
- Details: [if applicable]
---
## Timeline
All times in UTC.
| Time | Event |
|------|-------|
| HH:MM | [First anomaly in metrics] |
| HH:MM | [Alert triggered] |
| HH:MM | [On-call paged] |
| HH:MM | [Investigation started] |
| HH:MM | [Root cause identified] |
| HH:MM | [Fix deployed] |
| HH:MM | [Service restored] |
| HH:MM | [Incident closed] |
---
## Root Cause Analysis
### What Happened
Detailed technical description of what went wrong.
### 5 Whys Analysis
1. **Why did the service go down?**
→ [Answer]
2. **Why did [Answer 1] happen?**
→ [Answer]
3. **Why did [Answer 2] happen?**
→ [Answer]
4. **Why did [Answer 3] happen?**
→ [Answer]
5. **Why did [Answer 4] happen?**
→ [Root cause]
### Contributing Factors
- Factor 1: [description]
- Factor 2: [description]
- Factor 3: [description]
---
## Detection
### How Was It Detected?
- [ ] Automated alert
- [ ] Customer report
- [ ] Internal user report
- [ ] Routine check
### Detection Gap Analysis
- What alerts existed? Did they fire?
- What alerts should have existed?
- How could we detect this faster?
---
## Response
### What Went Well
- [Positive aspect 1]
- [Positive aspect 2]
### What Could Be Improved
- [Improvement area 1]
- [Improvement area 2]
### Lucky Breaks
- [Things that could have been worse]
---
## Action Items
### Immediate (This Week)
| ID | Action | Owner | Due Date | Status |
|----|--------|-------|----------|--------|
| 1 | [Action] | [Name] | YYYY-MM-DD | Open |
### Short-term (This Month)
| ID | Action | Owner | Due Date | Status |
|----|--------|-------|----------|--------|
| 2 | [Action] | [Name] | YYYY-MM-DD | Open |
### Long-term (This Quarter)
| ID | Action | Owner | Due Date | Status |
|----|--------|-------|----------|--------|
| 3 | [Action] | [Name] | YYYY-MM-DD | Open |
---
## Lessons Learned
### Technical Learnings
- [Learning 1]
- [Learning 2]
### Process Learnings
- [Learning 1]
- [Learning 2]
### What We'll Do Differently
- [Change 1]
- [Change 2]
---
## Appendix
### Related Documents
- [Link to runbook]
- [Link to dashboards]
- [Link to logs]
### Communication Log
- HH:MM: [Status update posted to #channel]
- HH:MM: [Customer communication sent]
---
## Sign-off
| Role | Name | Date |
|------|------|------|
| Author | | |
| Reviewer | | |
| Approver | | |
Severity Definitions
Severity
Definition
Examples
Critical
Complete service outage, data loss
Database down, security breach
High
Major feature unavailable, significant degradation
Payment processing failed
Medium
Partial degradation, workaround exists
Slow response times
Low
Minor issue, minimal user impact
UI glitch
Blameless Culture Guidelines
Do
Focus on systems and processes, not people
Ask "what" and "how", not "who"
Assume everyone acted with best intentions
Look for systemic improvements
Share learnings widely
Don't
Assign blame to individuals
Use language like "should have" or "failed to"
Hide information to protect anyone
Skip the postmortem for "small" incidents
Let action items go untracked
Instructions for Claude
When /postmortem is invoked:
Gather facts - What happened, when, impact
Build timeline - Chronological events
Analyze root cause - 5 Whys, contributing factors
Assess response - What worked, what didn't
Generate actions - Preventive measures
Stay blameless - Focus on systems, not people
Extract learnings - What to do differently
Format report - Standard template
1---2name: postmortem3description: Incident Postmortem Template4---56# /postmortem - Incident Postmortem Template78Create blameless postmortem reports for incidents.910## Usage11```12/postmortem # Generate template13/postmortem "database outage" # Pre-fill incident type14/postmortem --severity high # Set severity level15```1617## What This Skill Does18191. **Structure Report** - Standard postmortem format202. **Guide Analysis** - 5 Whys, timeline, contributing factors213. **Track Action Items** - Preventive measures224. **Facilitate Learning** - Blameless retrospective235. **Document History** - Searchable incident record2425## Postmortem Template2627```markdown28# Incident Postmortem: [Incident Title]2930**Date**: YYYY-MM-DD31**Author**: [Name]32**Status**: Draft | In Review | Final33**Severity**: Critical | High | Medium | Low3435---3637## Executive Summary3839One paragraph summary: what happened, impact, resolution, key learnings.4041---4243## Incident Details4445| Field | Value |46|-------|-------|47| **Incident ID** | INC-XXXX |48| **Start Time** | YYYY-MM-DD HH:MM UTC |49| **Detection Time** | YYYY-MM-DD HH:MM UTC |50| **Resolution Time** | YYYY-MM-DD HH:MM UTC |51| **Duration** | X hours Y minutes |52| **Time to Detect** | X minutes |53| **Time to Resolve** | X hours |5455---5657## Impact5859### User Impact60- Number of users affected: X61- Percentage of traffic affected: X%62- Features unavailable: [list]6364### Business Impact65- Revenue impact: $X (if applicable)66- SLA breach: Yes/No67- Customer complaints: X6869### Data Impact70- Data loss: Yes/No71- Data corruption: Yes/No72- Details: [if applicable]7374---7576## Timeline7778All times in UTC.7980| Time | Event |81|------|-------|82| HH:MM | [First anomaly in metrics] |83| HH:MM | [Alert triggered] |84| HH:MM | [On-call paged] |85| HH:MM | [Investigation started] |86| HH:MM | [Root cause identified] |87| HH:MM | [Fix deployed] |88| HH:MM | [Service restored] |89| HH:MM | [Incident closed] |9091---9293## Root Cause Analysis9495### What Happened96Detailed technical description of what went wrong.9798### 5 Whys Analysis991001. **Why did the service go down?**101 → [Answer]1021032. **Why did [Answer 1] happen?**104 → [Answer]1051063. **Why did [Answer 2] happen?**107 → [Answer]1081094. **Why did [Answer 3] happen?**110 → [Answer]1111125. **Why did [Answer 4] happen?**113 → [Root cause]114115### Contributing Factors116- Factor 1: [description]117- Factor 2: [description]118- Factor 3: [description]119120---121122## Detection123124### How Was It Detected?125- [ ] Automated alert126- [ ] Customer report127- [ ] Internal user report128- [ ] Routine check129130### Detection Gap Analysis131- What alerts existed? Did they fire?132- What alerts should have existed?133- How could we detect this faster?134135---136137## Response138139### What Went Well140- [Positive aspect 1]141- [Positive aspect 2]142143### What Could Be Improved144- [Improvement area 1]145- [Improvement area 2]146147### Lucky Breaks148- [Things that could have been worse]149150---151152## Action Items153154### Immediate (This Week)155| ID | Action | Owner | Due Date | Status |156|----|--------|-------|----------|--------|157| 1 | [Action] | [Name] | YYYY-MM-DD | Open |158159### Short-term (This Month)160| ID | Action | Owner | Due Date | Status |161|----|--------|-------|----------|--------|162| 2 | [Action] | [Name] | YYYY-MM-DD | Open |163164### Long-term (This Quarter)165| ID | Action | Owner | Due Date | Status |166|----|--------|-------|----------|--------|167| 3 | [Action] | [Name] | YYYY-MM-DD | Open |168169---170171## Lessons Learned172173### Technical Learnings174- [Learning 1]175- [Learning 2]176177### Process Learnings178- [Learning 1]179- [Learning 2]180181### What We'll Do Differently182- [Change 1]183- [Change 2]184185---186187## Appendix188189### Related Documents190- [Link to runbook]191- [Link to dashboards]192- [Link to logs]193194### Communication Log195- HH:MM: [Status update posted to #channel]196- HH:MM: [Customer communication sent]197198---199200## Sign-off201202| Role | Name | Date |203|------|------|------|204| Author | | |205| Reviewer | | |206| Approver | | |207```208209## Severity Definitions210211| Severity | Definition | Examples |212|----------|------------|----------|213| **Critical** | Complete service outage, data loss | Database down, security breach |214| **High** | Major feature unavailable, significant degradation | Payment processing failed |215| **Medium** | Partial degradation, workaround exists | Slow response times |216| **Low** | Minor issue, minimal user impact | UI glitch |217218## Blameless Culture Guidelines219220### Do221- Focus on systems and processes, not people222- Ask "what" and "how", not "who"223- Assume everyone acted with best intentions224- Look for systemic improvements225- Share learnings widely226227### Don't228- Assign blame to individuals229- Use language like "should have" or "failed to"230- Hide information to protect anyone231- Skip the postmortem for "small" incidents232- Let action items go untracked233234## Instructions for Claude235236When /postmortem is invoked:2372381. **Gather facts** - What happened, when, impact2392. **Build timeline** - Chronological events2403. **Analyze root cause** - 5 Whys, contributing factors2414. **Assess response** - What worked, what didn't2425. **Generate actions** - Preventive measures2436. **Stay blameless** - Focus on systems, not people2447. **Extract learnings** - What to do differently2458. **Format report** - Standard template
Run npx skillmds@latest add aretedriver/postmortem in your terminal (requires Node.js), paste this page's agent-chat prompt into Claude, Cursor, or any MCP-connected agent, or download the SKILL.md file and copy it into your agent's skills directory.
Incident Postmortem Template It is listed under Coding & Dev Tools on SkillMD.
This skill has not completed SkillMD's automated safety review yet. Independent scanners report: SkillSpector: PASS, Skill Scanner: PASS. SkillMD never runs a skill's scripts for you; review the SKILL.md before installing.
This skill is tagged as working with Claude Code, Claude.ai, OpenAI Codex. SKILL.md is an open format, so most agents that read a skills directory can load it too.
Yes. Installing skills from SkillMD is free, and the skill stays under its author's original license.
AreteDriver (@aretedriver) published this skill. Their other Agent Skills are listed on their SkillMD profile.