| name | speckit-tasks-zh |
| description | 基于speckit工作流的任务生成技能,用于根据可用设计文档生成可操作的、依赖有序的tasks.md。当需要基于spec.md、plan.md、data-model.md、contracts/等设计文档为功能开发生成详细任务列表时使用此技能。触发词包括"speckit tasks"、"生成任务"、"任务规划"、"功能任务分解"、"创建tasks.md"等。 |
用户输入
$ARGUMENTS
您必须在继续之前考虑用户输入(如果不为空)。
大纲
scripts: sh: .specify/scripts/bash/check-prerequisites.sh --json ps: .specify/scripts/powershell/check-prerequisites.ps1 -Json
设置:从仓库根目录运行
{SCRIPT}并解析 FEATURE_DIR 和 AVAILABLE_DOCS 列表。所有路径必须是绝对的。对于参数中的单引号,如 "I'm Groot",使用转义语法:例如 'I'''m Groot'(或者如果可能的话使用双引号:"I'm Groot")。加载设计文档:从 FEATURE_DIR 读取:
- 必需:plan.md(技术栈、库、结构),spec.md(带优先级的用户故事)
- 可选:data-model.md(实体),contracts/(API 端点),research.md(决策),quickstart.md(测试场景)
- 注意:并非所有项目都有所有文档。根据可用内容生成任务。
执行任务生成工作流程:
- 加载 plan.md 并提取技术栈、库、项目结构
- 加载 spec.md 并提取带优先级的用户故事(P1, P2, P3 等)
- 如果存在 data-model.md:提取实体并映射到用户故事
- 如果存在 contracts/:将端点映射到用户故事
- 如果存在 research.md:提取决策用于设置任务
- 生成按用户故事组织的任务(参见下面的任务生成规则)
- 生成依赖图显示用户故事完成顺序
- 为每个用户故事创建并行执行示例
- 验证任务完整性(每个用户故事都有所需任务,可独立测试)
生成 tasks.md:使用
.specify/templates/tasks-template.md作为结构,填充:- 从 plan.md 获取正确的功能名称
- 阶段 1:设置任务(项目初始化)
- 阶段 2:基础任务(所有用户故事的阻塞先决条件)
- 阶段 3+:按 spec.md 中的优先级顺序排列的每个用户故事一个阶段
- 每个阶段包括:故事目标、独立测试标准、测试(如果要求)、实现任务
- 最终阶段:完善和跨领域关注点
- 所有任务必须遵循严格的检查表格式(参见下面的任务生成规则)
- 每个任务的明确文件路径
- 依赖关系部分显示故事完成顺序
- 每个故事的并行执行示例
- 实现策略部分(MVP 优先、增量交付)
报告:输出生成的 tasks.md 路径和摘要:
- 总任务数
- 每个用户故事的任务数
- 识别的并行机会
- 每个故事的独立测试标准
- 建议的 MVP 范围(通常仅为用户故事 1)
- 格式验证:确认所有任务都遵循检查表格式(复选框、ID、标签、文件路径)
为任务生成提供上下文:{ARGS}
tasks.md 应该是立即可执行的 - 每个任务必须足够具体,以便 LLM 可以在没有额外上下文的情况下完成它。
任务生成规则
关键:任务必须按用户故事组织,以实现独立实现和测试。
测试是可选的:仅在功能规格中明确要求或用户要求 TDD 方法时才生成测试任务。
检查表格式(必需)
每个任务必须严格遵循此格式:
- [ ] [任务ID] [P?] [故事?] 带文件路径的描述
格式组件:
- 复选框:始终以
- [ ]开头(markdown 复选框) - 任务 ID:按执行顺序的序列号(T001, T002, T003...)
- [P] 标记:仅当任务可并行化时包含(不同文件,不依赖未完成任务)
- [故事] 标签:仅用户故事阶段任务必需
- 格式:[US1], [US2], [US3], 等(映射到 spec.md 中的用户故事)
- 设置阶段:无故事标签
- 基础阶段:无故事标签
- 用户故事阶段:必须有故事标签
- 完善阶段:无故事标签
- 描述:带确切文件路径的明确操作
示例:
- ✅ 正确:
- [ ] T001 根据实现计划创建项目结构 - ✅ 正确:
- [ ] T005 [P] 在 src/middleware/auth.py 中实现认证中间件 - ✅ 正确:
- [ ] T012 [P] [US1] 在 src/models/user.py 中创建用户模型 - ✅ 正确:
- [ ] T014 [US1] 在 src/services/user_service.py 中实现 UserService - ❌ 错误:
- [ ] 创建用户模型(缺少 ID 和故事标签) - ❌ 错误:
T001 [US1] 创建模型(缺少复选框) - ❌ 错误:
- [ ] [US1] 创建用户模型(缺少任务 ID) - ❌ 错误:
- [ ] T001 [US1] 创建模型(缺少文件路径)
任务组织
来自用户故事(spec.md) - 主要组织:
- 每个用户故事(P1, P2, P3...)都有自己的阶段
- 将所有相关组件映射到它们的故事:
- 该故事需要的模型
- 该故事需要的服务
- 该故事需要的端点/UI
- 如果要求测试:该故事的特定测试
- 标记故事依赖关系(大多数故事应该是独立的)
来自契约:
- 将每个契约/端点 → 映射到它服务的用户故事
- 如果要求测试:每个契约 → 在该故事阶段实现前的契约测试任务 [P]
来自数据模型:
- 将每个实体映射到需要它的用户故事
- 如果实体服务于多个故事:放在最早的故事或设置阶段
- 关系 → 在适当的故事阶段中的服务层任务
来自设置/基础设施:
- 共享基础设施 → 设置阶段(阶段 1)
- 基础/阻塞任务 → 基础阶段(阶段 2)
- 故事特定设置 → 在该故事的阶段内
阶段结构
- 阶段 1:设置(项目初始化)
- 阶段 2:基础(阻塞先决条件 - 必须在用户故事前完成)
- 阶段 3+:按优先级顺序的用户故事(P1, P2, P3...)
- 在每个故事内:测试(如果要求)→ 模型 → 服务 → 端点 → 集成
- 每个阶段应该是一个完整的、可独立测试的增量
- 最终阶段:完善和跨领域关注点