The local, pre-PR code review that hits /review quality —
and catches the AI slop /review misses.
Claude Code's /review is excellent — but it only runs on a pull request that
already exists. If you keep a tight commit log, you want that review before
you open the PR. The local alternative, /code-review, is a different and
weaker review that misses things /review catches.
And neither of them reviews for slop: dead code, comments that restate the code, verbose AI-written prose, reinvented utilities, the same rule copy-pasted across five call sites, three times the lines the job needed.
Reviso is the missing review. Two commands, both local, both report-only:
/reviso:review— the inner-loop review: assembles a mock PR (base..HEADplus uncommitted work) and reviews it in a single pass, the way/reviewdoes, at comparable cost. Plus the slop lens. Run it as often as you commit./reviso:audit— the pre-PR gate: parallel blind finders per dimension, then a per-finding verification gate. Slower and heavier, for when the branch is about to become a PR. (Full adversarial multi-skeptic depth lands in P1.)
The intended rhythm: code → review → fix → a few more commits →
audit → open the PR.
It runs on the Claude subscription you already pay for. There is no account, no signup, and no telemetry.
Reviso never edits your files. It reports findings — each with a severity, a concrete failure scenario, a suggested fix, and a confidence score — and you decide. This is a permanent design constraint, not a v1 limitation.
A review tool that floods you with nitpicks gets muted within a week, and then it catches nothing at all. Reviso would rather stay silent than show you a maybe. If it's noisy for you, that's a bug — please report it, because false positives are the metric we care about most.
The catch with false-positive reports: the finding is about your code. So the feedback design is bound by a written privacy contract — docs/feedback.md. The short version: nothing is ever sent automatically; the default report is metadata-only, built by a deterministic script from an allowlist the model can't reach past; and anything that includes code opens as a prefilled issue in your browser for you to read, edit, and send yourself. After a review, name a wrong finding and Reviso offers to file it under exactly those rules.
In Claude Code, run these as two separate commands (use the full clone
URL — owner/repo shorthand is not accepted):
/plugin marketplace add https://github.com/Vyttle-LLC/reviso.git
/plugin install reviso@reviso
Then run /reviso:review on any branch. Default diff base is your repo's
default branch; override with --base <ref>.
Updates are not automatic: /plugin update reviso@reviso pulls the latest
release, or enable auto-update for the marketplace under /plugin →
Marketplaces. /plugin list shows the version you're running.
To try it without installing (or to hack on it), load it straight from a checkout:
claude --plugin-dir /path/to/revisoThis is allowed and we've documented it rather than hiding it — see docs/ci.md.
One caveat worth stating plainly: run automation on an API key, not on a personal subscription. Subscriptions are licensed for interactive personal use. If you want a hosted, supported, one-click version of this on your PRs, that's Reviso Cloud — which is how the open source gets funded.
Early. The parity bar is that /reviso:review catches everything /review
catches on the same changes; anything it misses is a P0. Our eval results —
including the runs we lose — are published in docs/evals.md.
What's here today: /reviso:review (single-pass mock-PR review, anti-slop
lens, deterministic detectors), /reviso:audit (the multi-agent
finder + verify pipeline), the parity eval harness in eval/, and
the assisted false-positive feedback flow under the
docs/feedback.md privacy contract.
Deliberately not yet: audit's full adversarial multi-skeptic depth (P1),
comment humanization (P1), and .reviso/ team memory — rules and dismissal
learnings (P2). Report-only is permanent; those aren't.
Yes please. See CONTRIBUTING.md. Commits need a Signed-off-by
line (git commit -s) — it takes one flag and we'll help you fix it if you forget.
The most valuable contribution isn't code: it's a false positive report or a missed finding. Those become eval cases, and eval cases are how this gets good.
Apache-2.0. The code is open; the name and logo are not — see TRADEMARKS.md.
Built by Vyttle.