TASKS.md 生成模板与指南
模板文件使用
task-template.md命名,避免被项目对实际TASKS.md的忽略规则排除。
仅在项目选择文件化任务源时读取本指南。根据项目风险生成实际任务内容,不要逐字复制全部说明或所有配置。
目录
定位
TASKS.md是当前任务的权威入口,负责回答“现在做什么、为什么做、做到什么程度才算完成”。ROADMAP.md保存长期方向,DECISIONS.md保存重要取舍,CHANGELOG.md保存用户可见历史;不要在任务文件中重复堆积这些内容。- 任务卡只描述任务本身,不规定由谁执行、如何调度、是否隔离或使用哪一种协作工具。
- 活跃区只保留当前队列和本周期可能执行的完整任务卡。任务完成后,按需把用户可见变化同步到
CHANGELOG.md、重要取舍同步到DECISIONS.md,再从活跃区移除;不要为TASKS.md建立快照、before副本、归档索引或专用历史文件。
选择任务配置
按任务风险和复杂度选择一个配置。多个条件同时命中时采用更严格的配置;无法判断时默认使用 Standard。
| 配置 | 适用情况 | 在核心字段上增加 |
|---|---|---|
Lite |
单一、局部、可逆,失败影响很小 | 不增加;步骤和停止条件可合并简写 |
Standard |
多步骤开发、跨文件修改、存在依赖或需要测试 | 分阶段步骤、决策规则、停止条件、验证命令与预期结果 |
Strict |
生产环境、公开交付、不可逆变更,或涉及安全、隐私、法律、财务、数据迁移 | 风险控制、兼容与迁移、回退方案、发布门禁、独立复核或人工确认 |
Strict 的扩展内容应按领域选择,不要机械生成空章节:
- 软件交付:兼容性、数据迁移、回滚、可观测性、发布与恢复验证。
- 法律或敏感数据:材料基线、来源与时效、隐私脱敏、禁止推断、人工专业复核。
- 内容发布:受众、事实来源、版权、发布渠道和最终审校。
状态模型
| 状态 | 含义 | 是否可执行 |
|---|---|---|
DRAFT |
方向已记录,但输入、边界或验收尚不完整 | 否 |
READY |
任务卡完整,可以开始 | 是 |
IN_PROGRESS |
已开始,正在按任务卡推进 | 仅继续当前任务 |
BLOCKED |
存在未解决的依赖、权限或决策 | 否 |
REVIEW |
交付物与证据已提交,等待验收 | 否 |
DONE |
已按原任务卡完成验收 | 否 |
CANCELLED |
已终止或被其他任务替代,保留原因和替代项 | 否 |
正常路径为 DRAFT → READY → IN_PROGRESS → REVIEW → DONE。
- 验收不通过但目标未变:
REVIEW → IN_PROGRESS。 - 阻塞解除且任务定义未变:回到阻塞前状态;目标、基线或验收已经变化:回到
DRAFT。 - 取消任务:转为
CANCELLED,写明原因;存在替代任务时记录其 Task ID。 - 任务转为
DONE后,完成必要的 CHANGELOG/DECISIONS 同步并从活跃区移除;DONE只用于验收收口,不作为长期历史容器。
READY 门禁
所有配置都必须包含:
- 缘由与现有证据;
- 单一、可验证的主目标与明确非目标;
- 必要输入、依赖、允许范围与禁止范围;
- 明确交付物、验证方法、预期结果和验收清单;
- 未决问题已经解决;否则保持
DRAFT或转为BLOCKED。
一个任务只承担一个主结果。多个可独立验收的结果应拆成不同 Task ID;实施步骤只锁定必要顺序和硬约束,不写死可自主选择的内部实现。
Lite 输出骨架
Lite 必须使用紧凑任务卡,不生成优先级、基线、决策来源、阶段、决策规则或风险控制等独立章节。确有必要的信息合并进“输入与边界”;不存在草案时删除对应章节。
# Tasks
## 使用规则
- 本文件是当前任务的权威入口。只有 `READY` 任务可以开始;`IN_PROGRESS` 只能继续当前任务。
- 输入或边界不完整时保持 `DRAFT`;验收必须核对实际差异与验证结果。
## 当前队列
| Task | 配置 | 状态 | 主结果 | 依赖 |
|---|---|---|---|---|
| `Task-001` | `Lite` | `READY` | <单一主结果> | <无或待补充项> |
## Task-001 — <标题>
- 状态:`READY`
- 配置:`Lite`
- 风险:<低风险原因>
### 缘由
<为什么需要做;缺少关键输入时写明并保持 DRAFT。>
### 目标与非目标
- 目标:<唯一可验证结果>
- 非目标:<明确不处理的相邻事项>
### 输入与边界
- 输入:<必要信息或文件>
- 允许:<允许处理的对象>
- 禁止:<不得触碰或改变的对象>
### 交付与验收
- 交付物:<明确产物>
- 验证:<检查方法>
- 预期:<可以判断通过或失败的结果>
### 执行记录
- <日期>:实际变更、验证结果、剩余事项。Standard / Strict 输出骨架
Standard 使用下面的完整任务卡。Strict 在此基础上只增加与实际风险相关的控制项,不生成空泛的安全、迁移或回退章节。
# Tasks
## 使用规则
- 本文件是当前任务的权威入口。只有 `READY` 任务可以开始;`IN_PROGRESS` 只能继续当前任务。
- 执行前读取完整任务卡,不根据标题、摘要或局部上下文自行补全。
- 输入缺失、边界不清或基线变化足以影响方案时,转为 `BLOCKED` 或退回 `DRAFT`。
- 验收比较“原任务要求 → 实际产物 → 验证证据”,不得静默修改验收口径。
## 当前队列
| 顺序 | Task | 配置 | 状态 | 主结果 | 依赖 |
|---|---|---|---|---|---|
| 1 | `Task-001` | `Standard` | `READY` | <单一主结果> | <无或 Task ID> |
## 当前任务卡
### Task-001 — <标题>
#### 任务元数据
| 字段 | 值 |
|---|---|
| 状态 | `READY` |
| 配置 | `Standard` / `Strict` |
| 优先级 | <P0/P1/P2 或项目约定> |
| 风险 | <低/中/高及原因> |
| 基线 | <版本、提交、材料批次或“不适用”> |
| 决策来源 | <相关决策编号、需求来源或“不适用”> |
#### 缘由与证据
- <为什么现在需要做,已有事实或失败证据是什么>
#### 主目标
<完成后必须产生的单一、可验证结果。>
#### 非目标
- <本任务明确不处理什么>
#### 输入与依赖
- <必读文件、上游产物、环境、权限或材料>
#### 范围
允许:
- <允许修改或处理的对象>
禁止:
- <不得触碰、不得推断或不得改变的对象>
#### 实施阶段
- [ ] M0 <前置门禁>
- [ ] M1 <最小实现或处理>
- [ ] M2 <验证与交付>
#### 决策规则与停止条件
- <条件成立时如何选择>
- <何时必须停止并转为 BLOCKED>
#### 风险控制(Strict,按需)
- <安全、隐私、兼容、迁移、回退、发布或人工复核要求>
#### 交付物
- <文件、报告、接口、数据或其他明确产物>
#### 验证方法与预期结果
- `<命令或检查方法>`:<预期结果>
#### 验收清单
- [ ] 实际产物符合主目标和范围。
- [ ] 验证证据与预期结果一致。
- [ ] 未完成事项和剩余风险已明确记录。
#### 执行记录
- <日期/阶段>:完成内容、实际变更、验证结果、剩余事项和新风险。
## 草案与后续任务
- `Task-002` — `DRAFT`:<方向和形成 READY 卡之前仍需补充的内容>生成检查
- 只输出选定配置对应的一个骨架,不把多个配置展开到生成文件。
READY任务不得保留占位符、未知命令或无法验证的验收项。- 当前队列中的状态与任务卡状态一致,Task ID 不重复。
- 新发现但不影响当前主结果的事项登记为新的
DRAFT,不得静默并入当前任务。 - 完成记录不得长期堆积在活跃区;必要事实同步到 CHANGELOG/DECISIONS 后直接移除。
- 不创建 TASKS 快照、
before副本、归档索引或专用历史文件;版本和决策历史由既有职责文档承担。 - 不生成执行主体、调度方式、会话机制或特定工具绑定。