mcpField
D
do-create-tasks

do-create-tasks

github.com/fabio-barboza开发3075 次安装今天更新
代码仓库

关于 do-create-tasks

do-create-tasks 是将功能拆分为渐进式、可独立交付任务的规划技能。它分析 PRD 和 Tech Spec,先征求用户对任务概要的批准,再按指定模板生成任务文档。

主要功能

  1. 01验证 PRD 和 Tech Spec 前置条件
  2. 02分析需求与技术决策
  3. 03提交任务概要供用户批准
  4. 04按模板创建任务文件
  5. 05检查任务文件名和输出目录

适用场景

  1. 01将功能计划拆分为可交付任务
  2. 02按依赖关系安排工作顺序
  3. 03为实现任务规划测试子任务
  4. 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.md
tasks-template.md
references/
.gitkeep
scripts/
.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 工具环境 首先确定执行环境:

  1. 检查项目根目录中是否存在 .claude/ 目录 → Claude Code
  2. 检查是否存在 .github/copilot-instructions.md、.github/agents/ 或 .github/prompts/ → GitHub Copilot(仅包含工作流的 .github/ 目录不表示使用 Copilot)
  3. 检查是否存在 .cursor/rules/ 或 .cursor/mcp.json → Cursor AI
  4. 检查是否存在 opencode.json、.opencode/ 目录或 AGENTS.md → Opencode
  5. 根据环境确定可用工具:
    • TaskUpdate:Claude Code 中可用;在 Copilot、Cursor 和 Opencode 中,应跳过此项
    • Context7 MCP:如果已配置则可用;否则回退到 Web Search

技能素材和参考资料通过 AI 工具原生的技能解析器加载,不要硬编码路径。请在内部记录检测到的工具和能力标志。

步骤 1:验证前置条件

  1. 确认已提供功能 slug。
  2. 验证 ./prds/prd-[feature-slug]/prd.md 中存在 PRD。目录必须为 prd-[feature-slug],绝不可仅使用 [feature-slug]。如果文件缺失,则停止。
  3. 验证 ./prds/prd-[feature-slug]/techspec.md 中存在 Tech Spec。如果文件缺失,则停止。
  4. 路径检查: 创建任何文件之前,确认写入路径为 ./prds/prd-[feature-slug]/tasks/,而不是 ./prds/[feature-slug]/tasks/。

步骤 2:分析 PRD 和 Tech Spec(必需)

  1. 完整阅读 PRD,提取需求。
  2. 完整阅读 Tech Spec,提取技术决策。
  3. 使用 Context7 MCP(resolve-library-id → query-docs)查看所涉及框架和库的文档,以便评估任务复杂度并制定准确的实现步骤。如果无法使用 Context7 MCP,则继续执行,不使用该工具。
  4. 确定主要组件及其依赖关系。 步骤 3:生成高级别任务列表(必需)
  5. 在生成任何文件之前,先向用户展示高级别任务列表并征求批准。
  6. 按逻辑交付物组织任务。
  7. 按逻辑顺序排列任务:依赖项在被依赖项之前(例如,后端在前端之前,两者都在端到端测试之前)。
  8. 每项任务都必须是一个可交付的、增量式的功能成果。
  9. 每项任务都必须有自己的一组单元测试和集成测试。
  10. 任务数量不限:根据 PRD 和技术规范的实际要求创建任务。切勿为了减少任务数量而合并无关工作或缩减范围。
    • 数量提示(绝非限制):如果任务列表超过 20 项,请告知用户总数,并询问他们是否希望将任务分组为更少、规模更大的任务。无论如何都要展示完整列表,只有在用户明确提出要求时才重新分组。
  11. 范围指南:每项任务预计应涉及约 100–200 行生产代码变更。预计超过此范围的任务应拆分——这样可以防止执行 do-execute-task 时上下文溢出。
  12. 等待用户批准后再继续步骤 4。 步骤 4:生成任务文件(必须执行)
  13. 阅读任务摘要模板 do-create-tasks/assets/tasks-template.md。
  14. 阅读单个任务模板 do-create-tasks/assets/task-template.md。
  15. 路径验证:创建任何文件之前,确认目标目录必须是 ./prds/prd-[feature-slug]/tasks/。验证父目录名称以 prd- 开头。绝不要写入 ./prds/[feature-slug]/tasks/(缺少 prd- 前缀)。
  16. 如果目录 ./prds/prd-[feature-slug]/tasks/ 不存在,则创建它。
  17. 创建摘要文件:./prds/prd-[feature-slug]/tasks/tasks.md。
  18. 创建单个任务文件:./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。
  19. 主任务在文件内容中使用 X.0 格式,子任务在文件内容中使用 X.Y 格式;文件名中绝不可使用这些格式。
  20. 不要重复 Tech Spec 中已有的实现细节;改为引用 Tech Spec。
  21. 保存后验证:写入所有文件后,列出 ./prds/prd-[feature-slug]/tasks/ 的内容,确认所有预期文件均已存在。如果有文件缺失,请停止并报告错误。
  22. 重复文件与文件名防护(适用于所有 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:报告结果并同步进度(必须执行)

  1. 同步内部进度:任务生成完毕后,如果 TaskUpdate 可用(仅限 Claude Code;Copilot 和 Cursor 中跳过),使用它将内部任务跟踪中所有对应条目标记为 completed。否则跳过此步骤。
  2. 向用户展示所有生成的文件。
  3. 在开始任何实现工作之前,等待用户确认。
  4. 合规性检查:回复用户之前,确认:
    • 所有任务文件(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

评论

支持 Markdown