关于 ln-633-test-value-auditor
面向测试组合审查的技能,评估单项测试的业务价值与维护成本,并建议保留、删除、合并或重写。它会生成带评分的 Markdown 报告和机器可读摘要。
主要功能
- 01按业务影响和失败概率评分
- 02考虑重复覆盖与回归历史
- 03将测试分类为 KEEP、DELETE、MERGE 或 REWRITE
- 04计算合规评分
- 05生成 Markdown 审计报告和摘要
适用场景
- 01筛查大型测试套件中的低价值测试
- 02识别与 E2E 覆盖重复的测试
- 03确定关键流程测试的维护优先级
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ levnikolaevich/ claude-code-skills --skill ln-633-test-value-auditor安装后在 Claude Code 中输入/ln-633-test-value-auditor确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/audit_output_schema.mdaudit_scoring.mdaudit_summary_contract.mdaudit_worker_core_contract.mdtwo_layer_detection.mdreferences/templates/audit_worker_report_template.md详细介绍
路径: 文件路径(
references/、../ln-*)均相对于此技能目录。
投资组合价值审计器(L3 Worker)
类型: L3 Worker
用于计算每项测试的投资组合价值和维护成本的专用 Worker。
目的与范围
- 审计投资组合价值(类别 3:关键优先级)
- 计算价值分数 = 影响 × 概率,然后根据独特性、回归历史和维护成本进行调整
- 做出规范的
KEEP、DELETE、MERGE或REWRITE决策 - 计算合规分数(X/10)
输入
必须读取: 加载 references/audit_worker_core_contract.md。
接收包含以下内容的 contextStore:tech_stack、testFilesMetadata、codebase_root、output_dir。
工作流
检测策略:使用两层检测(候选项扫描,然后进行上下文验证);仅在验证方法不明确时加载 references/two_layer_detection.md。
- 解析上下文: 从
contextStore提取技术栈、影响/概率矩阵、测试文件列表和output_dir - 计算分数(第 1 层): 对每项测试计算价值分数 = 影响 × 概率,然后标注重复覆盖、已知回归防护和维护成本
2b) 上下文分析(第 2 层——必须执行): 在最终确定
DELETE或MERGE决策前,询问:- 这是针对已知历史 Bug 的回归防护吗?-> 无论分数如何,均选择 KEEP
- 即使分数 <10,此测试是否覆盖关键业务规则(支付、身份验证)?-> 如果断言较弱,应选择 REWRITE,而非 DELETE
- 这是关键流程中唯一覆盖某个边缘情况的测试吗?-> 选择 KEEP
- 是否有其他测试能以更清晰的断言或更低的成本证明相同的行为?-> 选择 MERGE
- 分类决策: KEEP、DELETE、MERGE 或 REWRITE
- 收集发现: 记录每项 REVIEW/REMOVE 决策,并注明严重程度、位置(文件:行)、工作量估算(S/M/L)和建议
- 计算分数: 按严重程度统计违规数量,计算合规分数(X/10)
- 编写报告: 按照
references/templates/audit_worker_report_template.md在内存中构建完整的 Markdown 报告,通过一次 Write 调用写入{output_dir}/ln-633--global.md - 返回摘要: 向协调器返回最简摘要(参见输出格式)
有用性分数计算
公式
Usefulness Score = Business Impact (1-5) x Failure Probability (1-5)
影响评分(1-5)
| 分数 | 影响 | 示例 |
|---|---|---|
| 5 | 严重 | 资金损失、安全漏洞、数据损坏 |
| 4 | 高 | 核心流程中断(结账、登录、注册) |
| 3 | 中 | 功能部分损坏、用户体验下降 |
| 2 | 低 | 轻微用户体验问题、外观问题 |
| 1 | 可忽略 | 外观问题,不影响用户 |
概率评分(1-5)
| 分数 | 概率 | 指标 |
|---|---|---|
| 5 | 极高 | 算法复杂、采用新技术、依赖项众多 |
| 4 | 高 | 多个依赖项、并发、边缘情况 |
| 3 | 中 | 标准 CRUD、框架默认行为、成熟模式 |
| 2 | 低 | 简单逻辑、成熟库、简单操作 |
| 1 | 极低 | 简单赋值、框架生成、不可能出错 |
决策阈值
| 分数范围 | 决策 | 操作 |
|---|---|---|
| >=15 | KEEP | 测试有价值,予以保留 |
| 10-14 | REWRITE | 仅在断言能够证明独特的产品风险时保留 |
| <10 | DELETE | 删除测试,不值得承担维护成本。**例外:**针对已知 Bug 的回归防护 -> KEEP |
评分示例
示例 1:支付处理测试
Test: "processPayment calculates discount correctly"
Impact: 5 (Critical -- money calculation)
Probability: 4 (High -- complex algorithm, multiple payment gateways)
Usefulness Score = 5 x 4 = 20
Decision: KEEP
示例 2:电子邮件验证测试
Test: "validateEmail returns true for valid email"
Impact: 2 (Low -- minor UX issue if broken)
Probability: 2 (Low -- simple regex, well-tested library)
Usefulness Score = 2 x 2 = 4
Decision: DELETE (likely already covered by E2E registration test)
示例 3:登录流程测试
Test: "login with valid credentials returns JWT"
Impact: 4 (High -- core flow)
Probability: 3 (Medium -- standard auth flow)
Usefulness Score = 4 x 3 = 12
Decision: REWRITE (if E2E covers the flow, merge/delete duplicate assertions; otherwise focus assertions on auth behavior)
审计规则
1. 为每项测试计算分数
流程:
- 阅读测试文件,提取测试名称/描述
- 分析被测代码(CUT)
- 确定影响(1-5)
- 确定概率(1-5)
- 计算有用性分数
2. 分类决策
保留:
- 高价值测试(金钱、安全、数据完整性)
- 核心流程(结账、登录)
- 复杂算法
合并:
- 用于证明相同行为的重复测试
- 应合并为一个场景的零散断言
- 除断言存在表面差异外,设置重复的测试
重写:
- 断言薄弱的中等价值测试
- 需要更明确产品风险判定依据的测试
删除:
- 低价值测试(外观、琐碎)
- E2E 测试的重复项
3. 识别模式
常见的低价值测试:
- 测试琐碎的 getter/setter
- 测试常量值
- 测试类型注解
- 重复的设置/断言变体
- 维护成本超过置信度价值的测试
评分算法
必须阅读: 加载 references/audit_scoring.md。
按价值分数映射严重程度:
- 分数 <5 -> 严重(测试浪费了大量维护精力)
- 分数 5-9 -> 高(测试可能造成浪费)
- 分数 10-14 -> 中(需要审查)
- 分数 >=15 -> 无问题(保留)
输出格式
必须阅读: 加载 references/templates/audit_worker_report_template.md。
按照 references/audit_summary_contract.md 编写 JSON 摘要。在托管模式下,调用方会传入 runId 和 summaryArtifactPath;在独立模式下,工作器会根据共享契约生成其自己的、限定于本次运行的制品路径。
将报告写入 {output_dir}/ln-633--global.md,其中 category: "Portfolio Value",检查项为:value_score、delete_candidates、merge_candidates、rewrite_candidates。发现项必须包含规范的 action,取值为 KEEP、DELETE、MERGE 或 REWRITE。
按照 references/audit_summary_contract.md 返回摘要。
如果未提供 summaryArtifactPath,则将独立运行摘要写入 .hex-skills/runtime-artifacts/runs/{run_id}/evaluation-worker/{worker}--{identifier}.json,并可选择在结构化输出中回显相同的摘要。
Report written: .hex-skills/runtime-artifacts/runs/{run_id}/audit-report/ln-633--global.md
Score: X.X/10 | Issues: N (C:N H:N M:N L:N)
注意: KEEP 决策的测试作为保留证据进行总结,而不是作为发现项。发现项仅包含 DELETE、MERGE 和 REWRITE 决策。
关键规则
应用已加载的 references/audit_worker_core_contract.md。
- 不要自动修复: 仅报告
- 独特职责: 负责最终的组合价值决策。不要重复检测平台行为、发现关键覆盖、隔离性、判定依据强度或结构检查。
- 工作量估算: S = <1h,M = 1-4h,L = >4h
- 评分客观性: 根据代码分析确定影响和概率,而非基于假设
- 不报告 KEEP 测试: 发现项中只包含 DELETE、MERGE 和 REWRITE 决策
- 交叉参考 E2E: REVIEW 决策取决于 E2E 是否已覆盖该场景
完成定义
应用已加载的 references/audit_worker_core_contract.md。
- 成功解析 contextStore(包括 output_dir)
- 为每项测试计算价值分数(影响 x 概率,并结合独特性、回归和维护情况)
- 将决策分类为:KEEP、DELETE、MERGE、REWRITE
- 收集包含严重程度、位置、工作量、建议和操作的发现项
- 使用惩罚算法计算分数
- 将报告写入
{output_dir}/ln-633--global.md(使用一次原子性 Write 调用) - 按照契约写入摘要
参考文件
- 审计输出架构:
references/audit_output_schema.md
版本: 3.0.0 最后更新: 2025-12-23