mcpField
I
i4h-workflow-create

i4h-workflow-create

github.com/nvidia開発3.8k70 回インストール今日更新
リポジトリ

i4h-workflow-create について

i4h-workflow-createは、既存のチェックアウトに実行可能な空のi4h Workflowを生成するスキルです。シーンやタスクの動作を後から追加するユーザー向けに、idleモードのみの構成と静的検証手段を用意します。

主な機能

  1. 01空のWorkflowスキャフォールドを生成
  2. 02承認済みの専門分野を1つ指定
  3. 03ドライランと説明文に対応
  4. 04対象を絞った静的検証
  5. 05既存ファイルの上書きを回避

活用シーン

  1. 01idle構成からロボットワークフローを開始
  2. 02作成前に生成ファイルを確認
  3. 03Isaac Simを起動せず契約を検証

インストール

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

$npx skills add https://github.com/nvidia/skills --skill i4h-workflow-create

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

同梱ファイル

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

BENCHMARK.md
skill-card.md
skill.oms.sig
evals/
evals.json

詳細

空の i4h ワークフローを作成する

目的

既存のワークフローを検索したり、Isaac Sim を起動したりせずに、実行可能な空のワークフローを一式作成します。

手順

  1. I4H_WORKFLOWS が設定されている場合はそれを使用し、そうでない場合は現在の git ルートを使用してチェックアウトを解決します。どちらにも workflows/i4h_workflows がない場合は、リポジトリの AGENTS.md にあるチェックアウト解決方法を使用します。
  2. 小文字の snake_case 形式でワークフロー ID を選択します。
  3. 承認済みの製品専門分野を 1 つだけ選択します:laparoscopic-robotics、ultrasound-robotics、endoluminal-robotics、または hospital-automation-robotics。
  4. 空のワークフローを生成し、以下の静的検証を実行します。

専門分野がリクエストに指定されていない場合は、ユーザーに選択を依頼してください。ワークフロー名だけから製品カテゴリーを推測してはいけません。

実行するコマンド:

./scripts/create_blank_environment.py <workflow_id> --specialty <specialty>

これは、ワークフロー固有のソースを生成する唯一の作成ユーティリティです。ドライランの出力やファイル作成の前に、すべての専門分野を対象として、公開済みのワークフロー ID が存在しないことを確認します。設計上の境界を定める固定の空テンプレートを書き込みます。その後のシーンコードとタスクコードはコーディングエージェントが記述します。出力をプレビューするには --dry-run、シーンマニフェストの説明をカスタマイズするには --description TEXT、作成後に対象を絞った静的チェックを実行するには --validate を使用します。--dry-run と --validate を併用してはいけません。

スクリプトはファイルの上書きを拒否し、以下のみを作成します。

./
├── arena/i4h_arena/assets/<workflow_id>.py
├── arena/i4h_arena/scenes/<workflow_id>.py
├── arena/i4h_arena/scenes/manifest/<workflow_id>.yaml
├── workflows/i4h_workflows/<specialty>/<workflow_id>.py
└── workflows/tests/test_<workflow_id>_contract.py

生成結果には、地面、ドームライト、エンボディメントや宣言されたロボットがない状態、タスク固有のオブジェクトやカメラがない状態、および 1 つの idle モードが含まれます。コントラクトテストでは、シーンが空のままであることを検証するのではなく、永続的なワークフローとマニフェストの不変条件を検証します。そのため、後からシーン、タスク、実行モードを記述する際にテストを書き換える必要はありません。空の状態で作成する際は、ロボットアセットを調べたり、ポリシーを選択したり、タスクマニフェストを作成したり、上流の Isaac Sim スキルを読み込んだり、シミュレーターを起動したりしてはいけません。

ユーティリティ

コマンド目的引数
./scripts/create_blank_environment.py上書き安全な空のワークフロー一式を作成します<workflow_id> --specialty <specialty> [--description TEXT] [--dry-run] [--validate]

検証

高速な静的チェックのみを実行します。

./scripts/create_blank_environment.py <workflow_id> --specialty <specialty> --validate

--validate を付けずに作成したためワークフローがすでに存在する場合は、同等のチェックを直接実行します。

cd "$(git rev-parse --show-toplevel)"
./run.sh show <workflow_id> --mode idle
./run.sh lint <workflow_id> --mode idle
./run.sh lint --all
workflows/.venv/bin/python -m pytest workflows/tests/test_<workflow_id>_contract.py -q
arena/.venv/bin/python -m pytest arena/tests/test_scene.py -q

--validate にはワークフロー環境と Arena 環境が必要です。いずれかがない場合は、まず ./setup.sh を実行してください。Isaac Sim を起動せずに、生成されたコントラクトと共有のゼロ DOF 空シーンランタイムアダプターを検証します。コンポーネントの仮想環境が別の場所にある場合は、そのコンポーネントの Python を使って直接テストコマンドを実行してください。ユーザーが明示的に求めない限り、可視検証や動的検証を実行してはいけません。

トラブルシューティング

  • チェックアウトを解決できない場合は、I4H_WORKFLOWS に既存のリポジトリルートを設定するか、AGENTS.md にある解決方法を使用してください。
  • 生成時にワークフロー ID がすでに存在すると報告された場合は、その専門分野の参照元を伝え、編集するか別の ID を使うかユーザーに確認してください。上書き、移動、複製は決して行わないでください。
  • --validate でコンポーネント環境がないと報告された場合は、./setup.sh を実行して同じ検証を再度行ってください。

前提条件

書き込み可能なルートレベルの i4h-workflows チェックアウトと、Python 3.11 以降が必要です。静的な --validate には、ワークフロー環境と Arena コンポーネント環境も必要です。

制限事項

このスキルで作成するのは、5 ファイルの idle スキャフォールドのみです。エンボディメント、タスクの動作、ポリシー、カメラ、タスク固有のアセットは追加せず、シーンの可視検証も行いません。

続行

作成を段階的なワークフローの最初のステージとして扱います。

  1. このスキルで空のワークフローの骨組みを作成します。空のシーン、シーンマニフェスト、アイドル専用ワークフローを用意します。
  2. i4h-workflow-scene-edit を使って、アセット、ロボット、カメラ、レイアウト、物理を追加し、画面上で確認してから、確定したシーンをベイクします。
  3. 動作を定義するのは、ユーザーが具体的な目標と成功条件を提示してからにします。互換性のあるタスクを再利用し、新しい動作が必要な場合にのみ、目的を絞ったタスクを作成します。空のプレースホルダーのタスクは作成しないでください。
  4. ルールベース、テレオペレーション、リプレイ、ポリシーの各モードは、要求があった場合にのみ追加し、そのタスクとアクションの契約が実行可能な場合に限ります。
  5. 新たに有効にした各モードを、そのモードを担当するステージのスキルで検証します。

空のワークフローは、動作を追加する前の段階でも意図的に役立つようになっています。共有のアイドルタスクによってシーンを作成できるため、空のタスクマニフェストや実装を追加しても、機能は増えません。

例

  • Create a blank hospital-automation-robotics workflow named my_workflow. → 病院自動化の専門分野で my_workflow を生成し、静的検証を実行します。
  • Make a new laparoscopic-robotics workflow called training_sandbox as fast as possible. Start blank. → 腹腔鏡の専門分野で training_sandbox の下に、同じ5ファイルのアイドル専用の骨組みを生成します。

完了条件

作成した ID、5つのファイル、アイドル専用の状態、静的検証の結果を報告します。明示的に依頼されない限り、コミットしないでください。

コメント