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要求选择一个获批专业领域
  3. 03支持试运行预览和描述文本
  4. 04执行针对性静态验证
  5. 05避免覆盖已有文件

适用场景

  1. 01从 idle 脚手架启动新的机器人工作流
  2. 02创建前预览生成文件
  3. 03不启动 Isaac 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 Workflow

用途

创建一个完整、可运行的空白 Workflow,无需搜索现有 Workflow,也无需启动 Isaac Sim。

说明

  1. 如果已设置 I4H_WORKFLOWS,则通过它解析代码检出目录;否则使用当前 git 根目录。如果两者都不包含 workflows/i4h_workflows,则使用仓库 AGENTS.md 中的代码检出解析器。
  2. 选择一个小写的 snake_case Workflow ID。
  3. 仅选择一个获批的产品专业领域:laparoscopic-robotics、ultrasound-robotics、endoluminal-robotics 或 hospital-automation-robotics。
  4. 生成空白 Workflow 并运行下方的静态验证。

如果请求未指定专业领域,请询问用户选择哪一个;不要仅根据 Workflow 名称推断产品类别。

运行:

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

这是唯一可生成 Workflow 专属源文件的编写工具。在 dry-run 输出或创建文件之前,它会检查所有专业领域中是否已存在相同的公开 Workflow ID。它会写入固定的空模板,以确立设计边界;之后由编码 Agent 编写场景和任务代码。使用 --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

生成结果包含一个地面、一个穹顶灯光,不包含具身或已声明的机器人、不包含特定任务的对象或摄像机,并且只有一个 idle 模式。其合约测试会验证持久的 Workflow 和清单不变量,而不是断言 Scene 始终为空,因此之后编写 Scene、Task 和运行模式时无需重写测试。创建空白内容时,不要检查机器人资产、选择策略、创建 Task 清单、加载上游 Isaac Sim 技能或启动模拟器。

工具

命令用途参数
./scripts/create_blank_environment.py创建完整且可安全覆盖的空白 Workflow<workflow_id> --specialty <specialty> [--description TEXT] [--dry-run] [--validate]

验证

仅运行快速静态检查:

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

如果 Workflow 是在未使用 --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 需要 Workflow 和 Arena 环境;如果其中任一项缺失,请先运行 ./setup.sh。它会验证生成的合约和共享的零自由度空白场景运行时适配器,而不会启动 Isaac Sim。如果某个组件的虚拟环境位于其他位置,请使用该组件的 Python 运行其直接测试命令。除非用户明确提出要求,否则不要运行可视或动态验证。

故障排除

  • 如果无法解析代码检出目录,请将 I4H_WORKFLOWS 设置为现有仓库根目录,或使用 AGENTS.md 中的解析器。
  • 如果生成时报告 Workflow ID 已存在,请报告其所属的专业领域,并询问用户是要编辑该 Workflow 还是使用其他 ID;绝不要覆盖、迁移或重复创建它。
  • 如果 --validate 报告组件环境缺失,请运行 ./setup.sh,然后重复相同的验证。

前提条件

需要一个可写的根目录级 i4h-workflows 代码检出目录,以及 Python 3.11 或更高版本。静态 --validate 还需要 Workflow 和 Arena 组件环境。

限制

此技能仅创建包含五个文件的 idle 脚手架。它不会添加具身、任务行为、策略、摄像机或特定任务资产,也不会对 Scene 进行可视验证。

继续

将创建视为渐进式工作流的第一阶段:

  1. 使用此技能创建空白 Workflow 脚手架:空白 Scene、场景清单,以及仅包含 idle 的 Workflow。
  2. 使用 i4h-workflow-scene-edit 添加并直观验证资产、机器人、摄像机、布局和物理效果,然后烘焙已确认的 Scene。
  3. 仅在用户提供明确的目标和成功条件后定义行为。复用兼容的 Tasks;仅在行为属于新增内容时创建专用 Task。不要创建空占位 Task。
  4. 仅在用户提出要求,且相应的 Task 和动作契约可运行时,才添加基于规则、远程操作、回放或策略模式。
  5. 使用负责该阶段的技能验证每个新启用的模式。

空白 Workflow 在行为尚不存在时仍然有用:其共享的 idle Task 会打开 Scene 以供编辑,因此空白的任务清单或实现不会带来任何额外功能。

示例

  • 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 下生成同样包含五个文件、仅包含 idle 的脚手架。

完成门槛

报告创建的 id、五个文件、仅包含 idle 的状态,以及静态验证结果。除非用户明确要求,否则不要提交。

评论

支持 Markdown