estimate
$
npx mdskill add pixel-cellar/Claude-Code-Game-Studios/estimate当此技能被调用时:
SKILL.md
.github/skills/estimateView on GitHub ↗
--- name: estimate description: "通过分析复杂度、依赖关系、历史速度和风险因素来估算任务工作量。生成包含置信水平的结构化估算。" argument-hint: "[任务描述]" user-invocable: true allowed-tools: Read, Glob, Grep --- 当此技能被调用时: 1. **读取任务描述**,来自参数。如果描述过于模糊以至于无法进行有意义的估算,请在继续之前要求澄清。 2. **读取 CLAUDE.md** 获取项目上下文:技术栈、编码标准、架构模式以及任何估算指南。 3. **读取相关设计文档**,来自 `design/gdd/`,如果任务与已记录的功能或系统相关。 4. **扫描代码库**,了解此任务影响的系统: - 识别需要变更的文件和模块 - 评估这些文件的复杂度(大小、依赖数量、圈复杂度(Cyclomatic Complexity)) - 识别与其他系统的集成点 - 检查受影响区域的现有测试覆盖率 5. **读取过去的冲刺数据**,来自 `production/sprints/`(如果可用): - 查找类似的已完成任务及其实际工作量 - 计算历史速度(计划 vs 实际) - 识别任何估算偏差模式(持续高估或低估) 6. **分析以下因素**: **代码复杂度**: - 受影响文件的代码行数 - 依赖数量和耦合程度 - 是否涉及核心/引擎代码 vs 叶节点/功能代码 - 是否可以遵循现有模式,还是需要新模式 **范围**: - 涉及的系统数量 - 新代码 vs 修改现有代码的比例 - 需要的新测试覆盖量 - 需要的数据迁移或配置变更 **风险**: - 新技术或不熟悉的库 - 不明确或模糊的需求 - 对未完成工作的依赖 - 跨系统集成复杂度 - 性能敏感度 7. **生成估算**: ```markdown ## 任务估算:[任务名称] 生成时间:[日期] ### 任务描述 [用 1-2 句话清楚地重述任务] ### 复杂度评估 | 因素 | 评估 | 备注 | |--------|-----------|-------| | 受影响系统 | [列表] | [核心、玩法、UI 等] | | 可能修改的文件 | [数量] | [关键文件列在下方] | | 新代码 vs 修改 | [比例,如 70% 新代码 / 30% 修改] | | | 集成点 | [数量] | [哪些系统交互] | | 需要的测试覆盖 | [低 / 中 / 高] | [单元测试、集成测试、手动测试] | | 可用的现有模式 | [有 / 部分有 / 无] | [可遵循现有代码还是需要新探索] | **可能受影响的关键文件:** - `[path/to/file1]` -- [这里的变更内容] - `[path/to/file2]` -- [这里的变更内容] - `[path/to/file3]` -- [这里的变更内容] ### 工作量估算 | 场景 | 天数 | 假设条件 | |----------|------|------------| | 乐观 | [X] | 一切顺利,没有意外,需求明确 | | 预期 | [Y] | 正常节奏,有少量问题,一轮审查反馈 | | 悲观 | [Z] | 出现重大未知因素,被阻塞一天,需求变更 | **建议预算:[Y 天]** [如果有历史数据:"基于 [N] 个类似任务的平均实际 [X] 天 vs 预估 [Y] 天,已应用 [校正因子] 的调整。"] ### 置信水平:[高 / 中 / 低] **高** -- 需求明确,系统熟悉,遵循现有模式,之前完成过类似任务。 **中** -- 存在一些未知因素,涉及中等复杂度的系统,有之前工作的部分先例。 **低** -- 存在重大未知因素,新技术,需求不明确,或涉及跨多个系统的横切关注点。 [说明哪些因素决定了此特定任务的置信水平。] ### 风险因素 | 风险 | 可能性 | 影响 | 缓解措施 | |------|-----------|--------|------------| | [具体风险] | [高/中/低] | [如果发生则增加的天数] | [如何降低风险] | | [另一个风险] | [可能性] | [影响] | [缓解措施] | ### 依赖关系 | 依赖项 | 状态 | 延迟时的影响 | |-----------|--------|-------------------| | [必须先完成的工作] | [已完成 / 进行中 / 未开始] | [如何影响此任务] | ### 建议拆分 | # | 子任务 | 估算 | 备注 | |---|----------|----------|-------| | 1 | [调研 / 探索性实验(spike)] | [X 天] | [如果未知因素需要先调查] | | 2 | [核心实现] | [X 天] | [主要工作] | | 3 | [与系统 X 的集成] | [X 天] | [连接到现有代码] | | 4 | [测试和验证] | [X 天] | [编写测试、手动验证] | | 5 | [代码审查和迭代] | [X 天] | [审查反馈、修复] | | | **合计** | **[Y 天]** | | ### 历史对比 [如果冲刺历史中存在类似任务:] | 类似任务 | 预估 | 实际 | 相关差异 | |-------------|-----------|--------|-------------------| | [过去的任务 1] | [X 天] | [Y 天] | [使其相似/不同的原因] | | [过去的任务 2] | [X 天] | [Y 天] | [使其相似/不同的原因] | ### 备注与假设 - [影响估算的关键假设] - [另一个假设] - [关于范围边界的任何注意事项 -- 包含什么 vs 排除什么] - [建议:例如,"如果需求 X 不明确,建议先进行探索性实验"] ``` 8. **向用户输出估算**,附带简短摘要:建议预算、置信水平和最大的单个风险因素。 ### 指南 - 始终给出一个范围(乐观 / 预期 / 悲观),绝不要只给出一个数字。单点估算会造成虚假精确的错觉。 - 建议预算应为预期估算,而非乐观估算。留有余地并非不诚实 —— 这是务实的做法。 - 如果置信水平为低,建议在进行完整估算之前先进行限时探索性实验(spike)或原型验证。 - 明确说明包含和排除的内容。范围模糊是估算错误最常见的原因。 - 以半天为单位取整。对于超过一天的任务,以小时为单位估算会产生虚假精确的错觉。 - 如果任务太大无法自信估算(预期超过 10 天),建议将其拆分为更小的子任务并逐一估算。 - 不要暗中增加估算缓冲。如果存在风险,请在风险因素部分明确指出,以便团队决定如何应对。
More from pixel-cellar/Claude-Code-Game-Studios
- architecture-decision创建架构决策记录(Architecture Decision Record, ADR),记录重大技术决策及其背景、备选方案和影响后果。每个重大技术选择都应有对应的 ADR。
- localize运行本地化工作流:提取字符串、验证本地化就绪状态、检查硬编码文本,并生成可供翻译的字符串表。
- map-systems将游戏概念拆解为独立系统,映射依赖关系,确定设计优先级,并创建系统索引。
- milestone-review生成全面的里程碑进度审查,包括功能完成度、质量指标、风险评估和推进/暂停建议。在里程碑检查点或评估里程碑截止日期的准备情况时使用。
- patch-notes从 git 历史记录、Sprint 数据和内部更新日志生成面向玩家的补丁说明。将开发者语言转化为清晰、有吸引力的玩家沟通内容。
- perf-profile结构化的性能分析工作流。识别瓶颈、与性能预算对比测量,并生成带有优先级排序的优化建议。
- playtest-report生成结构化的试玩报告模板,或将现有试玩笔记分析为结构化格式。用于标准化试玩反馈的收集和分析。
- project-stage-detect自动分析项目状态、检测开发阶段、识别缺失项,并根据现有工件推荐后续步骤。
- release-checklist生成全面的发布前验证清单,涵盖构建验证、合规要求、商店元数据和发布准备就绪情况。
- retrospective通过分析已完成的工作、速率、阻碍因素和模式来生成 Sprint 或里程碑回顾。产出可执行的洞见以指导下一次迭代。