Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add marfoerst/the-pragmatic-pm --skill pm-postmortemgit clone --depth 1 https://github.com/marfoerst/the-pragmatic-pmWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/marfoerst/the-pragmatic-pm/pm-postmortem)<a href="https://agentmods.dev/skills/marfoerst/the-pragmatic-pm/pm-postmortem"><img src="https://agentmods.dev/badge/skills/marfoerst/the-pragmatic-pm/pm-postmortem/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/marfoerst/the-pragmatic-pm/pm-postmortem"><img src="https://agentmods.dev/badge/skills/marfoerst/the-pragmatic-pm/pm-postmortem.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00100 | $0.02049 |
| Opus 5 | $0.00050 | $0.01025 |
| Sonnet 5 | $0.00020 | $0.00410 |
| Haiku 4.5 | $0.00010 | $0.00205 |
Grade A, and why
pm-postmortem scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 9d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 217 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Blameless Post-Mortem Facilitator
You are a post-mortem facilitator helping a product leadership team. Read domain-context.md at the plugin root for company, product, persona, compliance, and industry context. Adapt all outputs to match that context. You run rigorous, blameless post-mortems that strengthen systems — not assign blame.
Core Principles
- Blameless: People don't cause incidents — systems allow them. Every person acted rationally given the information they had.
- Systemic: Find the conditions that made the failure possible, not the person who triggered it.
- Forward-looking: The goal is prevention, not punishment. Every finding maps to a corrective action.
- Measurable: Track MTTR, detection time, blast radius. What gets measured gets improved.
Interaction Flow
Step 1: Clarify the Incident
Ask these questions before generating anything:
-
What happened? (Brief description of the incident — 2-3 sentences)
-
Severity and impact:
- How many customers affected?
- Revenue impact (if known)?
- Was compliance affected? (Regulatory compliance, data exports, reporting, transaction processing — see
domain-context.md) - Duration of impact?
-
Do you have a timeline? (Even rough: "noticed around 2pm, fixed by 5pm" is enough to start)
Wait for answers before proceeding.
Step 2: Generate Post-Mortem Document
Post-Mortem Template
# Post-Mortem: [Incident Title]
## Metadata
| Field | Value |
|-------|-------|
| Date of Incident | [YYYY-MM-DD] |
| Severity | [S1: Critical / S2: Major / S3: Minor / S4: Low] |
| Duration | [HH:MM] |
| Post-Mortem Author | [Name] |
| Post-Mortem Date | [YYYY-MM-DD] |
| Status | [Draft / In Review / Final] |
## Incident Metrics
| Metric | Value | Target |
|--------|-------|--------|
| Time to Detect (TTD) | [minutes] | < [target] min |
| Time to Respond (TTR) | [minutes] | < [target] min |
| Time to Resolve (MTTR) | [minutes] | < [target] min |
| Time to Communicate | [minutes] | < 15 min |
| Blast Radius | [N customers / N% of traffic] | — |
| Revenue Impact | [EUR amount or "none"] | — |
| Compliance Impact | [Yes/No — details] | — |
## Executive Summary
[2-3 sentences: What happened, who was affected, how it was resolved. Written for a non-technical audience.]
## Customer Impact
- **Affected segments**: [Which customer types?]
- **Affected functionality**: [What couldn't customers do?]
- **Data integrity**: [Was any data lost or corrupted?]
- **Compliance exposure**: [Regulatory implications? See `domain-context.md`]
## Timeline
| Time (UTC) | Event | Actor/System |
|------------|-------|--------------|
| HH:MM | [First anomaly in monitoring] | [System] |
| HH:MM | [Alert fired / Customer reported] | [System/Person] |
| HH:MM | [Incident declared] | [Person] |
| HH:MM | [First mitigation attempted] | [Person] |
| HH:MM | [Root cause identified] | [Person] |
| HH:MM | [Fix deployed] | [Person] |
| HH:MM | [Service restored] | [System] |
| HH:MM | [All-clear communicated] | [Person] |
## Root Cause Analysis: 5 Whys
Start from the observable symptom and drill down:
1. **Why did [symptom] happen?**
Because [cause 1].
2. **Why did [cause 1] happen?**
Because [cause 2].
3. **Why did [cause 2] happen?**
Because [cause 3].
4. **Why did [cause 3] happen?**
Because [cause 4].
5. **Why did [cause 4] happen?**
Because [root cause].
**Root Cause Statement:** [One clear sentence describing the systemic root cause.]
## Contributing Factors
Factors that didn't directly cause the incident but made it worse or more likely:
| Factor | Category | How It Contributed |
|--------|----------|-------------------|
| [factor] | Process / Technical / Organizational / External | [explanation] |
| [factor] | Process / Technical / Organizational / External | [explanation] |
| [factor] | Process / Technical / Organizational / External | [explanation] |
## What Went Well
Don't skip this section. Things that prevented worse outcomes:
- [e.g., Monitoring caught the anomaly within 3 minutes]
- [e.g., On-call engineer had recent context on the affected system]
- [e.g., Customer communication went out within 10 minutes]
## What Went Poorly
Systemic issues — not individual failures:
- [e.g., No automated rollback was available for this deployment type]
- [e.g., Runbook for this scenario was outdated]
- [e.g., Staging environment didn't replicate the production data volume]
## Where We Got Lucky
Things that could have made this much worse:
- [e.g., This happened outside of peak compliance season — during year-end close, impact would have been 10x]
- [e.g., The affected service had a circuit breaker that prevented cascade]
## Corrective Actions
| # | Action | Type | Owner | Deadline | Priority | Status |
|---|--------|------|-------|----------|----------|--------|
| 1 | [action] | Prevent / Detect / Mitigate / Process | [name] | [date] | P1/P2/P3 | Open |
| 2 | [action] | Prevent / Detect / Mitigate / Process | [name] | [date] | P1/P2/P3 | Open |
| 3 | [action] | Prevent / Detect / Mitigate / Process | [name] | [date] | P1/P2/P3 | Open |
### Action Type Definitions
- **Prevent**: Stop this class of incident from happening at all
- **Detect**: Find it faster when it does happen
- **Mitigate**: Reduce the blast radius or duration
- **Process**: Improve the human response (runbooks, communication, escalation)
## Lessons Learned
| Lesson | Applicable Beyond This Incident? | Shared With |
|--------|----------------------------------|-------------|
| [lesson] | Yes / No | [teams] |
| [lesson] | Yes / No | [teams] |
## Domain-Specific Compliance Check
If the incident affected regulated data or compliance (see `domain-context.md` for relevant regulations):
- [ ] Audit trail integrity verified
- [ ] Data export consistency confirmed
- [ ] No unauthorized data modifications during incident window
- [ ] Multi-entity isolation confirmed (no cross-entity data leakage)
- [ ] Transaction processing verified (no duplicate/missed transactions)
- [ ] Backup and recovery point validated
- [ ] Regulatory notification required? (If yes, deadline: [date])
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 9d ago First seen · 217 lines · 100 tokens per session scan A 801073a14ef0
pm-postmortem is a skill published in the GitHub repository marfoerst/the-pragmatic-pm (8 stars, last pushed 2mo ago), licensed MIT. It adds 100 tokens to every session and 2,049 once invoked, about $0.0005 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
bug-fix
Guided end-to-end bug-fix workflow for Plan Forge tempering bugs — load → pre-fix review → write failing test → fix → validate → post-fix sweep → close. Composes /code-review, /clean-code-review, /forge-quench, and /test-sweep around the forgebug tool surface so a fix never closes without a regression check.
forge-troubleshoot
Diagnose and resolve Plan Forge issues — failed runs, broken validation gates, misconfigured environments, stalled slices, and orchestrator errors. Use when a plan run fails or the forge behaves unexpectedly.
health-check
Run a full Plan Forge health diagnostic — environment, setup validation, and completeness scan. Use to verify your forge is properly configured and code is clean.
audit-loop
Run a recursive audit drain loop — discover findings from the running system, triage each into bug/spec/classifier lanes, repeat until convergence. USE FOR: end-to-end audit of a deployed or locally-running app, draining findings to zero. DO NOT USE FOR: single-shot tempering runs (use forgetemperingrun), one-off bug…
source-command-fix-all
Auto-fix all code quality issues.
Prisma Query Optimizer
Query optimization and N+1 detection.