Agent skill · writing content · wshobson
postmortem-writing
Write effective blameless postmortems with root cause analysis, timelines, and action items. Use when conducting incident reviews, writing postmortem documents, or improving incident response processes.
Why this skill is useful
Provides structured templates and specific methodologies for conducting blameless postmortems that improve incident response processes.
What it needs
About 4k tokens when loaded. Last updated 2026-08-05. 38,570 stars on the source repository.
What this skill does
Postmortem Writing Comprehensive guide to writing effective, blameless postmortems that drive organizational learning and prevent incident recurrence. When to Use This Skill Conducting post-incident reviews Writing postmortem documents Facilitating blameless postmortem meetings Identifying root causes and contributing factors Creating actionable follow-up items Building organizational learning culture Core Concepts 1. Blameless Culture Blame-Focused Blameless ------------------------ --------------------------------- "Who caused this?" "What conditions allowed this?" "Someone made a mistake" "The system allowed this mistake" Punish individuals Improve systems Hide information Share learnings Fear of speaking up Psychological safety 2. Postmortem Triggers SEV1 or SEV2 incidents Customer-facing outages > 15 minutes Data loss or security incidents Near-misses that could have been severe Novel failure modes Incidents requiring unusual intervention Quick Start Postmortem Timeline Templates and detailed worked examples Full template library and detailed worked examples live in references/details.md. Read that file when you need the concrete templates. References Connection Pool Best Practices Deployment Runbook markdown 5 Whys Analysis: [Incident] Problem Statement Payment service experienced 47-minute outage due to database connection exhaustion. Analysis Why #1: Why did the service fail? Answer: Database connections were exhausted, causing all new requests to fail. Evidence: Metrics showed connection count at 100/100 (max), with 500+ pending requests. --- Why #2: Why were database connections exhausted? Answer: Each incoming request opened a new database connection instead of using the connection pool. Evidence: Code diff shows direct DriverManager.getConnection() instead of pooled DataSource. --- Why #3: Why did the code bypass the connection pool? Answer: A developer refactored the repository class and inadvertently changed the connection acquisition method. …
How to use it
Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:
@skills wshobson/postmortem-writing