Skip to content

feat: add incident-commander plugin with /create-postmortem command#28

Merged
Matovidlo merged 5 commits intomainfrom
devin/1765460593-create-postmortem-command
Jan 21, 2026
Merged

feat: add incident-commander plugin with /create-postmortem command#28
Matovidlo merged 5 commits intomainfrom
devin/1765460593-create-postmortem-command

Conversation

@Matovidlo
Copy link
Copy Markdown
Contributor

@Matovidlo Matovidlo commented Dec 11, 2025

Summary

Adds a new Incident Commander plugin with a /create-postmortem slash command that automates incident post-mortem creation. The command gathers incident information from a Slack channel and creates a structured post-mortem document in Confluence based on a template.

Key changes:

  • Created new plugins/incident-commander/ plugin structure (separate from developer plugin)
  • Added comprehensive /create-postmortem command with detailed section-by-section instructions
  • Added MCP Server Setup section to main README with Atlassian and Slack configuration
  • Plugin includes Atlassian MCP pre-configured in plugin.json

The command acts as a senior engineer helping an incident commander and:

  • Reads complete Slack channel history including all threads
  • Fetches the post-mortem template from Confluence (template pageID: 3568304146)
  • Creates/finds year directories under parent page (pageID: 3568009242)
  • Generates structured post-mortem with: Overview, Impact, Timeline, Action Items, Responders, etc.
  • Uses Europe/Prague timezone by default
  • Asks for clarification when information is missing

Prerequisites for users:

  • Atlassian MCP configured (for Confluence)
  • Slack MCP configured (for reading channel messages)

Updates since last revision

  • Created new incident-commander plugin - Moved /create-postmortem out of developer plugin into its own dedicated plugin
  • Expanded command instructions with detailed guidance for each post-mortem section:
    • Overview, What Can We Learn, What Happened, Impact, Responders, Timeline
    • What Went Well, What Didn't Go So Well, Action Items, Messaging, Runbooks
  • Updated Confluence page IDs: Parent page 3568009242, Template 3568304146
  • Changed timezone from UTC to Europe/Prague (configurable)
  • Added plugin README with configuration table and best practices

Review & Testing Checklist for Human

  • Verify Confluence page IDs - Parent page 3568009242 and template 3568304146 must exist and be accessible
  • Verify Atlassian MCP URL - Confirm https://mcp.atlassian.com/v1/sse is the correct endpoint
  • Test Slack token extraction steps - Follow the browser instructions to extract XOXD/XOXC tokens
  • Verify Slack MCP tool names - The command assumes tools like mcp__slack__list_channels exist
  • Verify post-mortem template structure - The detailed section instructions should match your actual Confluence template headings

Recommended test plan:

  1. Install the incident-commander plugin: /plugin install incident-commander
  2. Run claude mcp add --transport sse atlassian https://mcp.atlassian.com/v1/sse
  3. Run /mcp to authenticate with Atlassian
  4. Extract Slack tokens from browser following the README instructions
  5. Run the Slack MCP setup command with your tokens:
    claude mcp add --transport stdio slack-mcp-server \
      --env SLACK_MCP_XOXC_TOKEN=<your-xoxc-token> \
      --env SLACK_MCP_XOXD_TOKEN=<your-xoxd-token> \
      -- npx -y slack-mcp-server
  6. Run /mcp to verify Slack MCP is working
  7. Create a test incident channel with some messages
  8. Run /create-postmortem <test-channel-name>
  9. Verify the post-mortem is created in Confluence with correct structure

Notes

  • The Confluence page IDs are organization-specific defaults that users should update for their own setup
  • The Slack token extraction instructions are browser-specific (Chrome/Firefox) and may need updates if Slack changes their web app
  • The post-mortem section instructions are detailed but may need adjustment to match your actual Confluence template structure
  • Generated post-mortems are a starting point - human review is essential before finalizing
  • Timezone defaults to Europe/Prague; update in the command for other organizations

Link to Devin run: https://app.devin.ai/sessions/d04a77c2722c4fa8af64b0476ceed2b5
Requested by: Martin Vasko (@Matovidlo)

- Add new command that creates Confluence postmortem from Slack channel
- Uses Atlassian MCP for Confluence operations (read template, create pages)
- Uses Slack MCP for gathering incident information
- Generates structured postmortem with timeline, action items, responders
- Formats timestamps in UTC
- Creates year directories automatically if needed
- Update README with command documentation

Co-Authored-By: Martin Vasko <Matovidlo2@gmail.com>
@devin-ai-integration
Copy link
Copy Markdown
Contributor

devin-ai-integration Bot commented Dec 11, 2025

🤖 Devin AI Engineer

I'll be helping with this pull request! Here's what you should know:

✅ I will automatically:

  • Address comments on this PR. Add '(aside)' to your comment to have me ignore it.
  • Look at CI failures and help fix them

⚙️ Control Options:

  • Disable automatic comment and CI monitoring

devin-ai-integration Bot and others added 2 commits December 11, 2025 14:59
- Add MCP Server Setup section to main README
- Include Atlassian MCP setup command for Confluence/Jira
- Add troubleshooting guide for MCP tools availability
- Reference /mcp command for authentication

Co-Authored-By: Martin Vasko <Matovidlo2@gmail.com>
- Add Slack MCP section with npx stdio transport setup
- Include step-by-step guide for extracting XOXD and XOXC tokens from browser
- Reference /mcp command for verification

Co-Authored-By: Martin Vasko <Matovidlo2@gmail.com>
Comment thread README.md Outdated
- Use slack-mcp-server package name
- Add --env flags for XOXC and XOXD tokens
- Update instructions to replace placeholder tokens

Co-Authored-By: Martin Vasko <Matovidlo2@gmail.com>
@Matovidlo Matovidlo marked this pull request as ready for review December 12, 2025 09:51
@jordanrburger
Copy link
Copy Markdown
Collaborator

Do we want this in here considering it will be a public repo?

@Matovidlo
Copy link
Copy Markdown
Contributor Author

Matovidlo commented Dec 16, 2025

@jordanrburger That's what I was fighting a bit with. We have developer role there, we use it in our own prompts. I am open to create new role and put it there, just it will need user to switch between roles. Or We would need to create another repo with private commands that are handy for us not just our customers.
@ujovlado WDYT?

Copy link
Copy Markdown
Contributor

It is a showcase what we can do. I would vote for renaming to to Keboola Developer … or group somehow to "keboola internal". If it will interfere with other tools (I mean if this one will be decreasing quality of others), then we should separate it.

Copy link
Copy Markdown
Contributor

Otherwise I am ok to have it there. 😉

- Add new incident-commander plugin with comprehensive post-mortem workflow
- Move create-postmortem command from developer plugin to incident-commander
- Update command with detailed instructions for each post-mortem section
- Add plugin.json with Atlassian MCP configuration
- Add plugin README with setup and usage documentation
- Update main README to include incident-commander plugin
- Remove create-postmortem from developer plugin

Co-Authored-By: Martin Vasko <Matovidlo2@gmail.com>
@devin-ai-integration devin-ai-integration Bot changed the title feat: add /create-postmortem command for incident postmortem creation feat: add incident-commander plugin with /create-postmortem command Dec 17, 2025
@Matovidlo Matovidlo merged commit fcc7a66 into main Jan 21, 2026
@Matovidlo Matovidlo deleted the devin/1765460593-create-postmortem-command branch January 21, 2026 14:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants