你已经拿到了一份规格说明。这份规格说明应当配有工单,说明该怎么实现它。
议题跟踪器应当已经提供给你了。如果没有,就让用户去跑 /setup-matt-pocock-skills。
目标是在一条集成分支上把整份规格说明实现完,并且让每一张工单都按议题跟踪器收尾工作的方式解决掉。
工单不是一串步骤,而是一张带阻塞关系的任务图。这意味着任何时候都存在一批随时可以领取的前沿工单。
与子代理之间的往来要少。主要靠上下文指针沟通:指向规格说明、工单、调研笔记和以前的提交。已经能通过指针拿到的信息,不要重复一遍。
实现者子代理应尽可能放到后台运行,以获得最大的并发度。
步骤
-
读规格说明和工单,弄清任务图。
-
(可选)用探查子代理去做工单要求的任何探查——相关的代码库文件或外部文档。要确保探查子代理能保存文件:它应当把 Markdown 笔记保存在仓库之外、所有后续子代理都能访问的某个目录里。这样实现者子代理就能专注在实现上,而不必去做探查。
-
建集成分支。如果议题跟踪器是通过 PR 收尾工作的,或者用户要一个,那就在第 5 步第一次合并之后开一个草稿 PR(一个还没有比 main 多出任何提交的分支是开不了 PR 的),并标注它会关闭这份规格说明和这些工单。
-
用实现者子代理实现每张工单,每张工单各在自己的工作树、自己的分支上。每个实现者子代理都要:
- 动手之前先确认自己的工作树是基于集成分支的,如果不是,就重置到集成分支上;
- 调用 Skill 工具并传入
tdd,把这张工单实现出来; - 在报告完成之前,把集成分支的最新提交合并进自己的分支
-
一个实现者子代理完成后,用合并子代理把它的成果合并到集成分支。
-
如果这一步改变了可领取工单的前沿,就再起几个实现者子代理去做新冒出来的工单。这样能获得最大的并发度。
-
等所有工单都完成后,在集成分支上调用 Skill 工具并传入
code-review。用一个实现者子代理把代码评审提出的所有问题一次性修完。 -
如果存在草稿 PR,就把它标记为可供评审。否则,按议题跟踪器收尾工作的方式逐张解决工单,并报告集成分支。
-
清理掉所有实现者子代理的工作树。


