Claude Code Game Studios 冲刺计划实战:从 sprint-plan 模板到 /sprint-plan 自动化流水线
【免费下载链接】Claude-Code-Game-StudiosTurn Claude Code into a full game dev studio — 49 AI agents, 72 workflow skills, and a complete coordination system mirroring real studio hierarchy.项目地址: https://gitcode.com/GitHub_Trending/cl/Claude-Code-Game-Studios
导读
本指南围绕 Claude Code Game Studios(CCGS)仓库中的冲刺计划模板 .claude/docs/templates/sprint-plan.md 展开,它是整个项目"里程碑 → 冲刺 → 故事"生产流水线的核心产出物规范。你将掌握:如何逐字段填写一份可执行的冲刺计划(含容量缓冲、三层任务优先级、验收标准、完成定义),以及该模板如何被/sprint-plan技能消费——从读取里程碑与积压故事、按实现层与优先级排序生成冲刺草稿、经 Producer 可行性门禁(PR-SPRINT)审查,到落地为sprint-status.yaml机器可读状态源的全过程。读完即可在自己的游戏项目中照搬这套"模板 + 技能 + 门禁"的冲刺管理闭环。
一、模板在 CCGS 生产体系中的定位
CCGS 将单个 Claude Code 会话组织成一座完整的游戏开发工作室(49 个 Agent、72 个技能、11 条规则与 39 份文档模板)。生产节奏由三层文档驱动:
- 里程碑(Milestone)—— 定义阶段性目标、成功标准、质量门槛,见 .claude/docs/templates/milestone-definition.md;
- 冲刺(Sprint)—— 本指南的主角,把里程碑切成若干 1~2 周的交付窗口,模板见 .claude/docs/templates/sprint-plan.md;
- 故事(Story)—— 由
/create-stories从史诗(Epic)拆解出的最小可交付单元,经/story-readiness校验后才允许进入冲刺。
冲刺计划模板的完整表单正是/sprint-plan技能(.claude/skills/sprint-plan/SKILL.md)的产出格式。技能负责"怎么生成",模板负责"生成什么样子",两者互为表里。而模板中的 Daily Status Tracking 表格,又为只读的/sprint-status技能(.claude/skills/sprint-status/SKILL.md)提供了冲刺健康度评估的输入。
二、模板逐节拆解:字段含义与填写规范
2.1 头部与 Sprint Goal
# Sprint [N] -- [Start Date] to [End Date] ## Sprint Goal [One sentence: what does this sprint achieve toward the current milestone?]- 标题编号
[N]:使用连续递增的冲刺序号(如sprint-003),与production/sprints/目录下已存在文件的下一个序号对齐。/sprint-plan技能通过列出该目录自动确定下一个编号。 - Sprint Goal 一句话原则:目标必须回答"本冲刺对当前里程碑贡献了什么",禁止写成任务清单。好的例子:"完成战斗系统的核心逻辑层,使垂直切片可玩";坏的例子:"实现 12 个故事"。
2.2 Milestone Context:把冲刺挂回里程碑
| 字段 | 填写内容 |
|---|---|
| Current Milestone | 当前里程碑名称(对应production/milestones/milestone-0N.md) |
| Milestone Deadline | 里程碑截止日期(取自里程碑定义文件) |
| Sprints Remaining | 距里程碑还有几个冲刺,用于倒推每冲刺必须交付的容量 |
该节让冲刺计划天然具备"向上对齐"能力:任何读者(人或 Agent)都能立刻判断当前冲刺与里程碑总体进度的关系。/sprint-plan技能在 Phase 1 会先读当前里程碑文件(从production/milestones/读取容量与目标),这正是该节的生成来源。
2.3 Capacity:20% 缓冲的容量预算表
| Resource | Available Days | Allocated | Buffer (20%) | Remaining |
|---|---|---|---|---|
| Programming | ||||
| Design | ||||
| Art | ||||
| Audio | ||||
| QA | ||||
| Total |
关键约束:每个资源行都预留 20% 缓冲,用于吸收计划外工作(Bug 修复、评审反馈、临时需求)。技能在生成冲刺时会计算Available = Allocated − Buffer(20%),并以此容量为上限挑选故事。若选入的故事点数超过容量(如技能测试规格 Case 3 中 8 个故事共 16 点 vs 里程碑容量 10 点),PR-SPRINT 门禁会返回 CONCERNS/UNREALISTIC,要求削减故事。
2.4 Tasks:三层优先级与任务 ID 编码
模板将任务按 MoSCoW 思想分三层,每层独立成表:
### Must Have (Critical Path) | ID | Task | Agent/Owner | Est. Days | Dependencies | Acceptance Criteria | Status | |----|------|-------------|-----------|-------------|-------------------|--------| | S[N]-001 | | | | None | | Not Started | | S[N]-002 | | | | S[N]-001 | | Not Started | ### Should Have | ID | Task | Agent/Owner | Est. Days | Dependencies | Acceptance Criteria | Status | |----|------|-------------|-----------|-------------|-------------------|--------| | S[N]-010 | | | | | | Not Started | ### Nice to Have (Cut First) | ID | Task | Agent/Owner | Est. Days | Dependencies | Acceptance Criteria | Status | |----|------|-------------|-----------|-------------|-------------------|--------| | S[N]-020 | | | | | | Not Started |三层语义与填写规则:
- Must Have (Critical Path):冲刺失败即里程碑风险的任务,编号
S[N]-001起。Dependencies 列必须显式声明任务间依赖(示例中S[N]-002依赖S[N]-001),供门禁审查"故事是否按依赖正确排序"以及"是否存在会中途阻塞冲刺的隐藏依赖"。 - Should Have:计划内但可切的任务,编号
S[N]-010起。当 Must Have 提前完成时,团队从此层拉取任务。 - Nice to Have (Cut First):明确标注"首先被砍",编号
S[N]-020起。它存在的意义是让"削减"成为预决策而非危机决策。
字段规范:
- ID 编码:
S[N]-XXX三段式——S + 冲刺序号 + 三位流水号,区间段暗示优先级(0xx/1xx/2xx)。 - Acceptance Criteria:每条必须可验证(可测试、可观察),这是 QL-STORY-READY 门禁(.claude/docs/director-gates.md)审查的重点——过模糊的标准会被要求修订后才能进冲刺。
- Status:初始均为
Not Started;冲刺进行中由/story-done、/sprint-status驱动流转(In Progress/Blocked/Done等)。
2.5 Carryover from Sprint [N-1]
| Original ID | Task | Reason for Carryover | New Estimate | Priority Change |
|---|
上一冲刺未完成的故事必须显式结转,而不是悄悄消失。填写三要素:原任务 ID(保持可追溯)、结转原因(未完成原因:超估、阻塞、范围膨胀)、新估算(往往需要上调)。Priority Change 列记录优先级是否因结转而变化(如从 Should Have 提升为 Must Have)。
这与/sprint-plan技能的测试规格(CCGS Skill Testing Framework/skills/sprint/sprint-plan.md)中的 Case 5 完全对应:技能会检查最近一个冲刺文件中仍为In Progress的故事,提示 "Sprint 002 has 2 open stories — confirm carry-over before planning sprint 003",由用户选择结转 / 延后 / 取消;结转的故事会以[CARRY]标签前置到新冲刺草稿中。
2.6 Risks to This Sprint 与 External Dependencies
## Risks to This Sprint | Risk | Probability | Impact | Mitigation | Owner | |------|------------|--------|-----------|-------| ## External Dependencies | Dependency | Status | Impact if Delayed | Contingency | |-----------|--------|------------------|-------------|- 风险四要素:概率(低/中/高)、影响(低/中/高)、缓解措施(必须具体到动作)、负责人(落实到人,否则缓解措施形同虚设)。
- 外部依赖:引擎插件授权、外包资产、第三方服务等非团队可控项。
Impact if Delayed量化延误后果,Contingency预置备选方案(换方案 / 降级范围 / 提前下单)。技能在 Phase 1 会同步检查风险登记册production/risk-register/,把已知风险自动带入冲刺计划。
2.7 Definition of Done:冲刺验收清单
- [ ] All Must Have tasks completed and passing acceptance criteria - [ ] No S1 or S2 bugs in delivered features - [ ] Code reviewed and merged to develop - [ ] Design documents updated for any deviations from spec - [ ] Test cases written and executed for all new features - [ ] Asset naming and format standards met完成定义(DoD)是每个冲刺都必须满足的硬门槛,而非"尽量"。技能生成的冲刺计划在此清单上还会追加项目级条目:QA 计划存在(production/qa/qa-plan-sprint-[N].md)、Logic/Integration 类故事有通过的单测/集成测试、冒烟测试通过(/smoke-check sprint)、QA 签字报告 APPROVED(/team-qa sprint)等(见 .claude/skills/sprint-plan/SKILL.md)。DoD 的另一作用:它是/sprint-status判定"冲刺是否整体完成"的依据——当所有故事 Complete 时,技能会输出 ON TRACK / SPRINT COMPLETE 并建议运行/milestone-review或/sprint-plan。
2.8 Daily Status Tracking
| Day | Tasks Completed | Tasks In Progress | Blockers | Notes |
|---|---|---|---|---|
| Day 1 | ||||
| Day 2 | ||||
| Day 3 |
按冲刺自然日逐行更新。这张表是冲刺进行中的"活文档",为两个下游消费者提供数据:
/sprint-status技能据此计算时间消耗百分比(days elapsed / total sprint days),与完成百分比对比得出 burndown 结论;- 冲刺结束后的
/retrospective(.claude/skills/retrospective/SKILL.md)需要逐日数据来复盘阻塞模式。
三、模板如何被 /sprint-plan 技能驱动:端到端流水线
模板是静态表单,真正让它运转的是/sprint-plan技能(.claude/skills/sprint-plan/SKILL.md)。技能完整定义了六个阶段:
| 阶段 | 动作 | 关键约束 |
|---|---|---|
| Phase 0: Parse Arguments | 解析new/update/status三种模式;解析--review full|lean|solo(缺省读production/review-mode.txt,再缺省默认lean) | review mode 一次解析、全程生效 |
| Phase 1: Gather Context | 读里程碑(production/milestones/)、上一冲刺(production/sprints/)、设计文档(design/gdd/中标记可实现的特性)、风险登记册(production/risk-register/) | 上下文驱动生成 |
| Phase 2: Generate Output | new模式生成上节模板格式的冲刺计划并先展示给用户;status模式生成状态报告 | 展示草稿 ≠ 请求写入,门禁在写入前 |
| Phase 3: Write Sprint Status File | 询问 "May I also writeproduction/sprint-status.yaml?" 后,将任务表映射为机器可读 YAML | 初始化状态映射:Must Have→ready-for-dev,Should/Nice→backlog |
| Phase 4: Producer Feasibility Gate | 按 review mode 决定是否 spawnproducer(gatePR-SPRINT);处理 UNREALISTIC/CONCERNS 后询问 "May I write this sprint plan toproduction/sprints/sprint-[N].md?" | full模式必跑门禁;lean/solo跳过但跳过门禁 ≠ 跳过用户批准 |
| Phase 5: QA Plan Gate | 用 Glob 查production/qa/qa-plan-sprint-[N].md;缺失时通过AskUserQuestion让用户选立即运行/qa-plan sprint或跳过并加警告块 | 无 QA 计划则 Production→Polish 门禁必堵 |
| Phase 6: Next Steps | 输出后续命令建议 | 见下节 |
两个最重要的设计:
- "先展示、再门禁、后询问"的写保护链。技能 Phase 2 明确要求:生成草稿后"Do NOT ask to write yet",门禁可能要求修订后才允许写入;Phase 4 又要求无论门禁结果如何,最终都必须显式询问 "May I write..."。这是 CCGS 技能协议的通用纪律(见 CCGS Skill Testing Framework/skills/sprint/sprint-plan.md 的 Protocol Compliance 清单)。
sprint-status.yaml是状态源(Phase 3)。技能同时产出 Markdown 计划(给人读)与 YAML 状态(给技能读),格式如下:
# Auto-generated by /sprint-plan. Updated by /story-done. # DO NOT edit manually — use /story-done to update story status. sprint: [N] goal: "[sprint goal]" start: "[YYYY-MM-DD]" end: "[YYYY-MM-DD]" generated: "[YYYY-MM-DD]" updated: "[YYYY-MM-DD]" stories: - id: "[epic-story, e.g. 1-1]" name: "[story name]" file: "[production/stories/path.md]" priority: must-have # must-have | should-have | nice-to-have status: ready-for-dev # backlog | ready-for-dev | in-progress | review | done | blocked owner: "" estimate_days: 0 blocker: "" completed: ""/sprint-status、/story-done、/help均直接读取该 YAML 而无需解析 Markdown,避免了文本解析的脆弱性。
四、PR-SPRINT 门禁与三种 Review Mode
模板中的容量表、依赖列、风险表之所以必须规范填写,是因为它们正是PR-SPRINT 门禁(Producer Sprint Feasibility Review,定义于 .claude/docs/director-gates.md)的审查输入。门禁要求传入:候选故事清单(标题、估算、依赖)、团队容量(小时/人日)、上冲刺遗留债务、里程碑约束。
Producer 审查四个问题并返回三档结论:
| 审查问题 | 对应模板字段 |
|---|---|
| 故事负载对可用容量是否现实? | Capacity 表 + 任务表 Est. Days |
| 故事是否按依赖正确排序? | Dependencies 列 |
| 是否存在会中途阻塞冲刺的隐藏依赖? | Dependencies + External Dependencies |
| 是否有故事因其技术复杂度而被低估? | Est. Days + 风险表 |
| 结论 | 含义 | 技能处置 |
|---|---|---|
| REALISTIC | 计划可达成 | 继续走写入流程 |
| CONCERNS [具体风险] | 有问题但不阻塞 | 呈现给用户,由用户决定是否调整 |
| UNREALISTIC | 必须削减范围 | 技能主动修订:把故事延后到 Should Have / Nice to Have,再请求写入批准 |
是否触发门禁取决于 review mode(.claude/docs/director-gates.md):
| 模式 | 行为 | 适用场景 |
|---|---|---|
full | 所有门禁激活,冲刺草稿后必跑 PR-SPRINT | 团队 / 学习型用户 / 需要逐步导演反馈 |
lean | 仅跑 PHASE-GATE(/gate-check),技能级门禁跳过,输出 "PR-SPRINT skipped — Lean mode" | 默认;独立开发者与小团队 |
solo | 所有门禁跳过,输出 "PR-SPRINT skipped — Solo mode" | Game Jam、原型、追求最大速度 |
模式的优先级链:--review参数 >production/review-mode.txt(/start时写入,可随时手改)> 默认lean。注意 .claude/docs/director-gates.md 中默认值是lean,而技能 Phase 0 也以lean兜底,两者一致。
五、与 /sprint-status 闭环:模板驱动的冲刺健康度监控
冲刺计划模板写好之后,进行中的监控由/sprint-status技能(.claude/skills/sprint-status/SKILL.md)承担。它是 Haiku 级只读技能,绝不写文件、绝不触发门禁,单次输出控制在 30 行以内。其数据来源正是模板:
- 定位冲刺:从
production/sprints/中取最近修改的文件,或按参数指定冲刺号; - 读取状态:优先读
sprint-status.yaml;无则回退扫描 Markdown 中的状态标记(DONE/COMPLETE/IN PROGRESS/BLOCKED/NOT STARTED)并输出降级提示; - Burndown 评估(.claude/skills/sprint-status/SKILL.md):完成百分比与时间消耗百分比对比——
- On Track:完成 % 不落后时间 % 超过 10 个点;
- At Risk:落后 10~25 点;
- Behind:落后超过 25 点;
- Stale 检测:对
In Progress故事检查Last Updated字段,超过 2 天无更新即标记 STALE,且强制将 burndown 结论升级为 At Risk(即使完成率正常); - 输出健康度:三档结论 ON TRACK / AT RISK / BLOCKED + 唯一一条行动建议。
模板中的 Daily Status Tracking 表因此不是装饰:它保证了"时间消耗"可计算,也保证了阻断故事(Blockers 列)能被/sprint-status具名上报。技能测试规格中的 Case 1 验证的正是这条链路:检测到 Blocked 故事 + 临近截止 → 输出 AT RISK 并具名 blocker(CCGS Skill Testing Framework/skills/sprint/sprint-plan.md)。
六、技能测试规格:模板与流水线的可验证性
冲刺流水线并非不可验证的黑盒。仓库自带的技能测试框架 CCGS Skill Testing Framework/skills/sprint/sprint-plan.md 用 5 个用例覆盖了模板使用与门禁行为的全部关键路径:
| 用例 | 场景 | 验证要点 |
|---|---|---|
| Case 1 | 正常路径:有积压故事生成冲刺 | 按实现层优先、优先级次之排序;草稿先展示;full 模式跑 PR-SPRINT;写前必问 "May I write";写入路径为production/sprints/sprint-003.md;结论 COMPLETE |
| Case 2 | 阻塞路径:积压为空 | 输出 "No unstarted stories in backlog",建议/create-stories;不跑门禁、不写文件;结论 BLOCKED |
| Case 3 | 门禁返回 CONCERNS:冲刺超载 | 8 故事 16 点 vs 容量 10 点;用户选 3 个延后;修订版(而非原稿)被写入;结论 COMPLETE |
| Case 4 | Lean 模式 | PR-SPRINT 跳过并显式标注;仍需用户批准才写文件 |
| Case 5 | 上一冲刺仍有未完成故事 | 检测 sprint-002 的 2 个 In Progress 故事;用户确认后以[CARRY]标签前置结转 |
这 5 个用例同时构成模板字段的"需求规格":Capacity 决定了 Case 3 的超载判定,Dependencies 决定了 Case 1 的排序断言,Carryover 表格驱动 Case 5 的标签行为——模板的每一节都能在测试中找到对应断言。
七、落地建议:把模板接入你的项目
- 初始化:运行
/start完成环境设置,确认production/review-mode.txt写入你想要的 review mode(独立开发建议保留默认lean)。 - 先有里程碑:用 .claude/docs/templates/milestone-definition.md 定义里程碑(容量、截止日期、成功标准),冲刺计划才能引用它。
- 生成冲刺:执行
/sprint-plan(或/sprint-plan --review full强制本轮全量门禁)。技能会自动读取里程碑与积压、生成模板格式草稿、走完门禁与 QA 计划检查后写入production/sprints/sprint-NNN.md与production/sprint-status.yaml。 - 逐日维护:Daily Status Tracking 表随
/sprint-status对照核验;故事状态变更一律走/story-done(不要手改 YAML,文件头明确标注 "DO NOT edit manually")。 - 结束时:跑
/sprint-plan update做中程调整,或直接进入/milestone-review与/retrospective收尾。
适用前提说明:以上目录(production/sprints/、production/milestones/、production/review-mode.txt等)是 CCGS 项目约定由技能自动创建并维护的生产文档路径,当前仓库仅保留production/session-state/示例骨架;实际使用时由/start与各技能按需生成。模板中的 ID 命名(S[N]-XXX)、状态枚举(Not Started等)与 YAML 状态字面量均为技能协议的约定值,手动改造前请先阅读 .claude/skills/sprint-plan/SKILL.md 与 .claude/docs/director-gates.md 确认兼容性。
【免费下载链接】Claude-Code-Game-StudiosTurn Claude Code into a full game dev studio — 49 AI agents, 72 workflow skills, and a complete coordination system mirroring real studio hierarchy.项目地址: https://gitcode.com/GitHub_Trending/cl/Claude-Code-Game-Studios
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考