setup-custom-libraries について
既存のカスタムSimulinkブロックライブラリを登録、更新し、モデル構築エージェントが利用できるようにするスキルです。ライブラリ設定、ポリシー設定、ナレッジインデックス作成を案内します。ライブラリファイルやブロックの作成は対象外です。
主な機能
- 01既存カスタムライブラリの登録
- 02ライブラリファイル項目の更新
- 03利用ポリシー設定の案内
- 04ブロックナレッジインデックスの作成
活用シーン
- 01既存設定へのライブラリファイル追加
- 02モデル構築ワークフロー向けのカスタムブロック準備
- 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.