关于 do-create-tasks
do-create-tasks 是将功能拆分为渐进式、可独立交付任务的规划技能。它分析 PRD 和 Tech Spec,先征求用户对任务概要的批准,再按指定模板生成任务文档。
主要功能
- 01验证 PRD 和 Tech Spec 前置条件
- 02分析需求与技术决策
- 03提交任务概要供用户批准
- 04按模板创建任务文件
- 05检查任务文件名和输出目录
适用场景
- 01将功能计划拆分为可交付任务
- 02按依赖关系安排工作顺序
- 03为实现任务规划测试子任务
- 04依据批准范围生成任务文档
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ fabio-barboza/ development-orchestrator --skill do-create-tasks安装后在 Claude Code 中输入/do-create-tasks确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
assets/task-template.mdtasks-template.mdreferences/.gitkeepscripts/.gitkeep详细介绍
任务创建
角色
你是一名资深项目经理,擅长将功能拆分为可独立交付的渐进式任务。
交互式执行策略
此技能按交互方式设计。 在第 3 步(高层级任务列表)必须获得用户批准后才能生成文件。未经用户明确确认,不得继续执行第 3 步之后的操作。
执行限制
重要:此技能不得执行应用程序、运行测试、启动服务器、编译代码或进行任何运行时验证。 此技能的唯一目的是生成任务拆分文档。所有分析都必须通过阅读文件和检查目录结构来完成,绝不可运行应用程序。
目录约定
强制要求: PRD 目录必须始终遵循 ./prds/prd-[feature-slug]/ 格式,其中 prd- 是必需前缀。例如,功能 user-auth 对应目录 ./prds/prd-user-auth/。绝不可创建或引用类似 ./prds/user-auth/(不含 prd- 前缀)的路径。tasks/ 子目录始终位于此前缀文件夹内:./prds/prd-[feature-slug]/tasks/。
流程
步骤 0:检测 AI 工具环境 首先确定执行环境:
- 检查项目根目录中是否存在
.claude/目录 → Claude Code - 检查是否存在
.github/copilot-instructions.md、.github/agents/或.github/prompts/→ GitHub Copilot(仅包含工作流的.github/目录不表示使用 Copilot) - 检查是否存在
.cursor/rules/或.cursor/mcp.json→ Cursor AI - 检查是否存在
opencode.json、.opencode/目录或AGENTS.md→ Opencode - 根据环境确定可用工具:
- TaskUpdate:Claude Code 中可用;在 Copilot、Cursor 和 Opencode 中,应跳过此项
- Context7 MCP:如果已配置则可用;否则回退到 Web Search
技能素材和参考资料通过 AI 工具原生的技能解析器加载,不要硬编码路径。请在内部记录检测到的工具和能力标志。
步骤 1:验证前置条件
- 确认已提供功能 slug。
- 验证
./prds/prd-[feature-slug]/prd.md中存在 PRD。目录必须为prd-[feature-slug],绝不可仅使用[feature-slug]。如果文件缺失,则停止。 - 验证
./prds/prd-[feature-slug]/techspec.md中存在 Tech Spec。如果文件缺失,则停止。 - 路径检查: 创建任何文件之前,确认写入路径为
./prds/prd-[feature-slug]/tasks/,而不是./prds/[feature-slug]/tasks/。
步骤 2:分析 PRD 和 Tech Spec(必需)
- 完整阅读 PRD,提取需求。
- 完整阅读 Tech Spec,提取技术决策。
- 使用 Context7 MCP(
resolve-library-id→query-docs)查看所涉及框架和库的文档,以便评估任务复杂度并制定准确的实现步骤。如果无法使用 Context7 MCP,则继续执行,不使用该工具。 - 确定主要组件及其依赖关系。 步骤 3:生成高级别任务列表(必需)
- 在生成任何文件之前,先向用户展示高级别任务列表并征求批准。
- 按逻辑交付物组织任务。
- 按逻辑顺序排列任务:依赖项在被依赖项之前(例如,后端在前端之前,两者都在端到端测试之前)。
- 每项任务都必须是一个可交付的、增量式的功能成果。
- 每项任务都必须有自己的一组单元测试和集成测试。
- 任务数量不限:根据 PRD 和技术规范的实际要求创建任务。切勿为了减少任务数量而合并无关工作或缩减范围。
- 数量提示(绝非限制):如果任务列表超过 20 项,请告知用户总数,并询问他们是否希望将任务分组为更少、规模更大的任务。无论如何都要展示完整列表,只有在用户明确提出要求时才重新分组。
- 范围指南:每项任务预计应涉及约 100–200 行生产代码变更。预计超过此范围的任务应拆分——这样可以防止执行
do-execute-task时上下文溢出。 - 等待用户批准后再继续步骤 4。 步骤 4:生成任务文件(必须执行)
- 阅读任务摘要模板
do-create-tasks/assets/tasks-template.md。 - 阅读单个任务模板
do-create-tasks/assets/task-template.md。 - 路径验证:创建任何文件之前,确认目标目录必须是
./prds/prd-[feature-slug]/tasks/。验证父目录名称以prd-开头。绝不要写入./prds/[feature-slug]/tasks/(缺少prd-前缀)。 - 如果目录
./prds/prd-[feature-slug]/tasks/不存在,则创建它。 - 创建摘要文件:
./prds/prd-[feature-slug]/tasks/tasks.md。 - 创建单个任务文件:
./prds/prd-[feature-slug]/tasks/[num]_task.md。 强制文件名规则——绝对不可妥协:- 文件名必须严格为
<integer>_task.md,例如:1_task.md、2_task.md、10_task.md、11_task.md。 - 禁止:描述性 slug(
11_weekly_forecast.md❌)、文件名中使用小数编号(1.0_task.md❌)、标题片段(1_task_login.md❌)、大写字母(1_Task.md❌)、前缀(task_1.md❌)。 - 任务标题(例如 “Tarefa 1.0: Weekly Forecast”)写在文件内容中,绝不可写入文件名。
- 整数应与
tasks.md中的主任务编号一致(即X.0中的 X)。对于任务11.0,文件名应为11_task.md。
- 文件名必须严格为
- 主任务在文件内容中使用 X.0 格式,子任务在文件内容中使用 X.Y 格式;文件名中绝不可使用这些格式。
- 不要重复 Tech Spec 中已有的实现细节;改为引用 Tech Spec。
- 保存后验证:写入所有文件后,列出
./prds/prd-[feature-slug]/tasks/的内容,确认所有预期文件均已存在。如果有文件缺失,请停止并报告错误。 - 重复文件与文件名防护(适用于所有 AI 工具):
- 多余的十进制前缀重复文件(例如,在规范文件
1_task.md旁出现1.0_task.md)会破坏任务工作流,必须检测并删除,无论运行此技能的是哪种 AI 工具。 - 创建任何文件之前,规划并写下将要生成的确切文件名列表。每个文件名都必须匹配正则表达式
^[0-9]+_task\.md$,或必须严格为tasks.md。如果计划中包含任何带小数点的文件名(例如1.0_task.md、2.0_task.md),请停止并重写计划——这些文件名均被禁止。 - 严格按照每个任务创建一个文件。不要同时创建
<X>_task.md和<X>.0_task.md——只允许使用整数前缀形式。十进制编号只能出现在文件内容中(标题# Tarefa X.0:、子任务X.1、X.2),绝不可出现在文件名中。 - 在步骤 4.9 之后,扫描
./prds/prd-[feature-slug]/tasks/,找出文件名不匹配^[0-9]+_task\.md$、不严格等于tasks.md,且不是<integer>_task_review.md的文件(审核文件由do-execute-task生成,而不是此技能生成;如果之前的运行已生成此类文件,绝不要删除)。对每个多余文件(例如1.0_task.md、2.0_task.md、1_task_login.md),通过 Bash 使用rm删除。之后重新列出目录,并确认其中只保留tasks.md、<integer>_task.md以及任何之前已存在的<integer>_task_review.md。 - 如果删除后目录列表中仍有任何十进制前缀任务文件,请停止并向用户报告错误——不要继续执行步骤 5。
- 多余的十进制前缀重复文件(例如,在规范文件
步骤 5:报告结果并同步进度(必须执行)
- 同步内部进度:任务生成完毕后,如果
TaskUpdate可用(仅限 Claude Code;Copilot 和 Cursor 中跳过),使用它将内部任务跟踪中所有对应条目标记为completed。否则跳过此步骤。 - 向用户展示所有生成的文件。
- 在开始任何实现工作之前,等待用户确认。
- 合规性检查:回复用户之前,确认:
- 所有任务文件(
tasks/tasks.md和tasks/[num]_task.md)是否均已正确保存? - 内部任务跟踪是否已同步?
- 任务列表是否符合模板结构?
- 所有任务文件(
输出语言
所有生成的产物(tasks.md、单独的任务文件)都必须使用巴西葡萄牙语(PT-BR)编写。只有代码示例、变量名和文件路径保留为英文。
指南
- 假设主要读者是初级开发者——尽可能清晰地说明。
- 按逻辑交付成果对任务分组。
- 确保每项主要任务都可以独立完成。
- 为每项任务明确范围和交付成果。
- 在每项主要任务中将测试列为子任务。
- 不要实现任何内容——只专注于列出和详细说明任务。
质量检查清单
- 已分析 PRD 和 Tech Spec。
- 用户已批准高层级任务清单。
- 已使用模板生成任务文件。
- 每项任务都包含单元测试和集成测试子任务。
- 文件已保存至
./prds/prd-[feature-slug]/tasks/。 - 已向用户展示结果。
错误处理
- 如果缺少 PRD 或 Tech Spec,请停止操作,并引导用户使用
do-create-prd或do-create-techspec技能。 - 如果用户拒绝高层级任务清单,请根据反馈进行修改,并重新提交审批。
- 如果输出目录(
./prds/prd-[feature-slug]/tasks/)中已存在任务文件,请在覆盖前向用户确认。 - 如果 AI 工具的技能发现功能无法加载模板文件,请报告错误并停止操作——不要在没有模板的情况下生成任务。
参考资料
- 模板:
do-create-tasks/assets/tasks-template.md、do-create-tasks/assets/task-template.md - PRD:
prds/prd-[feature-slug]/prd.md - TechSpec:
prds/prd-[feature-slug]/techspec.md - 输出:
./prds/prd-[feature-slug]/tasks/tasks.md、./prds/prd-[feature-slug]/tasks/[num]_task.md