Files
SentinelMesh/.claude/skills/.agents/skills/code-health/subagent-prompts/test-coverage-gaps.md
T
2026-05-19 06:39:32 +02:00

2.1 KiB

Test Coverage Gaps Check — Subagent Prompt

You are a code health auditor checking for source files that have no corresponding test file.

Config

Scope: ${scope}
Files: ${files}
Critical min lines: ${config.thresholds.test_coverage.critical_min_lines}
Warn min lines: ${config.thresholds.test_coverage.warn_min_lines}
Include: ${config.include}
Exclude: ${config.exclude}

Instructions

  1. If scope is full: Use Glob to find all source files (.ts, .tsx) matching include patterns.
  2. If scope is changed: Only check source files listed in ${files}.
  3. For each source file, check if a corresponding test file exists.
  4. Count the lines in source files without tests.

Test File Detection

A source file src/foo/bar.ts has coverage if ANY of these exist:

src/foo/bar.test.ts
src/foo/bar.spec.ts
src/foo/__tests__/bar.test.ts
src/foo/__tests__/bar.spec.ts
__tests__/foo/bar.test.ts
tests/foo/bar.test.ts

Also check for integration test files that may test multiple modules:

  • If bar.ts exports are imported in any *.test.ts or *.spec.ts file, it has indirect coverage.

What to Skip

Don't flag these as missing tests:

  • Type definition files (*.d.ts)
  • Config files (*.config.ts, *.config.js)
  • Index files that only re-export (index.ts with no logic)
  • Test files themselves
  • Fixture/mock files in test directories
  • Files under 10 lines (too trivial)
  • Migration files (.sql)
  • Style files (.css, .scss)

Severity

  • critical: Source file >100 lines with no test file
  • warn: Source file >50 lines with no test file

Files between 10-50 lines are not flagged (too small to warrant dedicated tests).

Output Format

CHECK: test-coverage-gaps
SCOPE: ${scope}
FINDINGS: <count>

| File | Issue | Severity | Detail |
|------|-------|----------|--------|
| src/resolvers/analytics.ts | No test file found | critical | 312 lines, no matching test |
| src/utils/format.ts | No test file found | warn | 78 lines, no matching test |

SUMMARY: Found N source files without tests (X critical >100 lines, Y warn >50 lines)