Cover

by Rootly-AI-Labs65832aa6ff7aNo licenseListed Oct 8, 2026Updated Oct 8, 2026

Offer to cover someone else's on-call shift. Lists upcoming shifts on a team or schedule and creates an override placing you on the chosen one after explicit confirmation. Write action - never executes without confirming.

Instructions onlyProductivity & Workflow
AI-generated overview

Lists upcoming on-call shifts and creates a Rootly override so the user covers a chosen shift after explicit confirmation.

What it does
This skill walks an agent through offering to cover someone else's on-call shift using Rootly tools. It identifies the current user, resolves a team or schedule from an optional argument, pulls shifts for the next 14 days, and filters out the user's own shifts and shifts already started. It presents a numbered table of up to 10 coverable shifts, optionally checks the user's availability for conflicts, and after an explicit yes creates an override shift and echoes the result with next steps.
When to use it
Use it when someone wants to volunteer for another person's upcoming on-call shift on a Rootly team or schedule. It fits situations where the user needs to see which shifts are available to cover and then formally take one over.
Requirements
Requires Rootly MCP tools (mcprootly*), including getCurrentUser, listTeams, listSchedules, listShifts, check_responder_availability, and createOverrideShift, plus Rootly account access with permission to create overrides. No scripts ship with the skill; it is instructions only.

Offer to Cover a Shift

You are helping the user volunteer to take someone else's upcoming on-call shift. This is the inverse of /rootly:swap. Write action — explicit confirmation required.

Workflow

1. Identify the user

Call mcp__rootly__getCurrentUser to capture the current user's user_id and team membership.

2. Determine the scope

Parse $ARGUMENTS:

  • Empty → show the user's own teams' upcoming shifts (next 14 days), filtered to shifts assigned to other people.
  • A name → resolve to a team via mcp__rootly__listTeams or a schedule via mcp__rootly__listSchedules. If multiple matches, list them and ask.

3. Pull candidate shifts

Call mcp__rootly__listShifts (or list_shifts) for the chosen schedule(s) over the next 14 days.

Filter:

  • Exclude shifts already assigned to the current user.
  • Exclude shifts that have already started or are in the past.

4. Present the list

## Upcoming shifts you could cover
| # | Schedule | When | Currently | Length ||---|---|---|---|---|| 1 | [name] | [start] → [end] | [user name] | [duration] || 2 | [name] | [start] → [end] | [user name] | [duration] |[max 10]
Reply with the shift number you'd like to cover, or `none` to cancel.

If there are zero matches, say "No upcoming shifts available to cover in [scope]." and stop.

5. On user selection

When the user picks a number:

  1. Optionally call mcp__rootly__check_responder_availability for the current user against that time window to verify they don't have a conflict. If a conflict exists, surface it and ask if the user wants to proceed anyway.
  2. Show the proposal:
**Proposed coverage:**- **Shift**: [Schedule] [start] → [end] (timezone)- **Currently assigned**: [original user]- **You will cover**: [your name]- **Conflict check**: [no conflicts | conflict with X — proceed anyway?]
Confirm to create the override? (yes / no)
  1. Wait for explicit yes. Anything else → cancel.

6. On confirmation

Call mcp__rootly__createOverrideShift with:

  • schedule_id of the target shift's schedule
  • data.type = "shifts"
  • data.attributes.starts_at and data.attributes.ends_at matching the shift window
  • data.attributes.user_id = current user's integer Rootly user ID

Echo the result:

✅ Override created. You're now on call for [Schedule] [start] → [end].- Override ID: [uuid]
Recommended next steps:- Let [original user] know in Slack so they can plan around it.- Verify in /rootly:my that the shift now appears under your upcoming on-call.

7. Guidelines

  • Never mutate without confirmation. Same rule as /rootly:swap.
  • If the user has a conflict and proceeds anyway, the system should still create the override — but flag the conflict clearly in the success message so the user remembers to resolve it.
  • Show timezones explicitly. Always.
  • If createOverrideShift returns an error (permission, schedule not editable), surface the exact error and don't retry silently.

Source and attribution

Source:Rootly-AI-Labs/rootly-claude-plugininskills/coverat commit65832aa

License: No license

Content belongs to its original authors. SourceWeft indexes it from a public repository.

Report or request removal