mcpField
S
setup-custom-libraries

setup-custom-libraries

github.com/matlab開発1.3k46 回インストール1 週間前に更新
リポジトリ

setup-custom-libraries について

既存のカスタムSimulinkブロックライブラリを登録、更新し、モデル構築エージェントが利用できるようにするスキルです。ライブラリ設定、ポリシー設定、ナレッジインデックス作成を案内します。ライブラリファイルやブロックの作成は対象外です。

主な機能

  1. 01既存カスタムライブラリの登録
  2. 02ライブラリファイル項目の更新
  3. 03利用ポリシー設定の案内
  4. 04ブロックナレッジインデックスの作成

活用シーン

  1. 01既存設定へのライブラリファイル追加
  2. 02モデル構築ワークフロー向けのカスタムブロック準備
  3. 03ライブラリナレッジインデックスの再生成

インストール

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

$npx skills add https://github.com/matlab/simulink-agentic-toolkit --skill setup-custom-libraries

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

同梱ファイルmanifest.yamlreferences/library-setup.md

詳細

カスタムライブラリのセットアップ

カスタム Simulink ブロックライブラリを登録または更新し、モデル構築時にエージェントが組み込みブロックより優先して使用するようにします。

使用するタイミング

  • ユーザーがカスタムライブラリのセットアップ、登録、追加、設定を依頼した場合
  • ユーザーが既存のライブラリ設定に新しい .slx ファイルを追加したい場合
  • ユーザーが「カスタムライブラリをセットアップして」「ライブラリを追加して」「ライブラリを設定して」「新しいライブラリファイルを追加して」と依頼した場合
  • building-simulink-models がポリシーゲート経由でここにルーティングした場合(gatePass: false)
  • found: false の場合は決して呼び出さないでください。これはカスタムライブラリが設定されておらず、ユーザーも追加を依頼していないことを意味します

使用しないタイミング

  • ユーザーがカスタムライブラリをゼロから作成したい場合(新しいブロックを作成する、新しい .slx ライブラリファイルを構築する)→ building-simulink-models スキルを使用し、model_edit を直接実行します。このスキルでできるのは既存ライブラリの登録のみで、ライブラリのコンテンツは作成できません。
  • ブロックの除外またはパラメーター保護のみを設定する場合(ライブラリはすでに宣言済み)→ configuring-block-policy
  • ブロックの説明やカテゴリのみを整理する場合(ライブラリはすでに宣言済み)→ simulink-curating-library-kg

ワークフロー

最初に、これだけを実行してください。同じメッセージ内で他のツールを呼び出してはいけません。

library.settingsLookup() を呼び出します。絶対パスが解決された構造体が返されます。

  • found — ライブラリファイル(satk-libraries.json または従来の reuse-libraries.json)が見つかったかどうか
  • enabled — カスタムライブラリが設定されているかどうか
  • gatePass — ゲートの条件を満たしているかどうか
  • dataRoot — .satk/ を含むディレクトリの絶対パス
  • kgIndexPath、librariesPath、policyPath — データファイルの絶対パス

結果を解釈します。

  • found: false → カスタムライブラリは設定されていません。ユーザーから明示的な依頼がない限り、セットアップを続けないでください。呼び出し元のスキルに制御を戻します。
  • gatePass: true, found: true → すべてのデータファイルが存在し、KB にデータが登録されています。管理メニュー(以下)を提示します。
  • gatePass: false, found: true → ライブラリは宣言済みですが、KB への登録が必要です。ゲート 1 をスキップし、以下のゲート 2 から dataRoot を対象として開始します。

すべてのゲートに関する API の詳細は references/library-setup.md に従ってください。これは各ゲートの API 呼び出し、例、オプションに関する唯一の情報源です。

ゲート 1 — ライブラリの宣言: ユーザーがカスタムライブラリのセットアップを明示的に依頼し、ライブラリファイルがまだ存在しない場合に限ります。処理を停止し、再利用可能なライブラリについてユーザーに確認します。はい(ライブラリを宣言する)またはなし(現時点ではライブラリを追加しない)の 2 つの選択肢を提示します。回答を受け取るまで、参照ファイルを読んだり、モデルを開いたり、ブロックを計画したりしないでください。

  • ユーザーがライブラリを提示した場合(はい)→ library.LibraryConfig.save(prefdir(), libraries) を使って prefdir に保存します。
  • ユーザーが**「なし」**と答えた場合 → ファイルを作成しないでください。ゲートは開いたままです(設定がない場合は標準ブロックを使用します)。

ゲート 2 — ブロックポリシー: .satk/block-policy.json が存在しない場合、処理を停止し、references/library-setup.md に従ってポリシーのセットアップについてユーザーに確認します。ポリシーが解決するまで先に進まないでください。

ゲート 3 — ライブラリブロックのナレッジインデックス: KB が空(index.md に populated: false が含まれている)または存在しない場合、処理を停止し、モデル構築時に使用可能なブロックをエージェントが認識できるように、ライブラリブロックをインデックス化するかユーザーに確認します。自動(エージェントがカテゴリと説明を自律的に推定する)またはガイド付きセットアップ(対話形式で整理する)の 2 つの選択肢を提示します。どちらも simulink-curating-library-kg スキルを呼び出します。詳細は references/library-setup.md に従ってください。KG の生成が完了するまで先に進まないでください。

管理メニュー(設定はすでに完了しています)

references/library-setup.md §「Status Display (Management Menu)」の API を使用して、ユーザーの現在の設定状況を取得して表示します。ライブラリ名/パス、フォールバックを含むポリシーモード、KG のブロック数/カテゴリ数を表示します。その後、次の選択肢を提示します。

  • (a)ライブラリの追加または削除 — library.LibraryConfig.load(dataRoot) で既存の設定を読み込み、エントリを追加/削除し、library.LibraryConfig.save(dataRoot, allLibs) で保存した後、simulink-curating-library-kg スキル(自動モード)を呼び出して KG を再生成します。
  • (b)ブロックポリシーの更新 — configuring-block-policy スキルを読み込みます。
  • (c)設定を prefdir に昇格 — tier が project または legacy の場合のみ表示します。.satk/ フォルダーを prefdir/.satk/ にコピーします(相対パスは絶対パスに展開します)。昇格 API については、references/library-setup.md §「Gate 1」を参照してください。
  • (d)ナレッジインデックスの再生成 — simulink-curating-library-kg スキルを読み込みます。
既存の設定へのファイルの追加

satk-libraries.json にライブラリがすでに宣言されている場合:既存の設定を読み込み、新しいライブラリエントリを追加し、library.LibraryConfig.save() で保存した後、simulink-curating-library-kg スキル(自動モード)を呼び出して、新しいブロックのカテゴリ/説明を推定し、ナレッジインデックスを再生成します。

ガードレール

  • 設定ファイルや .satk/ の JSON を手動で書き込まないでください。 それぞれのケースで、必ず references/library-setup.md の手順と API に従ってください。
  • ライブラリの内容を検出、検証、列挙するために find_system や load_system を使用しないでください。ライブラリに関するすべての操作は、references/library-setup.md に記載された API を通じて行う必要があります。
  • 各ゲートの先へ進むには、ユーザーの明示的な入力が必要です。 何も推測せず、次のゲートへ進む前に回答を待ってください。
  • prefdir のパスは絶対パスでなければなりません。 (プロジェクトレベルのパスはプロジェクトルートからの相対パスでもかまいません。)

Copyright 2026 The MathWorks, Inc.


コメント