TAPD 需求评分子技能。对需求进行工时预估、规模评分(size,斐波那契)与业务价值(RICE)评分,并更新到需求文档中。 本技能作为 tapd-story-evaluation 的子技能被调用,不独立触发。
88%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
Passed
No findings from the security scan
对需求进行工时预估、规模评分(size,斐波那契)与业务价值(RICE)评分,并将评分结果 更新到需求文档中。评分基于需求文档的详细内容,从高级工程师视角进行客观估算。
size 与 business_value 解耦:
size为相对实现规模斐波那契分(仅由 5 个规模维度决定), 回写 TAPDsize字段;RICE 综合分作为业务价值回写 TAPDbusiness_value字段, 两者完全解耦、互不赋值。
| 参数 | 来源 | 说明 |
|---|---|---|
| 需求文档 | 主 skill 传入或本地文件路径 | 规范化的需求文档(Markdown) |
| 背景知识 | 主 skill 传入 | 项目技术栈、架构等参考信息 |
| 需求类型 | 主 skill 已决策,可选 | “运维操作”“文档编写”或“开发需求”;未提供时默认“开发需求” |
| 分类 ID | 主 skill 已读取,可选 | stories_get.category_id,仅用于结果追溯,不用于再次推断类型 |
| 分类原始值 | 主 skill 已读取,可选 | story_category_get 按分类 ID 查询到的 Category.name,仅用于结果说明,不用于再次推断类型 |
加载需求文档内容,检查以下评分产物是否完整且可追溯:
预估工时 有值,且“工时估算”中包含 O、M、P、E 与估时依据;规模(size) 有值,且规模评分章节包含 5 个维度、maxDim、avgDim 与映射结果;业务价值(RICE) 有值,且 RICE 明细包含 Reach、Impact、Confidence、Effort 和综合分;判断逻辑:
执行前必读
references/story-effort-baseline.md
以高级工程师的角色对需求进行工时预估。
需求类型,直接使用该值,不重新根据文本或分类原始值猜测类型;若未提供,设为“开发需求”。E=(O+4M+P)/6,四舍五入至 0.5h;同一轮评分以该 E 计算 RICE 评分明细.Effort=E/8。向用户展示格式:
**工时预估**:Eh(高级工程师,含开发 + 自测 + Code Review)
- 需求类型:{type}(分类 ID:{category_id 或“未提供”};分类原始值:{原始值或“未提供”})
- 估时依据:{命中的类型基线及影响 M 的维度}
- 调整因子:{因子1}(+X%)、{因子2}(-Y%)…(无则填"无")
- 最乐观:Oh / 最可能:Mh / 最悲观:Ph
- PERT:(O + 4×M + P) / 6 = Eh将工时预估结果更新到需求文档的"基本信息"章节:
预估工时: Eh
工时估算: {估时依据};PERT(O=Oh / M=Mh / P=Ph / E=Eh)同时更新"人力与工时"章节(如存在):
* 全量工作1位高级工程师完成工时预估:Eh(PERT 三点:O=Oh / M=Mh / P=Ph)
* 全量工作1位中级工程师完成工时预估:XX 人时(通常为高级工程师的 1.3-1.5 倍)执行前必读
../references/size-difficulty-standard.md
按该标准对需求进行相对实现规模评分,产出回写 TAPD size 字段的斐波那契规模分。
maxDim(最大值)与 avgDim(算术平均),按标准的"maxDim 锚定 + avgDim 校准"
两步法映射为斐波那契 size(1/2/3/5/8/13…)。向用户展示格式:
**规模(size,斐波那契)**:{斐波那契分}
- 实现范围:{n}/5 / 技术复杂度:{n}/5 / 依赖:{n}/5 / 风险:{n}/5 / 验证成本:{n}/5
- maxDim={max} / avgDim={avg} → size={斐波那契分}将 规模评分(size)结果更新到需求文档的"基本信息"章节:
规模(size): [斐波那契分](规模维度:范围/复杂度/依赖/风险/验证成本)RICE 综合分作为业务价值写入需求文档,并回写 TAPD
business_value字段,不赋值 size(size 见 §3)。
参照 ../references/rice-scoring-standard.md 中的 RICE 模型进行业务价值评分。
RICE Score = (Reach × Impact × Confidence) / Effort
Reach(触达):
Impact(影响程度): 根据需求的业务价值和优先级确定:
| 等级 | 分值 | 适用场景 |
|---|---|---|
| 解决 Bug | 10 | 修复线上问题、安全漏洞 |
| 高优先级 | 8 | 核心功能、用户强烈需要 |
| 中优先级 | 5 | 重要功能改进 |
| 低优先级 | 2 | 一般功能增强 |
| Nice to Have | 1 | 锦上添花的改进 |
Confidence(信心指数): 根据需求的明确程度确定:
| 等级 | 百分比 | 适用场景 |
|---|---|---|
| 高信心 | 100% | 需求文档完善、技术方案明确、有用户调研支持 |
| 中信心 | 75% | 需求基本明确、用户体验/性能优化类 |
| 低信心 | 50% | 需求不够明确、属于探索性功能 |
| 极低信心 | 25% | 纯猜测用户需要 |
Effort(开发工作量):
RICE 评分明细.Effort=E/8计算 RICE 得分并更新到需求文档的"基本信息"章节(作为业务价值):
业务价值(RICE): [RICE得分](Reach=[R], Impact=[I], Confidence=[C]%, Effort=[E]人天)将更新后的需求文档保存到原文件路径。如果文档来源于 TAPD 而非本地文件,则保存到
docs/reqs/ 目录下。
跨平台提示:使用 Agent 内置的
write_to_file工具保存文件,避免依赖 特定操作系统的 Shell 命令。
输出结构化的评分结果,供主 skill 继续处理:
## 评分结果
**需求名称**:[名称]
**需求类型**:[运维操作 / 文档编写 / 开发需求]
**分类 ID**:[stories_get.category_id 或“未提供”]
**分类原始值**:[story_category_get 按分类 ID 查询到的 Category.name 或“未提供”]
**估时依据**:[命中的类型基线及影响 M 的维度]
**预估工时**:E 人时(E/8 人天)
**规模(size,斐波那契)**:XX(→ 回写 TAPD size 字段)
- 实现范围: n/5
- 技术复杂度: n/5
- 依赖: n/5
- 风险: n/5
- 验证成本: n/5
- maxDim=XX / avgDim=XX
- 处置:size ≤5 为常规规模;size=8 建议评估拆分;size≥13 必须由主 skill 回拨重拆
**业务价值(RICE)**:XX(→ 回写 TAPD business_value 字段)
- Reach: XX
- Impact: XX
- Confidence: XX%
- Effort: E/8 人天| 错误场景 | 处理方式 |
|---|---|
| 需求文档内容不足以评估 | 标注"信息不足",使用保守估算并说明假设 |
| 文件保存失败 | 将评分结果输出到控制台,提示用户手动更新 |
| 文件 | 用途 | 何时读取 |
|---|---|---|
../references/size-difficulty-standard.md | 规模评分(size)标准(5 维度 → 斐波那契) | 执行 规模评分(size)前(必读) |
../references/rice-scoring-standard.md | 业务价值(RICE)评分标准 | 执行 业务价值(RICE)评分前 |
references/story-effort-baseline.md | 需求类型工时基线与调整因子 | 执行工时预估前(必读) |
TencentBlueKing/bk-bcs
259aff2
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.