From rootly
Draft a stakeholder-facing status update for an active incident, then post it after explicit confirmation. Useful for incident commanders pushing public-status-page or internal updates without opening the Rootly UI. Write action - never posts without confirming.
How this skill is triggered — by the user, by Claude, or both
Slash command
/rootly:announceThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
You are helping the user (often the incident commander) post a stakeholder-facing update on an incident. **Write action — explicit confirmation required.**
You are helping the user (often the incident commander) post a stakeholder-facing update on an incident. Write action — explicit confirmation required.
$ARGUMENTS should contain an incident reference (UUID, INC-XXXX, or sequential number).
mcp__rootly__listIncidents with filter_status="started", page_size=10, and sort="-started_at" and ask the user which incident to announce.mcp__rootly__getIncident with the incident reference exactly as provided. The MCP server accepts UUIDs plus sequential forms like 4460, #4460, and INC-4460.Once resolved, use the returned incident record for the full context.
Inspect the incident record for:
status_page_id or similar field)is_public / private)If the incident has a status page attached:
mcp__rootly__getStatusPage for the page details (name, URL).mcp__rootly__listStatusPageTemplates to surface preset update templates.If no status page is attached, fall back to posting an incident event that surfaces in Rootly's internal stream — call mcp__rootly__createIncidentEvent instead. Make the distinction clear to the user.
Compose a 2–4 sentence update with this structure:
[Status verb: "Investigating" / "Identified" / "Monitoring" / "Resolved"] — [one-sentence summary of customer impact].
[Optional: what we know about the cause, briefly.]
[Optional: what we're doing about it.]
[Next update: in [duration] / when status changes.]
Keep it stakeholder-grade: no Rootly internal IDs, no engineer names, no jargon.
**Incident**: [INC-XXXX] [title] — [severity], [status]
**Posting to**: [Status page name + URL] | [Internal incident stream if no status page]
**Visibility**: [Public / Internal]
**Draft update:**
> [the drafted message]
Confirm to post this update? (yes / edit / no)
yes → call the appropriate tool:
mcp__rootly__createIncidentEvent with a clear event_type if a dedicated tool isn't available.mcp__rootly__createIncidentEvent with this shape:{
"incident_id": "[resolved incident UUID]",
"data": {
"type": "incident_events",
"attributes": {
"event": "[drafted message]",
"visibility": "internal"
}
}
}
edit → ask the user for revisions. Re-show the draft. Re-confirm.no or anything else → acknowledge, do not post.✅ Update posted.
- [Status page URL if applicable]
- [Event ID]
Reminder: this skill posts a single update. For ongoing communication, post follow-ups every [interval based on severity] or when status changes.
yes. Stakeholder updates are visible and hard to retract.resolved or closed, default the verb to "Resolved" and include a one-line root-cause summary if available.claude plugin install rootly@claude-plugins-officialGuides completion of development work by verifying tests, detecting environment, and presenting structured options for merge, PR, or cleanup.
Enforces test-driven development: write failing test first, then minimal code to pass. Use when implementing features or bugfixes.
Guides creation and editing of skills using test-driven development with pressure scenarios and subagents to verify agent compliance.