test-gap-detector
Skill0 starsChanged 23 days agoMITView on GitHub
Identify which areas of a proposed change are weakly covered by tests and suggest the minimum high-value tests to add first.
In this repository32 other files it gives its agents.
- .claude/CLAUDE.mdCLAUDE.md
- api-designSkill
- arch-constraint-guardSkill
- backend-patternsSkill
- clean-architectureSkill
- codebase-mappingSkill
- context-budgetSkill
- cqrsSkill
- ddd-architectureSkill
- debug-flowSkill
- dependency-auditSkill
- django-patternsSkill
- django-tddSkill
- event-driven-architectureSkill
- fd-codenavSkill
- fd-mapSkill
- frontend-patternSkill
- git-releaseSkill
- git-workflowSkill
- golang-patternsSkill
- hexagonal-architectureSkill
- java-patternsSkill
- layered-architectureSkill
- performance-profilingSkill
- postgres-patternsSkill
- python-patternsSkill
- refactor-guideSkill
- research-firstSkill
- rust-patternsSkill
- saga-architectureSkill
- security-scanSkill
- tdd-workflowSkill
The file
We split this skill into the rules it gives an agent
2 rules. About 0 are common, 1 is distinctive, and 1 is very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈1
Distinctive · estimate
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 30
Check <fd>/.codebase/FAILURES.json for prior failures on these paths — flag as regression gap if no regression test exists
- Distinctive: line 60
Do not add tests just to hit a coverage number — add tests for real risk paths
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
<fd> is this project's FlowDeck directory, the one fd-state path prints (~/.fd-plan/<project>/, or <project>/.fd-plan/ when the storage setting is project).
Test Gap Detector
Activate this skill before implementing a feature or fix. Get back a ranked list of coverage gaps and the minimum viable tests to close them.
Gap Categories
| Category | What It Means |
| missing test file | Source file changed but no *.test.* counterpart exists |
| untested error path | A catch, else, or error branch has no test |
| untested branch | An if/else or switch arm has no test exercising it |
| no integration test | A service-to-service or API call has no integration test |
| no regression test | A previously-failed path has no regression test guarding it |
Workflow
- List all files to be changed
- For each file, check if a test file exists (
*.test.ts,*.spec.ts,__tests__/) - For files with tests, scan for untested branches:
- Count
if,else,catch,switchstatements - Cross-reference with test file to see which paths are exercised
- Count
- Check
<fd>/.codebase/FAILURES.jsonfor prior failures on these paths — flag as regression gap if no regression test exists - For external calls (fetch, db.query, sendEmail), check for integration test coverage
- Rank gaps by risk (auth > payment > data > logic > UI)
- Produce minimum viable test set (top 3–5 tests)
Output Format
## Test Gap Report
### Gap Summary
| File | Gap Type | Risk | Suggested Test |
|------|----------|------|----------------|
### Minimum Viable Test Set (top 5)
1. **[test name]** — [file.test.ts]
Tests: [what it validates]
```typescript
it('[test name]', async () => {
// test skeleton
})Coverage Verdict: GOOD | GAPS FOUND | CRITICAL GAPS
## Guidance
- A test skeleton is always better than no test — write it even if incomplete
- Auth and payment paths with no regression test = CRITICAL GAP, block merge
- Do not add tests just to hit a coverage number — add tests for real risk pathsDoes it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

