ln-632-test-e2e-priority-auditor
npx skills add https://github.com/levnikolaevich/claude-code-skills --skill ln-632-test-e2e-priority-auditor
Agent 安装分布
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.
E2E Critical Coverage Auditor (L3 Worker)
Specialized worker auditing E2E test coverage for critical paths (risk-based).
Purpose & Scope
- Worker in ln-630 coordinator pipeline
- Audit E2E Critical Coverage (Category 2: High Priority)
- Validate E2E coverage for critical paths (Money/Security/Data Priority â¥20)
- Validate E2E coverage for core user journeys (Priority 15-19)
- Identify wasteful E2E tests (Usefulness Score <15)
- Calculate compliance score (X/10)
Inputs (from Coordinator)
Receives contextStore with risk-based testing philosophy, tech stack, codebase structure, test file list.
Workflow
- Parse context (critical paths, user journeys)
- Identify critical paths in codebase (Money, Security, Data)
- Identify core user journeys (multi-step flows)
- Check E2E coverage for critical paths (Priority â¥20)
- Check E2E coverage for user journeys (Priority 15-19)
- Validate existing E2E tests (Usefulness Score â¥15)
- Collect findings
- Calculate score
- Return JSON
Audit Rules
1. Critical Path E2E Coverage
Rule: Every critical path MUST have E2E test
Critical Paths (Priority â¥20):
- Money (Priority 25): Payment processing, refunds, discounts, tax calculation
- Security (Priority 25): Login, auth, password reset, token refresh, permissions
- Data Export (Priority 20): Reports, CSV generation, data migration
Detection:
- Scan codebase for critical keywords:
payment,refund,login,auth,export - Extract critical functions/endpoints
- Check if E2E test exists for each critical path
- Missing E2E for Priority â¥20 â CRITICAL severity
Severity:
- CRITICAL: No E2E for Priority 25 (Money, Security)
- HIGH: No E2E for Priority 20 (Data Export)
Recommendation: Add E2E tests for critical paths immediately
Effort: M
2. Core User Journey E2E Coverage
Rule: Multi-step critical flows MUST have E2E test
Core Journeys (Priority 15-19):
- Registration â Email verification â First login (Priority 16)
- Product search â Add to cart â Checkout (Priority 18)
- File upload â Processing â Download result (Priority 15)
Detection:
- Identify multi-step flows in routes/controllers
- Check if end-to-end journey test exists
- Missing E2E for Priority â¥15 â HIGH severity
Severity:
- HIGH: Missing E2E for core user journey (Priority â¥15)
- MEDIUM: Incomplete journey coverage (only partial steps tested)
Recommendation: Add end-to-end journey tests
Effort: M-L
3. E2E Test Usefulness Validation
Rule: Every E2E test MUST justify Priority â¥15
Check: For each E2E test, calculate Usefulness Score = Impact à Probability
- If Score <15 â Flag as “Potentially wasteful E2E”
- Recommendation: Convert to Integration or Unit test (cheaper)
Example:
- E2E test for “API returns 200 OK” â Impact 2, Probability 1 â Score 2 â WASTEFUL
- E2E test for “Payment with discount calculates correctly” â Impact 5, Probability 5 â Score 25 â VALUABLE
Severity:
- MEDIUM: E2E test with Usefulness Score <15
- LOW: E2E test with Score 10-14 (review needed)
Recommendation: Convert low-value E2E to Integration/Unit or remove
Effort: S
Scoring Algorithm
MANDATORY READ: Load shared/references/audit_scoring.md for unified scoring formula.
Severity mapping:
- Missing E2E for Priority 25 (Money, Security) â CRITICAL
- Missing E2E for Priority 20 (Data Export) â HIGH
- Missing E2E for Priority 15-19 (Core Journeys) â HIGH
- Wasteful E2E (Score <15) â MEDIUM
- Incomplete journey coverage â LOW
Output Format
Return JSON to coordinator:
{
"category": "E2E Critical Coverage",
"score": 6,
"total_issues": 8,
"critical": 2,
"high": 3,
"medium": 2,
"low": 1,
"checks": [
{"id": "critical_path_coverage", "name": "Critical Path Coverage", "status": "failed", "details": "Missing E2E for 2 Priority 25 paths (payment, auth)"},
{"id": "user_journey_coverage", "name": "User Journey Coverage", "status": "warning", "details": "1 of 3 core journeys missing E2E"},
{"id": "edge_case_coverage", "name": "Edge Case Coverage", "status": "passed", "details": "Error scenarios covered in existing E2E"}
],
"findings": [
{
"severity": "CRITICAL",
"location": "routes/payment.ts:45",
"issue": "No E2E test for payment processing (POST /payment, Priority 25)",
"principle": "E2E Critical Coverage / Money Flow",
"recommendation": "Add E2E: successful payment + failed payment scenarios",
"effort": "M"
},
{
"severity": "HIGH",
"location": "routes/auth.ts + routes/users.ts",
"issue": "Missing E2E for user journey: Registration â Email verification â First login (Priority 16)",
"principle": "E2E Critical Coverage / Core Journey",
"recommendation": "Add E2E test covering full registration flow",
"effort": "L"
},
{
"severity": "MEDIUM",
"location": "users.test.ts:23",
"issue": "Low-value E2E test 'GET /users returns 200' (Usefulness Score 4 < 15)",
"principle": "E2E Critical Coverage / Wasteful Test",
"recommendation": "Convert to Integration test or remove",
"effort": "S"
}
]
}
Critical Rules
- Do not auto-fix: Report only
- Risk-based only: Prioritize by business impact (Money > Security > Data), not by code coverage percentage
- Effort realism: S = <1h, M = 1-4h, L = >4h
- Usefulness Score threshold: Only flag E2E tests with Score <15 as wasteful
- No pyramid enforcement: Do not recommend E2E/Integration/Unit ratios â focus on critical path coverage
Definition of Done
- contextStore parsed (critical paths, user journeys, test file list)
- Critical paths identified (Money, Security, Data) with Priority scores
- All 3 checks completed (critical path coverage, user journey coverage, E2E usefulness validation)
- 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