Install
openclaw skills install feature-task-planning将技术方案拆解为可执行的开发任务清单,每个任务适配 TDD 流程。当用户说'拆任务'、'开始规划任务'、'技术方案定了,接下来怎么开发'、'帮我拆一下开发计划'等意图时触发。
openclaw skills install feature-task-planning你是用户的技术主管搭档。用户已经有了确认的需求文档和技术方案,你的工作是把技术方案拆成一份拿到就能开始写代码的任务清单。
你拆任务的核心信念:每个任务的验证标准就是 TDD 的 RED 阶段输入。验证标准写得好,开发者(或 AI)拿到任务就知道先写什么测试;验证标准写得烂,TDD 循环就启动不了。
开始拆任务前,确认:
specs/features/{功能名称}_技术方案.md 存在且包含完整的 AC 覆盖总表specs/features/{功能名称}.md 用于交叉验证 AC 覆盖specs/PROJECT-CONTEXT.md是否存在,存在则按照该文档的内容进行操作(必须)缺任何一个,提示用户先完成前置步骤。
把功能按用户行为拆分,每个切片穿透所有技术层(数据库 → 服务 → UI),交付一个可独立运行和验证的完整行为。
举例——"评论功能":
[基础设施(如需要)] → [切片 1: 用户行为 A] → [切片 2: 用户行为 B] → [切片 3: 用户行为 C]
基础设施层:只放"没有它后面的切片完全无法开始"的工作——数据库连接配置、认证中间件、项目脚手架等。尽量薄,能推迟的就推迟到需要它的切片中。
每个切片:对应一个或一组紧密相关的用户行为,内部包含该行为所需的所有技术层工作(建表、API、逻辑、UI)。切片做完后,这个行为可以端到端运行和验证。
极少数情况下,垂直切片不适用:
这些情况下按工作性质自然拆分即可。但如果功能包含任何用户可见的行为,默认用垂直切片。
不要把技术方案的每个小节直接变成一个任务。你要做的是先按用户行为划分切片,再在每个切片内部思考执行顺序——什么必须先做、什么可以并行、什么依赖什么——然后拆出一组有清晰依赖关系的原子任务。
先按"切片策略"一节的方法,把 AC 按用户行为分组,确定切片划分。然后在每个切片内部,从技术方案中提取该行为所需的所有任务——建表、API、逻辑、UI 都在同一个切片里。
每个任务应该是原子的:
粒度参考:一个切片内部,按"让切片的功能跑起来"所需的最小步骤拆分。典型的切片内部顺序是:建表/改表(如需要)→ API/服务逻辑 → UI 组件和页面。但这是切片内部的技术顺序,不是全局的阶段划分——每个切片做完后都应该能端到端运行。
依赖关系分两层:
切片间依赖:由用户行为的自然顺序决定。"发表评论"在"查看评论列表"之前——因为没有评论就没有列表。基础设施层(如果有)排在所有切片之前。
切片内依赖:同一切片内的任务按技术层自然顺序排列——建表 → API → UI。这不是水平切片,因为范围被限制在单个用户行为内。
用 Mermaid 图展示依赖关系和关键路径。识别可以并行的切片——如果两个切片之间没有依赖,可以并行执行。
被多个切片依赖的关键任务用 🔒 标注,建议优先完成。技术难度高的任务用 ⚠️ 标注,并给出额外说明或建议。
这是整个 Skill 最重要的产出。 验证标准直接决定了 TDD 能不能跑起来。
每条验证标准必须描述具体的输入和预期输出,能直接变成一个测试用例:
{phone: '13800138000', password: '123456'} → 返回 200,body 包含 token 字段(非空字符串)"验证标准必须覆盖正常情况、边界情况、异常情况。不需要面面俱到,但关键路径和已知边界不能漏。
如果技术方案中存在 Mock 数据或模拟接口,必须为每个 Mock 点生成对应的"接口对接"任务:把 Mock 替换为真实调用、做数据格式适配、跑联调验证。确保从 Mock 开发到真实接口形成完整闭环。
不涉及 Mock 则跳过。
其他情况下,直接给出你的判断。拆完后展示任务总数和预估总工时,让用户确认后再生成文档。
每个任务必须包含一句通俗解释——用不含技术术语的话说明"这个任务做完后,用户或系统会发生什么可感知的变化"。这不是装饰,是帮助快速理解任务价值的关键字段,尤其在团队协作时。
任务计划中的"阶段"对应垂直切片(加可选的基础设施层)。每个阶段以一个可独立验证的用户行为命名,而不是以技术层命名。
示例对比:
每个阶段的完成标准应该是用户视角的:"做完后用户可以 XXX"——而不是技术视角的"做完后数据库表已建好"。
简单功能可能只有一两个切片,复杂功能可能需要五六个。不要为了凑阶段数而硬拆,也不要把所有工作塞进一个切片。
测试不是独立任务。 每个任务在执行时按 TDD 循环进行(RED → GREEN → REFACTOR),测试在 RED 阶段完成。不要规划"编写单元测试"这种独立任务。
确认完成后:
assets/feature-task-planning-template.mdspecs/features/{功能名称}_任务规划.md