关于 i4h-workflow-create
i4h-workflow-create 用于在现有代码库中生成可运行的空白 i4h Workflow。它面向准备后续添加场景或任务行为的用户,创建仅含 idle 模式的脚手架,并提供静态验证选项。
主要功能
- 01生成空白 Workflow 脚手架
- 02要求选择一个获批专业领域
- 03支持试运行预览和描述文本
- 04执行针对性静态验证
- 05避免覆盖已有文件
适用场景
- 01从 idle 脚手架启动新的机器人工作流
- 02创建前预览生成文件
- 03不启动 Isaac Sim 检查脚手架契约
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ nvidia/ skills --skill i4h-workflow-create安装后在 Claude Code 中输入/i4h-workflow-create确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
BENCHMARK.mdskill-card.mdskill.oms.sigevals/evals.json详细介绍
创建空白 i4h Workflow
用途
创建一个完整、可运行的空白 Workflow,无需搜索现有 Workflow,也无需启动 Isaac Sim。
说明
- 如果已设置
I4H_WORKFLOWS,则通过它解析代码检出目录;否则使用当前 git 根目录。如果两者都不包含workflows/i4h_workflows,则使用仓库AGENTS.md中的代码检出解析器。 - 选择一个小写的 snake_case Workflow ID。
- 仅选择一个获批的产品专业领域:
laparoscopic-robotics、ultrasound-robotics、endoluminal-robotics或hospital-automation-robotics。 - 生成空白 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 进行可视验证。
继续
将创建视为渐进式工作流的第一阶段:
- 使用此技能创建空白 Workflow 脚手架:空白 Scene、场景清单,以及仅包含 idle 的 Workflow。
- 使用
i4h-workflow-scene-edit添加并直观验证资产、机器人、摄像机、布局和物理效果,然后烘焙已确认的 Scene。 - 仅在用户提供明确的目标和成功条件后定义行为。复用兼容的 Tasks;仅在行为属于新增内容时创建专用 Task。不要创建空占位 Task。
- 仅在用户提出要求,且相应的 Task 和动作契约可运行时,才添加基于规则、远程操作、回放或策略模式。
- 使用负责该阶段的技能验证每个新启用的模式。
空白 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 的状态,以及静态验证结果。除非用户明确要求,否则不要提交。