关于 deep-plan
deep-plan 是面向 Claude Code 的工作流 Skill,将研究、规划与实现分开。它要求每个阶段都经用户明确确认,并将研究、计划和完成记录保存在文件中。
主要功能
- 01从研究到归档的七阶段流程
- 02各阶段设置审批关卡
- 03持久化研究与计划文件
- 04用于批注和进度的脚本
- 05严格遵守范围与类型约束
适用场景
- 01编码前研究待实现的变更
- 02在实现前让用户审核计划
- 03按计划跟踪实现任务
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ theclaymethod/ deep-plan --skill deep-plan安装后在 Claude Code 中输入/deep-plan确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
README.mdassets/templates/plan-template.mdresearch-template.mdreferences/phase-5-implement.mdannotation-guide.mdphase-2-plan.mdphase-3-annotate.mdphase-6-feedback.mdphase-4-todo.mdphase-1-research.mdphase-7-archive.mdscripts/archive_plan.pycheck_annotations.pyplan_progress.py详细介绍
深度规划
通过将思考与编写分开,避免浪费精力的严谨工作流。用户审阅并批准书面计划之前,绝不编写代码。
工作流
Research → Plan → [Interview] → Annotate (1-6x) → Todo List → Implement → Feedback → Archive
[Interview] 为可选步骤——通过互动问答,在添加批注前消除歧义。触发条件和流程请参阅第 2 阶段说明。
关键防护规则:除非用户明确要求,否则不要进入下一阶段。如有疑问,请先询问。
阶段
每个阶段都有详细说明文件。进入相应阶段时,请阅读对应文件。
| 阶段 | 文件 | 产出物 | 防护规则 |
|---|---|---|---|
| 1. 调研 | references/phase-1-research.md | .claude/research.md | 等待用户审阅 |
| 2. 计划 | references/phase-2-plan.md | .claude/plan.md | 暂不实施 |
| 3. 添加批注 | references/phase-3-annotate.md | 用户编辑 plan.md | 暂不实施 |
| 4. 待办清单 | references/phase-4-todo.md | plan.md 中的复选框 | 等待用户批准 |
| 5. 实施 | references/phase-5-implement.md | 将任务标记为 [x] | 持续运行类型检查 |
| 6. 反馈 | references/phase-6-feedback.md | 简短的修正意见 | 如果方向有误,则回退 |
| 7. 归档 | references/phase-7-archive.md | docs/completed-tasks/ | — |
模板
创建产出物时使用以下模板:
- 调研:
assets/templates/research-template.md - 计划:
assets/templates/plan-template.md
脚本
| 脚本 | 用途 | 使用时机 |
|---|---|---|
scripts/check_annotations.py <file> | 查找尚未处理的用户批注 | 第 3 阶段更新计划之前 |
scripts/plan_progress.py <file> | 报告任务完成情况(X/Y) | 第 5 阶段实施期间 |
scripts/archive_plan.py <file> --name <slug> | 将计划移至 docs/completed-tasks/ | 第 7 阶段归档 |
参考文件
| 文件 | 用途 |
|---|---|
references/annotation-guide.md | 如何撰写有效批注 |
references/phase-*.md | 各阶段的详细说明 |
硬性约束
以下约束不可妥协。违反任何一条都意味着工作流失败。
| 约束 | 适用范围 |
|---|---|
| 未经批准的计划,绝不编写代码。 没有例外。 | 所有阶段 |
| “暂不实施”是绝对要求。 在调研、规划或添加批注阶段都不得开始编码,即使计划看起来已经完整。 | 第 1 至 4 阶段 |
所有调研结果都必须写入持久化文件。 绝不能只在聊天中总结发现。请写入 .claude/research.md。 | 第 1 阶段 |
| 提出变更建议前先阅读源文件。 计划中的每段代码都必须引用你实际读过的文件。绝不能凭空设计。 | 第 2 阶段 |
| 处理每一条批注。 不得跳过、降低优先级或悄悄忽略任何用户备注。 | 第 3 阶段 |
不得使用 any 或 unknown 类型。 全程保持严格类型检查。 | 第 5 阶段 |
| 不要添加不必要的注释或 jsdocs。 代码应当能够自我说明。 | 第 5 阶段 |
| 持续运行类型检查。 在实施过程中发现问题,而不是事后发现。 | 第 5 阶段 |
| 所有任务完成前不得停止。 除非受阻,否则不要在实施过程中暂停并请求确认。 | 第 5 阶段 |
| 随进度在计划中标记已完成的任务。 计划文档是进度的唯一真实来源。 | 第 5 阶段 |
| 范围以计划为准。 如果用户删掉了某项,就保持删除。不要偷偷加回去,也不要添加未经要求的功能。 | 所有阶段 |
核心原则
- 计划是共享的可变状态。 你和用户都会编辑它。它会在压缩后保留。
- 保持单次长会话。 在一次对话中完成从研究到实现的全过程。
- 实现过程应当平淡直接。 创意决策应在批注循环中做出。
- 绝不臆测尚未阅读的代码。 如果计划提到了某个文件,先阅读它。
- 严格控制范围。 用户从计划中删掉的内容,就算删掉了。不要偷偷加回来。
致谢
此工作流基于 Boris Tane 的 How I Use Claude Code。
评论
支持 Markdown