vet — Claude Code skill: review git diffs on every change
A skill that pushes the agent to inspect its own git diff after each small change, so gaps between your request and the patch show up early.
npx skills add imbue-ai/vet --skill vet -a claude-codeWhat vet does
vet turns review into something the agent does on its own. It runs after every coherent chunk of work rather than at the end, and it reads two inputs: the diff against a base commit, and the transcript of the conversation. Lining those up is where it earns its keep. Code can pass your tests and still solve a different problem than the one you described, and this tool is meant to sit beside the test suite rather than in place of it.
The package brings a CLI and a handful of exporter scripts, one per harness. export_claude_code_session.py handles Claude Code, with equivalents for Codex, Gemini CLI and OpenCode. Each one dumps a session to a file, and you pass that file back through --history-loader. Options that matter: --base-commit, --confidence-threshold (0.8 by default), --output-format json or github, and --quiet to silence status lines.
Two parts have to be present for any of this to run: the skill files and the vet binary from verify-everything. Install the binary with pip install verify-everything; nothing happens without it on PATH. If the direct API call fails because no key is configured, --agentic sends the analysis through a local Claude Code, Codex or OpenCode install. Slower, and usually sharper about what it flags.
What it helps with
- catch a mismatch between the request and what the agent built
- review a change right away instead of at the end of the task
- hand findings to CI as
github-formatted output - ignore remarks that belong to another agent working in the same repo
- run the review through a local harness when no API key is set
Example prompts for the agent
- Run vet on the current diff with this session's history loaded: `vet "fix login" --history-loader "python3 ~/.claude/skills/vet/scripts/export_claude_code_session.py --session-file <path-to-session.jsonl>"`
- Check the diff with vet before you start the next task
- List only vet findings above 0.9 confidence
How to install vet
1Skills CLI (Vercel)
npx skills add imbue-ai/vet --skill vet -a claude-code2Manually: put the files in place
~/.claude/skills/vet/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/vet/
1Skills CLI (Vercel)
npx skills add imbue-ai/vet --skill vet -a codex2Manually: put the files in place
.agents/skills/vet/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add imbue-ai/vet --skill vet -a cursor2Manually: put the files in place
.cursor/skills/vet/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install imbue-ai/vet vet2Manually: put the files in place
.github/skills/vet/SKILL.md1Skills CLI (Vercel)
npx skills add imbue-ai/vet --skill vet -a gemini-cli2Platform CLI
gemini skills install https://github.com/imbue-ai/vet --path skills/vetManually: put the files in place
.devin/skills/vet/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add imbue-ai/vet --skill vet -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 vet
How do I install vet in Claude Code?
Run npx skills add imbue-ai/vet --skill vet -a claude-code, and the skill lands at ~/.claude/skills/vet/SKILL.md.
What does vet do?
It compares the git diff with the conversation history and points at spots where the implementation drifted from the ask. Running it often mid-task beats a single pass at the end.
Does vet replace my test suite?
No. It reads a diff and a transcript and reports likely problems; your tests still need to run.