跳到正文
cccskills
免费在 GitHub 公开

blameless-post-mortem

Use after an incident or outage is resolved — blame-free facilitation, root cause, corrective actions, memory write-back — even for a near-miss. Consumes the incident-commander skeleton.

中文简介正在准备中。当前显示原文说明。

查看安装方法

包含的文件(2)

  • SKILL.md7.6 KB
  • evals/triggers.json948 B

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

blameless-post-mortem

Facilitate a blame-free post-mortem after an incident or near-miss. Consumes the incident-commander skeleton, derives or fills the root cause, writes the corrective-action plan, and drafts an incident-learnings memory candidate. Systems and processes are examined — never individuals.

When to use

  • An incident or outage is resolved and the team needs a structured write-up.
  • A near-miss happened and a post-mortem is being drafted (near-miss mode — same flow, different severity framing).
  • The incident-commander hands off a post-mortem skeleton (empty root cause is accepted — do not block on it).
  • German triggers: "Post-mortem", "Nachbesprechung", "was ist schiefgelaufen?", "Vorfallsanalyse".

Do NOT use when:

Procedure

1. Consume the incident-commander skeleton

Read the incoming skeleton. Per docs/contracts/analysis-memory-loop.md § 5:

  • Accept any skeleton, complete or not.
  • Extract: SEV, State, Started, Timeline, Mitigation, Root cause (may be unknown or TBD).
  • Do NOT stall or reject on an empty root cause.

If no skeleton is provided, reconstruct from the user's description: severity, timeline, impact, mitigation state.

2. Derive the root cause (if unresolved)

If root cause is unknown or TBD, invoke root-cause-frameworks. That skill returns ranked candidates with confidence levels — do NOT force a verdict. If root cause remains unresolved after the analysis pass, mark the post-mortem status: draft and continue. A draft post-mortem can still produce memory candidates (note the open question in the candidate summary).

3. Write the blame-free report

Sections in order — no individuals named, systems and processes only:

  1. Summary — one paragraph, blame-free, what happened and the business impact.
  2. Timeline — reference the skeleton timeline; do NOT rebuild it.
  3. Impact — users affected, duration, data, revenue, SLA.
  4. Detection — how the incident was discovered (monitoring, user report, alert, manual).
  5. Root cause — the confirmed or highest-confidence candidate; state confidence level if draft.
  6. Contributing factors — conditions that made the root cause possible (tooling gaps, process gaps, system state).
  7. What went well — at least one item; omitting this is a smell.
  8. What went wrong — process, tooling, signals, communication gaps. No individual blame.

Near-miss mode: same sections; set SEV: near-miss. Add two extra questions after "what went wrong":

  • "What would have made this worse?"
  • "Which control caught it — luck or a designed control?"

4. Corrective actions (folded-in phase)

For each identified gap, propose a corrective action. Reuse risk-officer mitigation framing: owner role, size, residual-risk note. Four action types:

TypePurpose
ImmediateStop recurrence now (config fix, kill switch, revert)
PreventiveRemove the root cause (architectural or process change)
DetectionCatch it sooner next time (alert, dashboard, runbook)
ProcessAddress human/coordination gaps (oncall rotation, docs)

Each action MUST have:

  • Owner role (eng, ops, PO, support — never "the team")
  • Closure criterion — specific, testable condition marking the action done
  • Regression signal — a test, monitor, or alert that proves the fix held

An action without a closure criterion is a wish, not a plan.

5. Memory write-back

Per docs/contracts/analysis-memory-loop.md § 2:

  1. Run the dedup pre-check — find_duplicate(...) from scripts/memory_lookup.ts over the same key-space (incident type, affected paths, decision area); a memory:lookup query over the same keys is the CLI equivalent.

  2. Match found — propose a frequency / supersedes update to the existing entry; do NOT create a new candidate.

  3. No match — draft a REDACTED incident-learnings candidate to /memory propose:

    • type: incident-learnings
    • summary: one-line pattern (no customer names, no secrets, no project-rooted paths)
    • evidence_paths: ≥ 2 file paths (for admission gate)
    • decision_surface: ≥ 3 decisions this pattern changes (if possible)
    • last_validated: today
    • review_after_days: 90
    • applicable_scope: project
  4. NEVER auto-promote. The human drives promotion via /memory promote. If the candidate fails the admission gate (check_memory_proposal.ts), surface the gap to the user.

If the lookup surfaces stale entries (past review_after_days), surface them explicitly — never silently use stale data.

Output

The post-mortem produces, in order:

  1. Post-mortem document — sections 1–8 from step 3; status final or draft if root cause is unresolved.
  2. Corrective-action table — each action with type, owner, closure criterion, regression signal.
  3. Memory candidate — the drafted incident-learnings JSONL snippet for /memory propose (or the frequency-update proposal if a duplicate was found).

Do NOT

  • Do NOT blame individuals — name systems, processes, signals, tooling.
  • Do NOT auto-promote to curated memory — the gate is human-driven.
  • Do NOT skip the dedup pre-check before drafting a memory candidate.
  • Do NOT ship raw PII, customer names, secrets, or project-rooted paths in the memory candidate (redact per the contract).
  • Do NOT reject or stall on an incomplete skeleton — mark draft and continue.
  • Do NOT rebuild the timeline from scratch — reference the skeleton's timeline.

Gotchas

  • Incomplete skeleton → status: draft, not a rejection. Draft post-mortems still produce memory candidates with the open question noted.
  • Near-miss → a mode within this skill, not a separate flow. Severity is near-miss; the extra two questions apply.
  • Corrective actions without closure criteria are non-actionable. Always require a specific, testable done condition.
  • Stale memory entries must be surfaced as stale, never merged into the findings. Never silently reuse stale data.

See also

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

Use when reviewing UI for accessibility — WCAG 2.2 AA, keyboard nav, focus, ARIA, contrast, screen-reader semantics — even on 'is this a11y-OK?' or 'mach das barrierefrei'.

中文简介正在准备中。当前显示原文说明。

event4u-app/agent-config122026年10月19日 更新

Use when defining or auditing the activation event — aha-moment selection, retention correlation, falsifiable definition. Triggers on 'what is our aha moment', 'redefine activation'.

中文简介正在准备中。当前显示原文说明。

event4u-app/agent-config122026年10月19日 更新

Use when capturing an architectural decision — file naming, next ADR number, Status / Context / Decision / Consequences, index regen; fires even without saying 'ADR'.

中文简介正在准备中。当前显示原文说明。

event4u-app/agent-config122026年10月19日 更新

Adversarial critique — devil's advocate, stress-test, honest teardown ('poke holes', 'be brutal', 'was hältst du davon'); explicit request only. Routine code or design review → code-review.

中文简介正在准备中。当前显示原文说明。

event4u-app/agent-config122026年10月19日 更新

Use when reading, creating, or updating agent documentation, module docs, roadmaps, or AGENTS.md. Understands the full .augment/, agents/, and copilot-instructions structure.

中文简介正在准备中。当前显示原文说明。

event4u-app/agent-config122026年10月19日 更新

Use for an adversarial red-team / blue-team / auditor review of an AI agent's CONFIG + behaviour (rules, skills, MCP, hooks, permissions) — attack-chain → defensive-gap list, not a code audit.

中文简介正在准备中。当前显示原文说明。

event4u-app/agent-config122026年10月19日 更新

查看 event4u-app 的全部技能

报告此技能的问题