mcpField
C
catalog-builder-ai

catalog-builder-ai

github.com/happy-technologies-llc開発4142 回インストール2 日前に更新
リポジトリ

catalog-builder-ai について

catalog-builder-aiは、ServiceNowのサービスオーナーやカタログ管理者向けのスキルです。自然言語の要件から、コンテンツ、変数、ポリシー、フローを含むService Catalog項目を構成します。

主な機能

  1. 01カタログ項目とコンテンツの生成
  2. 02カタログ変数と選択肢の設定
  3. 03フローと承認の構成
  4. 04UIポリシーとクライアントスクリプトの作成
  5. 05カテゴリ別の項目整理
  6. 06カタログ項目の検証と公開

活用シーン

  1. 01業務要件からカタログ項目を作成
  2. 02項目のフィールドと利用者向けヘルプの標準化
  3. 03リクエストの承認とフローの構成

MCP 対応

SN-Query-Table、SN-Create-Record、SN-Update-RecordなどのMCPツールを使い、ServiceNowのカタログレコード、変数、ポリシー、フローを調査・作成する方法を説明します。

インストール

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

$npx skills add https://github.com/happy-technologies-llc/happy-platform-skills --skill catalog-builder-ai

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

詳細

AI 支援カタログビルダー

概要

このスキルでは、自然言語による説明から ServiceNow のサービスカタログ項目を作成する、AI 主導のアプローチを提供します。

  • 簡潔なユーザープロンプトから、タイトル、説明、メタデータを洗練させたカタログ項目レコードを生成します
  • カタログ変数(テキスト、参照、選択、チェックボックス、複数行変数セット)を作成して設定します
  • Flow Designer または実行計画を使って、フルフィルメントワークフローを設定します
  • 動的なフォーム動作のために、カタログ UI ポリシーとクライアントスクリプトを設定します
  • 項目をカテゴリとサブカテゴリに整理します
  • 明確な手順とヘルプテキストを含む、ユーザー向けコンテンツを生成します
  • 承認ルールと価格設定を構成します

使用する場面: サービスオーナーやカタログ管理者が、業務内容の説明からカタログ項目をすばやく作成する必要がある場合や、AI 支援によるコンテンツ生成を通じてカタログ項目の品質を標準化する場合に使用します。

前提条件

  • ロール: catalog_admin、catalog_manager、または admin
  • プラグイン: com.glideapp.servicecatalog(Service Catalog)、com.glide.hub.flow_designer(Flow Designer)
  • アクセス: sc_cat_item、item_option_new、sc_category、catalog_ui_policyへの書き込みアクセス
  • 知識: サービスカタログの概念、変数タイプ、フルフィルメントプロセスの設計
  • 関連スキル: 手動で項目を作成するにはcatalog/item-creation、変数の詳細についてはcatalog/variable-management、承認についてはcatalog/approval-workflows

手順

ステップ 1:自然言語によるリクエストを解析する

ユーザーの説明を分析し、以下の情報を抽出します。

  • サービス名: カタログ項目が提供するもの
  • 対象ユーザー: この項目をリクエストするユーザー(全ユーザー、IT スタッフ、マネージャー)
  • 必要な情報: 収集するデータ(変数)
  • フルフィルメントプロセス: 送信後に行われること(承認、タスク、自動化)
  • コスト/価格: 項目に価格が設定されているか、無料か
  • カテゴリの配置: カタログ階層内で項目を配置する場所

入力例:「新しいノート PC をリクエストするカタログ項目を作成してください。ユーザーは Mac と Windows から選び、サイズを指定し、業務上の正当な理由を入力して、マネージャーの承認を受ける必要があります。IT 部門には、購入と設定を行うタスクが割り当てられるようにしてください。」

ステップ 2:カタログカテゴリを特定または作成する

MCP アプローチ:

Tool: SN-Query-Table
Parameters:
  table_name: sc_category
  query: title=Hardware
  fields: sys_id,title,description,parent,active,icon
  limit: 5

カテゴリが存在しない場合は、作成します。

Tool: SN-Create-Record
Parameters:
  table_name: sc_category
  data:
    title: "Hardware"
    description: "Hardware procurement and provisioning requests"
    parent: "<parent_category_sys_id>"
    active: true
    icon: "fa-laptop"

REST アプローチ:

GET /api/now/table/sc_category?sysparm_query=title=Hardware&sysparm_fields=sys_id,title,description,parent,active&sysparm_limit=5

POST /api/now/table/sc_category
Body: {
  "title": "Hardware",
  "description": "Hardware procurement and provisioning requests",
  "parent": "<parent_category_sys_id>",
  "active": "true"
}
ステップ 3:カタログ項目レコードを生成する

MCP アプローチ:

Tool: SN-Create-Record
Parameters:
  table_name: sc_cat_item
  data:
    name: "New Laptop Request"
    short_description: "Request a new laptop for business use"
    description: |
      <p>Use this form to request a new laptop computer. Available options include
      Mac and Windows configurations in standard and premium tiers.</p>
      <h4>What you will need:</h4>
      <ul>
        <li>Your preferred operating system (Mac or Windows)</li>
        <li>Screen size preference</li>
        <li>Business justification for the request</li>
      </ul>
      <h4>What happens next:</h4>
      <ol>
        <li>Your manager will review and approve the request</li>
        <li>IT Procurement will order the hardware (3-5 business days)</li>
        <li>IT Support will configure and deliver the laptop (1-2 business days)</li>
      </ol>
    category: "<category_sys_id>"
    active: true
    availability: on_desktop_and_mobile
    order: 100
    delivery_time: "5 business days"
    price: "0"
    billable: false
    workflow: "<flow_sys_id>"

REST アプローチ:

POST /api/now/table/sc_cat_item
Body: {
  "name": "New Laptop Request",
  "short_description": "Request a new laptop for business use",
  "description": "<p>Use this form to request a new laptop...</p>",
  "category": "<category_sys_id>",
  "active": "true",
  "availability": "on_desktop_and_mobile",
  "delivery_time": "5 business days"
}
ステップ 4:カタログ変数を作成する

ステップ 1 で特定した情報要件に基づいて、変数を生成します。

選択ボックス変数 -- オペレーティングシステム:

MCP アプローチ:

Tool: SN-Create-Record
Parameters:
  table_name: item_option_new
  data:
    cat_item: "<cat_item_sys_id>"
    name: "os_preference"
    question_text: "Operating System"
    type: 3
    mandatory: true
    order: 100
    tooltip: "Select your preferred operating system"
    default_value: ""
    choice_table: ""
    choice_field: ""

次に、選択肢を作成します。

Tool: SN-Create-Record
Parameters:
  table_name: question_choice
  data:
    question: "<variable_sys_id>"
    text: "MacOS (MacBook Pro)"
    value: "mac"
    order: 100

参照変数 -- コストセンター:

Tool: SN-Create-Record
Parameters:
  table_name: item_option_new
  data:
    cat_item: "<cat_item_sys_id>"
    name: "cost_center"
    question_text: "Cost Center"
    type: 8
    mandatory: true
    order: 300
    reference: "cmn_cost_center"
    reference_qual: "active=true"

複数行テキスト -- 業務上の正当な理由:

Tool: SN-Create-Record
Parameters:
  table_name: item_option_new
  data:
    cat_item: "<cat_item_sys_id>"
    name: "business_justification"
    question_text: "Business Justification"
    type: 2
    mandatory: true
    order: 400
    tooltip: "Explain why you need this laptop (minimum 50 characters)"

一般的な変数タイプの一覧:

タイプコードタイプ名使用例
1はい/いいえ真偽値の切り替え
2複数行テキスト説明、正当な理由
3複数選択定義済みの選択肢から選択
5選択ボックスドロップダウン選択
61 行テキスト短いテキスト入力
7チェックボックス複数選択の切り替え
8参照別のテーブルレコードへのリンク
9日付日付ピッカー
10日時日付と時刻のピッカー
14IP アドレスネットワーク設定
18検索選択ボックス動的検索
20コンテナー開始変数のグループ化
24マスクパスワード、シークレット
ステップ 5:カタログ UI ポリシーを設定する

MCP アプローチ:

Tool: SN-Create-Record
Parameters:
  table_name: catalog_ui_policy
  data:
    catalog_item: "<cat_item_sys_id>"
    short_description: "Show accessories when laptop type selected"
    applies_to: "item"
    active: true
    on_load: true
    reverse_if_false: true
    conditions: "os_preference=mac"
    script_false: ""
    script_true: ""
ステップ 6:カタログクライアントスクリプトを設定する

MCP アプローチ:

Tool: SN-Create-Record
Parameters:
  table_name: catalog_script_client
  data:
    cat_item: "<cat_item_sys_id>"
    name: "Validate business justification length"
    type: onSubmit
    active: true
    ui_type: 0
    script: |
      function onSubmit() {
        var justification = g_form.getValue('business_justification');
        if (justification && justification.length < 50) {
          g_form.showFieldMsg('business_justification',
            'Please provide a more detailed justification (at least 50 characters)', 'error');
          return false;
        }
        return true;
      }
ステップ 7:フルフィルメントフローを設定する

MCP アプローチ:

Tool: SN-Create-Record
Parameters:
  table_name: sys_hub_flow
  data:
    name: "Laptop Request Fulfillment"
    description: "Handles approval and task creation for laptop requests"
    trigger_type: "SERVICE_CATALOG"
    table: "sc_req_item"
    status: "draft"
    run_as: "system"

次に、genai/flow-generationで説明されているように、承認アクションとタスク作成アクションを追加します。

ステップ 8:フルフィルメントフローをカタログ項目にリンクする

MCP アプローチ:

Tool: SN-Update-Record
Parameters:
  table_name: sc_cat_item
  sys_id: "<cat_item_sys_id>"
  data:
    workflow: "<flow_sys_id>"

REST アプローチ:

PATCH /api/now/table/sc_cat_item/<cat_item_sys_id>
Body: {
  "workflow": "<flow_sys_id>"
}
ステップ 9:AI でコンテンツをブラッシュアップする

生成されたカタログアイテムのコンテンツを強化します。

  1. タイトルの最適化:行動を促す表現にします(「ノートパソコン」ではなく「新しいノートパソコンを申請する」)
  2. 説明の充実:明確な期待事項、所要期間、要件を追加します
  3. 変数のヘルプテキスト:各変数に、状況に応じたツールチップのテキストを生成します
  4. 確認メッセージ:送信後に表示する確認メッセージを作成します

MCP のアプローチ:

Tool: SN-Update-Record
Parameters:
  table_name: sc_cat_item
  sys_id: "<cat_item_sys_id>"
  data:
    sc_template: |
      Thank you for your laptop request. Your order {{number}} has been submitted.
      Expected delivery: {{delivery_time}}.
      Your manager will be notified for approval shortly.
ステップ 10:検証して公開する

カタログアイテムの設定全体を確認します。

MCP のアプローチ:

Tool: SN-Query-Table
Parameters:
  table_name: item_option_new
  query: cat_item=<cat_item_sys_id>^ORDERBYorder
  fields: name,question_text,type,mandatory,order,active
  limit: 50

次の項目が完全に設定されていることを確認します。

  • 必須の変数がすべて存在し、型も正しく設定されている
  • 条件ロジックに対応する UI ポリシーが設定されている
  • フルフィルメントフローがリンクされ、公開されている
  • カテゴリーの割り当てが正しい
  • アイテムが有効になっている

ツールの使い方

ツール目的使用するタイミング
SN-Query-Tableカテゴリー、既存のアイテム、変数パターンを探す調査と検証
SN-Create-Recordアイテム、変数、UI ポリシー、フローを作成するカタログコンポーネントの構築
SN-Update-Recordコンテンツをブラッシュアップし、フローをリンクして、アイテムを有効化する反復と公開
SN-Get-Table-Schema変数の型とフィールドの選択肢を確認する利用可能な設定の把握
SN-Get-Record単一のアイテムまたは変数の詳細を取得する詳細な調査

ベストプラクティス

  1. 行動を促すアイテム名を使う -- 「新しいノートパソコンを申請する」は「ノートパソコン」より明確です
  2. エンドユーザー向けに説明を書く -- 専門用語を避け、手順を説明します
  3. 納期の目安を設定する -- 常に現実的なフルフィルメントの所要期間を提示します
  4. 必須にするフィールドは必要最低限にする -- 必須フィールドが多すぎると利用率が低下します
  5. 関連する変数をグループ化する -- 視覚的に整理するため、コンテナーの開始/終了を使用します
  6. すべての変数にヘルプテキストを追加する -- 明確なガイダンスを示してサポートへの問い合わせを減らします
  7. 注文時の操作をテストする -- エンドユーザーになりすましてフローを確認します
  8. 参照修飾子を使用する -- 参照変数の結果を関連するレコードに限定します
  9. 必要に応じてモバイルでの利用を設定する -- フィールドワーカー向けに設定します
  10. 本番カタログを変更する前に、スコープ付き更新セットで作成する

トラブルシューティング

問題原因解決策
カタログにアイテムが表示されない無効になっているか、カテゴリーが割り当てられていないactive=true と sc_cat_item_category レコードを確認します
フォームに変数が表示されないcat_item 参照が正しくないか、無効になっている変数の cat_item がアイテムの sys_id と一致していることを確認します
フルフィルメントフローが実行されないフローがリンクされていないか、ドラフト状態になっているsc_cat_item.workflow を更新し、フローを公開します
UI ポリシーが適用されない条件の構文エラー、またはスコープが正しくない条件を手動でテストし、applies_to フィールドを確認します
変数の選択肢が表示されない選択肢が誤った質問にリンクされているquestion_choice.question が正しい変数を参照していることを確認します
価格が表示されないprice フィールドの形式が正しくない「1299.99」のような小数形式を使用します

例

例 1:ソフトウェアライセンスの申請

入力:「ソフトウェアライセンスを申請するためのカタログアイテムを作成してください。ユーザーはリストからソフトウェアを選び、ライセンス数を入力して、申請理由を記入します。500 ドルを超えるアイテムにはディレクターの承認が必要です。」

生成されるコンポーネント: u_software_catalog への参照変数、ライセンス数用の整数変数、申請理由用の複数行テキスト変数を備えたカタログアイテム。算出コストに応じた条件付き承認フロー。

例 2:新入社員向けオンボーディングセット

入力:「新入社員向けオンボーディングのカタログアイテムを作成してください。人事部が入社日、部門、マネージャー、必要な機器、ビルへのアクセスを入力します。IT、施設管理、人事部向けのタスクを作成するようにしてください。」

生成されるコンポーネント: 日付、参照(部門、マネージャー)、複数選択チェックボックス(機器)、選択ボックス(ビル)の変数を備えたカタログアイテム。フルフィルメントフローが 3 つのグループ向けに並行してタスクを作成します。

例 3:会議室の予約

入力:「日付、時刻、部屋の選択、参加者数、AV 要件を指定して、会議室を予約するカタログ項目を作成してください。」

**生成されるコンポーネント:**日付/時刻の変数、部屋の条件を指定した cmn_location への参照、参加者数を入力する整数フィールド、AV オプション(プロジェクター、ビデオ会議、ホワイトボード)のチェックボックスグループを含むカタログ項目。

関連スキル

  • catalog/item-creation - カタログ項目を手動で作成するパターン
  • catalog/variable-management - 変数の設定に関する詳細
  • catalog/approval-workflows - 承認ルールの設定
  • catalog/request-fulfillment - リクエストの履行プロセスの設計
  • genai/flow-generation - 履行のための Flow Designer による自動化
  • catalog/ui-policies - カタログフォームの動的な動作

コメント