关于 ln-634-test-coverage-auditor
专门审查项目关键本地逻辑是否缺少高价值测试的 Skill。它按资金、权限、数据完整性、算法和领域规则等类别归纳缺口并生成报告,不修改代码,也不以提高覆盖率百分比为目标。
主要功能
- 01扫描关键本地逻辑
- 02跨项目检查相关测试
- 03按逻辑类别归纳缺口
- 04以 ADD_MISSING 标记缺失测试
- 05计算合规评分
- 06支持按领域扫描
适用场景
- 01查找支付或退款规则的缺失测试
- 02审查授权与权限逻辑
- 03检查数据完整性和领域算法
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ levnikolaevich/ claude-code-skills --skill ln-634-test-coverage-auditor安装后在 Claude Code 中输入/ln-634-test-coverage-auditor确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/audit_output_schema.mdaudit_scoring.mdaudit_summary_contract.mdaudit_worker_core_contract.mdmcp_integration_patterns.mdmcp_tool_preferences.mdtwo_layer_detection.mdreferences/templates/audit_worker_report_template.md详细介绍
路径: 文件路径(
references/、../ln-*)相对于此技能目录。
关键逻辑覆盖率审计员(L3 Worker)
类型: L3 Worker
专门识别独特关键本地逻辑的缺失测试。
目的与范围
- 审计 关键逻辑覆盖率(类别 4:高优先级)
- 仅识别未测试的独特本地逻辑
- 按类别分类(金钱、身份验证/权限、数据完整性、算法、领域规则)
- 针对缺失的高价值测试生成
ADD_MISSING发现 - 不要仅为提高覆盖率百分比而建议测试
- 计算合规评分(X/10)
输入
必须读取: 加载 references/audit_worker_core_contract.md 和 references/mcp_tool_preferences.md。
工具策略:你可能作为独立子 Agent 运行,此时宿主的 AGENTS.md 不在适用范围内,因此读取文件、搜索和编辑时默认优先使用 hex-line MCP。仅当 MCP 行为不明确时,才加载 references/mcp_integration_patterns.md。
接收包含以下内容的 contextStore:tech_stack、testFilesMetadata、codebase_root、output_dir。
支持领域感知: 支持 domain_mode + current_domain(参见 audit_output_schema.md#domain-aware-worker-output)。
当热点能显著帮助发现覆盖缺口时,优先使用 hex-graph。如果可用,读取本地代码和测试时优先使用 hex-line。如果 MCP 不可用、不受支持或未建立索引,请继续使用内置的 Read/Grep/Glob/Bash,并在报告中说明回退情况。
工作流
检测策略:采用两层检测(候选扫描,然后上下文验证);仅当验证方法不明确时,才加载 references/two_layer_detection.md。
-
解析上下文 -- 提取字段,确定
scan_path(如果指定,则采用领域感知方式) ELSE: scan_path = codebase_root domain_name = null -
识别
scan_path中的关键本地逻辑(而非整个代码库)- 扫描
scan_path中的生产代码,查找金钱/身份验证/权限/数据/算法/领域规则相关关键词 - 所有 Grep/Glob 模式都使用
scan_path(而非 codebase_root) - 示例:
Grep(pattern="payment|refund|discount", path=scan_path)
- 扫描
-
检查每条关键路径的测试覆盖情况(第 1 层)
- 搜索所有测试文件以检查覆盖情况(测试文件可能与生产代码位于不同位置)
- 按函数名、模块名或测试说明进行匹配 3b) 上下文分析(第 2 层 -- 必须执行): 对每个缺口候选项,询问:
- 该函数是否已由 E2E/集成测试覆盖?-> 降级为 LOW
- 该函数是否为由已测试代码调用且少于 10 行的辅助函数?-> 跳过
- 关键词匹配是否为误报(例如,
paymentIcon()是 UI,而非支付逻辑)?-> 跳过
-
收集缺失测试
- 如果采用领域感知方式,为每项发现标注
domain: domain_name - 对每项已确认的发现设置
action: "ADD_MISSING"
- 如果采用领域感知方式,为每项发现标注
-
计算评分: 按严重程度统计违规项,并计算合规评分(X/10)
-
撰写报告: 按照
references/templates/audit_worker_report_template.md在内存中构建完整 Markdown 报告,并通过单次 Write 调用写入{output_dir}/ln-634--{identifier}.md(如果采用领域感知方式,则写入{output_dir}/ln-634--{identifier}.md) -
返回摘要: 向协调器返回最简摘要(参见输出格式)
关键本地逻辑分类
1. 资金流(优先级 20+)
内容: 任何处理金融交易的代码
示例:
- 支付处理(
/payment、processPayment()) - 折扣/促销(
calculateDiscount()、applyPromoCode()) - 税费计算(
calculateTax()、getTaxRate()) - 退款(
processRefund()、/refund) - 发票/计费(
generateInvoice()、createBill()) - 货币转换(
convertCurrency())
最低优先级: 20
关键原因: 资金损失、欺诈、法律合规
2. 身份验证与权限(优先级 20+)
内容: 本地身份验证、授权、权限和安全决策
示例:
- 登录/注销(
/login、authenticate()) - 刷新令牌(
/refresh-token、refreshAccessToken()) - 重置密码(
/forgot-password、resetPassword()) - 权限/RBAC(
checkPermission()、hasRole()) - 加密/哈希(自定义加密编排或策略,不包括 bcrypt/argon2 等库的行为)
- API 密钥验证(
validateApiKey())
最低优先级: 20
关键原因: 安全漏洞、数据泄露、未授权访问
3. 数据完整性(优先级 15+)
内容: CRUD 操作、事务、验证
示例:
- 关键 CRUD 操作(
createUser()、deleteOrder()、updateProduct()) - 数据库事务(
withTransaction()) - 数据验证(自定义验证器,不包括框架默认行为)
- 数据迁移(
runMigration()) - 唯一性约束(
checkDuplicateEmail())
最低优先级: 15
关键原因: 数据损坏、数据丢失、状态不一致
4. 算法与领域规则(优先级 15+)
内容: 编码项目特定行为的本地计算、分支规则、状态转换和算法
示例:
- 排名/评分算法
- 资格规则
- 领域状态转换
- 超出框架默认行为的自定义验证规则
- 导入/导出转换
最低优先级: 15
关键原因: 产品行为错误、决策不当、业务状态损坏
审计规则
1. 识别关键本地逻辑
流程:
- 在代码库中搜索与资金相关的关键词:
payment、refund、discount、tax、price、currency - 搜索身份验证/权限相关关键词:
auth、login、password、token、permission、role、policy - 搜索数据相关关键词:
transaction、validation、migration、constraint - 搜索算法/领域规则相关关键词:
score、rank、eligibility、state、workflow、rule - 排除框架默认行为、生成的行为和库的基础功能;
ln-631负责现有测试中产品与平台的测试重点
2. 检查测试覆盖率
针对每条关键路径:
- 搜索测试文件,查找名称/描述相符的测试
- 如果未找到测试 -> 添加到缺失测试列表
- 如果找到的测试不充分(只有正向测试,没有边界情况)-> 添加到差距列表
3. 对差距分类
按优先级划分严重程度:
- 严重: 优先级 20+(资金、安全)
- 高: 优先级 15-19(数据、核心流程)
- 中: 优先级 10-14(重要但不关键)
- 降级条件: 函数已有 E2E 测试覆盖 -> 低。被已测试代码调用且少于 10 行的辅助函数 -> 跳过
4. 提供理由
针对每项缺失的测试:
- 说明其关键原因(资金损失、安全漏洞等)
- 建议测试类型(E2E、集成、单元)
- 将操作设为
ADD_MISSING - 估算工作量(S/M/L)
评分算法
必须阅读: 加载 references/audit_scoring.md。
按优先级划分严重程度:
- 优先级 20+(资金、安全)缺少测试 -> 严重
- 优先级 15-19(数据完整性、核心流程)缺少测试 -> 高
- 优先级 10-14(重要)缺少测试 -> 中
- 优先级 <10(锦上添花)-> 低
输出格式
必须阅读: 加载 references/templates/audit_worker_report_template.md。
按照 references/audit_summary_contract.md 编写 JSON 摘要。在托管模式下,调用方会传入 runId 和 summaryArtifactPath;在独立模式下,工作器会按照共享契约自行生成作用域为本次运行的制品路径。
将报告写入 {output_dir}/ln-634--{identifier}.md(全局)或 {output_dir}/ln-634--{identifier}.md(感知域),并设置 category: "Critical Logic Coverage" 和以下检查项:money_logic_coverage、auth_permission_coverage、data_integrity_coverage、algorithm_domain_rule_coverage。
按照 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-634--{identifier}.md
Score: X.X/10 | Issues: N (C:N H:N M:N L:N)
关键规则
应用已加载的 references/audit_worker_core_contract.md。
- 感知域扫描: 如果
domain_mode="domain-aware",则仅扫描scan_path中的生产代码(而非整个代码库) - 标记发现项: 感知域模式下,在每项发现中包含
domain字段 - 测试搜索范围: 搜索所有测试文件以检查覆盖情况(测试可能位于与生产代码不同的位置)
- 按名称匹配: 使用函数名、模块名或测试描述,将测试与生产代码匹配
- 不要自动修复: 仅报告
- 独特角度: 仅查找独特的本地关键逻辑中缺失的测试。不要评估现有的低价值测试、端到端旅程优先级、可信度、预言机强度、人工证据或结构。
- 不做覆盖率百分比相关工作: 不要仅为提高行/分支覆盖率指标而推荐测试。
- 必须执行的操作: 每项发现都使用
action: "ADD_MISSING"。
完成定义
应用已加载的 references/audit_worker_core_contract.md。
- 成功解析 contextStore(包括 output_dir、domain_mode、current_domain)
- 确定 scan_path(域路径或代码库根目录)
- 识别 scan_path 中的关键本地逻辑(资金、身份验证/权限、数据完整性、算法、领域规则)
- 检查每条关键本地逻辑路径的测试覆盖情况
- 收集缺失的测试,并注明严重性、优先级、理由、域和
ADD_MISSING操作 - 使用惩罚算法计算分数
- 将报告写入
{output_dir}/ln-634--{identifier}.md或ln-634--{identifier}.md(通过单次原子 Write 调用) - 按照契约写入摘要
参考文件
- 审计输出架构:
references/audit_output_schema.md
版本: 3.0.0 最后更新: 2025-12-23