A diff and the tests.
Get each behaviour the change adds marked Covered, Not covered or Unknown, and ranked test cases for the gaps.
Before and after
Real public data, anonymised. Taken from the skill's README.
A real diff in the Express repository: a freshness check extended to a new HTTP method, and a header guard in res.send, with the tests as they were before the change.
After (skill output, excerpt):
1 |req.freshcan return true forQUERY(lib/request.js:472) | Not covered |test/req.fresh.jsandtest/req.stale.jsonly send GET requests.
4 |res.sendskipsContent-LengthwhenTransfer-Encodingis set | Not covered |res.send.js:270and:287setTransfer-Encoding, but only with status 204 or 205.
WhetherQUERYfreshness is intended to follow the GET semantics is not stated in the diff.
See it run

What it does
Give it a diff and the project's tests. You get the behaviours the change adds or alters, each marked Covered, Not covered or Unknown against the tests, and proposed test cases for the gaps with inputs and expected results taken from the code. It never gives a coverage percentage and never says a test passes unless it ran.
How it was tested
1 real-data run on a public multi-hunk change in the Express repository (Claude Sonnet). We checked each Covered and Not covered claim against the tests ourselves.
1 real-data run on a public multi-hunk change in the Express repository (Claude Sonnet). We checked each Covered and Not covered claim by searching the tests ourselves: all matched, and the proposed test for the Transfer-Encoding case is realistic. Not yet run on other models.
Tested on a real example before release. The example is shown in the Before and after section above.
How we test, what we do not do, and which assistants we ran it on.
Limits
- It reads tests; it does not run them.
- Not covered means it searched and found nothing.
- No coverage percentages.
Works with
Works with any assistant that reads SKILL.md skills (Claude, Codex, Gemini CLI, Cursor and others), plus a paste-in prompt version for ChatGPT or any chatbot. A repo with the tests, or the diff and test files pasted.
Install
- Run
npx skills add proskillpacks/skillsin your project and pick this skill. Or copy thetest-gap-finderfolder from GitHub (https://github.com/proskillpacks/skills/tree/main/skills/developers/test-gap-finder). - Put the
test-gap-finderfolder where your assistant looks for skills. The generic path is.agents/skills/(ornpx skills addfrom a folder). Tool-specific paths:- Claude Code:
~/.claude/skills/(or.claude/skills/inside one project) - OpenAI Codex, Gemini CLI, Cursor and others:
.agents/skills/or the skills folder their docs name - claude.ai: zip the skill folder yourself, then Customize, Skills, the plus button, Create skill, Upload a skill (code execution must be on in Settings, Capabilities)
- ChatGPT or any chatbot: open the skill's
prompt.md, paste it into the chat, then paste your own text or link - Steps for each tool, with links to its official docs: how to install Agent Skills
- Claude Code:
- Ask for the job in plain words, for example: "What tests am I missing for this change? The diff is in change.diff.". The skill loads by itself.
Get it
MIT licence. Use it, change it, share it.
Related
- Free guide to do it by hand: How do I find which tests my change is missing?
- Free paste-in prompt for any chatbot: Find missing tests: test gap finder prompt for any chatbot
- PR Description and Review Prep (Free): Run it on your branch. Get a PR title, summary, risk notes and test plan from the diff, plus the questions a reviewer will ask. Free, MIT-licensed.
- README First-Run Check (Free): Point it at a repo. It follows the README like a new user and checks every step against the repo: OK, BROKEN, MISSING or UNVERIFIED, with evidence and the README edits that fix it.
- Skill Portability Check (Free): A free checker for SKILL.md folders: strict-YAML trap, portable keys, vendor tool names, missing fallbacks, broken links. One Python file, exit code for CI.
- More for developers: Developers
Report a problem with this skill (GitHub, or write to kaiventura.founder@gmail.com).