mcpField
B
bmad-sprint-planning

bmad-sprint-planning

github.com/aj-geddesAgent 工作流494100 次安装19 周前更新
代码仓库

关于 bmad-sprint-planning

bmad-sprint-planning 是 BMAD Planning & Orchestrator 插件的 Phase 4 规划技能。它按依赖关系排列故事并分配并行波次,维护 sprint-status.yaml,不编写代码或跟踪速度。

主要功能

  1. 01读取规划文档和故事
  2. 02构建故事依赖关系图
  3. 03按依赖分配并行波次
  4. 04更新故事就绪状态
  5. 05支持只检查、不写入的排序验证

适用场景

  1. 01初始化 sprint-status.yaml
  2. 02找出可并行开发的就绪故事
  3. 03故事完成后重新安排顺序

安装

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

$npx skills add https://github.com/aj-geddes/claude-code-bmad-skills --skill bmad-sprint-planning

安装后在 Claude Code 中输入/bmad-sprint-planning确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

scripts/
init-sprint-status.sh
sequence-stories.sh
templates/
sprint-status.template.yaml

详细介绍

BMAD Sprint Planning

角色: 排序与交接桥梁 — 第 4 阶段编排
系统记录源: bmad-output/sprint-status.yaml


此技能的功能

  1. 从 bmad-output/ 读取规划文档(PRD、架构、史诗、故事)。
  2. 推导所有故事之间的依赖关系图。
  3. 为每个故事分配一个 parallel_set(波次)——同一波次中的故事之间没有相互依赖,可以并行执行。
  4. 使用规范模板生成 bmad-output/sprint-status.yaml。
  5. 将第一波故事标记为 ready-for-dev;其他故事均保持 backlog。
  6. 可按需重新排序,例如在故事完成或新增故事后。

此技能不会编写应用代码、运行测试、执行 lint、构建或审查差异。


三种意图操作

意图触发短语操作
创建"initialize sprint status", "first time"根据模板搭建新的 sprint-status.yaml
更新"re-sequence", "story X is done", "add story", "update wave"在现有 sprint-status.yaml 中原位修改
验证"check sequencing", "are dependencies correct", "show wave plan"读取并报告,不写入

工作流 — 创建

  1. 加载规划文档

    Glob: bmad-output/**/*.md, bmad-output/**/*.yaml
    

    优先顺序:epics.md → prd.md → architecture.md → 单个故事文件。

  2. 提取史诗和故事

    • 解析所有故事 ID:格式为 {epic}.{story}.{slug}.story.md(例如,2.1.stripe-integration.story.md)
    • 根据 epics.md 或 prd.md 中的史诗列表推导史诗顺序
  3. 构建依赖关系图

    • 从每个故事的 frontmatter 或 Dev Notes 部分读取 dependencies[]
    • 拓扑排序:没有未满足依赖项的故事 → 第 1 波;第 1 波之后解除阻塞的故事 → 第 2 波;依此类推。
  4. 初始化 sprint-status.yaml

    bash ${CLAUDE_PLUGIN_ROOT}/skills/bmad-sprint-planning/scripts/init-sprint-status.sh
    

    然后填入排序后的数据(参见模板)。

  5. 对故事排序

    bash ${CLAUDE_PLUGIN_ROOT}/skills/bmad-sprint-planning/scripts/sequence-stories.sh
    
  6. 设置初始状态

    • 第 1 波的故事:status: ready-for-dev
    • 所有其他故事:status: backlog
    • 史诗:若任何子故事已准备开发,则设为 status: in-progress;否则设为 backlog
  7. 生成交接摘要 — 按 owned_scope 列出第 1 波故事,以便无冲突地并行分派


工作流 — 更新

当故事转为 done 时:

  1. 从所有包含该故事的 dependencies[] 列表中移除它
  2. 找出新解除阻塞的故事(其依赖现已全部满足)
  3. 将这些故事提升为 ready-for-dev
  4. 重新评估父级史诗的状态
  5. 写入更新后的 sprint-status.yaml

并行集合分配

波次宽度(可同时执行的故事数量)并非固定数值,而是每个拓扑层级中无依赖前沿的大小。没有积分预算或速度上限。

Wave 1: all stories with no dependencies
Wave 2: all stories whose only dependencies are in wave 1
Wave N: all stories whose dependencies are fully in waves 1…(N-1)

同一波次中的故事,其 owned_scope 必须互不重叠,才能安全地并行分派。如果同一波次中的两个故事涉及同一个文件,则应将它们拆分到不同波次,或记录该冲突。


状态生命周期(视图,而非指标)

backlog → ready-for-dev → in-progress → review → done
  • 这是排序状态的视图,而非跟踪工具。
  • 状态转换由外部信号触发(开发工具报告、用户命令)。
  • 此技能绝不会根据这些状态计算速度、燃尽情况或完成率。

自适应规模的轨道指导

轨道故事数量Sprint-status 行为
Quick Flow1–15单轮波次分配;史诗结构精简
BMAD Method10–50+完整波次分配;按史诗分组
Enterprise30+多阶段波次规划;依赖关系图记录在 REFERENCE 中

生成状态文件前,会先与用户确认轨道。


子 Agent 策略

模式: 并行依赖分析
适用场景: 跨越 3 个以上 Epic 的 15 个以上故事

Agent任务输出
Agent 1解析所有故事文件,提取依赖声明bmad-output/context/dependency-raw.yaml
Agent 2从 PRD/epics.md 解析 Epic 顺序bmad-output/context/epic-order.yaml
Agent 3找出候选波次中的 owned_scope 冲突bmad-output/context/scope-conflicts.md

主上下文:合并输出,运行拓扑排序,编写 sprint-status.yaml。

子 Agent 提示词示例
Task: Extract dependencies from all story files
Context: Read all *.story.md files under bmad-output/stories/
Objective: For each story, output its id and its dependencies[] list
Output: Write YAML list to bmad-output/context/dependency-raw.yaml

Format:
- id: "2.1.stripe-integration"
  dependencies: ["1.3.user-auth"]
- id: "2.2.payment-webhook"
  dependencies: ["2.1.stripe-integration"]

脚本

init-sprint-status.sh

如果 bmad-output/sprint-status.yaml 不存在,则根据模板生成该文件。

bash ${CLAUDE_PLUGIN_ROOT}/skills/bmad-sprint-planning/scripts/init-sprint-status.sh \
  [project-name] [output-dir]
sequence-stories.sh

排列故事:先按 Epic 编号排列 Epic,再按依赖关系(拓扑排序)排列每个 Epic 中的故事,然后分配 parallel_set 整数。

bash ${CLAUDE_PLUGIN_ROOT}/skills/bmad-sprint-planning/scripts/sequence-stories.sh \
  [sprint-status-file]

模板

${CLAUDE_PLUGIN_ROOT}/skills/bmad-sprint-planning/templates/sprint-status.template.yaml

字段:epics[]、stories[](包含 id、title、status、dependencies、parallel_set、owned_scope)。该模板不包含速度、燃尽图或点数字段。


关键指南

  1. 先加载上下文——写入前始终先读取现有的 sprint-status.yaml
  2. 使用 TodoWrite跟踪多步骤排序工作流
  3. 尊重 owned_scope——分配同一波次成员前标记冲突
  4. 不包含指标——如果某个字段类似速度、点数或燃尽图数据,请将其删除
  5. 清晰交接——每次创建/更新结束时,列出 ready-for-dev 故事及其 owned_scope
  6. 决策日志——将排序决策追加到 bmad-output/decision-log.md


属于 BMAD Planning & Orchestrator 插件的一部分——这是一个面向 BMAD Method 的 Claude Code 框架,由 BMAD Code Organization 开发(https://github.com/bmad-code-org/BMAD-METHOD)。体现了 bmad-sprint-planning 的理念。所有方法论的荣誉均归 BMAD Code Organization 所有。

评论

支持 Markdown