用途
implement 用于根据规格说明(spec)或一组工单(tickets)实现用户描述的工作。它会在一个独立的 worktree 上开展工作,该 worktree 基于当前分支创建。
主要能力
- 在开始编辑任何文件之前,先认领要实现的 issue,以便其他可能冲突的智能体跳过它。
- 支持在预先约定的接缝(seams)处使用 /tdd。
- 定期运行类型检查、定期运行单个测试文件,并在最后运行一次完整测试套件。
- 完成后使用 /code-review 审查工作。
- 将工作提交到当前分支。
- 在创建 PR 前关闭本次会话中打开的所有 Chrome 标签页。
使用方式
先认领 issue
在编辑任何文件之前,先认领你正在实现的 issue,这样发生冲突的智能体就会跳过它(参见 docs/agents/triage-labels.md)。如果工作对应 issue 编号 N:
首先,用 gh issue view N --json labels,comments 检查是否已有认领。如果已经设置了 in-progress,说明可能有另一个智能体正在处理:读取最新的 🤖 in-progress 评论,检查该分支的真实状态(是否有打开的 PR?是否有提交?还是空/被放弃的分支?),然后跳过或协调,而不是重复工作。只有在 issue 空闲,或先前的认领明显已被放弃(没有打开的关联 PR,即 reaper 的规则)时,才进行认领。
然后认领:
gh issue edit N --add-label in-progress --remove-label ready-for-agent
gh issue comment N --body "🤖 in-progress: <branch> (<session>) <date>"
该操作是幂等的:对同一个 issue 重新运行 /implement 不应报错:添加已存在的标签、移除不存在的 ready-for-agent、以及重复评论都是可以容忍的。认领评论必须写明工作分支名(发生冲突的智能体检查的是该分支的状态,而不是残留的 worktree)。
释放认领
当你打开 PR(工作移交审查)时,释放认领:gh issue edit N --remove-label in-progress。如果流程结束时没有打开 PR,则保留该标签;cleanup-merged-branches reaper 会释放被放弃的认领。成功后不要恢复 ready-for-agent;issue 会在合并时关闭。
实现与验证
- 尽可能在预先约定的接缝处使用 /tdd。
- 定期运行类型检查,定期运行单个测试文件,并在最后运行一次完整测试套件。
- 完成后,使用 /code-review 审查工作。
- 将工作提交到当前分支。
- 在创建 PR 前关闭本次会话中打开的所有 Chrome 标签页。
适用场景
适用于需要根据规格说明或工单实现具体工作的开发流程,尤其是多个智能体可能并行处理同一代码库、需要避免重复认领同一 issue 的协作场景。
限制
资料未提供关于收费、价格、平台支持范围、具体效果或性能的说明。