Skip to content
Back to skills

Source A65a54c1bdaa20c0aa378654

ASecurity

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.

  • 2 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added November 7, 2026
ai-agents

Works with

  • mcp

Security analysis

A100/100

Pro scans all 3 files and shows the line behind each finding

Scanned November 7, 2026

npx -y skills add gutsofpratik/OpenClaude-Skills --skill source-a65a54c1bdaa20c0aa378654 --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Source A65a54c1bdaa20c0aa378654?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Source A65a54c1bdaa20c0aa378654
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/gutsofpratik-source-a65a54c1bdaa20c0aa378654/badge)](https://www.skillsdirectory.com/skills/gutsofpratik-source-a65a54c1bdaa20c0aa378654)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: cover
description: 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.
argument-hint: [optional team-or-schedule-name]
disable-model-invocation: true
allowed-tools:
  - mcp__rootly__*
---

# 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)
```

3. 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.

Files in this skill

  • PROVENANCE.json219 B
  • SKILL.md3.3 KB
  • UPSTREAM-LICENSE.txt10.5 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.