Vet skill
Reviews the git diff and the conversation with the agent: catches bugs and gaps between your request and the agent's result. CLI, skill, GitHub Action
- 511 ★ on the repository
- Last commit
- AGPL-3.0
Extended access
Why this level
- Sends the repository diff and, if you pass it, the conversation with the agent to your provider's language model
- The `--history-loader` option runs the given shell command as you, so other people's profiles and loader commands should be reviewed
- The skill asks the agent to run vet after every logical chunk of edits without waiting for your command
Install
- Works in
In your terminal, with SkillFoxx CLI
npx skillfoxx add skills/vetDetects the agents on your machine, shows the access level and pins the version.
Other ways to install
Access and checks
How we reviewExtended accessThe tool runs code or makes network calls and only reads external data.
- Sends the repository diff and, if you pass it, the conversation with the agent to your provider's language model
- The `--history-loader` option runs the given shell command as you, so other people's profiles and loader commands should be reviewed
- The skill asks the agent to run vet after every logical chunk of edits without waiting for your command
This is third-party code. Review the repository files before installing.
What it does
Vet is a standalone tool for verifying code changes and coding agent behavior. It snapshots the repository and the diff, optionally adds a goal and the conversation with the agent, runs checks through a language model, then filters and deduplicates the results. The output is a list of issues: bugs in the code and places where the agent drifted from your wording. The installed skill makes the agent run vet itself after every logical unit of changes without being asked. You can also run `vet "goal"` by hand, for example with `--base-commit main` to compare against a branch. Session history is loaded through export scripts for Claude Code, Codex, OpenCode and Gemini CLI via `--history-loader`. Calls go straight to your model provider with your own keys. The `--agentic` mode uses an installed Claude Code, Codex or OpenCode instead, so it runs on your subscription. For pull requests there is a reusable GitHub Action that installs vet, computes the merge base and posts the review to the PR.
Who it is for. For developers working with Claude Code, Codex or OpenCode who want an independent check of the agent's changes before a commit and in CI.
Good fit when
- An agent has finished a chunk of work and you want to confirm it did what you asked and added nothing of its own
- Before a commit you want to check the diff against the task goal with `vet "Refactor storage layer" --base-commit main`
- The repository needs automatic pull request review through the GitHub Action with an `ANTHROPIC_API_KEY`
- You have no API keys but have Claude Code or Codex installed: run `vet` with `--agentic`
- A team wants shared settings: named profiles in `.vet/configs.toml` and its own rules per issue code in `guides.toml`
Not a fit when
- You want to replace tests: the skill description says vet does not substitute for running them
- The repository is not under git: the tool works on a diff from a base commit
- The code must not go to an external model provider: checks run through a language model, and with `--agentic` through your agent
- You need a license that permits closed distribution: vet is released under AGPL-3.0
Example request
Run vet with the goal «move storage to SQLite without changing the API», compare the changes with the main branch and load the current session history with the scriptLimitations
The CLI needs Python 3.11 or newer. The default model is Anthropic's and needs `ANTHROPIC_API_KEY`; other providers are connected through `models.json` with an OpenAI-compatible endpoint or through the model registry with `vet --update-models`. The `--agentic` mode is slower than a direct API call but, per the authors, often more precise.
Vet reads the full diff from the base commit and can show changes made by other agents or sessions in the same repository: the skill advises ignoring issues about changes that are not yours.
The `--history-loader` option runs the given shell command as you, so review history loader commands and shared profiles before use. Exit code 10 means issues were found, 0 means clean and 2 means a configuration error.
How to disable. Remove the CLI with the manager you used: `pip uninstall verify-everything`, `pipx uninstall verify-everything` or `uv tool uninstall verify-everything`. Delete the vet folder from `.claude/skills`, `.codex/skills`, `.opencode/skills` and `.agents/skills` in the project or your home directory. Delete the GitHub Action workflow `.github/workflows/vet.yml`.
FAQ
How do I install Vet in Claude Code?
Install the CLI with `pip install verify-everything`, `pipx install verify-everything` or `uv tool install verify-everything`. The skill installs with `curl -fsSL https://raw.githubusercontent.com/imbue-ai/vet/main/install-skill.sh | bash`, which asks for project level (`.claude/skills/vet/`) or user level (`~/.claude/`).
What does Vet check besides the code itself?
If you pass the conversation through `--history-loader`, it compares the goal with the agent's actions and finds gaps between the request and the implementation. The skill includes session export scripts for Claude Code, Codex, OpenCode and Gemini CLI.
How do I run Vet without API keys?
Add `--agentic` and, if needed, `--agent-harness claude`, `codex` or `opencode`: the analysis runs through a locally installed agent on your Anthropic or OpenAI subscription. It is slower, but the authors note precision is often higher.
How do I connect Vet to pull requests?
Create `.github/workflows/vet.yml` with a step `uses: imbue-ai/vet@main` and an `ANTHROPIC_API_KEY` secret if you use Anthropic models. The action sets up Python, installs vet, finds the merge base and posts the result to the pull request.
What exit codes does vet return?
0 means no issues, 1 an unexpected error, 2 invalid usage or configuration, and 10 means issues were found. Output formats are `text`, `json` and `github`, so the result is easy to parse in CI.
Discussion
No questions or reviews yet.
Related
SkillsOpenQodex reviews your change before a push: scanners with no model first, then a separate Claude Code or Codex process triages findings on your login
An adversarial code-audit skill: Hunter finds bugs, Skeptic challenges them, Referee rules, and no source edit happens without your permission
Open-source AI agent for pull request review: descriptions, feedback and improvement suggestions on GitHub, GitLab and more
A skill that tests your agent's code in a real browser: reads your changes, builds a test plan and runs it through Playwright with your own cookies
A CLI to evaluate and evolve agent skills: declarative YAML cases, runs across engines and structured reports
QA agents, skills and an MCP server: test generation, coverage gaps, flaky tests, security scans and chaos testing
Comparison with similar tools
Entries that share the main search query, and how they differ.
| Entry | Official | Repository stars | Main difference |
|---|---|---|---|
| Vet (this entry) | no | 511 | |
| open-code-review | no | 48,062 | a CLI for agent code review with per-line comments, without cross-checking the conversation history |
| code-review-skill | no | 2,136 | a review checklist by language and framework that does not run a separate verification tool |
README in short
The README presents vet as a standalone tool for verifying changes and agent behavior that runs from the terminal, as a skill or in CI. It then covers skill install at project or user level, CLI install, usage examples, a GitHub workflow, how it works, exit codes and output formats. It closes with model configuration, the model registry, TOML profiles and custom guides per issue code.
README badge
Original SKILL.md
--- name: vet description: Run vet immediately after ANY logical unit of code changes. Do not batch your changes, do not wait to be asked to run vet, make sure you are proactive. --- # Vet **Run vet immediately after ANY logical unit of code changes. Do not batch changes, do not wait to be asked to run vet, make sure you are proactive.** Vet reviews git diffs and conversation history to find issues in code changes and conversation history. It is most effective when run frequently with conversation history, which helps it catch misunderstandings between what was requested and what was implemented. Despite this, vet is not a replacement for running tests. ## Installation Install vet using pip, pipx, or uv: ```bash # Using pip pip install verify-everything # Using pipx pipx install verify-everything # Using uv uv tool install verify-everything # Verify installation: vet --help ``` ## Running Vet ### Standard Usage Before running vet, determine the correct Python binary: ```bash $(command -v python3 || command -v python) ``` Use whichever resolves (prefer `python3`). The examples below use `python3`, substitute `python` if that is what your system provides. **OpenCode:**