matlab-read-documentation について
MATLABユーザー向けに、MathWorksのドキュメントを体系的に検索・確認するスキルです。製品固有の質問やリリース依存APIに対応し、ワークフローガイドと詳細リファレンスを段階的に使い分けます。
主な機能
- 014段階のドキュメント検索
- 02ローカル関数カタログの検索
- 03Web検索前にhelpを確認
- 04ガイドとリファレンスの選択
- 05リリースノートの取得
活用シーン
- 01製品のワークフローに必要な関数の検索
- 02正確な構文と引数値の確認
- 03リリース固有APIの検証
MCP 対応
MCP経由でMATLABの`webread`を使ってドキュメントを取得します。補助スクリプトがURLの特定とページ内容の抽出を行います。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ matlab/ matlab-agentic-toolkit --skill matlab-read-documentationインストール後、Claude Code で/matlab-read-documentationを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
manifest.yamlscripts/DocUtilities.pextract_page_slugs.pfetch_doc_page.pfetch_product_index.pfind_replacement.pget_local_function_list.p詳細
MathWorks ドキュメントの利用
MathWorks の最新ドキュメントを読むための体系的な手法です。再現可能な 4 段階の手順(ローカルカタログ → help → ユーザーガイドのページ → リファレンスページ)により、ドキュメントの検索を予測可能で効率的な作業にします。MCP 経由で MATLAB の webread を使ってページを取得し、URL の検出、HTML の解析、コンテンツの抽出を行うヘルパースクリプトを使用します。
使用する場面
- MathWorks 製品やワークフローに関する「…するにはどうすればよいですか?」という質問に回答するとき
- URL を推測して 404 が返されたとき — このスキルを使ってインデックスから正しい URL を見つけます
- 製品やワークフローで利用できる関数を調べる必要があるとき — ローカル関数カタログから始めます
- 関数の構文、引数、または非推奨の状況を信頼できる情報源で確認する必要があるとき
- 特定のワークフローについて、MathWorks のベストプラクティスを確認したいとき
- 学習データに基づく知識が不確か、またはリリース固有の API について古くなっている可能性があるとき
- 特定のトピックについて、MathWorks の推奨事項をユーザーが尋ねているとき
- 最小限のツール呼び出しで、適切なページ(単なるページではなく)を見つける体系的な方法が必要なとき
使用しない場面
- ローカルの
helpコマンドで十分なとき — API の構文にはhelp function_nameを優先してください。より高速で、インストールされているバージョンに対して常に正確です - 質問が製品固有のワークフローではなく、一般的な MATLAB プログラミングのパターンに関するもののとき
- ローカルの
helpまたは正常に取得したページから、すでに信頼できる回答を得ているとき
迅速な方法
すべての作業に完全な 4 段階の手順が必要なわけではありません。作業に応じて最短の方法を選んでください。
| 作業 | 迅速な方法 | 省略する手順 |
|---|---|---|
| リリースノート/新機能 | webread 経由で https://www.mathworks.com/help/{product}/release-notes.md を直接取得し、次に ## R20XXx セクションを抽出します | 手順 0~2 — スクリプトは不要です |
| 既知の単独関数で、リファレンスページが必要 | 以前の extract_page_slugs 呼び出しで得た URL を使うか、単純な単独関数であれば baseUrl + "ref/{name}.html" を構成します | 手順 0~2 — ただし、URL は推測ではなく、確認済みの情報源から取得する必要があります |
| 製品はわかっていて、関数の一覧が必要 | get_local_function_list(product) | 手順 1~4 — ウェブは不要です |
| 慣れていない API で、何があるか見当がつかない | 完全な 4 段階の手順 | なし — すべての手順を使います |
リリースノート
リリースノートは、https://www.mathworks.com/help/{product}/release-notes.md から整形済みの Markdown として入手できます。この URL を webread で取得し、## R20XXx から次の ## R ヘッダーまでのセクションを抽出してください。一般的な製品スラッグ:matlab、simulink、ecoder、rtw、stateflow、fixedpoint、hdlcoder。
ヘルプセンターのページ階層
- 製品のランディングページ — 簡単な説明とともに、最上位のカテゴリを一覧表示します。セクションのスラッグを見つけるために使用します。
- 中間カテゴリページ — 1行の説明とともに、サブカテゴリへのリンクを表示します。末端のコンテンツはありません。さらに掘り下げてください。
- 最下層のカテゴリページ — 参照グループ(関数、ブロック、アプリ)を掲載し、その後、関連トピックや例へのリンクを表示します。
- トピックページ(
ug/または製品固有のパス)— 機能の使い方を説明する、概念ベースまたはタスクベースのコンテンツです。 - 例のページ — サポートファイルを含む、単独で実行できる具体例です。ライブスクリプト、データファイル、モデルなどが含まれる場合があります。
- リファレンスページ(
ref/またはslref/)— 関数、ブロック、オブジェクト、またはプロパティのリファレンスです。関数リファレンス、オブジェクトリファレンス、プロパティ一覧、ブロックリファレンス、アプリリファレンスなど、複数の種類があります。 - 入門ページ(
gs/)— 製品の新規ユーザー向けの入門チュートリアルです。 - 順序のあるトピック(STEP 1、2、3)は、意図された順序で進めるワークフローを示します。
取得するページの選び方
MathWorks のドキュメントには、異なる目的に応じた2つのコンテンツ層があります。
- ガイドページ(ユーザーガイドのトピック。通常は
ug/の下にあります)— どの関数を、どの順序で呼び出すかを説明します。ワークフローを中心とした内容です。新しい API を学んだり、アプローチを決めたりするのに最適です。注:すべての製品がug/を使用するわけではありません。一部の製品(Simulink、Statistics and Machine Learning など)は異なるサブディレクトリ構成を使用します。必ずセクションインデックスから見つけてください。 ref/ページ(関数/オブジェクトのリファレンス)— 各関数の呼び出し方を正確に説明します。完全な構文、引数の型、名前と値のペア、有効な列挙値、戻り値の型、引数ごとの例が掲載されています。関数がわかっていて、正確なシグネチャが必要な場合に最適です。一部の製品では製品固有のバリエーションを使用します(例:Simulink ではslref/を使用します)。
通常は両方が必要です。 ug/ ページがレシピを示し、ref/ ページが材料の仕様を示します。ref/ を参照せずに進めると、プロパティ名や引数値を推測することになります。MathWorks API は直感的でないドメイン固有の名前を使用するため、これは頻繁に失敗します(例:"FilePackaging" ではなく "ArxmlFilePackaging"、"SimulationDuration" ではなく "StopTime")。
ページの価値を示すシグナル(製品に依存しません)
| シグナル | 価値が高い可能性 | 価値が低い可能性 |
|---|---|---|
スラッグに programmatically、program-、または command-line が含まれる | はい — 常にプログラムから操作できます | — |
スラッグに property-map-functions が含まれる | はい — API のワークフローです | — |
スラッグに explorer、interactively、using-...editor が含まれる | — | はい — GUI 専用です |
ページタイプがオブジェクト名または関数名を含む ref/ | はい — 正確なシグネチャを確認できます | — |
| GUI とプログラム操作の両方に対応する製品のページが非常に大きい(30K 超) | — | GUI 向けの可能性があります — 読む前に測定してください |
Main Content からフッターまでが約1500文字未満のページ | — | ナビゲーション用のスタブまたはリダイレクトの可能性があります |
スラッグが example- で始まる | どちらとも言えません — GUI ウィザードで始まるか、ライブスクリプトのコードで始まるかを確認してください | |
スラッグに -properties を含む ref/ ページ | はい — プロパティ名と値の対応表を確認できます |
4 パス戦略
開始ルール: このセッションでユーザーのリクエスト、または get_local_function_list の呼び出しから関数名が分かっている場合は、ステップ 2 から開始してください。学習データの知識だけを根拠にステップ 1 を省略しないでください。関数名はリリースごとに変わるため、推測した名前では呼び出しが無駄になります。
- ローカルカタログで関数を検索する:
get_local_function_list('product', 'keyword')を実行し、存在する関数を確認します。関数名がまだ分からない場合に限り、これを使用してください。 helpでシグネチャを取得する:help functionNameまたはhelp namespaceを実行します。helpで質問への答えが得られたら、ここで終了してください。ウェブページを取得する必要はありません。- 3 パス目(
ug/): ワークフローのコンテキスト、つまり呼び出す関数の前後関係、関数の組み合わせ方、複数の方法から選ぶ方法を知る必要がある場合は、スラッグにprogrammaticallyを含むug/ページを取得します。これにより、呼び出し順序と全体的なパターンが分かります。 - 4 パス目(
ref/): 特定の関数についてhelpの情報が不十分な場合(出力が途中で切れている、最近のリリースで追加された名前と値の引数がない、プロパティの全列挙が必要、またはfind呼び出しで有効なカテゴリが必要な場合)は、その関数のref/ページを取得します。
help で十分な場合(ほとんどの場合)
- 任意の関数の構文と基本的な引数
- ブロックの説明(
help simulink/Gain) - クラスとオブジェクトのリファレンス(
help Simulink.SimulationInput) - 名前空間内のすべての関数の一覧表示(
help matlab.io)、またはオブジェクトのメソッドの一覧表示(methods(obj)) - 各関数の概要説明
- 入力/出力引数の型
- 簡単な使用例
help だけでは不十分な場合(ウェブページを取得)
- ウェブの
ref/ページ: 最近のリリースで追加された名前と値の引数、設定/プロパティオブジェクトのプロパティ名の全列挙、引数で有効な列挙値、find呼び出しで有効なカテゴリ文字列、helpの出力が途中で切れている、または不完全な場合。 - ウェブの
ug/ページ: ワークフローのコンテキスト(呼び出しの前後関係)、複数の関数の組み合わせ方の理解、タスクに GUI とプログラムによる方法があり、プログラムによる方法を見つける必要がある場合、方法を選ぶためのガイドが必要な場合。
URL パターン
MathWorks のドキュメント URL は、以下のパターンに従います。推測しないでください。インデックスを使ってスラッグを確認してください。
ドキュメント URL の構築
すべてのドキュメント URL は /help/releases/R20XXx/ 以下でバージョン管理され、既定ではインストール済みの MATLAB リリースを参照します。URL の構築は fetch_product_index によって内部的に処理されるため、URL を手動で作成する必要はありません。次のいずれかの検証済み情報源からページ URL を取得してください。
fetch_product_indexのhrefs出力 — 使用可能な完全な URL が直接返されますextract_page_slugsのfullUrls出力 — セクションインデックスから取得した完全な URL
baseUrl には、すでに製品パス(例:https://www.mathworks.com/help/releases/R2026a/autosar/)が含まれています。サブパスのみを追加してください:baseUrl + "ref/name.html" または baseUrl + "ug/topic.html"。製品名を再度追加しないでください。
ページタイプのパターン
| ページタイプ | パターン | 例 |
|---|---|---|
| 製品インデックス | {base}/{product}/index.html | https://www.mathworks.com/help/releases/R2025b/simulink/index.html |
| セクションインデックス | {base}/{product}/{section-slug}.html | https://www.mathworks.com/help/releases/R2025b/simulink/block-libraries.html |
| ユーザーガイドページ | {base}/{product}/ug/{page-slug}.html | https://www.mathworks.com/help/releases/R2025b/simulink/ug/some-topic.html |
| リファレンスページ | {base}/{product}/ref/{function-name}.html | https://www.mathworks.com/help/releases/R2025b/matlab/ref/plot.html |
URL の構造は製品によって異なります。 実際のスラッグを確認するには、必ずセクションインデックスをクロールしてください。サブディレクトリ名を推測しないでください。
| 製品 | ガイドページ | リファレンスページ |
|---|---|---|
matlab | matlab_prog/slug.html、matlab_oop/slug.html — 複数のサブディレクトリ | ref/name.html |
simulink | ug/slug.html | slref/name.html(構成パラメーターには gui/ も使用) |
systemcomposer | ug/slug.html | ref/name.html |
autosar | ug/slug.html | ref/name.html |
stateflow | ug/slug.html | ref/name.html |
MATLAB では、サブディレクトリのないフラットなスラッグ(例:debug-code.html)は、通常、セクションナビゲーションページです。セクションインデックスをクロールすると、href は相対パスで表示されます。完全な URL を作成するには、ベース URL を先頭に付加してください。
一般的な製品スラッグ:matlab、simulink、systemcomposer、stateflow、autosar、ecoder、fixedpoint、stats、control、signal、dsp、deeplearning、images、optim、robust、mpc、sltest、parallel-computing
スクリプト
MATLAB スクリプトは、繰り返し行う取得と解析の手順を自動化します。これらは関数ファイルであり、入力引数が必要なため、run_matlab_fileではなくevaluate_matlab_codeを使って呼び出す必要があります。
呼び出し方法
project_pathに、このスキルの/scriptsディレクトリ(このプロンプトの先頭に表示されている「このスキルのベースディレクトリ」に/scriptsを追加したパス)を設定して、evaluate_matlab_codeを使用してください。
run_matlab_fileは使用しないでください。これらは入力引数が必要な関数です。
Tool: evaluate_matlab_code
code: "[t, hrefs] = fetch_product_index('simulink', 'Modeling')"
project_path: "<base-directory-for-this-skill>/scripts"
スクリプトリファレンス
| スクリプト | シグネチャ | 目的 |
|---|---|---|
get_local_function_list.m | results = get_local_function_list(product, searchTerm) | ローカルの MATLAB インストールから分類済みの関数一覧をすべて読み取ります(最速で、オフラインでも動作します) |
fetch_product_index.m | [t, hrefs, baseUrl] = fetch_product_index(product, search, rel) | リリースを自動検出し、製品インデックスを取得して、セクションリンクと再利用可能なベース URL を返します |
extract_page_slugs.m | [slugs, fullUrls] = extract_page_slugs(sectionUrl) | セクションインデックスからページのスラッグと完全な URL を抽出します |
fetch_doc_page.m | content = fetch_doc_page(url, maxChars, startChar) | ドキュメントページを取得し、読みやすいテキストを抽出します(デフォルトの上限は 50K 文字です)。ページ分割するには startChar を指定します。 |
find_replacement.m | find_replacement(url) | ページ内で非推奨または置換に関する記述を検索します |
DocUtilities.m | 静的クラス(直接呼び出しません) | 共通ユーティリティ:HTML の除去、リンクの抽出、URL の解決。他のスクリプトから内部的に使用されます |
ワークフロー
上記の Fast Paths テーブルを使って、省略する手順を判断してください。以下のワークフロー全体は、既存の情報がない API について、何があるか分からない場合に使用します。
Step 1 — まず help を試す(関数名が分かっている場合)
何らかの情報源から関数名が分かっている場合は、ここから始めます。
help set_param % function reference
help Simulink.SimulationInput % class reference
help で疑問が解決した場合は、ここで終了します。最も一般的な開始方法です。
Step 1b — カタログから関数を見つける(関数名が分からない場合)
呼び出す関数が分からない場合は、どのような関数があるかを調べます。
results = get_local_function_list('ecoder');
results = get_local_function_list('simulink', 'code generation');
Name、Purpose、Category を含むテーブルが返されます。製品のスラッグが分からない場合は、get_local_function_list('unknown') を呼び出すと、利用可能なスラッグの一覧が表示されます。その後、見つかった関数名を使って Step 1 に進みます。
Step 2 — 製品インデックスをたどって適切なページを見つける
fetch_product_index はリリースを自動検出し、ベース URL を作成して、セクションリンクを返します。
[t, hrefs, baseUrl] = fetch_product_index('simulink', 'Modeling');
3 番目の出力 baseUrl は、バージョンに対応して解決された URL です。このセッションで以降に取得するすべてのページで再利用してください。
Step 3 — セクションインデックスを取得してページのスラッグを得る
hrefs(fetch_product_index が返す)に含まれる URL を直接使用してください。URL を手動で作成しないでください。
[slugs, fullUrls] = extract_page_slugs(hrefs{2,1});
Step 4 — 特定のページを取得して内容を抽出する
content = fetch_doc_page(fullUrls{3}); % from discovered URLs
非常に大きなページでは、出力を制限してください。
content = fetch_doc_page(pageUrl, 10000); % limit to 10K chars
Step 5 — 非推奨の通知と置換先を確認する
help に「not recommended」と表示される場合は、Web ページで推奨される置換先を確認してください。
find_replacement(baseUrl + "ref/hist.html");
手順
HTML の処理
HTML の除去は取得スクリプト(fetch_doc_page、fetch_product_index、find_replacement)で内部的に処理されます。HTML の解析を独自に実装せず、代わりに適切な取得スクリプトを呼び出してください。
URL の検出 — 推測しない
- URL が 404 を返す場合は、1 つ上の階層(セクションインデックスまたは製品インデックス)に移動し、ページの内容からスラッグを確認します。
- スタンドアロン関数のリファレンスページの URL(ドットが 1 つ以下:
plot、set_param)は、baseUrlにすでに製品パスが含まれているため、baseUrl + "ref/{name}.html"として直接組み立てることもできます。 - 名前空間を持つ関数またはオブジェクト(例:
Simulink.SimulationInput、autosar.api.create)の場合は、該当するセクションインデックスでextract_page_slugsを使用して正しい URL を確認します。 - その他の URL はすべて、インデックスページから確認する必要があります。
fetch_product_index関数はhrefsに完全な URL を返すため、それらを直接使用します。
変数の命名
MATLAB の組み込み関数と名前が重複する変数名(dir、input、length、size、path)は避けてください。ワークスペースですでに名前が重複している場合は、組み込み関数を呼び出す前に clear <name> を使用します。
製品固有の URL パターン
- MATLAB:複数のサブディレクトリ(
matlab_prog/、matlab_oop/、ref/)があります。サブディレクトリを含まないフラットなスラッグは、ほとんどの場合、セクションのナビゲーションページです。 - Simulink:ガイドページには
ug/、ブロック/関数のリファレンスにはslref/、構成パラメーターにはgui/を使用します。 - System Composer、Stateflow:ガイドページには
ug/、リファレンスにはref/を使用します。階層はシンプルです。 - GUI とプログラムによる操作の両方に対応する製品:文字数が多くても、プログラムによる操作の内容とは限りません。GUI のドキュメントページには、UI 要素の説明が 20K 文字を超えるものもあります。信頼できる目印として、スラッグに
programmaticallyまたはprogram-が含まれているか確認します。
リリース固有のドキュメント
- すべての URL はバージョン付きです(
/help/releases/R20XXx/)。fetch_product_indexは、インストール済みの MATLAB リリースをデフォルトで使用します。別のバージョンを対象にするには、リリース引数(例:"R2024b")を渡します。 helpの出力はインストール済みバージョンと一致することが保証されているため、必ず最初に確認してください。- Web ドキュメントに
helpでは利用できない機能が記載されている場合、ユーザーは古いリリースを使用している可能性があります。API が存在すると決めつけず、この相違について注記してください。
Copyright 2026 The MathWorks, Inc.