Best for
- Reach for this CLI when you are operating Rootly from a terminal or an agent loop: declaring and updating incidents, checking who is on call across services, computing reliability analytics for a review, or gating a dep…
Servosity/msp-skills/skills/rootly/SKILL.md
Every Rootly incident, alert, and on-call object as a typed command, with a local SQLite mirror for offline analytics. Trigger phrases: `who is on call right now`, `find incidents similar to this one`, `what fixed this service last time`, `compute MTTR by service`, `find on-call coverage gaps`, `use rootly`, `run rootly`.
Decision brief
Every Rootly incident, alert, and on-call object as a typed command, with a local SQLite mirror for offline analytics. Trigger phrases: `who is on call right now`, `find incidents similar to this one`, `what fixed this service last time`, `compute MTTR by service`, `find on-call coverage gaps`, `use rootly`, `run rootly`.
Compatibility matrix
| 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
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/Servosity/msp-skills --skill "skills/rootly"Inspect the Agent Skill "rootly" from https://github.com/Servosity/msp-skills/blob/30e109db0872897de0b88adb38d81d4c292da3ae/skills/rootly/SKILL.md at commit 30e109db0872897de0b88adb38d81d4c292da3ae. 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
Emit a per-service scorecard (incidents, MTTR, open action items, on-call, SLA) for the whole portfolio in one pass.
Set a Rootly API key as ROOTLYAPIKEY (the same variable the official rootly-cli uses; ROOTLYAPITOKEN is also accepted). Keys come in Global, Team, and Personal scopes from your Rootly account settings; the CLI sends it as a Bearer token over JSON:API. No tenant or org id is need…
This skill drives the rootly-cli binary. You must verify the CLI is installed before invoking any command from this skill. If it is missing, install it first:
Reach for this CLI when you are operating Rootly from a terminal or an agent loop: declaring and updating incidents, checking who is on call across services, computing reliability analytics for a review, or gating a deploy on incident state. It is the right tool when you want of…
Do not use this CLI for: - Do not use this CLI to drive the Rootly web UI (Slack-channel creation, Zoom bridges, status-page theming) - those are UI/integration workflows the API does not expose as commands. - Do not use the 17 analytics commands (related, mttr, oncall-now, ...)…
Permission review
The documentation asks the agent to run terminal commands or scripts.
npx -y @mvanhorn/printing-press-library install rootly --cli-onlyThe documentation asks the agent to run terminal commands or scripts.
go install github.com/mvanhorn/printing-press-library/library/monitoring/rootly/cmd/rootly-cli@latestThe documentation includes sending, uploading, or posting data to a remote service.
`rootly-cli webhooks create-endpoint` - Creates a new webhook endpoint from provided dataThe documentation includes network, browsing, or remote request actions.
`rootly-cli webhooks create-endpoint` - Creates a new webhook endpoint from provided dataThe documentation includes sending, uploading, or posting data to a remote service.
| `webhook:<url>` | POST the output body to the URL (`application/json` or `application/x-ndjson` when `--compact`) |The documentation includes network, browsing, or remote request actions.
| `webhook:<url>` | POST the output body to the URL (`application/json` or `application/x-ndjson` when `--compact`) |Evidence record
| Signal | Value | Evidence type | Meaning |
|---|---|---|---|
| Quality score | 83/100 | Computed | Documentation, specificity, maintenance, and trust rules |
| Repository stars | 15 | 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
This skill drives the rootly-cli binary. You must verify the CLI is installed before invoking any command from this skill. If it is missing, install it first:
$HOME/.local/bin on macOS/Linux and %LOCALAPPDATA%\Programs\PrintingPress\bin on Windows:
npx -y @mvanhorn/printing-press-library install rootly --cli-only
rootly-cli --version$PATH for the agent/runtime that will invoke this skill.If the npx install fails (no Node, offline, etc.), fall back to a direct Go install (requires Go 1.26.4 or newer). This installs into $GOPATH/bin (default $HOME/go/bin), so add that directory to $PATH instead:
go install github.com/mvanhorn/printing-press-library/library/monitoring/rootly/cmd/rootly-cli@latest
If --version reports "command not found" after install, the runtime cannot see the binary directory on $PATH. Do not proceed with skill commands until verification succeeds.
The official rootly-cli exposes a handful of resource groups; Rootly's API has ~98. This CLI types the entire surface, then adds what no Rootly tool has: a local SQLite mirror powering offline incident-similarity (related), solution-mining (fixed-last-time), MTTR/MTTA analytics (mttr), service scorecards (service-health), and cross-schedule coverage-gap detection (coverage-gaps) - the same agentic capabilities the AI-Labs MCP server reaches a remote service to compute, here for free in your terminal.
Reach for this CLI when you are operating Rootly from a terminal or an agent loop: declaring and updating incidents, checking who is on call across services, computing reliability analytics for a review, or gating a deploy on incident state. It is the right tool when you want offline, composable answers (pipe to jq, gate on exit codes) instead of clicking through the Rootly web UI, and especially when an MSP-style portfolio of many services makes per-service browsing impractical.
Do not use this CLI for:
These capabilities aren't available in any other tool for this API.
related - Find the past incidents most similar to a given one, ranked, so you can see how this class of problem played out before.
Reach for this during triage when a symptom feels familiar - it surfaces prior incidents and their resolutions without a remote ML round-trip.
rootly-cli related INC-1234 --agent --limit 5
war-room - One screen for an active incident: header, severity/status, full timeline, open action items, the on-call for the affected service, and the next escalation rung.
Use at the top of an incident to get full situational context in one command instead of five browser tabs.
rootly-cli war-room INC-1234 --agent
fixed-last-time - Mine the resolution notes and action items from a service's past incidents to surface what actually resolved this class of problem.
Pick this when an alert smells like a repeat - it answers 'what did we do last time' from history instead of guesswork.
rootly-cli fixed-last-time <service-or-query> --agent --limit 10
postmortem-skeleton - Emit a paste-ready post-mortem markdown skeleton for an incident: timeline, action items, severity, duration, and affected services.
Use at the start of a retrospective to skip the copy-paste assembly and go straight to analysis.
rootly-cli postmortem-skeleton INC-1234
action-items-overdue - List every open or overdue incident action item across all incidents, grouped by owner or team, with incident, severity, and age.
Reach for this in the weekly review to see which post-incident commitments are slipping and who owns them.
rootly-cli action-items-overdue --group-by owner --agent
digest - Time-windowed rollup of everything that moved since a timestamp: incidents opened/resolved, severity changes, new action items, alerts fired.
Reach for this after time away or before standup for a portfolio-wide what-moved rollup; use handoff for shift-scoped summaries.
rootly-cli digest --since 24h --agent
coverage-gaps - Scan every on-call schedule for unstaffed windows over the next N days so you catch holiday and weekend gaps before a page is missed.
Run this on Monday (or in CI) to find on-call holes proactively rather than after someone misses an alert.
rootly-cli coverage-gaps --days 14 --agent
oncall-now - Show who is on call right now across every schedule and service in one table, escalation tier included.
Use when a page fires and you need to know who is responsible across all services without opening each schedule.
rootly-cli oncall-now --agent
handoff - End-of-shift summary: incidents opened, closed, and still open during the outgoing shift window, plus open action items and severity mix.
Run at shift change so the next on-call inherits an accurate picture instead of a retyped-from-memory note.
rootly-cli handoff --schedule primary-oncall --agent
oncall-load - Rank people by on-call hours and pages received across every schedule, so uneven rotations and burnout risk surface before someone quits.
Reach for this when asked who is overloaded, whether the rotation is fair, or who absorbed the most pages this month.
rootly-cli oncall-load --days 30 --agent
escalation-trace - Print the full ordered escalation ladder for a service or incident - every rung, the policy it comes from, who currently sits at each level, and the delay before the next page.
Reach for this during a page to answer 'who is next if nobody acks' without walking four API objects by hand.
rootly-cli escalation-trace --service checkout-api --agent
mttr - Compute mean time to acknowledge and resolve from incident timestamps, grouped by service, team, or severity, with optional volume counts.
Use for the weekly reliability review or to quantify whether a service is trending worse over time.
rootly-cli mttr --by service --since 30d --agent
service-health - Per-service scorecard: incident count, MTTR, last incident, open action items, current on-call, and SLA status in one row.
Pull this before a deploy or during a portfolio review to judge a service's health at a glance.
rootly-cli service-health <service> --agent
sla-breach - List incidents that have breached or are about to breach their SLA target, sorted by time remaining, with a non-zero exit when any active breach exists.
Reach for this to gate dashboards or escalations on real SLA risk; exit code makes it pipeline-wireable.
rootly-cli sla-breach --within 2h --agent
deploy-guard - Pre-deploy gate for a service: checks for an open incident, confirms someone is on call, and flags recent flakiness, returning a non-zero exit code when it is unsafe to ship.
Wire into a deploy script so a risky push is blocked when the target service is mid-incident or has no on-call coverage.
rootly-cli deploy-guard <service> --within 7d
config-diff - Diff the current synced Rootly config (services, escalation policies, workflows, severities, schedules) against the last saved snapshot to see what was added, removed, or changed - 'config-diff --save' records the baseline.
Reach for this when auditing whether live Rootly config drifted from what config-as-code thinks it manages.
rootly-cli config-diff --agent
alert-noise - Rank alert sources and services by alert volume, repeat-fire rate, and how many alerts never became incidents - the signal-to-noise view that finds a flapping integration.
Reach for this when on-call is drowning: it names the noisiest source and the alerts that never become real incidents.
rootly-cli alert-noise --days 14 --agent
action-items - Manage action items
rootly-cli action-items delete-incident - Delete a specific incident action item by idrootly-cli action-items get-incident - Retrieves a specific incident_action_item by idrootly-cli action-items list-all-incident - List all action items for an organizationrootly-cli action-items update-incident - Update a specific incident action item by idalert-events - Manage alert events
rootly-cli alert-events delete - Deletes a specific alert event. Only alert events with kind 'note' (user-created notes) can be deleted.rootly-cli alert-events get - Retrieves a specific alert_event by idrootly-cli alert-events update - Updates a specific alert event. Only alert events with kind 'note' (user-created notes) can be updated.alert-fields - Manage alert fields
rootly-cli alert-fields create - Creates a new alert field from provided datarootly-cli alert-fields delete - Delete a specific alert field by idrootly-cli alert-fields get - Retrieves a specific alert field by idrootly-cli alert-fields list - List alert fieldsrootly-cli alert-fields update - Update a specific alert field by idalert-groups - Manage alert groups
rootly-cli alert-groups create - Creates a new alert group.rootly-cli alert-groups delete - Delete a specific alert group by idrootly-cli alert-groups get - Retrieves a specific alert group by idrootly-cli alert-groups list - List alert groupsrootly-cli alert-groups update - Update a specific alert group by id.alert-routes - Manage alert routes
rootly-cli alert-routes create - Creates a new alert route from provided data. **Note: This endpoint requires access to Advanced Alert Routing.rootly-cli alert-routes delete - Delete a specific alert route by id. **Note: This endpoint requires access to Advanced Alert Routing.rootly-cli alert-routes get - Get a specific alert route by id. **Note: This endpoint requires access to Advanced Alert Routing.rootly-cli alert-routes list - List all alert routes for the current team with filtering and pagination.rootly-cli alert-routes patch - Updates an alert route. **Note: This endpoint requires access to Advanced Alert Routing.rootly-cli alert-routes update - Update a specific alert route by id. **Note: This endpoint requires access to Advanced Alert Routing.alert-routing-rules - Manage alert routing rules
rootly-cli alert-routing-rules create - Creates a new alert routing rule from provided data.rootly-cli alert-routing-rules delete - Delete a specific alert routing rule by id.rootly-cli alert-routing-rules get - Retrieves a specific alert routing rule by id.rootly-cli alert-routing-rules list - List alert routing rules.rootly-cli alert-routing-rules update - Update a specific alert routing rule by id.alert-sources - Manage alert sources
rootly-cli alert-sources create-alerts-source - Creates a new alert source from provided datarootly-cli alert-sources delete-alerts-source - Delete a specific alert source by idrootly-cli alert-sources get-alerts-source - Retrieves a specific alert source by idrootly-cli alert-sources list-alerts-sources - List alert sourcesrootly-cli alert-sources update-alerts-source - Update a specific alert source by idalert-urgencies - Manage alert urgencies
rootly-cli alert-urgencies create-alert-urgency - Creates a new alert urgency from provided datarootly-cli alert-urgencies delete-alert-urgency - Delete a specific alert urgency by idrootly-cli alert-urgencies get-alert-urgency - Retrieves a specific alert urgency by idrootly-cli alert-urgencies list - List alert urgenciesrootly-cli alert-urgencies update-alert-urgency - Update a specific alert urgency by idalerts - Manage alerts
rootly-cli alerts create - Creates a new alert from provided datarootly-cli alerts get - Retrieves a specific alert by idrootly-cli alerts list - List alertsrootly-cli alerts update - Updates an alertapi-keys - Manage api keys
rootly-cli api-keys create - Creates a new API key and returns it with the plaintext token.rootly-cli api-keys delete - Revoke an API key. The key is immediately invalidated and can no longer be used for authentication.rootly-cli api-keys get - Retrieves a specific API key by its UUID.rootly-cli api-keys list - List API keys for the current organization.rootly-cli api-keys update - Update an API key's mutable attributes: name, description, and expires_at.audits - Manage audits
rootly-cli audits - List auditsauthorizations - Manage authorizations
rootly-cli authorizations create - Creates a new authorization from provided datarootly-cli authorizations delete - Delete a specific authorization by idrootly-cli authorizations get - Retrieves a specific authorization by idrootly-cli authorizations list - List authorizationsrootly-cli authorizations update - Update a specific authorization by idcatalog-checklist-templates - Manage catalog checklist templates
rootly-cli catalog-checklist-templates create - Creates a new catalog checklist templaterootly-cli catalog-checklist-templates delete - Delete a specific catalog checklist template by idrootly-cli catalog-checklist-templates get - Retrieves a specific catalog checklist template by idrootly-cli catalog-checklist-templates list - List catalog checklist templatesrootly-cli catalog-checklist-templates update - Update a specific catalog checklist template by idcatalog-entities - Manage catalog entities
rootly-cli catalog-entities delete-catalog-entity - Delete a specific Catalog Entity by idrootly-cli catalog-entities get-catalog-entity - Retrieves a specific Catalog Entity by idrootly-cli catalog-entities update-catalog-entity - Update a specific Catalog Entity by idcatalog-entity-checklists - Manage catalog entity checklists
rootly-cli catalog-entity-checklists get - Retrieves a specific catalog entity checklist by idrootly-cli catalog-entity-checklists list - List catalog entity checklistscatalog-entity-properties - Manage catalog entity properties
rootly-cli catalog-entity-properties delete-catalog-entity-property - Deprecated: This endpoint is deprecatedrootly-cli catalog-entity-properties get-catalog-entity-property - Deprecated: This endpoint is deprecatedrootly-cli catalog-entity-properties update-catalog-entity-property - Deprecated: This endpoint is deprecatedcatalog-properties - Manage catalog properties
rootly-cli catalog-properties delete-catalog-property - Delete a specific catalog_property by id - returns catalog_properties typerootly-cli catalog-properties get-catalog-property - Retrieves a specific Catalog Property by id - returns catalog_properties typerootly-cli catalog-properties update-catalog-property - Update a specific catalog_property by id - returns catalog_properties typecatalogs - Manage catalogs
rootly-cli catalogs create - Creates a new catalog from provided datarootly-cli catalogs delete - Delete a specific catalog by idrootly-cli catalogs get - Retrieves a specific catalog by idrootly-cli catalogs list - List catalogsrootly-cli catalogs update - Update a specific catalog by idcauses - Manage causes
rootly-cli causes create - Creates a new cause from provided datarootly-cli causes create-catalog-property - Creates a new Catalog Property from provided datarootly-cli causes delete - Delete a specific cause by idrootly-cli causes get - Retrieves a specific cause by idrootly-cli causes list - List causesrootly-cli causes list-catalog-properties - List Cause Catalog Propertiesrootly-cli causes update - Update a specific cause by idcommunications - Manage communications
rootly-cli communications create-group - Creates a new communications group from provided datarootly-cli communications create-stage - Creates a new communications stage from provided datarootly-cli communications create-template - Creates a new communications template from provided datarootly-cli communications create-type - Creates a new communications type from provided datarootly-cli communications delete-group - Deletes a communications grouprootly-cli communications delete-stage - Deletes a communications stagerootly-cli communications delete-template - Deletes a communications templaterootly-cli communications delete-type - Deletes a communications typerootly-cli communications get-group - Shows details of a communications grouprootly-cli communications get-stage - Shows details of a communications stagerootly-cli communications get-template - Shows details of a communications templaterootly-cli communications get-type - Shows details of a communications typerootly-cli communications list-groups - Lists communications groupsrootly-cli communications list-stages - Lists communications stagesrootly-cli communications list-templates - Lists communications templatesrootly-cli communications list-types - Lists communications typesrootly-cli communications update-group - Updates a communications grouprootly-cli communications update-stage - Updates a communications stagerootly-cli communications update-template - Updates a communications templaterootly-cli communications update-type - Updates a communications typecustom-field-options - Manage custom field options
rootly-cli custom-field-options delete - [DEPRECATED] Use form field endpoints instead. Delete a specific Custom Field Option by idrootly-cli custom-field-options get - [DEPRECATED] Use form field endpoints instead. Retrieves a specific custom field option by idrootly-cli custom-field-options update - [DEPRECATED] Use form field endpoints instead. Update a specific custom field option by idcustom-fields - Manage custom fields
rootly-cli custom-fields create - [DEPRECATED] Use form field endpoints instead. Creates a new custom field from provided datarootly-cli custom-fields delete - [DEPRECATED] Use form field endpoints instead. Delete a specific custom field by idrootly-cli custom-fields get - Retrieves a specific custom_field by idrootly-cli custom-fields list - [DEPRECATED] Use form field endpoints instead. List Custom fieldsrootly-cli custom-fields update - [DEPRECATED] Use form field endpoints instead. Update a specific custom field by idcustom-forms - Manage custom forms
rootly-cli custom-forms create - Creates a new custom form from provided datarootly-cli custom-forms delete - Delete a specific custom form by idrootly-cli custom-forms get - Retrieves a specific custom form by idrootly-cli custom-forms list - List custom formsrootly-cli custom-forms update - Update a specific custom form by iddashboard-panels - Manage dashboard panels
rootly-cli dashboard-panels delete - Delete a specific dashboard panel by idrootly-cli dashboard-panels get - Retrieves a specific dashboard panel by idrootly-cli dashboard-panels update - Update a specific dashboard panel by iddashboards - Manage dashboards
rootly-cli dashboards create - Creates a new dashboard from provided datarootly-cli dashboards delete - Delete a specific dashboard by idrootly-cli dashboards get - Retrieves a specific dashboard by idrootly-cli dashboards list - List dashboardsrootly-cli dashboards update - Update a specific dashboard by idedge-connectors - Manage edge connectors
rootly-cli edge-connectors create - Create edge connectorrootly-cli edge-connectors delete - Delete edge connectorrootly-cli edge-connectors get - Show edge connectorrootly-cli edge-connectors list - List edge connectorsrootly-cli edge-connectors update - Update edge connectoremail-addresses - Manage email addresses
rootly-cli email-addresses delete-user-email-address - Deletes a user email addressrootly-cli email-addresses show-user-email-address - Retrieves a specific user email addressrootly-cli email-addresses update-user-email-address - Updates a user email addressenvironments - Manage environments
rootly-cli environments create - Creates a new environment from provided datarootly-cli environments create-catalog-property - Creates a new Catalog Property from provided datarootly-cli environments delete - Delete a specific environment by idrootly-cli environments get - Retrieves a specific environment by idrootly-cli environments list - List environmentsrootly-cli environments list-catalog-properties - List Environment Catalog Propertiesrootly-cli environments update - Update a specific environment by idescalation-levels - Manage escalation levels
rootly-cli escalation-levels delete - Delete a specific escalation level by idrootly-cli escalation-levels get - Retrieves a specific escalation level by idrootly-cli escalation-levels update - Update a specific escalation level by idescalation-paths - Manage escalation paths
rootly-cli escalation-paths delete - Delete a specific escalation path by idrootly-cli escalation-paths get - Retrieves a specific escalation path by idrootly-cli escalation-paths update - Update a specific escalation path by idescalation-policies - Manage escalation policies
rootly-cli escalation-policies create-escalation-policy - Creates a new escalation policy from provided datarootly-cli escalation-policies delete-escalation-policy - Delete a specific escalation policy by idrootly-cli escalation-policies get-escalation-policy - Retrieves a specific escalation policy by idrootly-cli escalation-policies list - List escalation policiesrootly-cli escalation-policies update-escalation-policy - Update a specific escalation policy by idevents - Manage events
rootly-cli events delete-incident - Delete a specific incident event by idrootly-cli events get-incident - Retrieves a specific incident_event by idrootly-cli events update-incident - Update a specific incident event by idfeedbacks - Manage feedbacks
rootly-cli feedbacks get-incident - Retrieves a specific incident_feedback by idrootly-cli feedbacks update-incident - Update a specific incident feedback by idform-field-options - Manage form field options
rootly-cli form-field-options delete - Delete a specific form_field_option by idrootly-cli form-field-options get - Retrieves a specific form_field_option by idrootly-cli form-field-options update - Update a specific form_field_option by idform-field-placement-conditions - Manage form field placement conditions
rootly-cli form-field-placement-conditions delete - Delete a specific form_field_placement_condition by idrootly-cli form-field-placement-conditions get - Retrieves a specific form_field_placement_condition by idrootly-cli form-field-placement-conditions update - Update a specific form_field_placement_condition by idform-field-placements - Manage form field placements
rootly-cli form-field-placements delete - Delete a specific form_field_placement by idrootly-cli form-field-placements get - Retrieves a specific form_field_placement by idrootly-cli form-field-placements update - Update a specific form_field_placement by idform-field-positions - Manage form field positions
rootly-cli form-field-positions delete - Delete a specific form_field position by idrootly-cli form-field-positions get - Retrieves a specific form field_position by idrootly-cli form-field-positions update - Update a specific form_field position by idform-fields - Manage form fields
rootly-cli form-fields create - Creates a new form_field from provided datarootly-cli form-fields delete - Delete a specific form_field by idrootly-cli form-fields get - Retrieves a specific form_field by idrootly-cli form-fields list - List form_fieldsrootly-cli form-fields update - Update a specific form_field by idform-set-conditions - Manage form set conditions
rootly-cli form-set-conditions delete - Delete a specific form_set_condition by idrootly-cli form-set-conditions get - Retrieves a specific form_set_condition by idrootly-cli form-set-conditions update - Update a specific form_set_condition by idform-sets - Manage form sets
rootly-cli form-sets create - Creates a new form_set from provided datarootly-cli form-sets delete - Delete a specific form_set by idrootly-cli form-sets get - Retrieves a specific form_set by idrootly-cli form-sets list - List form_setsrootly-cli form-sets update - Update a specific form_set by idfunctionalities - Manage functionalities
rootly-cli functionalities create-functionality - Creates a new functionality from provided datarootly-cli functionalities create-functionality-catalog-property - Creates a new Catalog Property from provided datarootly-cli functionalities delete-functionality - Delete a specific functionality by idrootly-cli functionalities get-functionality - Retrieves a specific functionality by idrootly-cli functionalities list - List functionalitiesrootly-cli functionalities list-functionality-catalog-properties - List Functionality Catalog Propertiesrootly-cli functionalities update-functionality - Update a specific functionality by idheartbeats - Manage heartbeats
rootly-cli heartbeats create - Creates a new heartbeat from provided datarootly-cli heartbeats delete - Delete a specific heartbeat by idrootly-cli heartbeats get - Retrieves a specific heartbeat by idrootly-cli heartbeats list - List heartbeatsrootly-cli heartbeats update - Update a specific heartbeat by idincident-custom-field-selections - Manage incident custom field selections
rootly-cli incident-custom-field-selections delete - [DEPRECATED] Use form field endpoints instead. Delete a specific incident custom field selection by idrootly-cli incident-custom-field-selections get - [DEPRECATED] Use form field endpoints instead. Retrieves a specific incident custom field selection by idrootly-cli incident-custom-field-selections update - [DEPRECATED] Use form field endpoints instead. Update a specific incident custom field selection by idincident-event-functionalities - Manage incident event functionalities
rootly-cli incident-event-functionalities delete-incident-event-functionality - Delete a specific incident event functionality by idrootly-cli incident-event-functionalities get - Retrieves a specific incident_event_functionality by idrootly-cli incident-event-functionalities update-incident-event-functionality - Update a specific incident event functionality by idincident-event-services - Manage incident event services
rootly-cli incident-event-services delete - Delete a specific incident event service by idrootly-cli incident-event-services get - Retrieves a specific incident_event_service by idrootly-cli incident-event-services update - Update a specific incident event service by idincident-form-field-selections - Manage incident form field selections
rootly-cli incident-form-field-selections delete - Delete a specific incident form field selection by idrootly-cli incident-form-field-selections get - Retrieves a specific incident form field selection by idrootly-cli incident-form-field-selections update - Update a specific incident form field selection by idincident-permission-set-booleans - Manage incident permission set booleans
rootly-cli incident-permission-set-booleans delete - Delete a specific incident_permission_set_boolean by idrootly-cli incident-permission-set-booleans get - Retrieves a specific incident_permission_set_boolean by idrootly-cli incident-permission-set-booleans update - Update a specific incident_permission_set_boolean by idincident-permission-set-resources - Manage incident permission set resources
rootly-cli incident-permission-set-resources delete - Delete a specific incident_permission_set_resource by idrootly-cli incident-permission-set-resources get - Retrieves a specific incident_permission_set_resource by idrootly-cli incident-permission-set-resources update - Update a specific incident_permission_set_resource by idincident-permission-sets - Manage incident permission sets
rootly-cli incident-permission-sets create - Creates a new incident_permission_set from provided datarootly-cli incident-permission-sets delete - Delete a specific incident_permission_set by idrootly-cli incident-permission-sets get - Retrieves a specific incident_permission_set by idrootly-cli incident-permission-sets list - List incident_permission_setsrootly-cli incident-permission-sets update - Update a specific incident_permission_set by idincident-retrospective-steps - Manage incident retrospective steps
rootly-cli incident-retrospective-steps get - Retrieves a specific incident retrospective step by idrootly-cli incident-retrospective-steps update - Update a specific incident retrospective step by idincident-role-tasks - Manage incident role tasks
rootly-cli incident-role-tasks delete - Delete a specific incident_role task by idrootly-cli incident-role-tasks get - Retrieves a specific incident_role_task by idrootly-cli incident-role-tasks update - Update a specific incident_role task by idincident-roles - Manage incident roles
rootly-cli incident-roles create - Creates a new incident role from provided datarootly-cli incident-roles delete - Delete a specific incident_role by idrootly-cli incident-roles get - Retrieves a specific incident_role by idrootly-cli incident-roles list - List incident rolesrootly-cli incident-roles update - Update a specific incident_role by idincident-sub-statuses - Manage incident sub statuses
rootly-cli incident-sub-statuses delete-incident-sub-status - Delete a specific incident_sub_status by idrootly-cli incident-sub-statuses get-incident-sub-status - Retrieves a specific incident_sub_status by idrootly-cli incident-sub-statuses update-incident-sub-status - Update a specific incident_sub_status by idincident-types - Manage incident types
rootly-cli incident-types create - Creates a new incident_type from provided datarootly-cli incident-types create-catalog-property - Creates a new Catalog Property from provided datarootly-cli incident-types delete - Delete a specific incident_type by idrootly-cli incident-types get - Retrieves a specific incident_type by idrootly-cli incident-types list - List incident typesrootly-cli incident-types list-catalog-properties - List IncidentType Catalog Propertiesrootly-cli incident-types update - Update a specific incident_type by idincidents - Manage incidents
rootly-cli incidents create - Creates a new incident from provided datarootly-cli incidents delete - Delete a specific incident by idrootly-cli incidents get - Retrieves a specific incident by idrootly-cli incidents list - List incidentsrootly-cli incidents update - Update a specific incident by idip-ranges - Manage ip ranges
rootly-cli ip-ranges - Retrieves the IP ranges for rootly.com serviceslive-call-routers - Manage live call routers
rootly-cli live-call-routers create - Creates a new Live Call Router from provided datarootly-cli live-call-routers delete - Delete a specific Live Call Router by idrootly-cli live-call-routers generate-phone-number - Generates a phone number for Live Call Routerrootly-cli live-call-routers get - Retrieves a specific Live Call Router by idrootly-cli live-call-routers list - List Live Call Routersrootly-cli live-call-routers update - Update a specific Live Call Router by idmeeting-recordings - Manage meeting recordings
rootly-cli meeting-recordings delete - Delete a meeting recording. Only completed or failed recordings can be deleted.rootly-cli meeting-recordings get - Retrieve a single meeting recording session including its status, duration, speaker count, word countnotification-rules - Manage notification rules
rootly-cli notification-rules delete-user - Delete a specific user notification rule by idrootly-cli notification-rules get-user - Retrieves a specific user notification rule by idrootly-cli notification-rules update-user - Update a specific user notification rule by idon-call-pay-reports - Manage on call pay reports
rootly-cli on-call-pay-reports create - Generates a new on-call pay report for the given date range. The report is generated asynchronously.rootly-cli on-call-pay-reports get - Retrieves a specific on-call pay report by idrootly-cli on-call-pay-reports list - List on-call pay reportsrootly-cli on-call-pay-reports update - Update a specific on-call pay report by id. Triggers report regeneration.on-call-roles - Manage on call roles
rootly-cli on-call-roles create - Creates a new On-Call Role from provided datarootly-cli on-call-roles delete - Delete a specific On-Call Role by idrootly-cli on-call-roles get - Retrieves a specific On-Call Role by idrootly-cli on-call-roles list - List On-Call Rolesrootly-cli on-call-roles update - Update a specific On-Call Role by idon-call-shadows - Manage on call shadows
rootly-cli on-call-shadows delete - Delete a specific on call shadow configuration by id. Future shadows are hard-deleted.rootly-cli on-call-shadows get - Retrieves a specific On Call Shadow configuration by IDrootly-cli on-call-shadows update - Update a specific on call shadow configuration by idoncalls - Manage oncalls
rootly-cli oncalls - List who is currently on-call, with support for filtering by escalation policy, schedule, and user.override-shifts - Manage override shifts
rootly-cli override-shifts delete - Delete a specific override shift by idrootly-cli override-shifts get - Retrieves a specific override shift by idrootly-cli override-shifts update - Update a specific override shift by idphone-numbers - Manage phone numbers
rootly-cli phone-numbers delete-user - Deletes a user phone numberrootly-cli phone-numbers show-user - Retrieves a specific user phone numberrootly-cli phone-numbers update-user - Updates a user phone numberplaybook-tasks - Manage playbook tasks
rootly-cli playbook-tasks delete - Delete a specific playbook task by idrootly-cli playbook-tasks get - Retrieves a specific playbook_task by idrootly-cli playbook-tasks update - Update a specific playbook task by idplaybooks - Manage playbooks
rootly-cli playbooks create - Creates a new playbook from provided datarootly-cli playbooks delete - Delete a specific playbook by idrootly-cli playbooks get - Retrieves a specific playbook by idrootly-cli playbooks list - List playbooksrootly-cli playbooks update - Update a specific playbook by idpost-mortem-templates - Manage post mortem templates
rootly-cli post-mortem-templates create-postmortem-template - Creates a new Retrospective Template from provided datarootly-cli post-mortem-templates delete-postmortem-template - Delete a specific Retrospective Template by idrootly-cli post-mortem-templates get-postmortem-template - Retrieves a specific Retrospective Template by idrootly-cli post-mortem-templates list-postmortem-templates - List Retrospective Templatesrootly-cli post-mortem-templates update-postmortem-template - Update a specific Retrospective Template by idpost-mortems - Manage post mortems
rootly-cli post-mortems list-incident - List incident retrospectivesrootly-cli post-mortems list-incident-postmortems - Retrieves an incident retrospectiverootly-cli post-mortems update-incident - Update a specific incident retrospective by idpulses - Manage pulses
rootly-cli pulses create - Creates a new pulse from provided datarootly-cli pulses get - Retrieves a specific pulse by idrootly-cli pulses list - List pulsesrootly-cli pulses update - Update a specific pulse by idretrospective-configurations - Manage retrospective configurations
rootly-cli retrospective-configurations get - Retrieves a specific retrospective_configuration by idrootly-cli retrospective-configurations list - List retrospective configurationsrootly-cli retrospective-configurations update - Update a specific retrospective configuration by idretrospective-process-group-steps - Manage retrospective process group steps
rootly-cli retrospective-process-group-steps delete - Delete a specific RetrospectiveProcessGroup Step by idrootly-cli retrospective-process-group-steps get - Retrieves a specific RetrospectiveProcessGroup Step by idrootly-cli retrospective-process-group-steps update - Update a specific RetrospectiveProcessGroup Step by idretrospective-process-groups - Manage retrospective process groups
rootly-cli retrospective-process-groups delete - Delete a specific Retrospective Process Group by idrootly-cli retrospective-process-groups get - Retrieves a specific Retrospective Process Group by idrootly-cli retrospective-process-groups update - Update a specific Retrospective Process Group by idretrospective-processes - Manage retrospective processes
rootly-cli retrospective-processes create-retrospective-process - Creates a new retrospective process from provided datarootly-cli retrospective-processes delete-retrospective-process - Delete a specific retrospective process by idrootly-cli retrospective-processes get-retrospective-process - Retrieves a specific retrospective process by idrootly-cli retrospective-processes list - List retrospective processesrootly-cli retrospective-processes update-retrospective-process - Updates a specific retrospective process by idretrospective-steps - Manage retrospective steps
rootly-cli retrospective-steps delete - Delete a specific retrospective step by idrootly-cli retrospective-steps get - Retrieves a specific retrospective step by idrootly-cli retrospective-steps update - Update a specific retrospective step by idroles - Manage roles
rootly-cli roles create - Creates a new role from provided datarootly-cli roles delete - Delete a specific role by idrootly-cli roles get - Retrieves a specific role by idrootly-cli roles list - List rolesrootly-cli roles update - Update a specific role by idschedule-rotation-active-days - Manage schedule rotation active days
rootly-cli schedule-rotation-active-days delete - Delete a specific schedule rotation active dayrootly-cli schedule-rotation-active-days get - Retrieves a specific schedule rotation active day by idrootly-cli schedule-rotation-active-days update - Update a specific schedule rotation active day by idschedule-rotation-users - Manage schedule rotation users
rootly-cli schedule-rotation-users delete - Delete a specific schedule rotation user by idrootly-cli schedule-rotation-users get - Retrieves a specific schedule rotation user by idrootly-cli schedule-rotation-users update - Update a specific schedule rotation user by idschedule-rotations - Manage schedule rotations
rootly-cli schedule-rotations delete - Delete a specific schedule rotation by idrootly-cli schedule-rotations get - Retrieves a specific schedule rotation by idrootly-cli schedule-rotations update - Update a specific schedule rotation by idschedules - Manage schedules
rootly-cli schedules create - Creates a new schedule from provided datarootly-cli schedules delete - Delete a specific schedule by idrootly-cli schedules get - Retrieves a specific schedule by idrootly-cli schedules list - List schedulesrootly-cli schedules update - Updates a specific schedule by idsecrets - Manage secrets
rootly-cli secrets create - Creates a new secret from provided datarootly-cli secrets delete - Delete a specific secret by idrootly-cli secrets get - Retrieve a specific secret by idrootly-cli secrets list - List secretsrootly-cli secrets update - Update a specific secret by idservices - Manage services
rootly-cli services create - Creates a new service from provided datarootly-cli services create-catalog-property - Creates a new Catalog Property from provided datarootly-cli services delete - Delete a specific service by idrootly-cli services get - Retrieves a specific service by idrootly-cli services list - List servicesrootly-cli services list-catalog-properties - List Service Catalog Propertiesrootly-cli services update - Update a specific service by idseverities - Manage severities
rootly-cli severities create-severity - Creates a new severity from provided datarootly-cli severities delete-severity - Delete a specific severity by idrootly-cli severities get-severity - Retrieves a specific severity by idrootly-cli severities list - List severitiesrootly-cli severities update-severity - Update a specific severity by idshifts - Manage shifts
rootly-cli shifts - List shiftsslas - Manage slas
rootly-cli slas create - Creates a new SLA from provided datarootly-cli slas delete - Delete a specific SLA by idrootly-cli slas get - Retrieves a specific SLA by idrootly-cli slas list - List SLAsrootly-cli slas update - Update a specific SLA by idstatus-page-events - Manage status page events
rootly-cli status-page-events delete-incident-status-page - Delete a specific incident status page event by idrootly-cli status-page-events get-incident-status-pages - Retrieves a specific incident_status_page_event by idrootly-cli status-page-events update-incident-status-page - Update a specific incident status page event by idstatus-pages - Manage status pages
rootly-cli status-pages create - Creates a new status page from provided datarootly-cli status-pages delete - Delete a specific status page by idrootly-cli status-pages get - Retrieves a specific status page by idrootly-cli status-pages list - List status pagesrootly-cli status-pages update - Update a specific status page by idstatuses - Manage statuses
rootly-cli statuses get-status - Retrieves a specific Status by idrootly-cli statuses list - List Statusessub-statuses - Manage sub statuses
rootly-cli sub-statuses create-sub-status - Creates a new Sub-Status from provided datarootly-cli sub-statuses delete-sub-status - Delete a specific Sub-Status by idrootly-cli sub-statuses get-sub-status - Retrieves a specific Sub-Status by idrootly-cli sub-statuses list - List Sub-Statusesrootly-cli sub-statuses update-sub-status - Update a specific Sub-Status by idteams - Manage teams
rootly-cli teams create - Creates a new team from provided datarootly-cli teams create-group-catalog-property - Creates a new Catalog Property from provided datarootly-cli teams delete - Delete a specific team by idrootly-cli teams get - Retrieves a specific team by idrootly-cli teams list - List teamsrootly-cli teams list-group-catalog-properties - List Group Catalog Propertiesrootly-cli teams update - Update a specific team by idtemplates - Manage templates
rootly-cli templates delete-status-page - Delete a specific template event by idrootly-cli templates get-status-page - Retrieves a specific status_page_template by idrootly-cli templates update-status-page - Update a specific template event by idusers - Manage users
rootly-cli users delete - Delete a specific user by idrootly-cli users get - Retrieves a specific user by idrootly-cli users get-current - Get current userrootly-cli users list - List usersrootly-cli users update - Update a specific user by idwebhooks - Manage webhooks
rootly-cli webhooks create-endpoint - Creates a new webhook endpoint from provided datarootly-cli webhooks delete-endpoint - Delete a specific webhook endpoint by idrootly-cli webhooks deliver-delivery - Retries a webhook deliveryrootly-cli webhooks get-delivery - Retrieves a specific webhook delivery by idrootly-cli webhooks get-endpoint - Retrieves a specific webhook endpoint by idrootly-cli webhooks list-deliveries - List webhook deliveries for given endpointrootly-cli webhooks list-endpoints - List webhook endpointsrootly-cli webhooks update-endpoint - Update a specific webhook endpoint by idworkflow-custom-field-selections - Manage workflow custom field selections
rootly-cli workflow-custom-field-selections delete - [DEPRECATED] Use form field endpoints instead. Delete a specific workflow custom field selection by idrootly-cli workflow-custom-field-selections get - [DEPRECATED] Use form field endpoints instead. Retrieves a specific workflow custom field selection by idrootly-cli workflow-custom-field-selections update - [DEPRECATED] Use form field endpoints instead. Update a specific workflow custom field selection by idworkflow-form-field-conditions - Manage workflow form field conditions
rootly-cli workflow-form-field-conditions delete - Delete a specific workflow form field condition by idrootly-cli workflow-form-field-conditions get - Retrieves a specific workflow form field condition by idrootly-cli workflow-form-field-conditions update - Update a specific workflow form field condition by idworkflow-groups - Manage workflow groups
rootly-cli workflow-groups create - Creates a new workflow group from provided datarootly-cli workflow-groups delete - Delete a specific workflow group by idrootly-cli workflow-groups get - Retrieves a specific workflow group by idrootly-cli workflow-groups list - List workflow groupsrootly-cli workflow-groups update - Update a specific workflow group by idworkflow-tasks - Manage workflow tasks
rootly-cli workflow-tasks delete - Delete a specific workflow task by idrootly-cli workflow-tasks get - Retrieves a specific workflow_task by idrootly-cli workflow-tasks update - Update a specific workflow task by idworkflows - Manage workflows
rootly-cli workflows create - Creates a new workflow from provided datarootly-cli workflows delete - Delete a specific workflow by idrootly-cli workflows get - Retrieves a specific workflow by idrootly-cli workflows list - List workflowsrootly-cli workflows update - Update a specific workflow by idWhen you know what you want to do but not which command does it, ask the CLI directly:
rootly-cli which "<capability in your own words>"
which resolves a natural-language capability query to the best matching command from this CLI's curated feature index. Exit code 0 means at least one match; exit code 2 means no confident match - fall back to --help or use a narrower query.
rootly-cli related INC-1234 --agent --limit 5
Surface the five most similar past incidents so you can reuse a known resolution path.
rootly-cli incidents list --agent --select data.id,data.attributes.title,data.attributes.created_at,data.attributes.severity
JSON:API returns tens of KB per call; dotted --select returns only the fields an agent needs so it does not burn context parsing the rest.
rootly-cli coverage-gaps --days 14 --agent
Report every unstaffed on-call window in the next two weeks across all schedules before a page is missed.
rootly-cli deploy-guard <service> --within 7d
Exit non-zero when checkout-api has an open incident, no on-call, or recent flakiness - drop it into a deploy script.
rootly-cli service-health --agent
Emit a per-service scorecard (incidents, MTTR, open action items, on-call, SLA) for the whole portfolio in one pass.
Set a Rootly API key as ROOTLY_API_KEY (the same variable the official rootly-cli uses; ROOTLY_API_TOKEN is also accepted). Keys come in Global, Team, and Personal scopes from your Rootly account settings; the CLI sends it as a Bearer token over JSON:API. No tenant or org id is needed - the key identifies the workspace. Run rootly-cli doctor to confirm the key is valid and the API is reachable.
Add --agent to any command. Expands to: --json --compact --no-input --no-color --yes.
Pipeable - JSON on stdout, errors on stderr
Filterable - --select keeps a subset of fields. Dotted paths descend into nested structures; arrays traverse element-wise. Critical for keeping context small on verbose APIs:
rootly-cli alert-events get <id> --agent --select id,name,status
Previewable - --dry-run shows the request without sending
Offline-friendly - sync/search commands can use the local SQLite store when available
Non-interactive - never prompts, every input is a flag
Explicit retries - use --idempotent only when an already-existing create should count as success, and --ignore-missing only when a missing delete target should count as success
Commands that read from the local store or the API wrap output in a provenance envelope:
{
"meta": {"source": "live" | "local", "synced_at": "...", "reason": "..."},
"results": <data>
}
Parse .results for data and .meta.source to know whether it's live or local. A human-readable N results (live) summary is printed to stderr only when stdout is a terminal AND no machine-format flag (--json, --csv, --compact, --quiet, --plain, --select) is set - piped/agent consumers and explicit-format runs get pure JSON on stdout.
When you (or the agent) notice something off about this CLI, record it:
rootly-cli feedback "the --since flag is inclusive but docs say exclusive"
rootly-cli feedback --stdin < notes.txt
rootly-cli feedback list --json --limit 10
Entries are stored locally at ~/.local/share/rootly-cli/feedback.jsonl. They are never POSTed unless ROOTLY_FEEDBACK_ENDPOINT is set AND either --send is passed or ROOTLY_FEEDBACK_AUTO_SEND=true. Default behavior is local-only.
Write what surprised you, not a bug report. Short, specific, one line: that is the part that compounds.
Every command accepts --deliver <sink>. The output goes to the named sink in addition to (or instead of) stdout, so agents can route command results without hand-piping. Three sinks are supported:
| Sink | Effect |
|---|---|
stdout | Default; write to stdout only |
file:<path> | Atomically write output to <path> (tmp + rename) |
webhook:<url> | POST the output body to the URL (application/json or application/x-ndjson when --compact) |
Unknown schemes are refused with a structured error naming the supported set. Webhook failures return non-zero and log the URL + HTTP status on stderr.
A profile is a saved set of flag values, reused across invocations. Use it when a scheduled agent calls the same command every run with the same configuration - HeyGen's "Beacon" pattern.
rootly-cli profile save briefing --json
rootly-cli --profile briefing alert-events get <id>
rootly-cli profile list --json
rootly-cli profile show briefing
rootly-cli profile delete briefing --yes
Explicit flags always win over profile values; profile values win over defaults. agent-context lists all available profiles under available_profiles so introspecting agents discover them at runtime.
| Code | Meaning |
|---|---|
| 0 | Success |
| 2 | Usage error (wrong arguments) |
| 3 | Resource not found |
| 4 | Authentication required |
| 5 | API error (upstream issue) |
| 7 | Rate limited (wait and retry) |
| 10 | Config error |
Parse $ARGUMENTS:
help, or --help → show rootly-cli --help outputinstall → ends with mcp → MCP installation; otherwise → see Prerequisites above--agent)go install github.com/mvanhorn/printing-press-library/library/monitoring/rootly/cmd/rootly-mcp@latest
claude mcp add rootly-mcp -- rootly-mcp
claude mcp listwhich rootly-cli
If not found, offer to install (see Prerequisites at the top of this skill).--agent flag:
rootly-cli <command> [subcommand] [args] --agent
rootly-cli <command> --help.Alternatives
wshobson/agents
Schedule and publish social media posts across 13 platforms (X, LinkedIn, Instagram, Facebook Pages, TikTok, Discord, Telegram, YouTube, Reddit, WordPress, Pinterest) via the SocialClaw API. Use when the user wants to publish, schedule, or manage social media content programmatically. Requires SOCIALCLAW_API_KEY.
github/awesome-copilot
Generate D2 database diagrams from Entity Framework Core models. USE FOR: EF Core database diagram, Entity Framework Core ERD, DbContext diagram, C# entity relationship diagram, PostgreSQL schema visualization, generate .d2 file from EF Core entities, Fluent API mapping diagram, migrations-based database diagram, table relationships, owned types, many-to-many join tables, indexes and constraints. DO NOT USE FOR: runtime debugging, database migration execution, schema deployment, SQL performance
github/awesome-copilot
Use this skill whenever the user mentions IP geolocation feeds, RFC 8805, geofeeds, or wants help creating, tuning, validating, or publishing a self-published IP geolocation feed in CSV format. Intended user audience is a network operator, ISP, mobile carrier, cloud provider, hosting company, IXP, or satellite provider asking about IP geolocation accuracy, or geofeed authoring best practices. Helps create, refine, and improve CSV-format IP geolocation feeds with opinionated recommendations beyon
affaan-m/ECC
Laravel security best practices — authentication, authorization, Eloquent safety, CSRF, XSS prevention, API security, and secure deployment configurations.