Ship 是一个执行型技能,用于运行 Hamster Studio 生成的 brief。其计划(父任务、子任务、上下文)由上游 Hamster Studio 生成并同步到项目的 .hamster/ 目录,Ship 只负责调度和执行这些已有任务,不会主动生成、拆分或重新规划任务。执行器可以适应机械性偏差(记录为 deviations),并在发现真正的计划缺陷时以 PLAN_ISSUE 上报,由编排器或用户决定后续处理。
主要能力:
- 将现有任务组织为并行波次执行。
- 合并基准分支(默认分支)到功能分支。
- 运行验证和测试门禁。
- 进行波次审查。
- 按父任务创建可二分定位的提交(子任务不单独提交)。
- 默认每个 brief 创建一个 PR,任务数超过 15 时询问是否拆分。
- 在打开 PR 前询问用户。
使用方式:
- 需要先满足就绪条件:Hamster CLI 已登录且 hamster sync 成功。技能提供 Unix 和 Windows 的就绪检查脚本或内联命令。
- 若打印 SETUP_NEEDED,需运行本插件的 setup 技能,然后重新检查,直到打印 READY。
- 设置阶段需先阅读 brief-selection 并运行 Account Resolution;若返回 ACCOUNT_UNRESOLVED,按团队选择/重新同步指引停止。
- 然后在一个 bash 调用中运行前置条件检查和实时同步,包括检查 hamster CLI、.hamster/ 目录、gh CLI、未提交更改,并启动或复用 hamster sync --watch 监视进程。
- 前置条件失败时显示错误并停止(未提交更改时询问是否继续或暂存)。
- 选择 brief 并调度:遵循 brief-selection 中的参数解析、brief 选择器、内联 frontmatter 解析和波次分组,最后进行执行/修改/取消确认。
- 创建分支并合并基准分支:基于最低任务 ID 生成 feature 分支,获取并合并默认分支;若发生合并冲突则停止并报告,不自动解决。
- 执行与完成:阅读 execution-loop 并遵循每个波次的并行执行、验证/测试门禁、波次审查、按父任务提交和进度报告;然后执行 Completion 部分,包括关闭监视进程、最终验证、可选 PR 和 brief 状态更新。
适用场景:
- 已在 Hamster Studio 中规划好并同步到 .hamster/ 目录的 brief。
- 需要按计划自动执行、测试、审查并提交代码的场景。
- 需要创建 PR 但希望在打开前确认的场景。
限制与注意事项:
- 不生成、拆分或重新规划任务。
- 合并冲突时停止,不自动解决。
- 测试门禁失败时停止,报告并询问修复或跳过。
- NEEDS_FIXES 两轮后报告用户,询问跳过或手动修复。
- 执行器失败时报告,询问重试或跳过。
- 执行器返回 PLAN_ISSUE 时按情况验证、重新启动或询问用户。
- 任务已完成则跳过。
- 中断后可用 /hamster:resume-hamster 从 git 和任务状态重建状态。
- 每个父任务一组提交,子任务不单独提交。
- 默认每个 brief 一个 PR,超过 15 个任务时询问拆分。
- 在 macOS 的 Codex 中若就绪检查打印 SETUP_NEEDED 且 hamster 已在 PATH,需以提升权限重新运行就绪检查;若仍失败,运行本插件 setup 技能后重试,直到 READY。
- 监视进程处理:若已有工作目录为本仓库的监视进程则复用,完成时不杀死;若工作目录未知则建议复用而非启动第二个,且永不杀死;若启动新进程则记住数字 PID,完成时按字面值终止。
- 账户使用解析出的文件系统 slug,而非 HAMSTER_ACCOUNT_ID。
- 项目技能在执行期间会被加载:任务执行器会读取 .claude/skills/hamster-project-context/SKILL.md(若存在)、相关项目技能和 .hamster/ 蓝图/方法。
- 未提供具体收费、价格或平台限制信息。