Skip to content

spec → plan → tasks 结构化工作流

这是 Claude Code 社区广泛推荐的项目规划方法,把复杂项目从"需求"到"策略"到"执行"逐层拆解,让 Claude 按文档驱动而非凭记忆工作。

三个文件的角色

文件角色内容由谁编写
spec.md需求规格做什么、约束、目标、成功标准你写(人)
plan.md实施计划怎么做、文件结构、数据模型、模块边界、实现顺序Claude 写(读 spec 后生成)
tasks.md任务清单具体执行步骤,带状态标记 [ ] / [x]Claude 写(读 plan 后拆解)

执行流程

第一步:你写 spec.md

用自然语言描述你要做什么,尽量具体无歧义:

markdown
# 项目:任务追踪 CLI

## 概述
命令行工具,管理每日任务,数据持久化到 JSON。

## 需求
- 添加、列出、完成、删除任务
- 支持优先级(高/中/低)
- 按状态或优先级筛选

## 约束
- Python 3.10+,无外部依赖

第二步:让 Claude 生成 plan.md

启动会话,告诉 Claude 读取 spec.md 并生成架构级实施计划。

第三步:审查 plan.md(推荐用新会话)

重新开一个会话,让 Claude 审查计划中的风险和遗漏(见多会话协作策略)。

第四步:让 Claude 生成 tasks.md

审查通过后,让 Claude 把计划拆解为可逐条执行的清单:

markdown
# Tasks

- [ ] 1. 创建项目结构(目录、__init__.py)
- [ ] 2. 实现 Task 数据模型
- [ ] 3. 编写 Task 模型测试
- [ ] 4. 实现 Storage.load/save
- [ ] 5. 编写 Storage 测试
- [ ] 6. 实现 add_task 命令
- [ ] 7. 搭建 CLI 入口(argparse)

第五步:逐条执行

每个会话只做几条任务,完成后标记 [x],提交 git:

任务 1-3 已完成。开始执行任务 4:实现 Storage.load/save

为什么有效

优势说明
减少幻觉Claude 基于书面文档工作,不是凭"记忆"推断
跨会话延续新会话读文件即可恢复上下文
可追溯每条任务可回溯到 plan 步骤,plan 回溯到 spec 需求
容易回退每条任务一个 git commit,出错就 revert 一条

变体

规模文件组合
小项目spec.md + tasks.md
中等项目spec.mdplan.mdtasks.md
大项目再加 arch.md(架构决策)、decisions.md(关键决策及原因)

基于 MIT 协议发布