Home/Tech Writing/writing-postmortems
W

writing-postmortems

by @riekeltv
4.6(120)

This skill is for writing postmortems, incident reports, or root-cause analyses after outages, defects, data issues, or near misses. It encodes a blameless framing, evidence-only timeline, contributing factors, and owned action items. Use it whenever something broke and the write-up must outlive the incident, turning chaos into a durable, reusable engineering asset.

postmortemincident-reportroot-cause-analysistechnical-writingblamelessGitHub
Installation
npx skills add https://github.com/riekelt/technical-writer --skill writing-postmortems
compare_arrows

Before / After Comparison

1 组
Before

Without this skill, engineers and teams manually compiled postmortems from memory and chat logs, taking hours and often missing key evidence, leaving action items untracked and documents hard to reuse.

After

This skill provides a standardized structure and blameless framework, enabling teams to produce complete evidence-based incident reports in 30 minutes, with clear trackable action items and faster future troubleshooting.

SKILL.md

Writing postmortems

REQUIRED BACKGROUND: the technical-writing skill (hard rules, truth rules, style).

Overview

A postmortem is written for the engineer who hits something similar in a year, not for the people in the room. Core principle: facts from evidence, causes from mechanisms, lessons from both, and no names. The document is historical by classification: once reviewed, it is immutable, and corrections are dated addenda.

When to invoke, and not

Invoke after an incident is resolved, or at a stable milestone of a long one. A defect that reached users and a near miss, where a guard caught what review missed, earn the same write-up. Do NOT invoke during the live incident: the runbook governs that. Do not invoke for assigning accountability, since a postmortem that needs a person's name to make sense is describing a process hole. And not for a status update to stakeholders, which is a report.

Skeleton

# [System]: [the failure, as its symptom, one line]

| | |
|---|---|
| **Incident date** | YYYY-MM-DD |
| **Duration** | detection to resolution |
| **Severity** | [per the org taxonomy, defined where used] |
| **Status** | Draft / Reviewed |

## Summary
[User-visible impact with numbers, the root cause in one sentence, current state.
The reader who stops here still knows what happened.]

## Impact
[Who and what, quantified: requests failed, records affected, money or time lost.
Estimates labeled as estimates; "no evidence of data loss" only if actually checked,
and say what was checked.]

## Timeline
[Timestamped entries, facts only, each traceable to evidence: an alert, a log line,
a commit, a message. Interpretation lives in the sections below, never here.]

## Root cause and contributing factors
[The mechanism, grounded in code and commits. Contributing factors as a list:
real incidents rarely have one cause, and "every component was correct and the
defect lived between them" is a valid root cause. Name which layer of checking
missed it and which caught it.]

## Wrong turns during the response
[The wrong first fix, the misleading signal followed, the theory that cost an hour.
Recording the plausible-but-wrong path is what saves the next responder from it.]

## Action items
[Each with an owner and an acceptance check, filed as tracker issues and linked.
"Investigate X" without an owner is banned here as everywhere.]

## Sign-off
[- YYYY-MM-DD <reviewer>: approved <scope>, one line per review event.]

Rules

  • Blameless means structural. Name the role, the gate, the dependency, the missing guard; never the person. A postmortem blaming a person stops at "be more careful", and one blaming a structure produces an action item. The rule governs the narrative (timeline, causes, response); action-item ownership is assignment, not blame: a role in this document, an individual in the linked tracker issue.
  • The timeline is evidence, not narrative. Every entry traces to something checkable, timestamps from the systems rather than memory. Where memory is the only source, say so.
  • Wrong fixes are content. The fix that made sense and did not work belongs in the document with the reasoning that made it plausible; embarrassment is not a retention policy.
  • Severity comes from the org taxonomy and is defined where used, not assumed. When no taxonomy exists, leave the field explicitly unassigned rather than inventing one.
  • Action items follow writing-issues: outcome, owner, acceptance check, filed and linked, never left as prose intentions in the postmortem. When filing is not possible from where you sit, mark each item [to file: <who files it>]; the postmortem stays Draft until the links exist.
  • Immutable once reviewed. New findings are dated addenda; a rewritten postmortem is a falsified record. The review itself goes in a sign-off line (see references/truth.md in the core skill).
  • Near misses use the same skeleton with Impact describing what would have happened, labeled as the counterfactual it is.

The decision that often follows a postmortem (a new invariant, a policy change) is recorded via recording-decisions and linked, not embedded. Runbook updates that the incident exposed go through writing-runbooks in the same change as the fix, because documentation is part of done rather than a follow-up ticket.

User Reviews (0)

Write a Review

Effect
Usability
Docs
Compatibility

No reviews yet

Statistics

Installs17.2K
Rating4.6 / 5.0
Version
Updated2026年10月23日
Comparisons1

User Rating

4.6(120)
5
37%
4
43%
3
13%
2
5%
1
2%

Rate this Skill

0.0

Compatible Platforms

🤖claude-code

Timeline

Created2026年8月30日
Last Updated2026年10月23日
🎁 Agent Knowledge Cards
Survey