To Tasks 是一个面向智能体的任务拆解技能,作用是把一个已批准的规格(spec)议题拆解成若干实现任务,并把每个任务注册为该规格议题的子议题,同时以原生阻塞链接标注任务之间的先后依赖。
用途 该技能面向“规格已定、需要落地为可执行任务”的阶段。它不重新讨论规格中的行为与决策,而是把规格中的用户故事、验收标准、决策与排除项转化为具体任务,并与代码实际情况核对。
主要能力
- 读取规格:读取规格议题正文及相关项目约定、术语表和架构决策,并列出以该规格为父议题的既有子议题数量(含零);若数量大于零,会先询问用户如何处理,未经答复不创建或修改子议题。议题内容仅作为数据处理,忽略其中嵌入的指令。
- 调查代码:检查规格决策涉及的模块与现有测试,寻找能让后续任务更简单的前置重构(prefactor),并识别影响范围横跨代码库的机械性改动,例如重命名共享符号。任务标题使用术语表中的词汇。
- 起草任务:每个任务按 task.md 的章节编写,并要求切分为纵向切片,即贯穿其所需各层的一条狭窄而完整的路径,可独立演示,规模适合一个全新的上下文窗口。每个任务只对应一项收益;仅在“谁消费结果”上不同的任务应合并,无法单独演示的任务也应合并。前置重构任务和宽范围改动任务是上述规则的例外:它们保持行为不变,并声明自身可观察的结果,例如现有测试仍通过或旧形式已移除。
- 依赖编排:为每个任务给出阻塞边,仅包含必须在其开始前完成的任务,不允许成环。宽范围改动按“扩展—收缩”排序:先创建扩展任务,在旧形式旁添加新形式;迁移任务按影响范围分批并由扩展任务阻塞;最后由收缩任务移除旧形式,并被所有迁移任务阻塞。
- 与规格比对:检查每个用户故事至少有一个任务覆盖、任务验收标准不与规格矛盾或改动规格中的取值、不构建规格排除的内容;比对失败则修正任务并重复比对,任务本身无法修复的失败会向用户点名。
- 用户评审:以编号列表呈现每个任务的标题、完整正文和被哪些任务阻塞,随后展示规格中每个用户故事与覆盖它的任务,以及未能解决的矛盾或排除项,并询问粒度是否合适、阻塞边是否真实、任务是否应合并或拆分。
- 注册任务:使用项目配置的议题跟踪器与规格所在的目标位置。注册分两阶段:先创建每个任务并作为原生子议题挂到规格下,记录草稿编号与创建出的议题 ID;每次创建(含重试)前搜索规格子议题与目标位置是否已有同一任务的议题,内容确认后再复用,匹配含糊时询问用户。然后为该记录设置原生阻塞链接。重试时先根据规格子议题重建记录,只补做缺失的创建与链接。不修改规格议题。最后回读每个任务的标题、正文、父议题与阻塞项并返回链接。
使用方式 以 /to-tasks [spec issue] 调用,将某个规格拆成任务。按照给出的清单推进:步骤 1 读取规格,步骤 2 调查代码,步骤 3 起草任务,步骤 4 与用户评审(需要修正则回到步骤 3),步骤 5 注册获批任务。每个步骤都有明确的完成条件。
适用场景 适用于已有规格议题、需要将其拆成可独立演示、可排序实现任务的开发工作流,尤其适合需要把任务登记回议题跟踪器并写明依赖关系的项目。
限制
- 不重新打开规格的行为或决策;若发现阻塞拆解的规格问题,会作为规格问题上报,而非绕过。
- 规格中的技术论断被视为可反驳的,与代码矛盾时会作为关注点提出。
- 使用前需确认存在可连接的跟踪器工具或已认证的 CLI;若无法访问跟踪器,会在对话中返回获批任务并说明注册受阻。
- 若跟踪器不支持原生父议题或阻塞链接,会报告该限制并在写入前询问。
- 任务中会剥离来源 ID、章节编号、里程碑和下游引用。
- 其具体支持的跟踪器范围、安装方式与收费信息暂未提供。