mcpField
F
fsm-kb-generation

fsm-kb-generation

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

fsm-kb-generation について

完了したフィールドサービスの作業指示から、レビュー用のナレッジ記事を作成するスキルです。ナレッジ管理者や現場チーム向けに、修理手順、技術者の記録、部品、安全情報、反復する問題の傾向をまとめます。

主な機能

  1. 01修理手順と技術者の記録の抽出
  2. 02部品と機器情報の整理
  3. 03安全・コンプライアンス要件の記録
  4. 04反復事例からのトラブルシューティングガイド作成
  5. 05記事の分類とレビュー提出

活用シーン

  1. 01作業指示から再利用可能な修理手順を記録
  2. 02繰り返し発生する機器の問題への対応
  3. 03新人技術者向けの修理ガイドの準備

MCP 対応

SN-Query-Table、SN-Get-Record、SN-Create-Record、SN-Update-RecordなどのServiceNow MCPツールで作業指示データを取得し、ナレッジ記事の作成やレビュー提出を行います。

インストール

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

$npx skills add https://github.com/happy-technologies-llc/happy-platform-skills --skill fsm-kb-generation

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

詳細

フィールドサービスのナレッジ記事生成

概要

このスキルでは、完了したフィールドサービスの作業指示からナレッジベースの記事を生成します。

  • 作業指示のタスクと技術者のメモから修理手順を抽出する
  • 部品番号、数量、調達情報を含む部品リストをまとめる
  • 特定の機器タイプに関する安全上の注意事項とコンプライアンス要件を記録する
  • 類似する複数の作業指示における解決パターンから、トラブルシューティングの判断ツリーを作成する
  • 繰り返し発生する作業指示データから、機器固有の保守ガイドを生成する
  • 適切な分類を設定し、記事を該当するナレッジベースに公開する

使用するタイミング: 作業指示から再利用可能な修理手順が見つかったとき、繰り返し発生する機器の問題からナレッジの不足が疑われるとき、新しいフィールド技術者をオンボーディングするとき、またはフィールドサービスマネージャーがチーム全体で手順を標準化したいとき。

前提条件

  • ロール: knowledge_manager、knowledge_admin、wm_admin、または admin
  • プラグイン: com.snc.work_management(FSM)、com.glideapp.knowledge(Knowledge Management)
  • アクセス権: wm_order、wm_task、wm_parts_request、alm_asset への読み取りアクセス;kb_knowledge への書き込みアクセス
  • データ: 作業メモとタスクの詳細が入力された、完了済みの作業指示
  • 関連スキル: 一般的な KB 記事の作成には knowledge/article-generation、作業指示データの抽出には fsm/work-order-summarization

手順

ステップ 1:ソースとなる作業指示を特定する

ナレッジとして記録するのに適した、解決内容が豊富な完了済みの作業指示を探します。

MCP アプローチ:

Tool: SN-Query-Table
Parameters:
  table_name: wm_order
  query: state=closed^close_code=resolved^sys_updated_on>=javascript:gs.daysAgo(30)^ORDERBYDESCsys_updated_on
  fields: sys_id,number,short_description,category,subcategory,cmdb_ci,asset,close_notes,assignment_group,closed_at
  limit: 50

REST アプローチ:

GET /api/now/table/wm_order
  ?sysparm_query=state=closed^close_code=resolved^sys_updated_on>=javascript:gs.daysAgo(30)^ORDERBYDESCsys_updated_on
  &sysparm_fields=sys_id,number,short_description,category,subcategory,cmdb_ci,asset,close_notes,assignment_group,closed_at
  &sysparm_limit=50
  &sysparm_display_value=true

KB 記事に適した作業指示の選定基準:

基準重要な理由
複雑な解決内容(タスクが 2 件超)複数の手順からなる作業は、文書化すると役立ちます
繰り返し発生する問題(類似する作業指示が 3 件超)パターンはナレッジ不足を示しています
特殊な機器あまり一般的でない修理には、専門知識の記録が必要です
安全性が重要な作業安全手順は正式に記録する必要があります
新しい技術者が担当した作業研修の機会です。記憶が新しいうちに記録します
ステップ 2:作業指示のタスク詳細を抽出する

修理手順の基礎となる、タスクレベルの詳細を取得します。

MCP アプローチ:

Tool: SN-Query-Table
Parameters:
  table_name: wm_task
  query: work_order=[WO_SYS_ID]^ORDERBYsequence
  fields: sys_id,number,short_description,description,state,assigned_to,actual_work_duration,close_notes,sequence
  limit: 20

REST アプローチ:

GET /api/now/table/wm_task
  ?sysparm_query=work_order=[WO_SYS_ID]^ORDERBYsequence
  &sysparm_fields=sys_id,number,short_description,description,state,assigned_to,actual_work_duration,close_notes,sequence
  &sysparm_display_value=true
ステップ 3:技術者のメモを抽出する

技術者の所見と対応内容を含む作業メモを取得します。

MCP アプローチ:

Tool: SN-Query-Table
Parameters:
  table_name: sys_journal_field
  query: element_id=[WO_SYS_ID]^element=work_notes^ORDERBYsys_created_on
  fields: value,sys_created_on,sys_created_by
  limit: 30

タスクレベルのメモも取得します。

Tool: SN-Query-Table
Parameters:
  table_name: sys_journal_field
  query: element_id=[TASK_SYS_ID]^element=work_notes^ORDERBYsys_created_on
  fields: value,sys_created_on,sys_created_by
  limit: 20
ステップ 4:部品情報を取得する

修理に使用した部品をまとめます。

MCP アプローチ:

Tool: SN-Query-Table
Parameters:
  table_name: wm_parts_request
  query: work_order_task.work_order=[WO_SYS_ID]
  fields: sys_id,part,part_number,quantity_requested,quantity_received,state,stockroom
  limit: 30

REST アプローチ:

GET /api/now/table/wm_parts_request
  ?sysparm_query=work_order_task.work_order=[WO_SYS_ID]
  &sysparm_fields=sys_id,part,part_number,quantity_requested,quantity_received,state,stockroom
  &sysparm_display_value=true
ステップ 5:資産と機器の詳細を取得する

修理に関連する機器の仕様を取得します。

MCP アプローチ:

Tool: SN-Get-Record
Parameters:
  table_name: alm_asset
  sys_id: [ASSET_SYS_ID]
  fields: sys_id,display_name,model,model_category,serial_number,manufacturer,asset_tag,location,warranty_expiration
Tool: SN-Get-Record
Parameters:
  table_name: cmdb_ci
  sys_id: [CI_SYS_ID]
  fields: sys_id,name,sys_class_name,manufacturer,model_id,operational_status,maintenance_schedule
ステップ 6:パターンを補足するために類似の作業指示を探す

関連記事を探し、ナレッジ記事に追加のコンテキストを加えます。

MCP アプローチ:

Tool: SN-Query-Table
Parameters:
  table_name: wm_order
  query: state=closed^cmdb_ci=[CI_SYS_ID]^sys_id!=[CURRENT_WO_SYS_ID]
  fields: sys_id,number,short_description,close_notes,category
  limit: 10
Tool: SN-Query-Table
Parameters:
  query: 123TEXTQUERY321=[equipment type] repair [symptom description]
  table_name: wm_order
  fields: number,short_description,close_notes
ステップ 7:対象のナレッジベースとカテゴリを特定する

記事に適したナレッジベースとカテゴリを探します。

MCP アプローチ:

Tool: SN-Query-Table
Parameters:
  table_name: kb_knowledge_base
  query: active=true^titleLIKEfield service
  fields: sys_id,title,description,owner
  limit: 5
Tool: SN-Query-Table
Parameters:
  table_name: kb_category
  query: kb_knowledge_base=[KB_BASE_SYS_ID]^active=true
  fields: sys_id,label,parent_id,full_category
  limit: 50
ステップ 8:ナレッジ記事を生成する

構造化されたセクションで記事を作成します。

MCP アプローチ:

Tool: SN-Create-Record
Parameters:
  table_name: kb_knowledge
  data:
    kb_knowledge_base: [KB_BASE_SYS_ID]
    kb_category: [CATEGORY_SYS_ID]
    short_description: "Repair Procedure: [Equipment Model] - [Issue Description]"
    article_type: "text"
    workflow_state: "draft"
    text: |
      <h2>Overview</h2>
      <p>This article documents the repair procedure for [issue description] on [equipment model/type]. Procedure derived from work order [WO number] completed on [date].</p>

      <h3>Applies To</h3>
      <ul>
        <li>Equipment: [model name and number]</li>
        <li>Manufacturer: [manufacturer]</li>
        <li>Category: [equipment category]</li>
        <li>Serial Number Range: [if applicable]</li>
      </ul>

      <h3>Symptoms</h3>
      <ul>
        <li>[Symptom 1 reported by customer or detected by technician]</li>
        <li>[Symptom 2]</li>
        <li>[Symptom 3]</li>
      </ul>

      <h2>Safety Precautions</h2>
      <div style="border: 2px solid red; padding: 10px; margin: 10px 0;">
        <strong>WARNING:</strong>
        <ul>
          <li>[Safety precaution 1 - e.g., Disconnect power before servicing]</li>
          <li>[Safety precaution 2 - e.g., Wear appropriate PPE]</li>
          <li>[Lockout/Tagout requirements if applicable]</li>
          <li>[Environmental considerations]</li>
        </ul>
        <p>Required PPE: [list of personal protective equipment]</p>
      </div>

      <h2>Tools Required</h2>
      <ul>
        <li>[Tool 1]</li>
        <li>[Tool 2]</li>
        <li>[Specialized equipment if needed]</li>
      </ul>

      <h2>Parts Required</h2>
      <table>
        <tr><th>Part</th><th>Part Number</th><th>Quantity</th><th>Source</th></tr>
        <tr><td>[Part name]</td><td>[Part #]</td><td>[Qty]</td><td>[Stockroom/Vendor]</td></tr>
      </table>

      <h2>Repair Procedure</h2>
      <ol>
        <li><strong>[Step from Task 1]:</strong> [Detailed instruction from technician notes]</li>
        <li><strong>[Step from Task 2]:</strong> [Detailed instruction]</li>
        <li><strong>[Step from Task 3]:</strong> [Detailed instruction]</li>
        <li><strong>Verification:</strong> [How to verify the repair was successful]</li>
      </ol>

      <h2>Troubleshooting</h2>
      <table>
        <tr><th>Symptom</th><th>Possible Cause</th><th>Resolution</th></tr>
        <tr><td>[Symptom]</td><td>[Cause]</td><td>[Fix]</td></tr>
      </table>

      <h2>Estimated Time</h2>
      <p>Total repair time: [actual_work_duration from WO]</p>
      <ul>
        <li>Diagnosis: [time]</li>
        <li>Repair: [time]</li>
        <li>Testing: [time]</li>
      </ul>

      <h2>References</h2>
      <ul>
        <li>Source Work Order: [WO number]</li>
        <li>Technician: [assigned_to]</li>
        <li>Date Performed: [date]</li>
        <li>Related Work Orders: [list]</li>
      </ul>
    author: [CURRENT_USER]
    valid_to: "2027-03-19"
ステップ 9:キーワードとメタデータを追加する

キーワードとメタ情報を追加して、記事を見つけやすくします。

MCP アプローチ:

Tool: SN-Update-Record
Parameters:
  table_name: kb_knowledge
  sys_id: [KB_ARTICLE_SYS_ID]
  data:
    meta: "[equipment model], [manufacturer], [issue type], [repair type], field service, [category]"
    roles: "wm_agent,wm_dispatcher,wm_admin"
ステップ 10:レビューと公開のために提出する

ナレッジマネージャーによるレビューに向けて記事を提出します。

MCP アプローチ:

Tool: SN-Update-Record
Parameters:
  table_name: kb_knowledge
  sys_id: [KB_ARTICLE_SYS_ID]
  data:
    workflow_state: "review"
    work_notes: "Auto-generated from work order [WO number]. Please review procedure accuracy, safety notes, and parts list before publishing."

ツールの使用

ツール目的使用するタイミング
SN-Query-Table作業指示、タスク、部品、ジャーナルデータを抽出するソースとなる作業指示からのデータ収集
SN-Create-Recordナレッジ記事を作成する記事の生成
SN-Get-Record特定の資産や機器の詳細を取得する機器仕様の検索
SN-Natural-Language-Search類似する作業指示や既存の KB 記事を探すパターンの発見と重複の排除

ベストプラクティス

  1. 安全上の注意事項を必ず含める — 現場作業では危険な状況に遭遇する場合があります
  2. 実際の技術者が使う言葉を使用する — 作業記録の実用的な用語をそのまま残します
  3. 写真や図を含める — 利用可能な場合は、作業指示書の添付ファイルの sys_ids を参照します
  4. 推定所要時間を追加する — 完了済みの作業指示書に記載された実際の所要時間を使用します
  5. 関連する記事を相互参照する — 関連する設備や手順の記事にリンクします
  6. レビューサイクルを設定する — 記事は毎年、または手順に大幅な変更があった後にレビューします
  7. 部品の代替品を記載する — 元の部品が販売終了している場合は、代替部品を記載します
  8. 故障モードを記録する — 発生した問題と、その診断方法を記録します
  9. 設備モデルにタグを付ける — 設備モデルとメーカーで記事を検索できるようにします
  10. 下書きステータスから開始する — 公開前に必ずレビューに提出します

トラブルシューティング

問題原因解決方法
作業記録が空技術者が作業を記録していない代わりに close_notes またはタスクの説明から抽出します。技術者に記録方法を指導します
部品データが不完全wm_parts_request で部品が追跡されていないタスクの作業記録に手動で記載された部品がないか確認します。alm_consumable を照会します
重複した記事が作成された類似の記事がすでに存在する作成前に KB を検索します。NL-Search を使って既存の情報を探します
記事が専門的すぎる対象読者が経験の浅い技術者である表現を簡潔にします。必要なスキルに関する注記を追加し、用語集を含めます
安全に関する注記がない元の WO に安全情報が記録されていない設備カテゴリに基づいて標準的な安全に関する注記を追加します。安全マニュアルを参照します
設備モデルが見つからない資産レコードが不完全メーカーの資料を調べます。代替として CI レコードを使用します

例

例 1:HVAC コンプレッサーの交換

ソース: 建物 A での HVAC コンプレッサー故障に関する作業指示書 WO0056789。

KB Article: Repair Procedure: Carrier 50XC - Compressor Replacement
Category: HVAC > Compressor

SAFETY: Disconnect power, recover refrigerant per EPA regulations,
wear safety glasses and gloves.

PARTS: 1x Compressor (P/N: 06DA8186), 1x Contactor (P/N: HN52KD024),
Refrigerant R-410A (5 lbs)

PROCEDURE:
1. Recover refrigerant using approved recovery unit
2. Disconnect electrical connections and tag wires
3. Disconnect refrigerant lines (suction and discharge)
4. Remove mounting bolts and extract compressor
5. Install new compressor with new mounting grommets
6. Reconnect refrigerant lines with new copper fittings
7. Reconnect electrical per wiring diagram
8. Evacuate system to 500 microns
9. Charge with R-410A per manufacturer spec
10. Run test cycle and verify superheat/subcool readings

EST. TIME: 4 hours
例 2:エレベーターのドアセンサー修理

ソース: エレベーターのドアセンサーの問題に関する複数の作業指示書。

KB Article: Troubleshooting Guide: Otis Gen2 - Door Sensor Faults
Category: Elevator > Door Systems

TROUBLESHOOTING DECISION TREE:
1. Door not opening -> Check door operator power -> Replace fuse / reset breaker
2. Door opens partially -> Check obstruction sensor alignment -> Realign sensors
3. Door reverses immediately -> Clean sensor lenses -> Replace if cleaning fails
4. Intermittent door faults -> Check wiring harness for damage -> Repair/replace harness

PARTS: Door sensor assembly (P/N: GAA24350BD11), Sensor lens kit (P/N: DCD-500)

関連スキル

  • knowledge/article-generation - 一般的なナレッジ記事の作成
  • fsm/work-order-summarization - 作業指示書データの要約
  • knowledge/gap-analysis - ナレッジベースの不足箇所の特定
  • knowledge/duplicate-detection - 重複記事の検出
  • knowledge/content-recommendation - 関連コンテンツの推奨

コメント