mcpField
S
spec-kit-tasks

spec-kit-tasks

github.com/aircury开发5119 次安装2 天前更新
代码仓库

关于 spec-kit-tasks

spec-kit-tasks 是根据功能规范和计划生成可执行任务列表的技能,供变更实施者安排工作使用。它按依赖关系和阶段组织任务,并检查需求覆盖、文件路径及项目规则所要求的工作。

主要功能

  1. 01从规范和计划生成任务列表
  2. 02按阶段和依赖关系排列任务
  3. 03任务关联需求、成功标准或用户故事
  4. 04遵循 TDD 顺序及项目规则
  5. 05验证覆盖范围、路径和任务粒度

适用场景

  1. 01将功能计划拆分为可立即执行的工作
  2. 02按 TDD 规则安排测试与实现
  3. 03确认文档、测试和项目义务均有对应任务

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/aircury/ai-framework --skill spec-kit-tasks

安装后在 Claude Code 中输入/spec-kit-tasks确认已加载。

详细介绍

根据功能规范和计划生成一份可执行、按依赖关系排序的任务列表。

输入:可选指定变更名称。若省略,请根据上下文推断或询问。

步骤

  1. 加载资料

    必需:specs/changes/<name>/plan.md 和 specs/changes/<name>/spec.md。

    可选(如果存在,也加载):specs/changes/<name>/checklists/。

    同时加载 FRAMEWORK.md(以及存在时的 FRAMEWORK.local.md),了解任务必须遵循的规范和义务。

    如果缺少 plan.md,请提示先使用 spec-kit-plan 技能。

  2. 生成 specs/changes/<name>/tasks.md

    按阶段组织任务:

    # Tasks: <Feature Name>
    
    ## Phase 1: Setup & Foundations
    - [ ] [T01] [FR-01] Description with exact file path
    
    ## Phase 2: Domain & Application Layer
    - [ ] [T02] [FR-01] Add a failing test for <behaviour> in <test file>
    - [ ] [T03] [FR-01, FR-02] Make it pass: implement <behaviour> in <file>
    - [ ] [T04] [P] [FR-03] Description (parallel — touches other files, depends on nothing unfinished)
    
    ## Phase 3: Infrastructure & Adapters
    - [ ] [T05] [P] [US-1] Description with exact file path
    
    ## Phase 4: Integration & Validation
    - [ ] [T06] [FR-02] Description with exact file path
    
    ## Phase 5: Documentation
    - [ ] [T07] [FR-01] Update `specs/features/<area>/spec.md` where <what the change makes untrue>
    
    ## Dependency Graph
    T01 → T02 → T03 → T05 → T06 → T07
               ↘ T04 ↗
    
    ## MVP Scope
    <Minimum set of tasks for a working, deployable slice, usually the P1 stories, with how each story is tested on its own.>
    

    任务格式:- [ ] [TaskID] [P?] [FR-nn, US-n] Description with exact file path

    • 并行标记之后的引用组,至少列出 spec.md 中的一项需求(FR-nn)、成功标准(SC-nn)或用户故事(US-n):说明该任务交付什么。
    • [P] 表示该任务涉及的文件与相邻任务不同,且不依赖任何未完成任务。
    • 每项任务都必须具体且可立即执行:没有其他上下文的读者也能完成。
    • 顺序:设置 → 领域 → 应用 → 基础设施 → 集成 → 文档。
    • 先测试,再实现。 如果 FRAMEWORK.md 规定默认采用 TDD,则将每项测试任务紧挨着放在其驱动的实现任务之前,并在依赖关系图中体现(先测试,再实现)。 将任务对表述为“为 X 添加一个失败测试”/“使其通过:实现 X”。 对于静态类型语言,因符号尚不存在而导致测试无法编译,是正常的失败步骤,不应因此将实现任务排在测试之前。
    • 逐字引用约束。 对于计划中数据模型给出的每项字段约束(必填或可选、限制、允许值、验证规则),在实现该约束的任务中逐字引用,不能留给实现者自行决定。
    • 列出过时测试。 对于计划中查阅变更范围之外的测试时发现、且会读取变更所影响内容的每项测试,都要安排一个任务运行该测试,并在必要时更新。
    • 最后一个阶段必须是 ## Phase N: Documentation: 计划的 ## Record Search 指出本次变更会使之失效的每份现行规范、决策记录或文档各安排一项任务;否则仅列一条说明 (no observable behaviour change)。 spec-kit-converge 后续追加的收敛阶段必须排在该阶段之后。
    • 将每项任务对应到 spec.md 中的需求和用户故事。
  3. 验证

    完成前:

    • 每项需求、边缘情况需求和用户故事至少对应一项任务,且每项任务都标明其交付内容。
    • 每项需要可构建工作的成功标准(如负载测试、审计、测量)都必须有对应任务;发布后测量的结果指标无需安排任务。
    • 最后一个阶段必须是 Documentation 阶段,并包含一项任务或上述说明。
    • 所有任务都必须包含精确的文件路径。
    • 任务不得含糊不清或范围过大。
    • 对大型文件中的特定位置,使用可搜索的内容定位,例如函数名、独特字符串或搜索模式,绝不使用行号,因为行号在任务开始前就可能过时。 在模式旁注明数量(例如“十六处引用”),让实现者知道搜索结果何时完整。
    • 项目规则对所触及路径规定的每项义务都必须有对应任务。 阅读 FRAMEWORK.md 和 FRAMEWORK.local.md,了解这些路径除测试之外还需履行的事项,例如递增版本、添加变更日志条目、重新生成生成文件或重建资料,并为每项义务单独安排任务。
    • 每个新测试路径都必须遵循该目录下同类测试的现有组织方式;确定路径前先检查现有布局。

输出 编写 tasks.md 后:

  • 每个阶段及每个用户故事的任务数。
  • 已识别的并行机会。
  • MVP 范围摘要。
  • 下一步:“使用 spec-kit-analyse 技能,在实施前验证一致性和需求覆盖情况。”

护栏

  • 切勿生成违反依赖规则的任务。
  • 排序时,领域和应用任务必须先于基础设施任务。
  • 在项目规定的 TDD 纪律下,切勿将实现任务排在驱动它的测试任务之前。
  • 切勿添加任何没有需求、用户故事或计划决策依据的工作。

评论

支持 Markdown