Cover

作者 Rootly-AI-Labs65832aa6ff7a无许可证收录于 2026年10月8日更新于 2026年10月8日

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.

AI 生成的概览

列出即将到来的值班班次,并在用户明确确认后创建 Rootly 覆盖,让用户代班所选班次。

功能
该技能引导智能体使用 Rootly 工具提出替他人值班。它会识别当前用户,根据可选参数解析团队或排班表,拉取未来 14 天的班次,并排除用户自己的班次和已开始的班次。它会以编号表格展示最多 10 个可代班次,可选地检查用户是否存在时间冲突,并在用户明确回复 yes 后创建覆盖班次并回显结果与后续建议。
适用场景
当用户想主动替 Rootly 团队或排班表中他人即将到来的值班班次时使用。适用于用户需要先查看哪些班次可以代班、再正式接手的场景。
运行要求
需要 Rootly MCP 工具(mcprootly*),包括 getCurrentUser、listTeams、listSchedules、listShifts、check_responder_availability 和 createOverrideShift,并需要具备创建覆盖权限的 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)
  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.

来源与署名

来源:Rootly-AI-Labs/rootly-claude-plugin位于skills/cover提交65832aa

许可证: 无许可证

内容归原作者所有。SourceWeft 从公开仓库中收录这些内容。

举报或申请下架