Skip to content
Back to skills

Incident Retrospective

ASecurity

Create an automation that drafts incident retrospectives. Gathers incident-channel messages from Slack, collects linked tickets and follow-ups from Linear, and publishes a retrospective draft to Notion with a timeline, impact summary, root-cause hypotheses, and action items.

  • 151 stars
  • 0 votes
  • 0 copies
  • 3 views
  • Added June 5, 2026
toolsbashapidatabasebackend

Works with

  • api
  • mcp

Security analysis

A100/100

Pro scans all 4 files and shows the line behind each finding

Scanned June 5, 2026

npx -y skills add OpenHands/extensions --skill incident-retrospective --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Incident Retrospective?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Incident Retrospective
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/openhands-incident-retrospective/badge)](https://www.skillsdirectory.com/skills/openhands-incident-retrospective)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: incident-retrospective
description: >
  Create an automation that drafts incident retrospectives. Gathers
  incident-channel messages from Slack, collects linked tickets and follow-ups
  from Linear, and publishes a retrospective draft to Notion with a timeline,
  impact summary, root-cause hypotheses, and action items.
triggers:
  - /incident-retro:setup
---

# Incident Retrospective Drafter Automation

Set up an automation that drafts incident retrospectives by pulling data from
Slack, Linear, and Notion.

---

## Prerequisites

### Required integrations

All three MCP integrations must be installed in Settings → MCP:

- **Slack MCP** — to gather incident-channel messages
- **Linear MCP** — to collect linked tickets and follow-ups
- **Notion MCP** — to publish the retrospective draft

### Information to collect

Ask the user for:

1. **Incident identification** — how are incidents identified? (e.g. Slack channel naming convention like `#inc-*`, a Linear label, or manual trigger)
2. **Slack channels** — which channels contain incident chatter (e.g. `#incidents`, `#inc-*` pattern)
3. **Linear teams** — which Linear teams/projects to inspect for follow-up tickets
4. **Retrospective template** — what sections should the retro include? Default: Timeline, Impact, Root Cause, Action Items, Lessons Learned
5. **Notion destination** — which Notion database or page should receive the draft
6. **Trigger type** — manual dispatch, cron schedule, or triggered by an incident label being added

---

## Setup Workflow

### Step 1 — Verify MCP access

Test each integration:
```
Use the Slack MCP to list recent messages in an incident channel.
Use the Linear MCP to list recent issues for the target team.
Use the Notion MCP to search for the destination database.
```

If any fail, tell the user which integration needs to be installed first.

### Step 2 — Determine trigger type

Ask the user how retros should be triggered:
- **Manual** — dispatch from the automations page when an incident wraps up
- **Cron** — run daily/weekly to check for recent incidents
- **Event** — triggered by a Linear label change or Slack message

### Step 3 — Build the retro prompt

Construct a prompt that includes:
- How to identify the incident (channel pattern, label, etc.)
- Which Slack channels and Linear teams to query
- The retrospective template/sections
- Where to publish in Notion

### Step 4 — Create the automation

Read the Automation backend URL and auth from `<RUNTIME_SERVICES>`:
- Use the **Automation backend** `url_from_agent` as `OPENHANDS_HOST`
- Auth: `X-Session-API-Key: $OPENHANDS_AUTOMATION_API_KEY`

Use the **prompt preset** endpoint:
```bash
curl -s -X POST "${OPENHANDS_HOST}/api/automation/v1/preset/prompt" \
  -H "X-Session-API-Key: $OPENHANDS_AUTOMATION_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Incident Retrospective Drafter",
    "prompt": "<constructed retro prompt>",
    "trigger": <trigger config from step 2>
  }'
```

### Step 5 — Confirm

Tell the user:
> ✅ **Incident Retrospective Drafter** is running!
>
> - Automation ID: `{id}`
> - Incident source: `{identification method}`
> - Slack channels: `{channels}`
> - Linear teams: `{teams}`
> - Notion destination: `{destination}`
> - Trigger: `{trigger description}`

Files in this skill

  • .plugin/plugin.json698 B
  • README.md889 B
  • SKILL.md3.3 KB
  • commands/incident-retro:setup.md447 B

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…