SuperAPI AI 工具集

task-planning

智能体与模型

查看项目

更新于 10-15 08:31

技能介绍

Task Planning 是一个用于把 Feature 拆解为子 Task 的规划技能,基于 Matt Pocock 的 to-tickets tracer-bullet 原则,并适配 Waypoint 的 Feature 归属、仓库可读协作模型。

用途 它适用于需要将一个已确认的 Feature 转化为一组独立、可分配、可执行子 Task 的场景。技能强调:小到单个执行者可在一次全新上下文中安全完成的 Feature 不需要子 Task;较大的 Feature 即使由同一 owner 顺序执行,也可能需要拆分,只要结果能够被独立分配、保留、评审、验证或安全集成。

建立就绪状态 规划前必须先解析出唯一确切的 Feature:优先使用请求中的 ID、链接、路径或名称;否则从请求、.waypoint/local.yaml 或外部跟踪器解析 actor,再按 owner 过滤活跃 Feature;仅当恰好剩一个候选时才继续,否则询问用户。不得回退到其他 owner 的 Feature、列表顺序、最近时间、Git 历史或当前分支。

需要读取仓库说明、该 feature.md、已确认的 Feature 规格、相关技术设计与代码、跟踪器约定以及当前 Feature 状态。要求存在一个稳定的 Feature owner 和一个与跟踪器无关的 Feature ID。owner 可复用 feature.md 或已配置外部跟踪器中的值,其次使用当前请求中的明确值;若仍缺失,可在 .waypoint/local.yaml 存在时直接读取其 actor_id 作为当前 actor;若仍无法确定 Feature owner,则询问用户。不得从 Git 作者元数据、harness、机器、分支或窗口身份推断所有权。

当未解决的行为会改变 Task 验收标准,或未解决的技术选择会改变所有权、共享契约、顺序或安全并行性时,应停止并退回 feature-spec 或 technical-design。已批准的行为、公共契约和仓库事实应视为固定输入,拆分工作时不得重新设计。

起草 tracer-bullet Task 创建最小可用的一组 Task,使每个 Task 都能被分配、实现、评审、验证并安全集成:优先选择贯穿行为的窄而完整的路径,而非类型、测试、数据库或文档等横向碎片;把实现、测试、必要文档和评审修正保留在拥有该结果的 Task 内;按一次全新执行上下文来设定每个 Task 的规模;拆分无关决策或可独立使用的结果,合并无法单独保持正确与可验证的碎片;命名稳定的所有权面、消费与提供的契约,以及 Task 不得更改的内容;避免推测性文件列表;只记录真实阻塞项,列表顺序永远不是依赖;仅当 Task 本地证明无法覆盖实质性跨 Task 交互时,才添加单独的集成 Task;对于无法以直接垂直切片保持正确的广泛变更,使用 expand–migrate–contract;子 Task 保留在其 Feature 内,跨 Feature 依赖绑定到另一个 Feature 或其公共契约,绝不绑定到该 Feature 的内部 Task。

审计干扰 从两个方向检查图:覆盖(每个 Feature 验收条件都有 owner)、所有权(并行 Task 不拥有同一可变面)、契约(生产者与消费者使用同一冻结接口、schema、生命周期或兼容规则)、可合并性(每个 Task 都能到达安全 MR 边界,或存在真实集成依赖)、验证(每个 Task 都有本地证明,只有不可约的全局证明留在 Feature 层)。通过重塑 Task、在技术设计中冻结共享契约或添加真实阻塞项来解决重叠。没有仓库证据时,不得声称无冲突并行。

发布前确认 呈现建议图,包含每个 Task 的结果、所有权面、阻塞项、独立证明和共享契约责任。请用户确认粒度、阻塞项、重叠、合并/拆分选择以及任何集成 Task,并迭代直到批准。批准仅授权任务计划和子 Task 记录,不分配任何 Task,也不授权实现。

发布 Feature 所属 Task 遵循现有跟踪器和仓库约定;否则使用 references/task-plan-template.md。将 task-plan.md 放在 Feature 旁作为协调 DAG;将每个 Task 的持久契约放在已解析 Feature 目录下的 tasks/<task>/task.md,或使用仓库原生等价物;将实时状态、assignee、executor、MR 和阻塞状态保留在外部跟踪器或 Feature 所属工件中。local-work-tracker 只解析当前 actor 和 Feature owner,不创建第二套 Task 状态存储。没有 Task 跟踪器时,发布持久图,要求用户指定分配,报告声明非原子,且不初始化跟踪。可在 feature.md 或仓库原生 Feature 工件中保留链接的 Task 列表。使用独立于跟踪器 issue 编号的稳定 Feature/Task ID。重新规划时保留已完成 Task 和稳定契约;只有 Feature owner 可确认图或共享契约变更。报告 ready、blocked、safely parallel 和仍未分配的 Task,然后停止。绝不自行分配 Task、调用实现、编辑生产代码,也不把规划批准、ok、continue 或自动工具批准视为执行授权。

配套技能 未解决意图可使用 Matt Pocock 的 grilling,接缝推理可使用 codebase-design,to-tickets 是源方法论,已确认 Task 转移到其他 harness 时使用 handoff。仅按需安装配套技能:npx skills add mattpocock/skills --skill <name>。