ricmmartins/azure-sre-agent-skills/05-incident-postmortem
Claude Code and agent skill by ricmmartins/azure-sre-agent-skills
- community
Checking that the SKILL.md file is still in the repository.
Generate a blameless incident postmortem from the current or recent SRE Agent investigation. Use after an incident is resolved, when asked for a postmortem, RCA report, incident review, or lessons learned document.
Install
npx vskill@latest install ricmmartins/azure-sre-agent-skills/05-incident-postmortemSKILL.md
Incident Postmortem Generator
Purpose
Automatically generate a structured, blameless postmortem document from the context of a resolved incident investigation. Leverages the timeline, root cause analysis, and mitigations already gathered by the SRE Agent.
When to use this skill
- User asks for a postmortem after an incident is resolved
- User asks for an RCA report, incident review, or lessons learned
- Automated trigger after incident resolution (via agent hook)
- User asks "write up what just happened"
Postmortem principles
- Blameless: Focus on systems and processes, never individuals
- Evidence-based: Every claim backed by data (logs, metrics, timeline)
- Action-oriented: Every finding leads to a concrete action item
- Learning-focused: What can we improve systemically?
Generation procedure
Step 1: Gather incident context
From the current conversation and agent memory, extract:
- Incident metadata:
- Incident ID (from PagerDuty/ServiceNow if connected)
- Severity level
- Duration (detection to resolution)
- Affected services and resources
- Impacted users/customers (if known)
- Timeline: Reconstruct from the investigation:
- When did the issue start? (first anomaly in metrics)
- When was it detected? (alert fired)
- When was it acknowledged? (engineer engaged)
- Key investigation milestones
- When was mitigation applied?
- When was full resolution confirmed?
- Root cause: From the agent's RCA:
- What failed?
- Why did it fail?
- Contributing factors
- Mitigation applied: What was done to resolve it?
Step 2: Assess detection and response
Analyze the incident response quality:
- Time to detect (TTD): From issue start to alert firing
- Was this acceptable? Could monitoring have caught it earlier?
- Time to acknowledge (TTA): From alert to human engagement
- Were on-call rotations effective?
- Time to mitigate (TTM): From engagement to mitigation
- Was the runbook adequate? Did the team have the right access?
- Time to resolve (TTR): Total duration
- Compare with SLA/SLO targets
Step 3: Five Whys analysis
Apply the 5 Whys technique to the root cause:
Step 4: Generate action items
For each finding, create a SMART action item:
| ID | Action | Owner | Priority | Due date | Status | |
|---|---|---|---|---|---|---|
| AI-1 | Add memory-based autoscaling to payment-service | Platform team | High | +7 days | Open | |
| AI-2 | Update load test to include sustained connection pool scenarios | QA team | High | +14 days | Open | |
| AI-3 | Add memory utilization alert at 80% threshold | SRE team | Medium | +3 days | Open | |
| AI-4 | Review connection pool settings across all services | Dev team | Medium | +14 days | Open |
Categories:
- Prevent recurrence: Fix the root cause
- Improve detection: Better monitoring/alerting
- Improve response: Better runbooks/automation
- Improve resilience: Architectural improvements
Step 5: Compile the postmortem document
Accepted exceptions (optional)
If the user provides a list of accepted exceptions, do not flag those items. Instead, note them in the report as Accepted Exception with the reason provided.
Example format the user may provide:
| Check | Reason | |
|---|---|---|
| Time to detect | Alert delay was due to a known monitoring gap being addressed in AI-3 | |
| Five Whys depth | Root cause was an external provider outage, further analysis not applicable | |
| Missing runbook | Service is new, runbook creation is tracked in AI-5 |
When exceptions are provided:
- Skip the flagged checks in scoring
- List them in a separate "Accepted Exceptions" section at the end of the report
- Recalculate the overall score excluding excepted checks
Expected output
Report header (mandatory — use this exact format)
Incident Postmortem Report
| Field | Value | |
|---|---|---|
| Subscription | (name + ID) | |
| Incident Date | YYYY-MM-DD | |
| Severity | Sev-X | |
| Duration | Xh Ym | |
| Status | Draft — pending team review |
Postmortem document structure
Delivery
- Output the full document in the chat
- If Teams connector is available, offer to post to the incident channel
- If ServiceNow/PagerDuty is connected, offer to attach to the incident record
- Suggest scheduling a postmortem review meeting
References
- Postmortem Culture: https://learn.microsoft.com/en-us/azure/well-architected/operational-excellence/mitigation-strategy
- Azure Resource Health: https://learn.microsoft.com/en-us/azure/service-health/resource-health-overview
- Activity Log: https://learn.microsoft.com/en-us/azure/azure-monitor/essentials/activity-log
- Service Health: https://learn.microsoft.com/en-us/azure/service-health/overview
Sample output
The following is a redacted example of what the report looks like after an incident is resolved.
Incident Postmortem Report
| Field | Value | |
|---|---|---|
| Subscription | contoso-prod-001 (a1b2c3d4-e5f6-7890-abcd-ef1234567890) | |
| Incident Date | 2026-07-10 | |
| Severity | Sev-2 | |
| Duration | 1h 23m | |
| Status | Draft — pending team review |
Executive summary
The payment-service API returned HTTP 500 errors for 1h 23m due to an OOM-killed pod in AKS cluster aks-app-prod. Root cause was a memory leak in the connection pool introduced in release v2.14.0. Impact: ~340 failed transactions affecting 120 customers.
Timeline (all times UTC)
| Time | Event | |
|---|---|---|
| 14:12 | Memory usage spike detected on payment-service pod | |
| 14:18 | Alert fired: "Pod OOM-killed in aks-app-prod" | |
| 14:22 | On-call engineer acknowledged | |
| 14:35 | Root cause identified: connection pool memory leak | |
| 14:50 | Mitigation applied: rolled back to v2.13.2 | |
| 15:35 | Service fully recovered, error rate at 0% |
Detection & response assessment
| Metric | Value | Target | Assessment | |
|---|---|---|---|---|
| Time to detect | 6m | <5m | ⚠️ | |
| Time to acknowledge | 4m | <15m | ✅ | |
| Time to mitigate | 28m | <30m | ✅ | |
| Time to resolve | 1h 23m | <2h | ✅ |
Action items (sample)
| ID | Action | Owner | Priority | Due | |
|---|---|---|---|---|---|
| AI-1 | Add memory-based HPA to payment-service | Platform team | High | +7 days | |
| AI-2 | Update load test for sustained connection pool scenarios | QA team | High | +14 days | |
| AI-3 | Add memory utilization alert at 80% threshold | SRE team | Medium | +3 days |
Security
- Security scanPassed, 98 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/05-incident-postmortem/SKILL.md
Popularity
- Repository stars
- 70
- Repository forks
- 13
- 7-day trend score
- 21
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/ricmmartins/azure-sre-agent-skills/05-incident-postmortem)