Test Gap from Diff Skill
Analyze a code diff to identify exactly which tests need to be written, using the test requirement matrix (rule 123) to determine required test types.
Trigger Conditions
- Source code changes without corresponding test changes
- PR is created for review
- Coverage drops below threshold
- User invokes with "test gaps" or "test-gap-from-diff"
Input Contract
- Required: Git diff or list of changed files
- Optional: Current coverage report
Output Contract
- Per-function list of missing tests with required test type
- Priority ranking (critical path functions first)
- Test skeleton code for top-priority gaps
- Coverage delta estimate if tests are added
Tool Permissions
- Read: Source files, test files, coverage reports
- Write: None (analysis only; test-engineer writes the tests)
- Search: Grep for function signatures, test file patterns
Execution Steps
- Parse diff: Extract list of changed functions/methods with file paths
- Classify changes: Categorize each change per rule 123 matrix (model, service, handler, etc.)
- Determine required tests: Map each change type to required test types (unit, integration, property, concurrency, fuzz)
- Check existing coverage: For each changed function, check if required test types already exist
- Identify gaps: List functions where required tests are missing
- Prioritize: Rank gaps by: financial operations first, then public API, then internal logic
- Report: Produce gap report with test type, priority, and estimated effort
Success Criteria
- All changed functions mapped to required test types
- All existing test coverage identified
- Clear gap report with actionable items
References
.cursor/rules/123-test-requirement-matrix.mdc