mcpField
M
matlab-build-toolbox

matlab-build-toolbox

github.com/matlab開発1.2k35 回インストール1 日前に更新
リポジトリ

matlab-build-toolbox について

既存の MATLAB ビルドプランを調べて実行し、生成された `.mltbx` パッケージを検証するスキルです。最初の失敗で停止して結果を報告し、プラン自体は変更しません。

主な機能

  1. 01ビルドタスクと依存関係を調査
  2. 02実行するタスクを選択
  3. 03ビルドパイプラインを実行
  4. 04最初の失敗で停止
  5. 05`.mltbx` 成果物を検証

活用シーン

  1. 01準備確認後にツールボックスをビルド
  2. 02既存の `buildfile.m` を実行
  3. 03パッケージの生成結果を確認

インストール

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

$npx skills add https://github.com/matlab/matlab-agentic-toolkit --skill matlab-build-toolbox

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

同梱ファイルmanifest.yaml

詳細

matlab-build-toolbox — ビルド実行ツール

ビルドパイプラインを実行します。これはオペレーターとして、計画を調べて実行すべきタスクを見つけ、実行し、各段階の結果を報告して、失敗した時点で停止します。このパイプラインで人間によるチェックポイントがないのは、このスキルだけです。

使用する場面

  • matlab-assess-toolbox がブロッカーなしで READY と報告した後
  • ユーザーが「ビルドして」「ビルドを実行して」「パッケージをビルドして」と言った場合
  • ユーザーが独自の buildfile.m を用意していて、その実行を希望する場合
  • 準備完了ゲートを通過した後、パイプライン全体の一部として実行する場合

使用しない場面

  • buildfile.m が存在しない場合 — 先に matlab-create-buildfile を使用します
  • ユーザーがビルドタスクの作成または変更を希望する場合 — matlab-create-buildfile を使用します
  • ユーザーが公開またはリリースを希望する場合 — ビルド成功後に matlab-publish-toolbox を使用します
  • ユーザーが準備状況の確認を希望する場合 — matlab-assess-toolbox を使用します

主な関数

関数目的
matlab.buildtool.Plan.loadビルド計画を調べてタスクと依存関係を特定します
buildtoolビルドパイプラインを実行します(タスクの依存関係チェーンを実行)
dirパッケージ作成後に .mltbx 成果物を検索して確認します

入力

  • project_root:プロジェクトのパス(既定値:現在のディレクトリ)
  • target(任意):実行する buildtool タスク。省略した場合は、計画から自動検出します(ステップ 2 を参照)。

ワークフロー

ステップ 1 — 前提条件を確認する

実行前に、次のことを行います。

  1. プロジェクトのルートに buildfile.m が存在することを確認します
  2. パイプラインのコンテキストを判断します。
    • パイプライン全体(buildUtilities/toolboxSpecification.m と buildUtilities/tbxManifest.m が存在する場合):準備状況の確認は実行済みです。コンテキスト全体を使用して続行します
    • スタンドアロンのビルドプラン(buildfile.m のみが存在する場合):ユーザー独自の計画であり、matlab-create-buildfile で生成されたものではありません。仕様/マニフェストの確認は省略し、調査に進みます。
  3. パイプライン全体のコンテキストがある場合は、前回の準備状況確認でブロッカーがなかったことを確認します

buildfile.m が存在しない場合は停止し、matlab-create-buildfile を使用するか、ユーザーにファイルを提供するよう案内します。

ステップ 2 — ビルド計画を調べる

計画を読み込み、その構造を確認します。

plan = matlab.buildtool.Plan.load("buildfile.m");
disp({plan.Tasks.Name})

ターゲットタスクを、次の優先順位で特定します。

  1. target 入力が指定されていれば、それを使用します
  2. package という名前のタスクを探します
  3. 下流の依存タスクがなく、.mltbx を生成する終端タスクを探します
  4. 候補が複数あり特定できない場合は、どれを実行するかユーザーに尋ねます

ターゲットに至る依存関係チェーンを特定します。

% The chain executes in topological order when you run the target
% e.g., buildtool package → runs check, test, package

実行される内容を報告します。

Build target: "package"
Dependency chain: check → test → package
ステップ 3 — ビルドパイプラインを実行する

最初の失敗時に停止するよう、MATLAB から実行します。

buildtool <target>

チェーンの内容に応じて各段階を動的に監視します。

タスクの種類成功条件失敗時の対応
CodeIssuesTask または「check」エラー重大度の指摘が 0 件指摘を報告して停止
TestTask または「test」すべてのテストに合格失敗を報告して停止
カバレッジ(存在する場合)カバレッジを報告しきい値を下回る場合は警告を記録(停止はしません)
MexTaskMEX ファイルが生成されるエラーを報告して停止
PcodeTaskP コードファイルが生成されるエラーを報告して停止
パッケージ作成タスク.mltbx ファイルが生成されるエラーを報告して停止

チェーンによっては、すべての段階が含まれるとは限りません。この計画に含まれるものだけを報告します。

ステップ 4 — 成果物を確認する

パッケージ作成に成功したら、.mltbx を検索して確認します。まずタスクで宣言された Outputs を確認し(信頼できる情報源)、次に release/ とプロジェクトのルートを検索します。

mltbxFile = dir(fullfile("release", "*.mltbx"));
assert(~isempty(mltbxFile), "No .mltbx file found in release/");
assert(mltbxFile(1).bytes > 0, "Package file is empty");
fprintf("Package: %s (%.1f KB)\n", fullfile(mltbxFile(1).folder, mltbxFile(1).name), mltbxFile(1).bytes / 1024);

release/ に .mltbx がない場合は、タスクで宣言された Outputs を確認するか、プロジェクトのルートを検索します。サイズが 0 バイトのファイルは失敗とみなします。

ステップ 5 — 結果を報告する
## Build Complete

- Package: release/MyToolbox.mltbx (142.3 KB)
- Target: "package"
- Chain: check → test → package
- Static analysis: 0 errors, 2 warnings
- Tests: 25/25 passed
- Coverage: 85%
- Duration: 12.3s

### Next Steps
- Run `matlab-publish-toolbox` to version-tag and release
- Test installation: matlab.addons.toolbox.installToolbox("release/MyToolbox.mltbx")

実際に実行された内容に合わせて報告を調整します。この計画に含まれない段階のセクションは省略します(たとえば、カバレッジタスクがない場合は、カバレッジを報告しません)。

失敗した場合:

## Build Failed — [Stage]

### What happened
[error details]

### Suggested fix
[actionable suggestion]

### To retry
Run `matlab-build-toolbox` after fixing the issue.

出力

  • .mltbx ツールボックスパッケージ
  • ビルドレポート(詳細を含む合格または失敗の結果)

チェックポイント

ありません — このスキルは機械的な処理を行います。すでに承認済みの計画を実行します。失敗した場合は、その理由を報告して停止します。

重要なルール

  • まず内容を確認します。 実行する前にビルドプランを読みます。タスク名や依存関係の順序を決めつけず、確認してください。
  • 最初の失敗で停止します。 失敗したステージの先へ進んではいけません。壊れたコードから作成したパッケージは、パッケージがない状態よりも悪い結果です。
  • すべて報告します。 件数、割合、所要時間を示します。ユーザーがビルドの品質を確認できるようにしてください。
  • 成果物を検証します。 .mltbx が存在し、サイズが 0 ではないことを確認します。サイズが 0 のパッケージは、気付かれないまま失敗した状態です。
  • 判断はしません。 プランを実行します。コードを変更したり、テストを省略したり、しきい値を下げたりしてはいけません。何か失敗した場合は、その内容を報告して停止します。
  • 冪等性を保ちます。 問題を修正した後にこのスキルを再実行しても、正常に動作する必要があります。

次のステップ

  • /matlab-publish-toolbox — リリースにバージョン情報を付与して配布します

Copyright 2026 The MathWorks, Inc.


コメント