mcpField
I
implement-spec

implement-spec

github.com/devcxl开发52057 次安装今天更新
代码仓库

关于 implement-spec

implement-spec 是用于按 spec 和关联 ticket 完成软件实现的技能,面向需要协调多项依赖任务的编码 Agent。它通过任务前沿、独立 worktree 和集成分支安排并行实施与合并。

主要功能

  1. 01读取 spec 并梳理 ticket 依赖
  2. 02按可领取前沿调度实施者
  3. 03为 ticket 使用独立 worktree 和分支
  4. 04合并工作并进行代码审查
  5. 05完成后清理实施 worktree

适用场景

  1. 01按依赖关系推进多张实现 ticket
  2. 02并行开发并合并到集成分支
  3. 03完成 ticket 后执行代码审查与修复

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/devcxl/mattpocock-skills-zh --skill implement-spec

安装后在 Claude Code 中输入/implement-spec确认已加载。

附带文件agents/openai.yaml

详细介绍

来自项目 README

你已被提供一份 spec。该 spec 应关联若干 ticket,用以描述如何实现该 spec。

应该已经为你提供了 issue 跟踪器。如果没有,请告诉用户运行 /setup-matt-pocock-skills。

目标是整份 spec 在一条集成分支上实现完成,每张 ticket 都按 issue 跟踪器关闭工作的方式解决。

这些 ticket 不是一份步骤清单。它们是一张任务图,彼此之间存在阻塞关系。这意味着始终存在一个前沿(frontier):可立即被领走的 ticket。

与子智能体之间的通信应保持精简。通信主要通过上下文指针:指向 spec、ticket、研究笔记与历史 commit。无需重复指针已经能触达的信息。

实施者子智能体应尽可能在后台运行,以获得最大并发。

步骤

  1. 阅读 spec 与 ticket,理解任务图。

  2. (可选)使用一个探查子智能体完成 ticket 所需的探查工作:相关的代码库文件或外部文档。确保该探查子智能体能够保存文件:它应把 Markdown 笔记保存在仓库之外、所有后续子智能体都能访问的目录中。这让实施者子智能体可以专心实现,而非探查。

  3. 创建集成分支。如果 issue 跟踪器通过 PR 关闭工作,或者用户要求一个 PR,则在步骤 5 的第一次合并之后开一个 draft PR(一个在 main 之上没有 commit 的分支开不了 PR),并标记为关闭对应的 spec 与 ticket。

  4. 使用实施者子智能体逐一实现每张 ticket,每个都在自己的 worktree、自有的分支上工作。每个实施者子智能体:

    • 开始前先确认其 worktree 基于集成分支,如果不是则重置到该分支;
    • 调用 Skill 工具并传入 tdd 来构建 ticket;
    • 在报告完成之前,把集成分支的顶部合并进自己的分支。
  5. 一旦某个实施者子智能体完成,使用一个合并子智能体将其工作合并进集成分支。

  6. 如果这改变了可领取 ticket 的前沿,立刻启动更多实施者子智能体去处理新出现的 ticket。这保证了最大并发。

  7. 所有 ticket 完成后,对集成分支调用 Skill 工具并传入 code-review。用一个实施者子智能体一次性修复 code review 提出的全部问题。

  8. 如果存在 draft PR,将它标记为 ready for review。否则,按 issue 跟踪器关闭工作的方式逐张解决 ticket,并报告集成分支。

  9. 清理所有实施者子智能体的 worktree。

评论

支持 Markdown