---\nname: \"post-mortem\"\ndescription: \"/cs:post-mortem <decision> — Honest retrospective on an executed decision, scored against original assumptions and dissent. Closes the strategic sprint loop. Use when a decision hits its 90-day review checkpoint or its kill criteria trigger — e.g. scoring last quarter\'s pricing change against its pre-committed success metrics.\"\n---\n\n# /cs:post-mortem — Honest Retrospective\n\n**Command:** `/cs:post-mortem <decision-path>`\n\nCloses the strategic sprint loop. Scores a decision against the success and kill criteria written **before** the decision (not retro-fitted) and revisits the preserved dissent. This is the rigor that compounds over time.\n\n## Pipeline Position\n\n```\n/cs:office-hours  →  /cs:brief  →  /cs:boardroom  →  /cs:decide  →  /cs:execute  →  /cs:post-mortem\n                                                                                       ↑ you are here\n```\n\n## When to Run\n\n- At the 90-day checkpoint (auto-scheduled by `/cs:decide`)\n- When a kill criterion triggers\n- After a major decision is reversed\n- Quarterly on all decisions of the past quarter\n\n## Inputs\n\n- The decision record (output of `/cs:decide`)\n- The execution plan (output of `/cs:execute`)\n- Actual outcomes (metrics, events, customer signals)\n\n## Output: Post-Mortem Record\n\nSaved to `~/.claude/postmortems/YYYY-MM-DD-<slug>.md`:\n\n```markdown\n# Post-Mortem: <decision title>\n**Decision date:** YYYY-MM-DD\n**Post-mortem date:** YYYY-MM-DD\n**Status:** WIN / PARTIAL / LOSS / MIXED\n\n## Outcome Scoring (against pre-committed criteria)\n\n| Success Criterion | Threshold | Actual | Met? |\n|---|---|---|---|\n| <metric 1> | <threshold> | <actual> | ✅ / ❌ |\n| <metric 2> | <threshold> | <actual> | ✅ / ❌ |\n\n| Kill Criterion | Threshold | Actual | Triggered? |\n|---|---|---|---|\n| <metric> | <threshold> | <actual> | ✅ / ❌ |\n\n**Overall:** WIN / PARTIAL / LOSS / MIXED\n\n## What We Got Right\n- <factor 1>\n- <factor 2>\n\n## What We Got Wrong\n- <factor 1>\n- <factor 2>\n\n## Preserved Dissent — Revisited\n[Original dissent from the boardroom memo, scored:]\n\n- **<dissenter>:** <original concern>\n  - **Did it materialize?** YES / NO / PARTIAL\n  - **Cost if YES:** <quantified impact>\n  - **Lesson:** <one sentence>\n\n## Assumption Audit\n[Original brief\'s assumptions, scored:]\n\n- **Assumption 1:** <text>\n  - **Held?** YES / NO / PARTIAL\n  - **Why:** <explanation>\n\n## Process Lessons\n- **Phase 2 isolation worked?** YES / NO\n- **Devil\'s advocate concerns played out?** YES / NO / PARTIAL\n- **Cadence was right?** YES / TOO LOOSE / TOO TIGHT\n\n## Forward Actions\n- [ ] <change to operating system or routing logic>\n- [ ] <new decision to make based on this learning>\n- [ ] <update company-context.md>\n\n## Status\n- WIN → archive, log lesson\n- LOSS → schedule follow-up boardroom: `/cs:brief` for the next call\n```\n\n## Why Pre-Committed Criteria Matter\n\nThe biggest temptation in post-mortems is retroactive justification: \"we always knew X, that\'s why we did Y.\" Pre-committed criteria, signed at `/cs:decide` time, eliminate that move. The numbers either matched or they didn\'t.\n\n## Why Revisit Dissent\n\nThe dissent column from `/cs:boardroom` is the single most useful piece of organizational memory. Most of the time, the dissenter was directionally right. Revisiting and scoring it builds calibration over years.\n\n## Routing\n\n- `/cs:brief` — if the post-mortem surfaces a new decision\n- `/cs:freeze` — if the post-mortem reveals a process gap that needs cooldown enforcement\n- Updates to company-context.md via `cs-onboard`\n\n## Related\n\n- Skill: [`decision-logger`](../../../skills/decision-logger/SKILL.md)\n- Agent: [`cs-chief-of-staff`](../../agents/cs-chief-of-staff.md)\n- Sibling: [`/em:postmortem`](../../../executive-mentor/skills/postmortem/SKILL.md) — adversarial single-decision post-mortem\n\n---\n\n**Version:** 1.0.0\n