FlashDuty 团队协作
本技能帮助查找团队、成员和值班信息,并为事件指派提供建议。
前置条件
- FlashDuty API 授权:用户已配置 FlashDuty MCP 工具,API 连接可用
- 频道访问权限:用户有权访问目标协作空间(Channel)
- 数据保留期限:查询受 FlashDuty 数据保留策略限制
- 团队配置:目标团队和值班表已在 FlashDuty 中配置
内部逻辑模式
本技能采用 Tool Wrapper 模式:包装 team-resolver Sub-Agent,提供团队查询和事件指派的统一入口。
SRE 背景
事件响应需要:
- 清晰的升级路径:当 SLO 受威胁时联系谁
- 值班轮换健康度:均衡负载,避免倦怠
- 响应时间目标:按严重级别的 MTTA 目标
主要 Sub-Agent
flashduty-team-resolver
用于:所有团队/成员/指派查询
SRE 特定用例:
- 查找负责影响 SLO 事件的值班工程师
- 当错误预算快速消耗时进行升级
- 识别重大故障的事件指挥官
查询类型:
{
"find_member": { "name": "John" | "email": "..." | "phone": "..." },
"find_team": { "name": "SRE" },
"get_oncall": { "team_id": "..." | "team_name": "..." },
"resolve_channel": { "channel_id": "..." | "channel_name": "..." },
"suggest_assignee": { "incident_id": "...", "channel_id": "..." },
"get_escalation_rules": { "channel_id": "..." }
}
并行执行模式
模式 1:多团队值班检查
用户:哪些团队有人在值班?
→ 获取所有团队
→ 为每个团队并行启动 Agent
→ 汇总值班状态
模式 2:指派建议
用户:这个事件应该指派给谁?
→ 并行执行:
Agent 1:获取事件详情
Agent 2:获取频道值班表
→ 确定最佳指派人
工作流
步骤 1:识别查询类型
解析用户请求以确定:
- 查找人? →
find_member - 查找团队? →
find_team - 查看值班? →
get_oncall - 查询升级规则? →
get_escalation_rules - 需要帮助指派? →
suggest_assignee - 直接分配事件? → 直接使用
mcp__flashduty__assign_incident
步骤 2:启动团队解析器
Task({
subagent_type: "general-purpose",
description: "解析团队查询",
prompt: `你是 flashduty-team-resolver。
查询类型:get_oncall
参数:{
"team_name": "platform"
}
查找该团队当前值班人员并返回联系信息。`
})
步骤 3:展示解析结果
使用模式
查找团队成员
用户:在 SRE 团队中查找 John
→ 启动 resolver:{ find_member: { name: "John" } }
→ 如果有多个匹配,请用户确认
多匹配处理:如果查询返回多个匹配结果,列出所有候选并请用户确认目标人员。
查看值班
用户:平台团队谁在值班?
→ 启动 resolver:{ get_oncall: { team_name: "platform" } }
→ 展示值班表
建议指派
用户:谁应该处理事件 FD123456?
→ 启动 resolver:{ suggest_assignee: { incident_id: "FD123456" } }
→ 基于频道 + 值班推荐
解析协作空间配置
用户:展示基础架构频道详情
→ 启动 resolver:{ resolve_channel: { channel_name: "基础架构" } }
→ 展示频道配置 + 升级规则
查询升级规则
用户:查看这个协作空间的升级策略
→ 启动 resolver:{ get_escalation_rules: { channel_id: "..." } }
→ 展示升级规则配置(升级层级、通知方式、超时时间)
直接分配事件
用户:把事件 FD123 分配给 John
→ 查找 John 的 person_id
→ 直接调用 mcp__flashduty__assign_incident
{ incident_ids: ["FD123"], type: "assign", person_ids: [john_id] }
→ 确认分配成功
多查询处理
当用户一次提出多个问题时:
用户:查找 SRE 团队值班,同时查找 John
→ 并行启动:
Agent 1:{ get_oncall: { team_name: "SRE" } }
Agent 2:{ find_member: { name: "John" } }
→ 展示两个结果
响应格式
## 团队解析结果
### 查询:[查询描述]
**主要联系人**:
- 姓名:[name]
- 邮箱:[email]
- 人员 ID:[id]
**当前值班**(如适用):
- [name] ([email])
- 轮换:[schedule]
**升级路径**:
1. 主要联系人:[contact]
2. X 分钟后:[escalation_target]
3. Y 分钟后:[final_target]
**备选**(如果有多个匹配):
- [选项 1]
- [选项 2]
Converted and distributed by TomeVault — claim your Tome and manage your conversions.