TAPD 需求评分子技能。对需求进行工时预估、规模评分(size,斐波那契)与业务价值(RICE)评分,并更新到需求文档中。 本技能作为 tapd-story-evaluation 的子技能被调用,不独立触发。
Scanned 9/4/2026
Install to Claude Code
npx -y skills add TencentBlueKing/bk-bcs --skill tapd-story-score --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Tapd Story Score?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/tencentblueking-tapd-story-score)More formats (shields.io, HTML) on the badges page.
---
name: tapd-story-score
slug: tapd-story-score
version: 1.0.0
description: |
TAPD 需求评分子技能。对需求进行工时预估、规模评分(size,斐波那契)与业务价值(RICE)评分,并更新到需求文档中。
本技能作为 tapd-story-evaluation 的子技能被调用,不独立触发。
metadata:
requires:
mcps: ["tapd"]
---
# TAPD 需求评分
## 概述
对需求进行工时预估、规模评分(size,斐波那契)与业务价值(RICE)评分,并将评分结果
更新到需求文档中。评分基于需求文档的详细内容,从高级工程师视角进行客观估算。
> **size 与 business_value 解耦**:`size` 为**相对实现规模斐波那契分**(仅由 5 个规模维度决定),
> 回写 TAPD `size` 字段;RICE 综合分作为**业务价值**回写 TAPD `business_value` 字段,
> 两者完全解耦、互不赋值。
## 输入
| 参数 | 来源 | 说明 |
|------|------|------|
| 需求文档 | 主 skill 传入或本地文件路径 | 规范化的需求文档(Markdown) |
| 背景知识 | 主 skill 传入 | 项目技术栈、架构等参考信息 |
| 需求类型 | 主 skill 已决策,可选 | “运维操作”“文档编写”或“开发需求”;未提供时默认“开发需求” |
| 分类 ID | 主 skill 已读取,可选 | `stories_get.category_id`,仅用于结果追溯,不用于再次推断类型 |
| 分类原始值 | 主 skill 已读取,可选 | `story_category_get` 按分类 ID 查询到的 `Category.name`,仅用于结果说明,不用于再次推断类型 |
## 执行流程
### 1. 加载与检查
加载需求文档内容,检查以下评分产物是否**完整且可追溯**:
- 工时预估:`预估工时` 有值,且“工时估算”中包含 O、M、P、E 与估时依据;
- 规模评分:`规模(size)` 有值,且规模评分章节包含 5 个维度、`maxDim`、`avgDim` 与映射结果;
- 业务价值评分:`业务价值(RICE)` 有值,且 RICE 明细包含 Reach、Impact、Confidence、Effort 和综合分;
- 用户是否明确要求重新评估?
**判断逻辑**:
- 三类评分产物均完整,且未要求重新评估 → 流程结束,输出“已有完整评分数据,未重新评分”;
- 任一评分产物或其评分依据缺失,或用户要求重新评估 → 从步骤 2 开始完成一整轮 PERT、size 与业务价值(RICE)评分。不得只补填缺失字段,以免新的工时、size 与 RICE Effort 产生不一致。
### 2. 工时预估
> **执行前必读** `references/story-effort-baseline.md`
以**高级工程师**的角色对需求进行工时预估。
#### PERT 三点估算
1. 若调用方提供 `需求类型`,直接使用该值,不重新根据文本或分类原始值猜测类型;若未提供,设为“开发需求”。
2. 按需求类型选择对应基线:输入为“运维操作”时使用运维操作基线,输入为“文档编写”时使用文档编写基线,输入为“开发需求”或缺省时使用原有开发类逻辑;输出命中的基线和影响 M 的维度。
3. 逐项检查本类型的评估维度和适用的开发类调整因子,在基线 M 值基础上调整,结果取整至 0.5h。
4. 估算三点:
- **O(最乐观)**:需求边界清晰、改动集中、无意外时的工时
- **M(最可能)**:正常实现路径,调整因子修正后的基线中值
- **P(最悲观)**:出现需求变更、隐性依赖、技术障碍时的工时
5. 计算 `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
```
#### 更新文档
将工时预估结果更新到需求文档的"基本信息"章节:
```yaml
预估工时: Eh
工时估算: {估时依据};PERT(O=Oh / M=Mh / P=Ph / E=Eh)
```
同时更新"人力与工时"章节(如存在):
```markdown
* 全量工作1位高级工程师完成工时预估:Eh(PERT 三点:O=Oh / M=Mh / P=Ph)
* 全量工作1位中级工程师完成工时预估:XX 人时(通常为高级工程师的 1.3-1.5 倍)
```
### 3. 规模评分(size)(斐波那契)
> **执行前必读** `../references/size-difficulty-standard.md`
按该标准对需求进行**相对实现规模**评分,产出回写 TAPD `size` 字段的斐波那契规模分。
1. 对 5 个规模维度(实现范围、技术复杂度、依赖、风险、验证成本)各评 1–5 分,
评分依据复用 §2 PERT 已识别的基线与调整因子(**不含任何价值/用户影响维度**)。
2. 取 `maxDim`(最大值)与 `avgDim`(算术平均),按标准的"maxDim 锚定 + avgDim 校准"
两步法映射为斐波那契 size(1/2/3/5/8/13…)。
3. 常规单需求 size 建议 ≤5;≥8 提示"建议评估拆分",≥13"必须拆分"(与 ≤24 人时强约束对齐)。
向用户展示格式:
```
**规模(size,斐波那契)**:{斐波那契分}
- 实现范围:{n}/5 / 技术复杂度:{n}/5 / 依赖:{n}/5 / 风险:{n}/5 / 验证成本:{n}/5
- maxDim={max} / avgDim={avg} → size={斐波那契分}
```
#### 更新文档
将 规模评分(size)结果更新到需求文档的"基本信息"章节:
```yaml
规模(size): [斐波那契分](规模维度:范围/复杂度/依赖/风险/验证成本)
```
### 4. 业务价值(RICE)评分
> RICE 综合分作为**业务价值**写入需求文档,并回写 TAPD `business_value` 字段,**不赋值 size**(size 见 §3)。
参照 `../references/rice-scoring-standard.md` 中的 RICE 模型进行业务价值评分。
#### RICE 公式
**RICE Score = (Reach × Impact × Confidence) / Effort**
#### 参数评估
**Reach(触达)**:
- 评估该需求影响的用户数量或事件数
- 影响 100% 用户记为 100,50% 记为 50,依此类推
- 内部工具类需求按实际使用人数估算
**Impact(影响程度)**:
根据需求的业务价值和优先级确定:
| 等级 | 分值 | 适用场景 |
|------|------|---------|
| 解决 Bug | 10 | 修复线上问题、安全漏洞 |
| 高优先级 | 8 | 核心功能、用户强烈需要 |
| 中优先级 | 5 | 重要功能改进 |
| 低优先级 | 2 | 一般功能增强 |
| Nice to Have | 1 | 锦上添花的改进 |
**Confidence(信心指数)**:
根据需求的明确程度确定:
| 等级 | 百分比 | 适用场景 |
|------|--------|---------|
| 高信心 | 100% | 需求文档完善、技术方案明确、有用户调研支持 |
| 中信心 | 75% | 需求基本明确、用户体验/性能优化类 |
| 低信心 | 50% | 需求不够明确、属于探索性功能 |
| 极低信心 | 25% | 纯猜测用户需要 |
**Effort(开发工作量)**:
- 使用步骤 2 同一轮的 E
- 按每天 8 小时折算为人天,即 `RICE 评分明细.Effort=E/8`
- 例如:预估 E=40 人时 → Effort = 5 人天
#### 计算并记录
计算 RICE 得分并更新到需求文档的"基本信息"章节(作为业务价值):
```yaml
业务价值(RICE): [RICE得分](Reach=[R], Impact=[I], Confidence=[C]%, Effort=[E]人天)
```
### 5. 保存更新
将更新后的需求文档保存到原文件路径。如果文档来源于 TAPD 而非本地文件,则保存到
`docs/reqs/` 目录下。
> **跨平台提示**:使用 Agent 内置的 `write_to_file` 工具保存文件,避免依赖
> 特定操作系统的 Shell 命令。
### 6. 输出评分结果
输出结构化的评分结果,供主 skill 继续处理:
```markdown
## 评分结果
**需求名称**:[名称]
**需求类型**:[运维操作 / 文档编写 / 开发需求]
**分类 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` | 需求类型工时基线与调整因子 | 执行工时预估前(必读) |
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!