关于 playbook-recommendations
playbook-recommendations 是面向 ServiceNow 流程自动化用户的技能,可为活动中的案例、事件或 HR 案例推荐相关 playbook。它结合记录上下文、执行历史和覆盖缺口给出排序及匹配说明。
主要功能
- 01读取案例或事件上下文
- 02查询可用 playbook 及其活动
- 03按上下文和历史成效评分
- 04解释推荐理由并提出定制建议
- 05识别 playbook 覆盖缺口
适用场景
- 01为活动事件选择合适 playbook
- 02为客户服务案例匹配处理流程
- 03评估各事件类别的 playbook 覆盖情况
MCP 相关
通过 ServiceNow MCP 工具读取记录、playbook、活动和执行历史;可选地将推荐 playbook 关联到记录。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ happy-technologies-llc/ happy-platform-skills --skill playbook-recommendations安装后在 Claude Code 中输入/playbook-recommendations确认已加载。
详细介绍
Playbook 推荐
概述
此技能根据活动案例、事件或 HR 案例的上下文,推荐相关的 Process Automation Designer playbook:
- 将问题模式(类别、优先级、症状)与现有 playbook 触发条件和条件进行匹配
- 根据历史成功率和上下文契合度评估 playbook 的相关性
- 推荐具体的 playbook,并说明匹配原因
- 当不存在完全匹配项时,建议自定义 playbook
- 找出应创建新 playbook 的缺口
- 分析 playbook 执行历史,以验证其有效性
适用场景: 当 Agent 需要了解应将哪个 playbook 应用于活动记录、在虚拟 Agent 工作流中自动选择 playbook,或评估各服务类别的 playbook 覆盖情况时。
前提条件
- 角色:
process_automation_user、itil、sn_customerservice_agent或admin - 插件:
com.glide.process_automation(Process Automation Designer) - 访问权限: 对
sys_pd_playbook、sys_pd_activity、sys_pd_context和源记录表具有读取权限 - 知识: Process Automation Designer 概念、playbook 生命周期、活动类型
- 相关技能: 用于创建新 playbook 的
genai/playbook-generation,以及用于底层流程的genai/flow-generation
流程
步骤 1:检索源记录上下文
获取需要推荐 playbook 的案例或事件。
MCP 方式:
Tool: SN-Get-Record
Parameters:
table_name: incident
sys_id: <incident_sys_id>
fields: sys_id,number,short_description,description,category,subcategory,priority,impact,urgency,assignment_group,state,cmdb_ci,contact_type,caller_id
REST 方式:
GET /api/now/table/incident/<incident_sys_id>
?sysparm_fields=sys_id,number,short_description,description,category,subcategory,priority,impact,urgency,assignment_group,state,cmdb_ci,contact_type
&sysparm_display_value=true
对于 CSM 案例:
Tool: SN-Get-Record
Parameters:
table_name: sn_customerservice_case
sys_id: <case_sys_id>
fields: sys_id,number,short_description,description,product,category,priority,account,contact,state,assignment_group
步骤 2:查询可用的 playbook
检索所有可能适用于此记录类型的活动 playbook。
MCP 方式:
Tool: SN-Query-Table
Parameters:
table_name: sys_pd_playbook
query: active=true^trigger_table=incident^ORDERBYorder
fields: sys_id,name,description,trigger_table,trigger_condition,category,sys_updated_on,active,application
limit: 50
REST 方式:
GET /api/now/table/sys_pd_playbook
?sysparm_query=active=true^trigger_table=incident^ORDERBYorder
&sysparm_fields=sys_id,name,description,trigger_table,trigger_condition,category,sys_updated_on
&sysparm_display_value=true
&sysparm_limit=50
步骤 3:检索 playbook 活动和阶段
对于每个候选 playbook,获取其阶段和活动,以了解其作用。
MCP 方式:
Tool: SN-Query-Table
Parameters:
table_name: sys_pd_stage
query: playbook=<playbook_sys_id>^ORDERBYorder
fields: sys_id,name,description,order,playbook,condition
limit: 20
Tool: SN-Query-Table
Parameters:
table_name: sys_pd_activity
query: playbook=<playbook_sys_id>^ORDERBYorder
fields: sys_id,name,description,activity_type,stage,order,condition,mandatory,inputs
limit: 50
步骤 4:将 playbook 与记录上下文匹配
使用以下标准,根据源记录对每个 playbook 进行评分:
匹配标准:
| 标准 | 权重 | 匹配方式 |
|---|---|---|
| 类别匹配 | 30% | playbook 的 trigger_condition 包含记录的类别 |
| 优先级契合度 | 15% | playbook 专为此优先级设计 |
| CI/服务匹配 | 20% | playbook 针对相同的 CI 类型或服务 |
| 描述相似度 | 15% | 记录描述与 playbook 描述的自然语言相似度 |
| 历史成功率 | 20% | playbook 对类似记录的解决率 |
使用 MCP 进行历史匹配:
Tool: SN-Query-Table
Parameters:
table_name: sys_pd_context
query: playbook=<playbook_sys_id>^state=complete^ORDERBYDESCsys_created_on
fields: sys_id,playbook,document_id,state,started,completed,duration
limit: 50
步骤 5:计算相关性得分
建立 playbook 推荐的排名列表:
=== PLAYBOOK RECOMMENDATIONS ===
Record: INC0045678 - Email server not responding
Category: Email | Priority: P2 | CI: mail-server-prod-01
Rank | Playbook | Score | Match Reason
-----|---------------------------------|-------|------------------------------------------
#1 | Email Service Outage Response | 92% | Category: exact, CI type: mail server,
| | | Success rate: 89% (45 past executions)
#2 | Server Connectivity Diagnostic | 78% | CI type: server, Description: "not
| | | responding" pattern, Success: 76%
#3 | Network Service Restoration | 65% | Category: partial (network/email),
| | | Priority: P2 match, Success: 82%
#4 | General Incident Triage | 45% | Generic fallback, always applicable,
| | | Success: 71%
RECOMMENDED: #1 - Email Service Outage Response
Reason: Exact category match, designed for this CI type, 89% historical
success rate across 45 similar incidents.
步骤 6:分析 playbook 执行历史
检查推荐的 playbook 过去的表现。
MCP 方式:
Tool: SN-Query-Table
Parameters:
table_name: sys_pd_context
query: playbook=<recommended_playbook_sys_id>^state=complete^completed>javascript:gs.daysAgo(90)
fields: sys_id,document_id,state,started,completed,duration
limit: 100
计算指标:
=== PLAYBOOK PERFORMANCE: Email Service Outage Response ===
Period: Last 90 days
Executions: 45
Completion Rate: 89% (40 completed, 5 abandoned)
Average Duration: 32 minutes
Median Duration: 25 minutes
Fastest Resolution: 8 minutes
Slowest Resolution: 2 hours 15 minutes
Resolution Outcome (from linked incidents):
- Resolved: 38 (84%)
- Escalated: 5 (11%)
- Workaround Applied: 2 (5%)
步骤 7:建议自定义 playbook
当没有完全匹配的 playbook 时,建议修改最接近的匹配项:
=== CUSTOMIZATION SUGGESTIONS ===
Closest Match: Server Connectivity Diagnostic (78% relevance)
Suggested Modifications for Email-Specific Use:
1. ADD STAGE: "Check Email Service Status"
- Activity: Query monitoring system for mail server health
- Activity: Check mail queue depth via REST API
2. MODIFY STAGE: "Connectivity Tests"
- Add email-specific port checks (25, 587, 993, 143)
- Add SMTP handshake test activity
3. ADD ACTIVITY: "Notify Email Users"
- Send communication to affected distribution list
- Post status update to service status page
4. SKIP STAGE: "Database Connectivity" (not applicable to email)
Estimated Effort to Customize: 2-4 hours
Alternative: Create new playbook using genai/playbook-generation skill
步骤 8:找出 playbook 覆盖缺口
找出没有匹配 playbook 的类别或事件类型。
MCP 方式:
Tool: SN-Query-Table
Parameters:
table_name: incident
query: active=true^sys_pd_contextISEMPTY^ORDERBYDESCsys_created_on
fields: category,subcategory,priority,short_description
limit: 100
按类别分组,找出未覆盖的领域:
=== PLAYBOOK COVERAGE GAPS ===
| Category/Subcategory | Open Incidents | Playbook Available |
|-----------------------------|---------------|-------------------|
| Hardware > Monitor Issues | 23 | No |
| Software > License Errors | 18 | No |
| Network > WiFi Connectivity | 15 | No |
| Email > Calendar Sync | 12 | No |
| Database > Performance | 8 | Yes (partial) |
Priority Recommendation:
Create playbooks for "Hardware > Monitor Issues" and "Software > License Errors"
first (highest volume with no coverage).
步骤 9:将 playbook 附加到记录(可选)
如果接受推荐,请将 playbook 与记录关联。
MCP 方式:
Tool: SN-Update-Record
Parameters:
table_name: incident
sys_id: <incident_sys_id>
data:
u_recommended_playbook: "<playbook_sys_id>"
u_playbook_relevance_score: "92"
步骤 10:跟踪推荐效果
监控推荐的 playbook 是否带来了成功结果。
MCP 方式:
Tool: SN-Query-Table
Parameters:
table_name: sys_pd_context
query: document_id=<incident_sys_id>^state=complete
fields: sys_id,playbook,state,started,completed,duration
limit: 5
工具使用
| 工具 | 用途 | 使用时机 |
|---|---|---|
| SN-Query-Table | 获取 playbook、执行历史和事件 | 主要数据检索与分析 |
| SN-Get-Record | 检索具体事件或案例详情 | 获取源记录上下文 |
| SN-Natural-Language-Search | 根据描述相似度查找 playbook | 类别匹配不足时 |
| SN-Update-Record | 将推荐的 playbook 关联到记录 | 记录推荐内容 |
最佳实践
- 高度重视历史成功率——完成率为 90% 的操作手册,优于类别完全匹配但执行效果不佳的操作手册
- 考虑操作手册的复杂度——对于讲求速度的 P1 事件,建议使用更简单的操作手册
- 检查操作手册的时效性——超过 6 个月未更新的操作手册可能引用过时的流程
- 考虑 Agent 的技能水平——有些操作手册需要较高的技术技能
- 提供备用建议——始终包含一个通用的分诊操作手册作为保障
- 跟踪建议采纳情况——衡量 Agent 遵循建议的频率
- 更新评分权重——根据实际结果数据调整匹配标准
- 考虑时段因素——有些操作手册需要的资源仅在工作时间内可用
- 避免操作手册过载——最多建议 3-5 个选项,并按相关性排序
- 附上说明——Agent 需要了解推荐某个操作手册的原因
故障排查
| 问题 | 原因 | 解决方法 |
|---|---|---|
| 未找到操作手册 | trigger_table 错误或全部处于非活动状态 | 检查 sys_pd_playbook.trigger_table 是否与记录类型匹配 |
| 所有评分都很低 | 操作手册与当前类别不匹配 | 检查并更新操作手册的触发条件 |
| 执行历史为空 | 操作手册刚创建或从未使用 | 仅根据类别/描述进行匹配 |
| 建议不匹配 | 评分权重未经校准 | 分析过去的建议与结果,并调整权重 |
| 缺少上下文记录 | 未启用 Process Automation 跟踪 | 确认正在创建 sys_pd_context 记录 |
| 未返回操作手册活动 | 活动使用了不同的表名 | 检查是否存在 sys_pd_lane_activity 或特定版本的表 |
示例
示例 1:事件操作手册建议
输入:“为 INC0045678 推荐一份操作手册——邮件服务器无响应”
**步骤:**检索事件详情,查询事件表中的所有活动操作手册,根据类别/优先级/CI/描述为每份操作手册评分,获取得分最高的匹配项的执行历史,并返回带说明的排序列表。
示例 2:CSM 案例操作手册匹配
输入:“对于这个关于账单错误的客户投诉,我应该使用哪份操作手册?”
**步骤:**从 sn_customerservice_case 检索案例详情,查询 trigger_table=sn_customerservice_case 的操作手册,根据产品/类别/描述进行匹配,并结合以往执行的客户满意度指标给出建议。
示例 3:操作手册覆盖情况评估
输入:“列出哪些事件类别没有操作手册覆盖”
**步骤:**查询所有活动操作手册的触发条件,查询所有事件类别及其数量,交叉比对,找出有事件但没有匹配操作手册的类别,并按事件数量确定缺口优先级。
相关技能
genai/playbook-generation- 为已识别的缺口创建新的操作手册genai/flow-generation- 为操作手册活动构建底层流程itsm/incident-triage- 事件分类与路由itsm/incident-lifecycle- 事件管理流程csm/case-summarization- 用于匹配的客户案例上下文