A code review that runs on its own before every git push, with 22 scanners and a second agent that never saw the session where the change was written. That is openqodex, an Apache-2.0 skill and plugin that shipped its first npm release on October 2, 2026 and reached 0.14.0 on October 23, with more than 800 GitHub stars so far. It works in Claude Code, Codex CLI, Cursor and Cline.
What it does: scanners first, then a reviewer with no memory
The skill kicks in before any git push, when you ask for a review or a security scan, when the openqodex hook has warned about or blocked a push, and after you fix findings, to check again. The agent does not review anything itself: it calls openqodex review, which covers unpushed commits plus uncommitted work (or the whole repository with --all).
The interesting part is how the work is split:
- It runs the scanners that match the changed files and keeps only findings on modified lines. There are 22 built in: secrets (gitleaks), code security (semgrep, among others), vulnerable dependencies (osv-scanner), lint, GitHub Actions workflows, Dockerfiles, Terraform, Kubernetes (kubeconform), CloudFormation and SQL migrations.
- It starts a separate Claude Code or Codex process, with no memory of your session, that reads a frozen copy of the change along with its calling code and proposes issues, quoting the exact line.
- A script checks that every quote really exists in the code, and verifier sessions confirm or reject each candidate and each scanner finding, with a reason.
- More scripts check that every finding got an answer and that every changed line reached a reviewer. Style and naming notes show up as observations and never block.
What you get is a receipt with the verdict, one line per finding and the path to report.html, plus Markdown, JSON and SARIF copies under .openqodex/reviews/, which is git-ignored. The skill then makes the agent ask "Fix all, or tell me which?" and keep its hands off the code until you answer.
Installing and using it
You need Node 22 or later, git, macOS or Linux (Windows and WSL are untested), and a logged-in Claude Code or Codex for a full review. The full setup, with the skill, agent hooks and a git pre-push hook, is interactive with npx openqodex init, or non-interactive:
npx -y [email protected] init --yes --agent claude-code
npx -y [email protected] reviewThe exit code sums up the verdict: 0 when nothing blocks the push, 1 when it is blocked and 2 when there is no complete review. If you only want the skill, without hooks, use npx skills add openqodex/openqodex -g. To review a branch or a pull request, run review feature/login or review '#42' (quoted, because # starts a shell comment).
Out of the box it only warns. For the hook to actually block a push, set a severity threshold (critical, major, minor, nitpick or info) in .openqodex/config.yaml:
review:
block_on_severity: majorRisks and limits
- Your code goes to the model. There is no account or API key of its own: it uses your Claude Code or Codex login, and the change is sent to that service. The reviewer can also search the web unless you set
reviewer_web: off. - Scanners that hit the network. semgrep downloads rule packs from its registry, osv-scanner sends dependency names and versions to osv.dev, kubeconform fetches schemas and cargo-deny pulls the RustSec database.
--offlineskips them. The project says it collects no telemetry and turns semgrep's metrics off. - Third-party scanners. You can add your own from a GitHub repo, but it only runs after you approve it with
openqodex trust, and the skill forbids the agent from doing that without asking. - The gate can be bypassed.
git push --no-verifyskips the git hook, and in Cursor and Cline the "gate" is just a rule asking the agent to review. There, the reviewer also has to be Claude Code or Codex. - Dependencies it won't install. brakeman and rubocop need Ruby, golangci-lint needs Go and cargo-deny needs Cargo.
The caveat that matters most comes from its own numbers. On its planted-bug test set, the Claude Code reviewer (claude-opus-5-5) catches 129 of 153 issues (84.3%) for about $0.087 per review. On AACR-Bench, with real pull requests and a gpt-6.1-sol reviewer, semantic recall drops to 5.2% and the noise rate climbs to 77.2%. It is a solid first filter, not a guarantee; the README says as much, and the project describes itself as "on the way to 1.0", so commands may change between minor releases.
openqodex vs Claude Code's /security-review
The obvious baseline is what Anthropic already ships: the /security-review command in Claude Code and its GitHub Action counterpart, claude-code-security-review.
| openqodex | claude-code-security-review | |
|---|---|---|
| When it runs | Before push (skill + hooks) and on PRs | On PRs (Action) or on demand with /security-review |
| Scanners | 22 built in + AI verification | Claude analysis only |
| Scope | Security, dependencies, IaC, lint, SQL | Security |
| Credentials | Claude Code or Codex login; API key only for the Action | Anthropic API key for the Action |
| Gate | Push hook with a configurable threshold | PR comments |
| License | Apache-2.0 | MIT |
Anthropic's Action warns that it is not hardened against prompt injection and should only review trusted PRs, and it deliberately filters out categories such as denial of service and open redirects. openqodex covers more ground and runs earlier, on your own machine, but it adds a tool that is still maturing at a release a week. If you only use Claude Code and security is all you need, /security-review is already there. If you want deterministic scanners in the same loop and a pre-push gate that works across agents, openqodex is worth a try on a non-critical repo.