postmortem-writing
作者 wshobsonpostmortem-writing 可帮助团队撰写无责事故复盘,覆盖时间线、根因分析、影响范围、促成因素以及可执行的后续行动项,适用于服务中断或险些发生事故后的报告编写。
该技能评分为 78/100,适合收录到目录中,尤其适合需要结构化支持来产出无责事故复盘的用户。仓库证据显示其工作流内容较为充实、使用触发场景清晰,并提供了实用指导,整体上应能比通用提示词带来更好的代理执行效果;不过,由于缺少配套文件、模板或可执行产物,实际采用价值仍有一定折扣。
- 触发场景清晰:描述以及“何时使用此技能”部分明确覆盖事故复盘、postmortem 文档、无责复盘会议、根因分析和行动项等场景。
- 运营内容扎实:`SKILL.md` 篇幅较长且结构清楚,包含大量标题,以及事故复盘触发条件、按天划分的快速启动时间线等具体内容。
- 相比通用提示词更能发挥代理能力:其编码了无责表述、以根因为导向的追问等明确的 postmortem 原则,提供了可复用的领域结构。
- 目前看起来所有指导内容都集中在单个 markdown 文件中,没有模板、参考资料、脚本或示例产物,因此代理仍可能需要自行推断最终输出格式的细节。
- 相较于文档体量,仓库中对工作流与约束的显式信号仍然有限,这可能导致它在不同事故环境中的执行稳定性和可预期性不足。
postmortem-writing 技能概览
postmortem-writing 能做什么
postmortem-writing 技能帮助智能体产出结构化、无责备(blameless)的事故复盘报告,把团队在高压下最容易漏掉的关键部分补齐:清晰时间线、根因分析、促成因素、影响范围,以及可落地的后续行动。它面向的是故障、服务降级、险些酿成事故的 near-miss、数据问题,以及其他值得沉淀组织经验的事件复盘,而不是写一份松散的情况说明。
谁适合安装 postmortem-writing
这个技能尤其适合:
- SRE、DevOps、平台工程和 incident response 团队
- 需要统一事故报告口径的工程经理
- 在故障后负责撰写内部报告交付物的人员
- 想从“追责式复盘”转向系统性思考的团队
如果你的核心工作是把零散的事故笔记整理成一份可用的 postmortem,postmortem-writing 会比通用写作提示词更对路。
它真正解决的工作任务是什么
大多数用户真正需要的,并不是抽象意义上的“写文档帮助”,而是把日志、聊天记录、告警和零散记忆整理成一份报告,并且这份报告能做到:
- 用通俗语言解释发生了什么
- 保留完整时间顺序
- 区分根因与促成因素
- 避免把责任简单归咎于个人
- 最终落到可追踪的行动项上
这正是 postmortem-writing 技能的实际价值。
这个技能和普通提示词的区别在哪里
它的核心差异并不在于花哨自动化,而在于编辑结构和事故复盘纪律。源码内容重点强调:
- blameless 的表达框架
- 明确哪些事故触发条件值得写 postmortem
- 以时间线为先的工作流
- 聚焦根因分析,而不是停留在表面症状
- 把行动项当作最终产物,而不是事后补一句
因此,postmortem-writing skill 更适合那些追求一致性、审慎措辞和稳定复盘结构的场景,而不只是想把文字写得更顺。
采用前需要了解什么
这是一个以文档指导为主的技能。仓库里能看到的证据只有 SKILL.md,没有辅助脚本、schema 或参考文件。这意味着 postmortem-writing install 很简单,但输出质量会高度依赖你提供的事故输入。如果你期待它自动收集证据、自动建 ticket 或自动串联系统数据,这个技能本身做不到。
如何使用 postmortem-writing 技能
postmortem-writing install 的上下文
从上级技能仓库安装:
npx skills add https://github.com/wshobson/agents --skill postmortem-writing
由于该技能位于 plugins/incident-response/skills/postmortem-writing,你安装的是一套写作工作流和指导层,而不是一个独立的事故管理平台。
先读这个文件
先看:
SKILL.md
这个技能没有额外公开的 resources/、rules/ 或脚本,因此最快的仓库阅读路径就是把 SKILL.md 从头到尾读一遍。这里尤其重要,因为它的价值主要体现在流程指导和框架约束,而不是代码实现。
什么情况下最适合调用 postmortem-writing
当你已经判断某次事件值得正式复盘时,就适合使用 postmortem-writing usage,尤其包括:
- SEV1 或 SEV2 级别事故
- 面向客户、且持续时间不只是瞬时抖动的故障
- 数据丢失或安全问题
- 严重性潜力很高的 near-miss
- 新型故障,或需要异常人工干预的事件
如果事件影响很小,也不需要沉淀经验或补救措施,一则简短 incident note 往往就够了。
这个技能需要什么输入
当你提供的是原始事故材料,而不只是“写一篇 postmortem”时,这个技能效果最好。常见有用输入包括:
- 事故摘要
- 开始和结束时间
- 对客户或系统造成的影响
- 关键事件时间线
- 发现问题的方式
- 缓解或止损步骤
- 疑似根因
- 已知促成因素
- 尚未解决的问题
- 已经讨论过的后续行动
你的时间顺序越精确,最终报告质量通常越高。
如何把一个粗糙需求变成高质量提示词
弱提示词:
- “Write a postmortem for yesterday’s outage.”
强提示词:
- “Use the postmortem-writing skill to draft a blameless postmortem for a 47-minute API outage on 2025-02-10. Include a minute-by-minute timeline, impact summary, root cause, contributing factors, what detection missed, and action items grouped by prevention, detection, and response. Mark uncertainties clearly instead of inventing details.”
为什么后者更好:
- 它明确了事故范围
- 它要求采用 blameless 的表述方式
- 它点名要求那些常被忽略但很关键的部分
- 它允许保留不确定性,而不是让模型编造确定结论
一个实用的提示词模板
可以按下面的结构组织提示词:
- Incident type: outage, degradation, security event, data incident, near-miss
- Severity: SEV level or equivalent
- Time window: start, detection, mitigation, resolution
- Impact: users, revenue, requests, data, internal operations
- Evidence: logs, alerts, chat notes, ticket excerpts
- Suspected cause: what failed and why
- Contributing factors: tooling, process, load, config, staffing, dependencies
- Desired output: executive summary, timeline, RCA, lessons learned, action items
- Tone constraint: blameless, factual, no named-person blame
- Unknowns: list them explicitly
这是提升 postmortem-writing for Report Writing 效果最快的方法之一。
面向真实事故的推荐工作流
一个可落地的流程是:
- 先从事故笔记和系统证据中收集原始事实。
- 让技能先生成一版结构化初稿。
- 重点审查时间线是否存在顺序错误。
- 进一步收紧根因与促成因素的边界。
- 删除带有责备倾向的表达。
- 如有需要,在草稿之外补充带 owner 和截止日期的行动项。
- 在 postmortem 会议中使用最终报告。
这套顺序符合大多数团队真实的事故后写作方式:先事实,后解释,最后再落到整改。
如何让时间线更可靠
时间线质量往往决定整篇文档是否让人信服。尽量提供带时间戳的要点,例如:
09:14 UTC: latency alert fired09:16 UTC: on-call acknowledged09:21 UTC: deploy rollback started09:37 UTC: error rate returned to baseline
如果没有这些信息,即便是再好的 postmortem-writing guide,也很难可靠地还原因果关系。
如何要求更好的根因分析
不要只要求“the root cause”,而应明确要求:
- immediate cause
- deeper systemic factors
- why safeguards failed
- why detection or escalation was late
- what made the failure possible
这样可以避免输出退化成“某次错误发布导致故障”这种过浅结论,实际复盘里通常不够用。
如何让复盘保持 blameless
这个技能明确以 blameless 文化为中心。你也应该在提示词里再次强调:
- 要求聚焦系统条件,而不是个人过失
- 要求使用中性措辞
- 要求把人的操作与组织背景、技术上下文区分开来
例如,更推荐:
- “The deployment process allowed an unsafe config change to reach production”
而不是: - “An engineer pushed the wrong setting”
这个技能不提供什么
从仓库内容看,postmortem-writing skill 并不包含:
- 自动化数据采集
- 从工具中提取 incident timeline
- ticket 同步
- 除一般性指导外的严重级别判定逻辑
- 开箱即用的组织专属模板
因此,你需要自行提供上下文,并根据自己的 incident program 对输出做适配。
postmortem-writing 技能常见问题
postmortem-writing 比普通 LLM 提示词更好吗?
多数情况下是的,前提是你的核心问题在于结构和复盘纪律。普通提示词也能生成 postmortem,但常常会漏掉事故触发条件、blameless 的表达框架,或者混淆根因与促成因素。postmortem-writing 给智能体的是一套更清晰的工作模式。
这个技能适合新手吗?
适合。它对新手友好的原因在于:指导性很强,而且不依赖定制工具。不过新手仍然需要提供事实层面的事故记录。这个技能能提升写作质量和复盘结构,但不能替代事故调查本身。
什么情况下不该使用 postmortem-writing?
以下场景建议跳过:
- 这次事件本身不值得做完整 postmortem
- 你需要的是实时 incident commander,而不是写作者
- 你手头还没有基本事实,仍处于活跃排障阶段
- 你的组织必须使用严格的专有模板,而这个技能无法在不做大量改造的情况下匹配
postmortem-writing 只能用于工程故障吗?
不是。它最适合技术事故场景,但这个框架同样适用于安全事件、数据事故、运营故障,以及严重的 near-miss——前提是你能提供时间线、影响范围和纠正措施。
我可以用 postmortem-writing 只写 executive summary 吗?
可以,但不要只停留在这里。管理层通常需要简短摘要,而响应团队需要完整时间线和行动计划。更好的做法是要求技能同时输出简洁摘要和完整报告。
这个技能会帮助生成行动项吗?
会,但更多是间接帮助。源码指导明确强调可执行的后续行动。如果你要求按 prevention、detection、response、process improvement 等类别来组织行动项,结果通常会更好。
如何提升 postmortem-writing 技能效果
给 postmortem-writing 更好的证据,而不只是更复杂的指令
影响质量最大的杠杆是输入真实性和完整度。尽量直接贴入:
- 时间戳
- 客户影响指标
- 告警名称
- 缓解步骤
- 已知但未解的问题
高质量证据,往往比复杂的元指令更有效。
把事实和解释分开
一个常见失败模式,是把猜测混进时间线。更好的做法是分成两个区块提供:
- confirmed facts
- hypotheses or open questions
这样能帮助 postmortem-writing usage 在保留不确定性的同时,维持事实层面的准确性。
明确点名缺失章节
如果第一版草稿过于泛化,就直接点名要求缺的部分:
- “Add a ‘What went well’ section”
- “Separate contributing factors from root cause”
- “Rewrite action items so each is specific and testable”
这种具体修改要求,通常比一句“make it better”更快提升结果。
避免行动项过于空泛
糟糕的 postmortem 往往以“improve monitoring”这类模糊行动收尾。你应该要求技能把每个行动项写成:
- specific
- assignable
- linked to a failure mode
- measurable or testable
例如:
- “Add an alert for queue lag over 5 minutes in region us-east-1”
就明显优于: - “Improve alerting”
留意责备语气是否又冒出来
即使技能本身是 blameless 的,聊天记录或事故笔记原文里也可能带有强烈责备色彩。审稿时要重点检查那些过度聚焦个人、而忽略系统条件、激励机制、工具限制、评审缺口或运维背景的表达。
用两轮迭代拿到更高质量输出
一个很稳妥的模式是:
- 第一轮先拿事实结构
- 第二轮再完善分析与行动项
这样可以避免在时间线尚未稳定前,就逼模型输出看似完整但其实站不住脚的分析。
根据团队的 postmortem 成熟度调整输出
如果团队还处在早期阶段,可以让 postmortem-writing 先用简单格式输出:时间线、影响、原因、行动项。如果团队已经比较成熟,则可以要求更深入的章节,比如 detection gaps、escalation effectiveness、recovery tradeoffs 和 systemic lessons。这个技能两种深度都能支持,但前提是你要先把预期深度说清楚。
在初稿之后继续提升报告写作结果
想获得更好的 postmortem-writing for Report Writing 结果,最终审查时可以对照这四个问题:
- 新加入团队的人能否看懂发生了什么?
- 时间线是否足够精确,能经得起审阅?
- 分析是否解释了防线为什么失效?
- 行动项是否具体到足以降低再次发生的概率?
只要其中任何一个答案是否定的,就应围绕这个缺口改写提示词,而不是盲目重新跑一遍。
