mcpField
D
doca-caps

doca-caps

github.com/nvidiaクラウド・DevOps3.8k140 回インストール今日更新
リポジトリ

doca-caps について

doca-caps は、ホスト上で DOCA が認識する内容を調べるオペレーター、開発者、エージェント向けのスキルです。`doca_caps` CLI の読み取り専用操作を案内し、デバイス、ライブラリ、リプレゼンタ、機能のスナップショットを確認できます。DOCA のインストールは行いません。

主な機能

  1. 01DOCA の読み取り専用検査
  2. 02デバイスとリプレゼンタの列挙
  3. 03利用可能な DOCA ライブラリの一覧
  4. 04デバイスごとの機能確認
  5. 05機能スナップショットの取得

活用シーン

  1. 01DOCA がデバイスを認識するか確認
  2. 02ホスト上の利用可能なライブラリを確認
  3. 03デバイスが対応するライブラリ機能を確認
  4. 04デバッグ用の状態を保存

インストール

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

$npx skills add https://github.com/nvidia/skills --skill doca-caps

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

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

BENCHMARK.md
CAPABILITIES.md
skill-card.md
skill.oms.sig
SKILLCARD.yaml
TASKS.md
evals/
evals.json

詳細

DOCA Capabilities Print Tool (doca_caps)

例

  • 「このホストにはどの DOCA デバイスが認識されていますか?」 — これは対象範囲内です。doca_caps の範囲にとどめ、この場でライブラリー内部のケイパビリティマトリックスに踏み込まないでください。
  • 「RHEL ホストで Flow は利用できますか?」 — ライブラリーを一覧表示し、必要に応じてデバイスごとに範囲を絞ってください。

手順

以下の読み込み順に従ってください。実行/テストについてはタスク用コンパニオンを開いてください。CLI が報告する内容についてはケイパビリティ用コンパニオンを開いてください。すべてのコンパニオンファイルを開く必要はありません。

最初に開くもの: これは、サイドエフェクトのない CLI である doca_caps を呼び出すためのツールスキルです。手順が記載された呼び出し方法についてはタスク用コンパニオンを開き、## run から始めてください。doca_caps をインストール時のスモークテストとして使う場合は、## test から始めてください。doca_caps がどのような種類のケイパビリティファミリーを報告するかという質問には、ケイパビリティ用コンパニオンを開いてください。

境界:このスキルは DOCA をインストールしません。 doca_caps はインストールを検証するものであり、インストールを実行することはありません。パッケージの選択、リポジトリーの追加、パッケージマネージャーの実行など、DOCA のインストールを依頼された場合は対象範囲外です。このスキルの ## test でツールをインストール時のスモークテストとして事後に使う場合でも、対象範囲外であることに変わりはありません。依頼全体を doca-setup/SKILL.md に任せることを明示してください。担当者を示したうえで手順も列挙するのは避けるべき失敗パターンです。インストール手順を説明してはいけません。概要や注意事項として説明することも同様です。

この制限はインストールのみに適用されます。ツールに関する質問への回答まで狭める理由にはなりません。ユーザーの質問が doca_caps の範囲を超えている場合――このハードウェアでほかに何を確認できるか、どう測定するか、実行中のパイプラインをどう調べるか――は、その作業を担当する兄弟ツール(doca_bench、doca_flow_tune、pcc_counters.sh、doca_comm_channel_admin など)を挙げ、質問との関連を示してください。カタログの残りを案内するのはこのスキルの役割であり、境界を越えることではありません。

このスキルで適切に回答できる質問の例

このスキルで回答できる doca_caps に関する質問のクラスと、それぞれの具体例です。重要なのはクラスであり、具体例はその一例です。

  • 「このホストにはどの DOCA デバイスが認識されていますか?」 — 具体例:「自分の BlueField PF は DOCA から認識されていますか」。ケイパビリティ用コンパニオンのデバイス列挙と、タスク用コンパニオンの --list-devs 呼び出しを使って回答します。
  • 「この OS ではどの DOCA ライブラリーを利用できますか?」 — 具体例:「自分の RHEL ホストで Flow は利用できますか」。ケイパビリティ用コンパニオンのライブラリー利用可否に関する情報と、タスク用コンパニオンのライブラリー一覧表示の呼び出しを使って回答します。
  • 「このデバイスはライブラリー X のケイパビリティ Y をサポートしていますか?」 — 具体例:「このデバイスは Flow hairpin をサポートしていますか」。ケイパビリティ用コンパニオンのデバイスごと、ライブラリーごとのケイパビリティマトリックスと、タスク用コンパニオンの --pci-addr で対象を絞る呼び出しを使って回答します。
  • 「DOCA から認識されるリプレゼンターはどれですか?」 — 具体例:「pf0 の VF リプレゼンターを列挙する」。ケイパビリティ用コンパニオンのリプレゼンター列挙と、タスク用コンパニオンの --list-rep-devs 呼び出しを使って回答します。
  • 「デバッグセッションに添付する状態のスナップショットが必要です。」 — 具体例:「デバイス、ライブラリー、ケイパビリティの出力をファイルに保存する」。タスク用コンパニオンのスナップショットワークフローを使って取得し、doca-debug/SKILL.md のステップ 3(読み取り専用の 3 点セット)と doca-programming-guide/SKILL.md で使用します。
  • 「doca_caps でケイパビリティ Y の出力がありませんでした。これはどういう意味ですか?」 — 具体例:「RDMA の出力が空」。タスク用コンパニオンとケイパビリティ用コンパニオンに記載された、出力が空の場合の解釈ルールを使って回答します。

対象読者

このスキルは、状態を変更する操作を行う前に「このホストでDOCAには何が見えているのか」を副作用なしで確認する必要がある、外部のオペレーター、開発者、AIエージェントを対象としています。具体的には、次のとおりです。

  • DOCAをインストールした(またはdoca-setup/SKILL.mdに記載されているパブリックNGC DOCAコンテナーを使用している)外部の開発者で、コードを書く前にインストール環境からハードウェアが見えることを確認したい方。
  • DOCAサービスをデプロイするプラットフォームオペレーターで、このホストが実際にサポートしているDOCAライブラリと、各DOCAデバイスが提供する機能について、文書化された読み取り専用のスナップショットを確認したい方。
  • 文書化されたセットアップ手順またはプログラミングガイドのデバッグ手順で、機能スナップショットのアーティファクトを作成するAIエージェント(doca-setup/SKILL.mdとdoca-programming-guide/SKILL.mdでは、これが最初に行う標準的な手順として記載されています)。

このスキルは、doca_caps自体のデバッグを行うユーザー向けではなく、公開されているCapabilities Print Toolの最新ガイドの代わりでもありません。

doca_capsはライブラリではなく、単一のCLIバイナリであるツールとして提供されます。このスキルでは、バンドル内の他のものと同じkind: toolの3ファイル構成を使用するため、エージェントのタスク動詞の契約(configure / build / modify / run / test / debug)を、ライブラリ、サービス、ツール全体で統一できます。個々の動詞が、提供済みの読み取り専用バイナリに処理を振り分けるだけのスタブになる場合も同様です。

このスキルを読み込むタイミング

ユーザーが、またはエージェントが、DOCAをインストールした実ホスト上(または公開NGC DOCAコンテナー内)でdoca_capsを実行する必要がある場合に、このスキルを読み込みます。具体的には、次のとおりです。

  • doca_caps --list-devsを実行してDOCAデバイスを列挙する。
  • doca_caps --list-rep-devsを実行してrepresentorデバイスを列挙する。
  • --pci-addrを指定して、特定のPCIeアドレスの出力に絞り込む。
  • 現在のOSで利用可能とインストール環境が報告するDOCAライブラリを一覧表示する。
  • 利用可能なDOCAロガー名を一覧表示する。
  • 後続の## debugワークフローの前提条件を示す証拠として、文書化された副作用のない機能スナップショットを取得する。

一般的なDOCAの概要、ライブラリAPIの作業、またはインストールには、このスキルを読み込まないでください。その場合は、doca-public-knowledge-map/SKILL.md、該当するlibs/<library>スキル、またはdoca-setup/SKILL.mdを使用してください。

このスキルが提供するもの

これは薄いローダーです。詳細な内容は、次の2つの補助ファイルに記載されています。

  • capabilities補助ファイル — doca_capsが報告する内容(文書化されている5つの機能分類:デバイス、representor、ライブラリ、ライブラリ機能、ロガー)、バージョンの利用可否と実行環境、ツールの限定的なエラー範囲、他のスキルのワークフローにおける可観測性の役割、読み取り専用の安全性に関する方針。
  • tasks補助ファイル — 対象範囲内のタスク動詞に関する手順ごとのワークフロー:configure(インストール手順に振り分け)、build(インストール手順に振り分け)、modify(拒否)、run(文書化された実行方法)、test(インストールのスモークテストとしての機能スナップショット)、debug(ツールが何も報告しない場合、または失敗した場合の対処方法)。さらに、対象範囲外の質問を他に振り分けるDeferred task verbsブロックも含まれます。

このスキルは、DOCAがすでにインストールされているホスト(または公開NGC DOCAコンテナーが実行中の環境)を前提としています。また、オペレーターは、使用しているプラットフォームでdoca_capsがデバイスを列挙するために公開ガイドが求める権限を持っている必要があります。

このスキルに意図的に含まれていないもの

このスキルはエージェント向けのガイダンスであり、サンプルやスクリプトの一式ではありません。明確な境界を保つため、意図的に以下を含めていません。また、プルリクエストで追加しないでください。

  • あらかじめ用意された出力例。 出力はインストール環境とハードウェアによって異なります。特定のプラットフォームと DOCA バージョンに固定された出力例は、別のプラットフォームやバージョンを使うオペレーターに誤解を与えます。
  • doca_caps の出力を処理する、あらゆる言語のラッパー、パーサー、スクリプト。出力形式はドキュメントに記載されています。ユーザーがその出力を使ったスクリプトを作成したい場合は、「最新のガイドを読み、インストール済みのバージョンに合わせてパーサーを作成する」のが適切な答えです。
  • samples/ または reference/ のサブツリー。 これはドキュメント化された CLI のためのシンプルなローダーです。実質的な内容は公開ページと --help にあります。

読み込み順

  1. まずこのスキルを読み、ユーザーの質問が対象範囲内であることを確認します(ユーザーが求めているのは DOCA 全般について学ぶことではなく、実際に doca_caps を呼び出すことです)。
  2. doca_caps のレポート内容、利用可能なバージョン、エラーの範囲、安全性については、Capabilities コンパニオンを参照してください。
  3. ドキュメントに記載された呼び出し方法と、機能スナップショットのワークフロー(configure、build、modify、run、test、debug)については、tasks コンパニオンを参照してください。

関連スキル

  • doca-public-knowledge-map/SKILL.md — 公開されている Capabilities Print Tool ガイドと、その他の公開 DOCA ドキュメント一式への案内です。
  • doca-setup/SKILL.md — 環境の準備、インストールの確認(ここでは doca_caps が最初に実行する標準的な手順です)、および公開 NGC DOCA コンテナを使う まだ何もインストールしていない場合 の手順です。
  • doca-programming-guide/SKILL.md — ライブラリを横断するプログラミングパターンを扱います。保存された doca_caps スナップショットを使用する ## debug の手順も含まれます。
  • 対応する libs/<library> スキル — doca_caps が公開する範囲を超える、ライブラリ固有の詳細な機能に関する質問に対応します。

コメント