Antigravity-awesome-skills pagerduty-automation
Automate PagerDuty tasks via Rube MCP (Composio): manage incidents, services, schedules, escalation policies, and on-call rotations. Always search tools first for current schemas.
git clone https://github.com/benjaminasterA/antigravity-awesome-skills
T=$(mktemp -d) && git clone --depth=1 https://github.com/benjaminasterA/antigravity-awesome-skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/pagerduty-automation" ~/.claude/skills/benjaminastera-antigravity-awesome-skills-pagerduty-automation && rm -rf "$T"
skills/pagerduty-automation/SKILL.mdPagerDuty Automation via Rube MCP
Automate PagerDuty incident management and operations through Composio's PagerDuty toolkit via Rube MCP.
Prerequisites
- Rube MCP must be connected (RUBE_SEARCH_TOOLS available)
- Active PagerDuty connection via
with toolkitRUBE_MANAGE_CONNECTIONSpagerduty - Always call
first to get current tool schemasRUBE_SEARCH_TOOLS
Setup
Get Rube MCP: Add
https://rube.app/mcp as an MCP server in your client configuration. No API keys needed — just add the endpoint and it works.
- Verify Rube MCP is available by confirming
respondsRUBE_SEARCH_TOOLS - Call
with toolkitRUBE_MANAGE_CONNECTIONSpagerduty - If connection is not ACTIVE, follow the returned auth link to complete PagerDuty authentication
- Confirm connection status shows ACTIVE before running any workflows
Core Workflows
1. Manage Incidents
When to use: User wants to create, update, acknowledge, or resolve incidents
Tool sequence:
- List incidents with filters [Required]PAGERDUTY_FETCH_INCIDENT_LIST
- Get specific incident details [Optional]PAGERDUTY_RETRIEVE_INCIDENT_BY_INCIDENT_ID
- Create a new incident [Optional]PAGERDUTY_CREATE_INCIDENT_RECORD
- Update incident status or assignment [Optional]PAGERDUTY_UPDATE_INCIDENT_BY_ID
- Add a note to an incident [Optional]PAGERDUTY_POST_INCIDENT_NOTE_USING_ID
- Snooze an incident for a period [Optional]PAGERDUTY_SNOOZE_INCIDENT_BY_DURATION
Key parameters:
: Filter by status ('triggered', 'acknowledged', 'resolved')statuses[]
: Filter by service IDsservice_ids[]
: Filter by urgency ('high', 'low')urgencies[]
: Incident title (for creation)title
: Service object withservice
andid
(for creation)type
: New status for update operationsstatus
Pitfalls:
- Incident creation requires a
object with bothservice
andidtype: 'service_reference' - Status transitions follow: triggered -> acknowledged -> resolved
- Cannot transition from resolved back to triggered directly
requires the incident ID as a path parameterPAGERDUTY_UPDATE_INCIDENT_BY_ID- Snooze duration is in seconds; the incident re-triggers after the snooze period
2. Inspect Incident Alerts and Analytics
When to use: User wants to review alerts within an incident or analyze incident metrics
Tool sequence:
- List alerts for an incident [Required]PAGERDUTY_GET_ALERTS_BY_INCIDENT_ID
- Get details of a specific alert [Optional]PAGERDUTY_GET_INCIDENT_ALERT_DETAILS
- Get incident analytics/metrics [Optional]PAGERDUTY_FETCH_INCIDENT_ANALYTICS_BY_ID
Key parameters:
: The incident IDincident_id
: Specific alert ID within the incidentalert_id
: Filter alerts by statusstatuses[]
Pitfalls:
- An incident can have multiple alerts; each alert has its own status
- Alert IDs are scoped to the incident
- Analytics data includes response times, engagement metrics, and resolution times
3. Manage Services
When to use: User wants to create, update, or list services
Tool sequence:
- List all services [Required]PAGERDUTY_RETRIEVE_LIST_OF_SERVICES
- Get service details [Optional]PAGERDUTY_RETRIEVE_SERVICE_BY_ID
- Create a new technical service [Optional]PAGERDUTY_CREATE_NEW_SERVICE
- Update service configuration [Optional]PAGERDUTY_UPDATE_SERVICE_BY_ID
- Add an integration to a service [Optional]PAGERDUTY_CREATE_INTEGRATION_FOR_SERVICE
- Create a business service [Optional]PAGERDUTY_CREATE_BUSINESS_SERVICE
- Update a business service [Optional]PAGERDUTY_UPDATE_BUSINESS_SERVICE_BY_ID
Key parameters:
: Service namename
: Escalation policy object withescalation_policy
andidtype
: Alert creation mode ('create_alerts_and_incidents' or 'create_incidents')alert_creation
: Service status ('active', 'warning', 'critical', 'maintenance', 'disabled')status
Pitfalls:
- Creating a service requires an existing escalation policy
- Business services are different from technical services; they represent business-level groupings
- Service integrations define how alerts are created (email, API, events)
- Disabling a service stops all incident creation for that service
4. Manage Schedules and On-Call
When to use: User wants to view or manage on-call schedules and rotations
Tool sequence:
- List all schedules [Required]PAGERDUTY_GET_SCHEDULES
- Get specific schedule details [Optional]PAGERDUTY_RETRIEVE_SCHEDULE_BY_ID
- Create a new schedule [Optional]PAGERDUTY_CREATE_NEW_SCHEDULE_LAYER
- Update an existing schedule [Optional]PAGERDUTY_UPDATE_SCHEDULE_BY_ID
- View who is currently on-call [Optional]PAGERDUTY_RETRIEVE_ONCALL_LIST
- Create temporary overrides [Optional]PAGERDUTY_CREATE_SCHEDULE_OVERRIDES_CONFIGURATION
- Remove an override [Optional]PAGERDUTY_DELETE_SCHEDULE_OVERRIDE_BY_ID
- List users in a schedule [Optional]PAGERDUTY_RETRIEVE_USERS_BY_SCHEDULE_ID
- Preview schedule changes before saving [Optional]PAGERDUTY_PREVIEW_SCHEDULE_OBJECT
Key parameters:
: Schedule identifierschedule_id
: Schedule timezone (e.g., 'America/New_York')time_zone
: Array of rotation layer configurationsschedule_layers
/since
: Date range for on-call queries (ISO 8601)until
: Override object with user, start, and end timesoverride
Pitfalls:
- Schedule layers define rotation order; multiple layers can overlap
- Overrides are temporary and take precedence over the normal schedule
andsince
are required for on-call queries to scope the time rangeuntil- Time zones must be valid IANA timezone strings
- Preview before saving complex schedule changes to verify correctness
5. Manage Escalation Policies
When to use: User wants to create or modify escalation policies
Tool sequence:
- List all escalation policies [Required]PAGERDUTY_FETCH_ESCALATION_POLICES_LIST
- Get policy details [Optional]PAGERDUTY_GET_ESCALATION_POLICY_BY_ID
- Create a new policy [Optional]PAGERDUTY_CREATE_ESCALATION_POLICY
- Update an existing policy [Optional]PAGERDUTY_UPDATE_ESCALATION_POLICY_BY_ID
- View audit trail for a policy [Optional]PAGERDUTY_AUDIT_ESCALATION_POLICY_RECORDS
Key parameters:
: Policy namename
: Array of escalation rule objectsescalation_rules
: Number of times to loop through rules before stopping (0 = no loop)num_loops
: Delay between escalation levelsescalation_delay_in_minutes
Pitfalls:
- Each escalation rule requires at least one target (user, schedule, or team)
defines how long before escalating to the next levelescalation_delay_in_minutes- Setting
to 0 means the policy runs once and stopsnum_loops - Deleting a policy fails if services still reference it
6. Manage Teams
When to use: User wants to create or manage PagerDuty teams
Tool sequence:
- Create a new team [Required]PAGERDUTY_CREATE_NEW_TEAM_WITH_DETAILS
Key parameters:
: Team namename
: Team descriptiondescription
Pitfalls:
- Team names must be unique within the account
- Teams are used to scope services, escalation policies, and schedules
Common Patterns
ID Resolution
Service name -> Service ID:
1. Call PAGERDUTY_RETRIEVE_LIST_OF_SERVICES 2. Find service by name in response 3. Extract id field
Schedule name -> Schedule ID:
1. Call PAGERDUTY_GET_SCHEDULES 2. Find schedule by name in response 3. Extract id field
Incident Lifecycle
1. Incident triggered (via API, integration, or manual creation) 2. On-call user notified per escalation policy 3. User acknowledges -> status: 'acknowledged' 4. User resolves -> status: 'resolved'
Pagination
- PagerDuty uses offset-based pagination
- Check response for
boolean fieldmore - Use
andoffset
parameterslimit - Continue until
is falsemore
Known Pitfalls
ID Formats:
- All PagerDuty IDs are alphanumeric strings (e.g., 'P1234AB')
- Service references require
type: 'service_reference' - User references require
type: 'user_reference'
Status Transitions:
- Incidents: triggered -> acknowledged -> resolved (forward only)
- Services: active, warning, critical, maintenance, disabled
Rate Limits:
- PagerDuty API enforces rate limits per account
- Implement exponential backoff on 429 responses
- Bulk operations should be spaced out
Response Parsing:
- Response data may be nested under
ordatadata.data - Parse defensively with fallback patterns
- Pagination uses
/offset
/limit
patternmore
Quick Reference
| Task | Tool Slug | Key Params |
|---|---|---|
| List incidents | PAGERDUTY_FETCH_INCIDENT_LIST | statuses[], service_ids[] |
| Get incident | PAGERDUTY_RETRIEVE_INCIDENT_BY_INCIDENT_ID | incident_id |
| Create incident | PAGERDUTY_CREATE_INCIDENT_RECORD | title, service |
| Update incident | PAGERDUTY_UPDATE_INCIDENT_BY_ID | incident_id, status |
| Add incident note | PAGERDUTY_POST_INCIDENT_NOTE_USING_ID | incident_id, content |
| Snooze incident | PAGERDUTY_SNOOZE_INCIDENT_BY_DURATION | incident_id, duration |
| Get incident alerts | PAGERDUTY_GET_ALERTS_BY_INCIDENT_ID | incident_id |
| Incident analytics | PAGERDUTY_FETCH_INCIDENT_ANALYTICS_BY_ID | incident_id |
| List services | PAGERDUTY_RETRIEVE_LIST_OF_SERVICES | (none) |
| Get service | PAGERDUTY_RETRIEVE_SERVICE_BY_ID | service_id |
| Create service | PAGERDUTY_CREATE_NEW_SERVICE | name, escalation_policy |
| Update service | PAGERDUTY_UPDATE_SERVICE_BY_ID | service_id |
| List schedules | PAGERDUTY_GET_SCHEDULES | (none) |
| Get schedule | PAGERDUTY_RETRIEVE_SCHEDULE_BY_ID | schedule_id |
| Get on-call | PAGERDUTY_RETRIEVE_ONCALL_LIST | since, until |
| Create schedule override | PAGERDUTY_CREATE_SCHEDULE_OVERRIDES_CONFIGURATION | schedule_id |
| List escalation policies | PAGERDUTY_FETCH_ESCALATION_POLICES_LIST | (none) |
| Create escalation policy | PAGERDUTY_CREATE_ESCALATION_POLICY | name, escalation_rules |
| Create team | PAGERDUTY_CREATE_NEW_TEAM_WITH_DETAILS | name, description |
When to Use
This skill is applicable to execute the workflow or actions described in the overview.