← Back to all products

Postmortem Framework

$19

Blameless postmortem templates, root cause analysis methods, action item tracking, and trend analysis dashboards.

📁 33 files
MarkdownPythonGrafanaNotion

📄 Product Preview

Try the interactive reader and demo tools below, or get the full product with all content unlocked.

📖 Interactive Reader (Free Preview) ⚙ Try Demo Tools 📦 Download Free Sample

📁 File Structure 33 files

postmortem-framework/ ├── LICENSE ├── README.md ├── data/ │ ├── action_items.csv │ └── incidents.csv ├── examples/ │ ├── cascading-failure.md │ ├── database-outage.md │ ├── deployment-failure.md │ └── security-incident.md ├── free-sample.zip ├── guide/ │ ├── 01-blameless-postmortem-culture.md │ ├── 02-postmortem-templates-and-structure.md │ ├── 03-root-cause-analysis-methods.md │ ├── 04-python-tools-for-postmortem-analysis.md │ └── 05-metrics-tracking-and-improvement.md ├── guides/ │ ├── facilitation-guide.md │ ├── incident-metrics.md │ └── writing-effective-postmortems.md ├── index.html ├── methods/ │ ├── causal-factor-tree.md │ ├── fishbone-diagram.md │ ├── five-whys.md │ └── kepner-tregoe.md ├── src/ │ ├── __init__.py │ ├── __pycache__/ │ │ ├── __init__.cpython-312.pyc │ │ ├── action_tracker.cpython-312.pyc │ │ ├── metrics_analyzer.cpython-312.pyc │ │ └── postmortem_parser.cpython-312.pyc │ ├── action_tracker.py │ ├── metrics_analyzer.py │ └── postmortem_parser.py └── templates/ ├── full-postmortem.md ├── lightweight-postmortem.md └── sev1-postmortem.md

📖 Documentation Preview README excerpt

Blameless Postmortem Framework

A complete system for running blameless postmortems, tracking action items, and measuring incident response effectiveness. Includes templates for every severity level, four structured root cause analysis methods, real-world examples, facilitation guides, and Python tools for parsing postmortem documents and computing reliability metrics.

What's Inside


postmortem-framework/
├── templates/                     # Ready-to-use postmortem document templates
│   ├── full-postmortem.md         # Standard template for SEV1/SEV2 incidents
│   ├── lightweight-postmortem.md  # Quick template for SEV3/SEV4 incidents
│   └── sev1-postmortem.md         # Extended template with exec summary & comms log
│
├── methods/                       # Structured root cause analysis methods
│   ├── five-whys.md               # Iterative "why" questioning with worked examples
│   ├── fishbone-diagram.md        # Ishikawa diagram for multi-factor analysis
│   ├── causal-factor-tree.md      # Tree-based decomposition for cascading failures
│   └── kepner-tregoe.md           # Systematic problem analysis with decision matrices
│
├── examples/                      # Completed postmortem examples
│   ├── database-outage.md         # Connection pool exhaustion incident
│   ├── deployment-failure.md      # Failed canary deployment with cascading timeouts
│   ├── cascading-failure.md       # Multi-service cascade from DNS failure
│   └── security-incident.md       # API key exposure and response
│
├── guides/                        # Process and skills guides
│   ├── facilitation-guide.md      # How to run a blameless postmortem meeting
│   ├── incident-metrics.md        # MTTR, MTTD, error budgets, trend analysis
│   └── writing-effective-postmortems.md  # Writing style, structure, anti-patterns
│
├── src/                           # Python tools (stdlib only, no pip needed)
│   ├── __init__.py
│   ├── postmortem_parser.py       # Parse markdown postmortems into structured data
│   ├── action_tracker.py          # Track action items, deadlines, completion rates
│   └── metrics_analyzer.py        # Compute MTTR/MTTD, error budgets, monthly reports
│
├── data/                          # Sample data for the Python tools
│   ├── action_items.csv           # 20 realistic action items across 5 incidents
│   └── incidents.csv              # 20 incident records spanning 6 months
│
├── README.md
└── LICENSE

Quick Start

1. Run Your First Postmortem

1. Copy the appropriate template from templates/:

  • full-postmortem.md for SEV1/SEV2 incidents
  • lightweight-postmortem.md for SEV3/SEV4 incidents
  • sev1-postmortem.md for major incidents requiring executive communication

2. Read guides/facilitation-guide.md before the meeting

3. Choose an analysis method from methods/ (start with Five Whys)

4. Reference examples/ to see what a completed postmortem looks like

2. Use the Python Tools

All tools require only Python 3.10+ with no external dependencies.

... continues with setup instructions, usage examples, and more.

📄 Code Sample .py preview

src/action_tracker.py """ Action Tracker — Track postmortem action items across incidents. Reads action items from CSV files and postmortem documents, computes completion rates, identifies overdue items, and generates status reports. Usage: from action_tracker import ActionTracker tracker = ActionTracker() tracker.load_csv("data/action_items.csv") report = tracker.status_report() print(report) overdue = tracker.get_overdue_items() for item in overdue: print(f" OVERDUE: {item}") """ from __future__ import annotations import csv import logging from dataclasses import dataclass, field from datetime import datetime, timedelta from pathlib import Path from typing import Optional from collections import defaultdict logger = logging.getLogger(__name__) # Valid statuses for action items (in lifecycle order) VALID_STATUSES = ("open", "in_progress", "blocked", "closed", "wont_fix") # Priority weights for computing weighted completion rates # Higher-priority items matter more for the overall health score PRIORITY_WEIGHTS = {"P0": 8, "P1": 4, "P2": 2, "P3": 1} @dataclass class TrackedAction: """ An action item with full tracking metadata. This extends the basic ActionItem from the parser with fields needed for cross-incident tracking and reporting. """ action_id: str # ... 438 more lines ...
Buy Now — $19 Back to Products