WYRE-AI/msp-claude-plugins/msp-claude-plugins/rootly/rootly/skills/incidents/SKILL.md
Rootly Incidents
Incidents, Rootly's primary resource: the incident lifecycle and status transitions, severity levels, the incident field reference, AI-assisted analysis via find_related_incidents and suggest_solutions, action items, alert attachment, and cross-vendor PSA ticket correlation.
- Source repository stars
- 42
- Declared platforms
- 0
- Static risk flags
- 0
- Last source update
- 2026-08-28
- Source checked
- 2026-08-28
Decision brief
What it does: where it fits
Incidents, Rootly's primary resource: the incident lifecycle and status transitions, severity levels, the incident field reference, AI-assisted analysis via find_related_incidents and suggest_solutions, action items, alert attachment, and cross-vendor PSA ticket correlation.
Not for
- Tasks that require unconfirmed production actions or broad system permissions.
- Environments where the pinned source and install steps cannot be inspected.
Compatibility matrix
Platform support, with evidence labels
| Platform | Status | Evidence | What to check |
|---|---|---|---|
| Codex | Not declared | No explicit evidence | Portability before use |
| Claude Code | Not declared | No explicit evidence | Portability before use |
| Cursor | Not declared | No explicit evidence | Portability before use |
| Gemini CLI | Not declared | No explicit evidence | Portability before use |
Installation
Inspect first. Install second.
The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.
npx skills add https://github.com/WYRE-AI/msp-claude-plugins --skill "msp-claude-plugins/rootly/rootly/skills/incidents"Inspect the Agent Skill "Rootly Incidents" from https://github.com/WYRE-AI/msp-claude-plugins/blob/5005f73ba2f52cd299f58aa6bb79f4e70ae87103/msp-claude-plugins/rootly/rootly/skills/incidents/SKILL.md at commit 5005f73ba2f52cd299f58aa6bb79f4e70ae87103. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.
Workflow
What the source asks the agent to do
- 01
Daily Incident Review
1. Call incidentsget with a 24-hour window and status=resolved 2. Count by severity for a daily health summary 3. Identify incidents that exceeded SLA targets (compare detectedat vs resolvedat) 4. Flag any incidents without postmortem action items for follow-up
Call incidentsget with a 24-hour window and status=resolvedCount by severity for a daily health summaryIdentify incidents that exceeded SLA targets (compare detectedat vs resolvedat) - 02
Anti-triggers
"Incident" names three different objects across this marketplace, and the routing test is what the operator does next: coordinate a response and write it up (this skill), approve a remediation on a compromised endpoint, or answer a customer under an SLA clock.
A confirmed security incident — malware, intrusion, a host toA customer ticket typed "Incident" — ITIL ticket classificationA PagerDuty incident — a different vendor with a different - 03
MCP Tools
Call listendpoints to get the current list of all available API endpoints and tool names from the Rootly OpenAPI specification.
Call listendpoints to get the current list of all available API endpoints and tool names from the Rootly OpenAPI specification. - 04
Core Incident Tools
Review the “Core Incident Tools” section in the pinned source before continuing.
Review and apply the “Core Incident Tools” source section. - 05
AI Analysis Tools
Review the “AI Analysis Tools” section in the pinned source before continuing.
Review and apply the “AI Analysis Tools” source section.
Permission review
Static risk signals and limitations
No configured static risk pattern was detected
This is not proof of safety. Runtime behavior, indirect dependencies, and hidden external systems are outside the static scan.
Evidence record
Why each signal appears
| Signal | Value | Evidence type | Meaning |
|---|---|---|---|
| Quality score | 91/100 | Computed | Documentation, specificity, maintenance, and trust rules |
| Repository stars | 42 | Source | Repository attention, not individual Skill quality |
| Compatibility | 0 platforms | Source | Declared in the catalog source record |
| Usage guide | automated source guide | Editorial | Generated or reviewed according to the visible evidence level |
Pinned source
Provenance and original SKILL.md
- Repository
- WYRE-AI/msp-claude-plugins
- Skill path
- msp-claude-plugins/rootly/rootly/skills/incidents/SKILL.md
- Commit
- 5005f73ba2f52cd299f58aa6bb79f4e70ae87103
- License
- Apache-2.0
- Collected
- 2026-08-28
- Default branch
- main
View the original SKILL.md
Rootly Incident Management
Overview
Incidents are the primary resource in Rootly — the central record for any production issue, outage, or service degradation. Rootly is used by SRE and platform engineering teams to coordinate response in real time and drive continuous improvement via postmortems. In MSP environments, Rootly typically manages internal infrastructure incidents rather than per-client ticketing, but can be configured with team-based routing to support multi-customer workflows.
The incident system supports:
- Automated Detection - Incidents created from monitoring alert integrations (Datadog, PagerDuty, Prometheus, Grafana, Sentry, etc.)
- Manual Creation - On-call engineers and responders create incidents via Slack, web UI, or API
- AI-Assisted Analysis -
find_related_incidentsandsuggest_solutionssurface past patterns and recommendations - Real-Time Coordination - Slack channel auto-creation, Zoom bridges, timeline tracking
- Post-Incident Learning - Automated postmortem generation and action item tracking
All read and write operations on incidents are available through the Rootly MCP tools.
Anti-triggers
"Incident" names three different objects across this marketplace, and the routing test is what the operator does next: coordinate a response and write it up (this skill), approve a remediation on a compromised endpoint, or answer a customer under an SLA clock.
- A confirmed security incident — malware, intrusion, a host to
contain. That object carries a SOC-recommended remediation to approve,
not a response team to assemble; use
huntress-incidents, orsentinelone-alertsfor raw EDR detections. - A customer ticket typed "Incident" — ITIL ticket classification
inside a PSA or helpdesk, where the deliverable is an SLA-timed
response and a billable time entry rather than a war room; use
freshdesk-ticketing,halopsa-tickets,connectwise-psa-tickets, orautotask-tickets. - A PagerDuty incident — a different vendor with a different
lifecycle (
triggered → acknowledged → resolved, notdetected → in_triage → mitigated → resolved → closed); usepagerduty-incidents. - The retrospective written after resolution — postmortem content
and its action items are
rootly-postmortems; this skill covers action items only as live response tasks. - What fired and who it routed to — alert sources, routing rules,
and escalation policies are
rootly-alerts. - A monitoring or uptime incident — an incident opened by a failing
health check, whose deliverable is a status-page update rather than a
response team, is
betterstack-incidents.
MCP Tools
Core Incident Tools
| Tool | Description | Key Parameters |
|---|---|---|
incidents_get | List and search incidents | status, severity, page[number], page[size] |
incidents_post | Create a new incident | title, severity_id, team_ids, service_ids |
incidents_by_incident_id_alerts_post | Attach an alert to an incident | incident_id, alert data |
incidents_by_incident_id_alerts_get | List alerts attached to an incident | incident_id |
incidents_by_incident_id_action_items_post | Create an action item on an incident | incident_id, summary, assignee_id |
incidents_by_incident_id_action_items_get | List action items on an incident | incident_id |
AI Analysis Tools
| Tool | Description | Key Parameters |
|---|---|---|
find_related_incidents | Find historically similar incidents using TF-IDF | query or incident_id |
suggest_solutions | Suggest remediation steps based on past resolutions | incident_id or description |
Supporting Lookups
| Tool | Description |
|---|---|
severities_get | List configured severity levels (ID, slug, color) |
services_get | List services to scope incident to the right owner |
teams_get | List teams for incident assignment and routing |
incident_types_get | List incident types (bug, outage, performance, etc.) |
environments_get | List environments (production, staging, etc.) |
users_get | List users for assignment |
Discover Available Tools
Call list_endpoints to get the current list of all available API endpoints and tool names from the Rootly OpenAPI specification.
Key Concepts
Incident Lifecycle
┌───────────┐ Triage starts ┌────────────┐ Contained ┌───────────┐
│ detected │ ─────────────────> │ in_triage │ ────────────> │ mitigated │
└───────────┘ └────────────┘ └───────────┘
│
Full fix done
▼
┌──────────┐
│ resolved │
└──────────┘
│
PIR complete
▼
┌────────┐
│ closed │
└────────┘
Key lifecycle timestamps on the incident record:
| Timestamp | Meaning |
|---|---|
detected_at | Alert fired or issue first observed |
acknowledged_at | Responder acknowledged the page |
in_triage_at | Active investigation started |
started_at | Response team coordinating |
mitigated_at | Immediate impact contained |
resolved_at | Issue fully resolved |
closed_at | Post-incident review complete |
cancelled_at | False alarm; incident cancelled |
Severity Levels
Severities are configurable per Rootly organization. Common conventions:
| Severity | Typical Name | Description | SLA Target |
|---|---|---|---|
| SEV-1 / Critical | P1 | Complete outage or data loss; business-critical impact | Immediate (15 min) |
| SEV-2 / High | P2 | Major feature degraded; significant user impact | 30 minutes |
| SEV-3 / Medium | P3 | Partial degradation; workaround available | 2 hours |
| SEV-4 / Low | P4 | Minor issue; minimal user impact | Next business day |
Note: Severity IDs are UUIDs in Rootly. Always call
severities_getto map severity slugs to IDs before creating an incident.
Incident Status Values
Rootly uses free-text status descriptors alongside timestamps. Common values:
detected— Newly created, not yet acknowledgedin_triage— Actively being investigatedmitigated— Impact contained, monitoring for recurrenceresolved— Issue fixed, normal operation restoredcancelled— False alarm or invalid incident
Field Reference
| Field | Type | Description |
|---|---|---|
id | string | UUID of the incident |
sequential_id | integer | Human-readable incident number (e.g., INC-342) |
title | string | Short summary of the incident |
summary | string | Detailed description of impact and current status |
status | string | Current lifecycle status |
severity | object | Severity record with slug, color, description |
services | array | Affected services |
environments | array | Affected environments (production, staging) |
teams | array | Teams assigned to respond |
labels | array | Custom tags for filtering and reporting |
started_at | datetime | When the incident started |
resolved_at | datetime | When the incident was resolved (null if open) |
slack_channel_id | string | Auto-created Slack channel for coordination |
url | string | Web UI link to the incident |
Common Workflows
Triage New Incidents
- Call
incidents_getwithstatus=in_triageorstatus=detected, sorted by severity - For each high-severity incident, review title and summary
- Call
find_related_incidentswith theincident_idto surface similar past incidents - Call
suggest_solutionswith theincident_idto get AI-generated remediation suggestions - Create action items via
incidents_by_incident_id_action_items_postfor each remediation step - Update status as the incident progresses
Create an Incident
- Call
severities_getto find the correct severity ID for the impact level - Call
services_getto identify which service is affected - Call
teams_getto find the on-call team to assign - Call
incidents_postwithtitle,severity_id,service_ids,team_ids - Attach any triggering alerts via
incidents_by_incident_id_alerts_post
Investigate a Specific Incident
- Find the incident via
incidents_getor bysequential_id - Call
find_related_incidents— look for recurring patterns (same service, same time of day, same symptoms) - Call
suggest_solutions— surface past resolutions that worked for similar incidents - Review action items via
incidents_by_incident_id_action_items_get - Review attached alerts via
incidents_by_incident_id_alerts_get
Daily Incident Review
- Call
incidents_getwith a 24-hour window andstatus=resolved - Count by severity for a daily health summary
- Identify incidents that exceeded SLA targets (compare
detected_atvsresolved_at) - Flag any incidents without postmortem action items for follow-up
Cross-Vendor PSA Ticket Correlation
Rootly incidents often correspond to PSA service tickets for MSP billing:
- When an incident is created or resolved, create a matching ticket in your PSA (ConnectWise, HaloPSA, Autotask, etc.)
- Include the Rootly
sequential_id(e.g., INC-342) andurlin the PSA ticket body - Map Rootly severity → PSA priority: SEV-1 → Critical, SEV-2 → High, SEV-3 → Medium, SEV-4 → Low
- When the Rootly incident resolves, update the PSA ticket with resolution summary from
summary - Use action items as sub-tasks in the PSA ticket for follow-up work
On-Call Handoff Summary
Before handing off to the next on-call engineer:
- Call
get_oncall_handoff_summaryto see current and next on-call status plus open incidents - Call
incidents_getwithstatus=in_triageto review any actively open incidents - Add handoff notes as action items on open incidents
- See the oncall skill for full on-call workflows
Error Handling
Common Errors
| Error | HTTP Code | Resolution |
|---|---|---|
| Invalid API token | 401 | Regenerate at Account > Manage API Keys |
| Insufficient permissions | 403 | Token may be Team-scoped; use an Account or Global token |
| Incident not found | 404 | Verify incident_id; use incidents_get to list active incidents |
| Severity ID invalid | 422 | Call severities_get to get valid IDs before creating |
| Rate limited | 429 | Back off 30 seconds; retry with exponential backoff |
Authentication Error
401 Unauthorized
Verify your Rootly API token:
- Generate at Account > Manage API Keys
- Token type: Global (full access) or Team (limited to team resources)
- Pass as: Authorization: Bearer <token>
Best Practices
- Use AI analysis first — Always call
find_related_incidentsandsuggest_solutionsbefore manual investigation - Track action items — Every resolved incident should have at least one follow-up action item
- Attach alerts — Link the triggering alert to the incident for audit trail completeness
- Scope to the right team — Include
team_idswhen creating incidents so on-call routing works correctly - Map severity consistently — Use
severities_getto confirm slug-to-ID mapping rather than hardcoding - Use sequential IDs in external tools — Reference
INC-{sequential_id}in PSA tickets and Slack - Check on-call health — Use
check_oncall_health_riskbefore major deployments or planned maintenance
Related Skills
- On-Call Management — On-call schedules, handoffs, shift metrics
- API Patterns — Auth, pagination, all available tools
Frequently asked questions
What to verify before installation and use
What does the Rootly Incidents source document cover?
Incidents, Rootly's primary resource: the incident lifecycle and status transitions, severity levels, the incident field reference, AI-assisted analysis via find_related_incidents and suggest_solutions, action items, alert attachment, and cross-vendor PSA ticket correlation.
How do I install Rootly Incidents?
The source record exposes this install command: npx skills add https://github.com/WYRE-AI/msp-claude-plugins --skill "msp-claude-plugins/rootly/rootly/skills/incidents". Inspect the command and pinned source before running it.
Alternatives
Compare before choosing
alirezarezvani/claude-skills
app-store-optimization
App Store Optimization (ASO) toolkit for researching keywords, analyzing competitor rankings, generating metadata suggestions, and improving app visibility on Apple App Store and Google Play Store. Use when the user asks about ASO, app store rankings, app metadata, app titles and descriptions, app store listings, app visibility, or mobile app marketing on iOS or Android. Supports keyword research and scoring, competitor keyword analysis, metadata optimization, A/B test planning, launch checklist
wanshuiyin/Auto-claude-code-research-in-sleep
citation-audit
Use it for operations and research tasks; the detail page covers purpose, installation, and practical steps.
prowler-cloud/prowler
postgresql-indexing
PostgreSQL indexing best practices for Prowler: index design, partial indexes, partitioned table indexing, EXPLAIN ANALYZE validation, concurrent operations, monitoring, and maintenance. Trigger: When creating or modifying PostgreSQL indexes, analyzing query performance with EXPLAIN, debugging slow queries, reviewing index usage statistics, reindexing, dropping indexes, or working with partitioned table indexes. Also trigger when discussing index strategies, partial indexes, or index maintenance
brucesongs/kali-claw
insecure-design
Insecure Design (OWASP A06:2025) focuses on security flaws in system architecture and design phases, rather than code implementation-level bugs.