write-tests — Claude Code skill: tests for local changes
The skill reads your uncommitted and untracked git changes and writes tests for them. Useful when the logic is done but coverage is not.
npx skills add NeoLabHQ/context-engineering-kit --skill write-tests -a claude-codeWhat write-tests does
It starts with git status -u to list changed files, drops docs and configs, and keeps the ones with real logic. If the tree is clean, it falls back to git show --name-status on the latest commit. Then it picks a route: a single simple file gets tests written directly, while several files or one complex file go to subagents.
The workflow is a sequence of steps. The skill reads README.md and the project config, finds the commands for tests and coverage, and runs the full suite to get a baseline. In parallel it works out how to run one test file in isolation and has haiku agents summarise each change. Test creation goes to review:test-coverage-reviewer and developer agents, and the same reviewers check the result. Existing tests stay untouched — the skill only adds new ones.
You can pass an argument to narrow the scope to a module or a test suite. With no argument it takes the whole diff. The skill leans on two others from the same kit: sadd for agent management and a TDD skill for test-writing practices. Missing ones are skipped, though that costs you on complex changes.
What it helps with
- cover fresh business logic before committing
- list changed files in git and filter out docs and configs
- raise coverage on one simple file without spawning subagents
- hand test writing to agents when several files changed
- confirm new tests did not break the existing suite
Example prompts for the agent
- write tests for my uncommitted changes
- cover the latest commit with tests
- add tests for the auth module only
How to install write-tests
1Skills CLI (Vercel)
npx skills add NeoLabHQ/context-engineering-kit --skill write-tests -a claude-code2Manually: put the files in place
~/.claude/skills/write-tests/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/write-tests/
1Skills CLI (Vercel)
npx skills add NeoLabHQ/context-engineering-kit --skill write-tests -a codex2Manually: put the files in place
.agents/skills/write-tests/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add NeoLabHQ/context-engineering-kit --skill write-tests -a cursor2Manually: put the files in place
.cursor/skills/write-tests/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install NeoLabHQ/context-engineering-kit write-tests2Manually: put the files in place
.github/skills/write-tests/SKILL.md1Skills CLI (Vercel)
npx skills add NeoLabHQ/context-engineering-kit --skill write-tests -a gemini-cli2Platform CLI
gemini skills install https://github.com/NeoLabHQ/context-engineering-kit --path skills/write-testsManually: put the files in place
.devin/skills/write-tests/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add NeoLabHQ/context-engineering-kit --skill write-tests -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about write-tests
How do I install write-tests in Claude?
Through the skills marketplace: run npx skills add NeoLabHQ/context-engineering-kit --skill write-tests -a claude-code, and the skill file lands at ~/.claude/skills/write-tests/SKILL.md.
What does write-tests do?
It inspects your local git changes and adds tests for them. A single simple file is handled directly; several files or complex logic go through subagents.
Which changes does the skill pick up?
Uncommitted and untracked files. If everything is committed, it switches to the latest commit.