mcpField
P
playbook-recommendations

playbook-recommendations

github.com/happy-technologies-llcその他4141 回インストール2 日前に更新
リポジトリ

playbook-recommendations について

playbook-recommendationsは、ServiceNowのプロセス自動化を扱うユーザー向けに、対応中のケース、インシデント、HRケースに合うプレイブックを提案するスキルです。記録の状況と実行履歴で候補を順位付けし、カバレッジの不足も特定します。

主な機能

  1. 01ケースやインシデントの状況を取得
  2. 02利用可能なプレイブックとアクティビティを検索
  3. 03状況との適合性と過去の成果を評価
  4. 04推薦理由を説明しカスタマイズを提案
  5. 05プレイブックのカバレッジ不足を特定

活用シーン

  1. 01対応中のインシデントに使うプレイブックを選ぶ
  2. 02顧客サービスケースにプレイブックを照合
  3. 03インシデントカテゴリごとのカバレッジを評価

MCP 対応

ServiceNowのMCPツールで記録、プレイブック、アクティビティ、実行履歴を取得します。推薦内容は任意で記録に関連付けられます。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/happy-technologies-llc/happy-platform-skills --skill playbook-recommendations

インストール後、Claude Code で/playbook-recommendationsを入力して読み込まれたか確認します。

詳細

プレイブックの推奨

概要

このスキルは、進行中のケース、インシデント、または HR ケースのコンテキストに基づいて、関連する Process Automation Designer のプレイブックを推奨します。

  • 問題のパターン(カテゴリ、優先度、症状)を既存のプレイブックのトリガーや条件と照合します
  • 過去の成功率とコンテキストとの適合度に基づいて、プレイブックの関連度をスコアリングします
  • 一致する理由を説明しながら、具体的なプレイブックを推奨します
  • 完全に一致するものがない場合は、プレイブックのカスタマイズを提案します
  • 新しいプレイブックを作成すべき領域を特定します
  • 効果を検証するため、プレイブックの実行履歴を分析します

使用するタイミング: エージェントが進行中のレコードに適用するプレイブックについてガイダンスを必要とする場合、仮想エージェントのフローでプレイブックの選択を自動化する場合、またはサービスカテゴリ全体でプレイブックの適用範囲を評価する場合に使用します。

前提条件

  • ロール: 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 の概念、プレイブックのライフサイクル、アクティビティの種類
  • 関連スキル: 新しいプレイブックの作成には genai/playbook-generation、基盤となるフローには genai/flow-generation

手順

ステップ 1:ソースレコードのコンテキストを取得する

プレイブックの推奨が必要なケースまたはインシデントを取得します。

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:利用可能なプレイブックを検索する

このレコードタイプに適用できる、有効なプレイブックをすべて取得します。

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:プレイブックのアクティビティとステージを取得する

候補となる各プレイブックのステージとアクティビティを取得して、その内容を確認します。

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:プレイブックをレコードのコンテキストと照合する

以下の基準を使って、各プレイブックをソースレコードに照らしてスコアリングします。

照合基準:

基準重み照合方法
カテゴリの一致30%プレイブックの trigger_condition にレコードのカテゴリが含まれている
優先度の適合15%プレイブックがこの優先度レベル向けに設計されている
CI/サービスの一致20%プレイブックが同じ CI タイプまたはサービスを対象としている
説明の類似性15%レコードの説明とプレイブックの説明との自然言語上の類似性
過去の成功率20%類似レコードに対するプレイブックの解決率

過去のデータに基づく照合の 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 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:プレイブックの実行履歴を分析する

推奨するプレイブックの過去の実績を確認します。

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:プレイブックのカスタマイズを提案する

完全に一致するプレイブックがない場合は、最も近い候補の変更を提案します。

=== 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:プレイブックの適用範囲における不足を特定する

一致するプレイブックがないカテゴリやインシデントタイプを見つけます。

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:プレイブックをレコードに関連付ける(任意)

推奨が承認された場合は、プレイブックをレコードに関連付けます。

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:推奨の有効性を追跡する

推奨したプレイブックが成功につながるかどうかを監視します。

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プレイブック、実行履歴、インシデントを取得します主なデータの取得と分析
SN-Get-Record特定のインシデントまたはケースの詳細を取得しますソースレコードのコンテキストを取得する場合
SN-Natural-Language-Search説明の類似性でプレイブックを検索しますカテゴリによる照合だけでは不十分な場合
SN-Update-Record推奨するプレイブックをレコードに関連付けます推奨を記録する場合

ベストプラクティス

  1. 過去の成功実績を重視する -- 完了率が90%のプレイブックは、カテゴリが完全に一致していても実行の成果が低いプレイブックより優れています
  2. プレイブックの複雑さを考慮する -- 迅速な対応が重要なP1インシデントでは、よりシンプルなプレイブックを推奨します
  3. プレイブックが最新か確認する -- 6か月以上更新されていないプレイブックには、古い手順が記載されている可能性があります
  4. エージェントのスキルレベルを考慮する -- 高度な技術スキルが必要なプレイブックもあります
  5. 代替案を提示する -- セーフティネットとして、汎用的なトリアージ用プレイブックを必ず含めます
  6. 推奨の採用状況を追跡する -- エージェントが推奨に従う頻度を測定します
  7. スコアの重みを更新する -- 実際の結果データに基づいて、マッチング基準を調整します
  8. 時間帯を考慮する -- 営業時間内にのみ利用可能なリソースが必要なプレイブックもあります
  9. プレイブックを推奨しすぎない -- 関連性の高い順に、最大3~5件を推奨します
  10. 説明を含める -- エージェントがプレイブックの推奨理由を理解できるようにします

トラブルシューティング

問題原因解決策
プレイブックが見つからない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 - マッチングに使う顧客ケースのコンテキスト

コメント