ln-633-test-value-auditor
0
总安装量
18
周安装量
安装命令
npx skills add https://github.com/levnikolaevich/claude-code-skills --skill ln-633-test-value-auditor
Agent 安装分布
claude-code
15
antigravity
10
codex
10
cursor
10
gemini-cli
10
Skill 文档
Paths: File paths (
shared/,references/,../ln-*) are relative to skills repo root. If not found at CWD, locate this SKILL.md directory and go up one level for repo root.
Risk-Based Value Auditor (L3 Worker)
Specialized worker calculating Usefulness Score for each test.
Purpose & Scope
- Worker in ln-630 coordinator pipeline
- Audit Risk-Based Value (Category 3: Critical Priority)
- Calculate Usefulness Score = Impact à Probability
- Make KEEP/REVIEW/REMOVE decisions
- Calculate compliance score (X/10)
Inputs (from Coordinator)
Receives contextStore with Impact/Probability matrices, test file list.
Workflow
- Parse context
- For each test: calculate Usefulness Score
- Classify: KEEP (â¥15), REVIEW (10-14), REMOVE (<10)
- Collect findings
- Calculate score
- Return JSON
Usefulness Score Calculation
Formula
Usefulness Score = Business Impact (1-5) Ã Failure Probability (1-5)
Impact Scoring (1-5)
| Score | Impact | Examples |
|---|---|---|
| 5 | Critical | Money loss, security breach, data corruption |
| 4 | High | Core flow breaks (checkout, login, registration) |
| 3 | Medium | Feature partially broken, degraded UX |
| 2 | Low | Minor UX issue, cosmetic bug |
| 1 | Trivial | Cosmetic issue, no user impact |
Probability Scoring (1-5)
| Score | Probability | Indicators |
|---|---|---|
| 5 | Very High | Complex algorithm, new technology, many dependencies |
| 4 | High | Multiple dependencies, concurrency, edge cases |
| 3 | Medium | Standard CRUD, framework defaults, established patterns |
| 2 | Low | Simple logic, well-established library, trivial operation |
| 1 | Very Low | Trivial assignment, framework-generated, impossible to break |
Decision Thresholds
| Score Range | Decision | Action |
|---|---|---|
| â¥15 | KEEP | Test is valuable, maintain it |
| 10-14 | REVIEW | Consider if E2E already covers this |
| <10 | REMOVE | Delete test, not worth maintenance cost |
Scoring Examples
Example 1: Payment Processing Test
Test: "processPayment calculates discount correctly"
Impact: 5 (Critical â money calculation)
Probability: 4 (High â complex algorithm, multiple payment gateways)
Usefulness Score = 5 Ã 4 = 20
Decision: KEEP
Example 2: Email Validation Test
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 Ã 2 = 4
Decision: REMOVE (likely already covered by E2E registration test)
Example 3: Login Flow Test
Test: "login with valid credentials returns JWT"
Impact: 4 (High â core flow)
Probability: 3 (Medium â standard auth flow)
Usefulness Score = 4 Ã 3 = 12
Decision: REVIEW (if E2E covers, remove; else keep)
Audit Rules
1. Calculate Score for Each Test
Process:
- Read test file, extract test name/description
- Analyze code under test (CUT)
- Determine Impact (1-5)
- Determine Probability (1-5)
- Calculate Usefulness Score
2. Classify Decisions
KEEP (â¥15):
- High-value tests (money, security, data integrity)
- Core flows (checkout, login)
- Complex algorithms
REVIEW (10-14):
- Medium-value tests
- Question: “Is this already covered by E2E?”
- If yes â REMOVE; if no â KEEP
REMOVE (<10):
- Low-value tests (cosmetic, trivial)
- Framework/library tests
- Duplicates of E2E tests
3. Identify Patterns
Common low-value tests (<10):
- Testing framework behavior
- Testing trivial getters/setters
- Testing constant values
- Testing type annotations
Scoring Algorithm
MANDATORY READ: Load shared/references/audit_scoring.md for unified scoring formula.
Severity mapping by Usefulness Score:
- Score <5 â CRITICAL (test wastes significant maintenance effort)
- Score 5-9 â HIGH (test likely wasteful)
- Score 10-14 â MEDIUM (review needed)
- Score â¥15 â no issue (KEEP)
Output Format
Return JSON to coordinator:
{
"category": "Risk-Based Value",
"score": 7,
"total_issues": 12,
"critical": 2,
"high": 5,
"medium": 5,
"low": 0,
"checks": [
{"id": "usefulness_score", "name": "Usefulness Score Analysis", "status": "warning", "details": "7 tests scored below threshold 15"},
{"id": "remove_candidates", "name": "Remove Candidates", "status": "failed", "details": "2 tests with Score <10 should be removed"},
{"id": "review_candidates", "name": "Review Candidates", "status": "warning", "details": "5 tests with Score 10-14 need review"}
],
"findings": [
{
"severity": "CRITICAL",
"location": "utils.test.ts:23-27",
"issue": "Test 'validateEmail returns true' has Usefulness Score 4 (Impact 2 Ã Probability 2) â REMOVE",
"principle": "Risk-Based Value / Low Priority Test",
"recommendation": "Delete test â likely covered by E2E registration test",
"effort": "S"
},
{
"severity": "MEDIUM",
"location": "auth.test.ts:12-25",
"issue": "Test 'login with valid credentials returns JWT' has Usefulness Score 12 (Impact 4 Ã Probability 3) â REVIEW",
"principle": "Risk-Based Value / Borderline Test",
"recommendation": "If E2E login test exists â delete; otherwise keep",
"effort": "S"
}
]
}
Note: Tests with Usefulness Score â¥15 (KEEP) are NOT included in findings â only issues are reported.
Critical Rules
- Do not auto-fix: Report only
- Effort realism: S = <1h, M = 1-4h, L = >4h
- Score objectivity: Base Impact and Probability on code analysis, not assumptions
- KEEP tests not reported: Only REVIEW and REMOVE decisions appear in findings
- Cross-reference E2E: REVIEW decisions depend on whether E2E already covers the scenario
Definition of Done
- contextStore parsed (Impact/Probability matrices, test file list)
- Usefulness Score calculated for each test (Impact x Probability)
- Decisions classified: KEEP (>=15), REVIEW (10-14), REMOVE (<10)
- Findings collected with severity, location, effort, recommendation
- Score calculated per
shared/references/audit_scoring.md - JSON returned to coordinator
Reference Files
- Audit scoring formula:
shared/references/audit_scoring.md - Audit output schema:
shared/references/audit_output_schema.md
Version: 3.0.0 Last Updated: 2025-12-23