关于 ln-631-test-business-logic-auditor
面向团队的测试审计 Worker,用于判断测试验证的是产品行为还是框架、库的默认行为。它输出问题和合规评分,不会修改代码。
主要功能
- 01通过两层检测扫描测试
- 02标记框架和库行为测试
- 03建议删除或改写为产品行为测试
- 04计算合规评分
- 05生成结构化审计报告
适用场景
- 01审计现有代码库中的测试
- 02找出仅验证框架行为的测试
- 03制定产品行为测试整改计划
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ levnikolaevich/ claude-code-skills --skill ln-631-test-business-logic-auditor安装后在 Claude Code 中输入/ln-631-test-business-logic-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
专门审计测试是否验证产品行为,而非平台行为的工作器。
目的与范围
- 审计产品行为关注度(类别 1:高优先级)
- 检测验证语言、框架、库、生成内容或平台默认行为,而非本地产品逻辑的测试
- 输出
DELETE_NON_PRODUCT_TEST或REWRITE_TO_PRODUCT_BEHAVIOR - 计算合规分数(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 层——必须执行): 对每个候选项,阅读测试代码并判断:
- 该测试是否测试了封装框架原语的自定义代码(例如使用 useState 的自定义 hook)?→ 保留(测试的是集成,而非框架)
- 该测试是否仅调用语言/框架/库 API,且不包含任何自定义产品逻辑?→
DELETE_NON_PRODUCT_TEST - 能否重写该测试,以断言本地规则、映射、策略或错误行为?→
REWRITE_TO_PRODUCT_BEHAVIOR - 该测试是否为导入库进行模拟设置的测试辅助程序/工具?→ 跳过(不是框架行为测试)
- 收集问题: 记录每个违规项的严重程度、位置(文件:行)、工作量估算(S/M/L)、建议
- 计算分数: 按严重程度统计违规项,计算合规分数(X/10)
- 编写报告: 按照
references/templates/audit_worker_report_template.md在内存中构建完整的 Markdown 报告,并通过一次 Write 调用写入{output_dir}/ln-631--global.md - 返回摘要: 向协调器返回最简摘要(参见输出格式)
审计规则
1. 框架测试检测
内容: 验证框架行为(Express、Fastify、Koa),而非我们的业务逻辑的测试
检测模式:
(express|fastify|koa).(use|get|post|put|delete|patch)- 测试名称:“调用了中间件”“路由处理程序正常工作”“Express 应用开始监听”
严重程度: 中
建议: 当测试仅验证框架行为时,使用 DELETE_NON_PRODUCT_TEST。当有针对性的断言可以证明本地集成逻辑时,使用 REWRITE_TO_PRODUCT_BEHAVIOR。
工作量: S(删除测试文件或测试代码块)
2. ORM/数据库库测试
内容: 验证 Prisma/Mongoose/Sequelize/TypeORM 行为的测试
检测模式:
(prisma|mongoose|sequelize|typeorm).(find|findMany|create|update|delete|upsert)- 测试名称:“Prisma findMany 返回数组”“Mongoose save 正常工作”
严重程度: 中
建议: 当测试仅验证 ORM 行为时,使用 DELETE_NON_PRODUCT_TEST。对于存储库策略、查询组合、错误映射或事务规则,使用 REWRITE_TO_PRODUCT_BEHAVIOR。
工作量: S
3. 加密/哈希库测试
内容: 验证 bcrypt/argon2 哈希行为的测试
检测模式:
(bcrypt|argon2).(hash|compare|verify|hashSync)- 测试名称:“bcrypt 对密码进行哈希”“argon2 正确比较”
严重程度: 中
建议: 当测试仅验证库行为时,使用 DELETE_NON_PRODUCT_TEST。对于密码策略、凭据生命周期或封装器错误处理,使用 REWRITE_TO_PRODUCT_BEHAVIOR。
工作量: S
4. JWT/Token 库测试
内容: 验证 JWT 签名/验证的测试
检测模式:
(jwt|jsonwebtoken).(sign|verify|decode)- 测试名称:“JWT signs token”“JWT verifies signature”
严重程度: 中
建议: 如果测试仅验证 JWT 库的行为,则使用 DELETE_NON_PRODUCT_TEST。对于令牌声明、过期策略、角色或认证流程,则使用 REWRITE_TO_PRODUCT_BEHAVIOR。
工作量: S
5. HTTP 客户端库测试
内容: 验证 axios/fetch/got 行为的测试
检测模式:
(axios|fetch|got|request).(get|post|put|delete|patch)- 测试名称:“axios makes GET request”“fetch returns data”
严重程度: 中
建议: 如果测试仅验证 HTTP 客户端的行为,则使用 DELETE_NON_PRODUCT_TEST。对于重试策略、超时策略、请求整形或错误映射,则使用 REWRITE_TO_PRODUCT_BEHAVIOR。
工作量: S
6. React Hooks/框架测试
内容: 验证 React hooks 行为(useState、useEffect 等)的测试
检测模式:
(useState|useEffect|useContext|useReducer|useMemo|useCallback)- 测试名称:“useState updates state”“useEffect runs on mount”
严重程度: 低(如果测试的是我们自定义 hook 的逻辑,则可接受)
建议: 如果测试的是框架行为,则使用 DELETE_NON_PRODUCT_TEST。如果可以通过产品可见行为验证自定义 hook 或组件策略,则使用 REWRITE_TO_PRODUCT_BEHAVIOR。
工作量: S-M
评分算法
必须阅读: 加载 references/audit_scoring.md。
输出格式
必须阅读: 加载 references/templates/audit_worker_report_template.md。
按照 references/audit_summary_contract.md 编写 JSON 摘要。在托管模式下,调用方会同时传入 runId 和 summaryArtifactPath;在独立模式下,工作器会根据共享契约生成自己的、限定于本次运行的产物路径。
将报告写入 {output_dir}/ln-631--global.md,其中 category: "Product Behavior Focus",检查项为:framework_tests、orm_tests、crypto_tests、jwt_tests、http_client_tests、react_hooks_tests。发现项必须包含 action,值为 DELETE_NON_PRODUCT_TEST 或 REWRITE_TO_PRODUCT_BEHAVIOR。
按照 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-631--global.md
Score: X.X/10 | Issues: N (C:N H:N M:N L:N)
关键规则
应用已加载的 references/audit_worker_core_contract.md。
- 不要自动修复: 仅报告
- 独特判断角度: 只判断测试是否证明了本地产品行为。不要评估作品集价值、端到端覆盖率、隔离性、预期结果强度或结构。
- 框架特定模式: 将检测模式与项目的实际技术栈匹配
- 工作量估算: S = 少于 1 小时,M = 1–4 小时,L = 超过 4 小时
- 结合上下文判断: 基于库构建的自定义封装(例如使用 useState 的自定义 hook)属于我们的代码——不要标记
- 排除测试辅助工具: 不要标记导入库以进行模拟设置的共享测试工具
完成定义
应用已加载的 references/audit_worker_core_contract.md。
- contextStore 已成功解析(包括 output_dir)
- 已完成全部 6 项检查(框架、ORM、加密、JWT、HTTP 客户端、React hooks)
- 已收集包含严重程度、位置、工作量、建议和 action 的发现项
- 已使用惩罚算法计算分数
- 已将报告写入
{output_dir}/ln-631--global.md(通过单次原子 Write 调用) - 已按照契约写入摘要
参考文件
- 审计输出架构:
references/audit_output_schema.md
版本: 3.0.0 最后更新: 2025-12-23