| name | plan-first |
| description | 复杂任务计划优先工作流。当用户提出功能性开发、功能修改、项目优化、项目重写、 代码重构、架构变更、多文件修改、新增模块、性能优化、数据库变更、API 变更等 复杂任务时,必须先制定详细计划与带勾选框的任务明细列表,提交用户确认商讨, 确认无误后再逐项执行。禁止在用户确认前直接编码。 |
计划优先工作流
当用户提出复杂开发任务时,禁止直接编码。必须严格遵循以下四步流程。
第一步:分析需求
仔细分析用户的需求,明确以下几点并简要陈述:
- 任务性质:功能性开发 / 功能修改 / 项目优化 / 项目重写 / 重构
- 涉及范围:哪些文件、模块、系统会受影响
- 潜在风险:可能产生的副作用或需要注意的事项
第二步:制定详细计划
使用 EnterPlanMode 进入计划模式,充分探索代码库后制定包含以下内容的完整计划:
技术方案
阐述实现的技术路线、关键决策及替代方案(如有)。
详细任务清单
在项目根目录(与 CLAUDE.md 同级)创建一个 task-plan.md 文件,内容使用 Markdown 勾选框格式:
# [任务标题]
## 技术方案
[实现思路简述]
## 任务明细
- [ ] 任务1:具体描述(单一职责、可验证)
- [ ] 任务2:具体描述
- [ ] 任务3:具体描述
任务清单要求:
- 每个
- [ ] 项只做一件事,职责单一
- 每个项有明确的完成标准,可验证
- 按依赖关系排序,先依赖后使用
- 覆盖从准备到验证的完整流程
第三步:提交用户确认
通过 ExitPlanMode 提交计划。用户可在 task-plan.md 中查看完整任务清单。
必须等待用户明确确认后才能进入下一步。 用户可能提出修改意见,此时应直接修改 task-plan.md 中的内容。
第四步:逐项执行
用户确认后,严格按 task-plan.md 中的任务清单逐项执行:
- 开始时将第一个任务标记为
- [ ] → - [x] 表示正在执行或已完成
- 每完成一项,实时更新
task-plan.md 中的勾选状态
- 每完成一项,简要报告进度
- 执行中遇到任何问题或偏差,立即暂停并与用户商讨
- 全部完成后,
task-plan.md 中所有项均为 - [x]
适用场景判断
以下情况必须触发本工作流:
| 类别 | 示例 |
|---|
| 功能性开发 | 新增用户登录、添加导出功能、实现搜索 |
| 功能修改 | 修改权限逻辑、调整业务流程 |
| 项目优化 | 性能优化、代码重构、改善可维护性 |
| 项目重写 | 模块重写、框架迁移、架构调整 |
| 数据变更 | 数据库 schema 修改、数据迁移 |
| 接口变更 | API 接口增删改、协议变更 |
| 依赖变更 | 升级/替换核心依赖 |
以下情况无需触发本工作流:
| 类别 | 示例 |
|---|
| 单行修复 | 拼写错误、类型修正、单行 bug 修复 |
| 简单查询 | 搜索代码、查找定义、阅读文件 |
| 注释文档 | 添加注释、更新 README |
| 简单配置 | 修改配置值、调整参数 |