mcpField
B
bmad-epics-and-stories

bmad-epics-and-stories

github.com/aj-geddes开发493125 次安装19 周前更新
代码仓库

关于 bmad-epics-and-stories

bmad-epics-and-stories 是 BMAD Planning & Orchestrator 插件中的规划工作流,将已批准的规划文档拆分为 epic 地图和可交给外部开发工具的 story 文件。适用于需要创建、更新或验证开发待办的团队;它强调范围约束、故事依赖与冲突检查,不编写或执行代码。

主要功能

  1. 01从 PRD 和架构文档生成 epic 与故事
  2. 02支持创建、更新和验证三种意图
  3. 03按轨道调整拆分方式与故事规模
  4. 04为故事定义验收标准和文件范围
  5. 05检查故事文件范围冲突
  6. 06将故事标记为 ready-for-dev 后移交

适用场景

  1. 01把已批准的需求拆分为可执行故事
  2. 02更新故事内容并遵守锁定章节
  3. 03检查草稿故事是否符合上下文对象规范

安装

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

$npx skills add https://github.com/aj-geddes/claude-code-bmad-skills --skill bmad-epics-and-stories

安装后在 Claude Code 中输入/bmad-epics-and-stories确认已加载。

包含的文件

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

REFERENCE.md
scripts/
generate-story-id.sh
templates/
epic.template.md
story.template.md

详细介绍

BMAD 史诗与用户故事

跟踪类型自适应拆分。 将已批准的规划文档转化为可执行的待办列表:一份 epics.md 映射文件,以及每个用户故事对应的上下文对象。这是最后一个规划步骤——接下来接触用户故事的将是外部开发工具,而不是此插件。

角色风格: 架构师(Winston)负责拆分;产品经理(John)确认范围。仅采用轻量风格——这是一个工作流。

范围准则(请先阅读)

此技能负责规划。它绝不会编写应用程序代码、运行测试、执行代码检查、检查覆盖率或构建。它生成的最后一个产物是标记为 status: ready-for-dev 的用户故事文件。验收标准、测试策略和开发说明都是你编写的规划输出。执行测试或编写实现代码不在范围内——请做好规划并交接。如果你想要“实现”或“运行测试套件”,请立即停止。

输入(请先加载这些文件)

文件用途
bmad-output/project-context.md项目章程——每次运行都要加载
bmad-output/prd.md功能需求、史诗意图
bmad-output/architecture.md技术栈、组件、模块边界
bmad-output/ux-design.md(如果存在)UI 验收详情
bmad-output/decision-log.md需要遵循的相关决策
现有的 bmad-output/stories/*.story.md经验总结与 ID 连续性

输出文件夹默认为 bmad-output/(遵循用户指定的覆盖值)。用户故事放在 bmad-output/stories/,映射文件放在 bmad-output/epics.md。

三种意图

  • 创建 — 将 PRD 和架构拆分到 epics.md,然后编写用户故事文件。
  • 更新 — 修改现有用户故事(范围、验收标准、经验总结)。遵循 LOCKED 部分。
  • 验证 — 根据 Context Object 契约检查用户故事草稿,并报告缺漏。

如果意图不明确,请询问。不要擅自重新生成现有用户故事。

轨道(切勿编号分级)

通过交互选择;启发式规则提供建议,由用户确认。

  • Quick Flow(1-15 个用户故事)——仅限 tech-spec;直接拆分为用户故事,epics.md 保持精简。
  • BMad Method(10-50+ 个)——PRD + Architecture(+ 可选的 UX);先生成完整史诗映射,再编写用户故事。
  • Enterprise(30+ 个)——增加 Security + DevOps 用户故事流。

规模规则(按数量计算,不使用点数)

一个用户故事必须小到能在一次 Agent 会话中完成——大约 2-8 小时,最多一个工作日。 如果用户故事规模更大,就将其拆分;切勿为了填满一个冲刺而扩大范围。这里没有斐波那契点数、没有速度指标,也没有燃尽图。交付情况按数量跟踪:剩余用户故事数与完成速率。拆分启发式规则请参阅 REFERENCE.md。

工作流 — 创建

  1. 加载上下文 — 阅读以上输入;注意所选轨道。
  2. 推导史诗 — 将 PRD 需求归纳为史诗(每个史诗都是一个可交付的价值切片)。 根据 templates/epic.template.md 编写 bmad-output/epics.md: 史诗目标、范围内的需求(附引用)、按顺序排列的故事列表、跨史诗依赖项。
  3. 确认 史诗规划图,并在编写故事前征求用户确认。
  4. 生成 ID — bash ${CLAUDE_PLUGIN_ROOT}/skills/bmad-epics-and-stories/scripts/generate-story-id.sh <epic-number> 会给出下一个 {epic}.{story} 和一个 slug 占位文本。文件名:{epic}.{story}.{slug}.story.md。
  5. 编写每个故事,将其作为上下文对象,依据 templates/story.template.md 编写。它必须自包含 (约 8K 个 token),确保开发 Agent 无需查看其他文件。填写每个部分:
    • 故事 — 作为……/我想要……/以便……。
    • 验收标准 — 编号列出且可测试。已锁定。
    • 任务/子任务 — 使用复选框;每项通过 (AC: #N) 对应一项验收标准。
    • 开发备注 — 提供具体指导并附带来源引用(例如: [Source: architecture.md#auth-service]、[Source: prd.md#FR-12])。已锁定。
    • 测试 — 仅提供策略(需要验证的内容、测试类型、测试夹具)。不执行测试。已锁定。
    • 依赖关系图 — 被哪些故事阻塞 / 会阻塞哪些其他故事 ID。
    • 负责的文件/模块范围 — 明确列出本故事可以修改的路径。这是实现无冲突并行调度的关键;请精确声明。参见 REFERENCE.md。
    • 从先前故事中汲取的经验 — 纳入已完成同级故事中的经验。
    • 开发 Agent 记录 — 留空,供外部开发工具填写。
  6. 范围冲突检查 — 对新增或已编辑的故事运行共享检查器: bash ${CLAUDE_PLUGIN_ROOT}/scripts/scope-conflict-check.sh bmad-output/stories/ 解决任何负责范围重叠的问题,再将故事标记为可安全并行处理。
  7. 设置状态 — 编写时设为 backlog;只有在每个部分都已完成、验收标准可测试、范围已声明且冲突检查通过后,才改为 ready-for-dev。
  8. 记录并交接 — 将决策追加到 decision-log.md;告知用户哪些故事已处于 ready-for-dev 状态,并交接给外部开发工具。不要实施。

工作流 — 更新 / 验证

  • 更新: 按 ID 定位文件,可自由编辑未锁定的部分。更改已锁定部分(验收标准/开发备注/测试)需获得用户明确确认,并在决策日志中记录。若负责范围有变更,则重新运行范围冲突检查。
  • 验证: 对每个故事确认所有必需部分均存在、每项任务都引用了一项验收标准、开发备注包含来源引用、负责范围非空且无冲突、状态合法。报告通过/未通过清单;除非用户要求,否则不要编辑。

状态生命周期

backlog → ready-for-dev → in-progress → review → done。此技能只负责 backlog 和 ready-for-dev。交接后的所有工作均由外部开发工具负责。

已锁定部分 — 合约

验收标准、开发备注和测试均为已锁定部分。故事模板规定,外部开发工具不得编辑这些部分。它们是编写完成且附有引用的事实依据。

子 Agent 策略

模式: 并行生成部分/故事 — 每个史诗或独立故事分配一个 Agent。

Agent任务输出
Agent N为史诗 N 编写作为完整上下文对象的故事bmad-output/stories/N.*.story.md

协调:将共享上下文(PRD/架构/轨道/规模规则)写入 bmad-output/context/sharding-context.md;为每个史诗分配一个 Agent;返回后,主上下文会对所有故事运行范围冲突检查,并在任何故事标记为 ready-for-dev 之前解决重叠问题。

示例提示词:

Task: Compile stories for Epic 2 (Payments) as context objects.
Context: read bmad-output/context/sharding-context.md.
For each story: number AC, map every Task to an AC (AC: #N), cite Dev Notes to
prd.md/architecture.md sections, declare an explicit Owned File/Module Scope, leave
Dev Agent Record empty. Size to one dev-day; split anything larger. NO story points.
Output: bmad-output/stories/2.*.story.md, status: backlog.

参考

  • REFERENCE.md — 分片方法、规模/拆分规则、范围声明规范。
  • templates/epic.template.md
  • templates/story.template.md
  • ${CLAUDE_PLUGIN_ROOT}/skills/bmad-epics-and-stories/scripts/generate-story-id.sh — 下一个 {epic}.{story} ID + slug。
  • ${CLAUDE_PLUGIN_ROOT}/scripts/scope-conflict-check.sh — 共享的 Owned-Scope 重叠检查器。

属于 BMAD Planning & Orchestrator 插件的一部分 — 由 BMAD Code Organization 为 BMAD Method 打造的 Claude Code 执行框架(https://github.com/bmad-code-org/BMAD-METHOD)。实现了 bmad-create-epics-and-stories 的理念。所有方法论方面的致谢均归 BMAD Code Organization 所有。

评论

支持 Markdown