Review code changes yourself, locally, with OrcaCode Review's severity contract and merge gate — no GitHub Action, no OrcaRouter account, no API key.

MITAuto-check passedDevelopment

Install Orca Review

skills CLI
$ npx skills add Continuum-AI-Corp/Orca-Code-Review --skill orca-review -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install Continuum-AI-Corp/Orca-Code-Review orca-review --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/Continuum-AI-Corp/Orca-Code-Review.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/orca-review .claude/skills/orca-review && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
orca-review
GitHub stars
175
Token cost
~3.5k tokens
SKILL.md length
2,029 words
Files
2 (incl. references)
Skills in repo
2
Repo updated
First seen
Licence
MIT

At a glance

Review code changes yourself, locally, with OrcaCode Review's severity contract and merge gate — no GitHub Action, no OrcaRouter account, no API key.

  • Works in 4 steps: Plan → Review → Hand back → …
  • The user asks you to review their changes
  • SKILL.md covers When this skill applies, Workflow, The first review in a repository and Changing how the local review…, plus 3 more sections
  • Calls npx, gh and git

What it does

Orca Review is an agent skill from Continuum-AI-Corp/Orca-Code-Review. Review code changes yourself, locally, with OrcaCode Review's severity contract and merge gate — no GitHub Action, no OrcaRouter account, no API key. You are the reviewer; the CLI supplies file selection, the P0-P3 rubric, position verification, and the gate. Use whenever the user asks you to review their changes, review a diff, branch, commit, or a pull request by number ("review PR 556"), check work before committing or pushing, run OrcaCode Review here, or asks "is this safe to merge?" — and whenever they want…

Its SKILL.md is about 3.5k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including reference files (for example `references/contract.md`).

It sits in Development, covering Code review, Pull requests and CI/CD. The repository describes itself as: OrcaCode Review — the open code review harness. Multi-model reviews, merge gates, and no markup. Pay only for inference. The licence is MIT.

When your agent uses it

  • The user asks you to review their changes
  • A pull request by number (review PR 556)
  • Check work before committing
  • Run OrcaCode Review here

Example prompts

  • “review PR 556”
  • “is this safe to merge?”
  • “/orca-review”

Requirements

  • Node.js

Workflow steps

4 steps, taken from the step headings in SKILL.md.

  1. Plan
  2. Review
  3. Hand back
  4. Submit

What it can do on your machine

Read from SKILL.md and the folder at commit a49ffb5. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • npx
    • gh
    • git

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use npx, gh and git, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Orca Review loads about 3.5k tokens when it runs, and up to ~7k if it reads all its reference files. Until then it costs about 145 tokens; SKILL.md has 2,029 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~145
When it runs · the whole SKILL.md, loaded when a task matches
~3.5k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~7k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from Continuum-AI-Corp/Orca-Code-Review at commit a49ffb5, republished under its MIT licence (© Continuum-AI-Corp). 2,029 words, ~3,452 tokens.

Download SKILL.mdSave it as .claude/skills/orca-review/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
orca-review
description
Review code changes yourself, locally, with OrcaCode Review's severity contract and merge gate — no GitHub Action, no OrcaRouter account, no API key. You are the reviewer; the CLI supplies file selection, the P0-P3 rubric, position verification, and the gate. Use whenever the user asks you to review their changes, review a diff, branch, commit, or a pull request by number ("review PR 556"), check work before committing or pushing, run OrcaCode Review here, or asks "is this safe to merge?" — and whenever they want a local review that agrees with what CI will say.

OrcaCode Review — local review

You are the reviewer. Your own model does the thinking; the CLI does everything that must not be left to a model — which files are in scope, which rules apply, whether a finding is filed on the right line, and what blocks a merge.

This is the same severity contract the GitHub Action enforces, so a P1 you find here is a P1 that would block there. That parity is the point: "it passed locally" has to mean something.

Severity contract: P0 critical / P1 high → ❌ block. P2 conditional bug / P3 nit → 💬 report, never block.

When this skill applies

The user says something like…You do
"review my changes", "看一下我这次的改动", "check this before I push"The workflow below
"review this branch / this commit / these staged files"Same, with the matching range flags
"review PR 556", "帮我审一下 #556"Same, with --pr 556 — do not check the branch out first
"is this safe to merge?"Same — the gate answers it
"set up OrcaCode Review on this repo", "why didn't CI review my PR?"Not this skill. That is orca-review-action, which wires up the Action

Nothing here talks to OrcaRouter. If the user wants automatic review on every PR, that is the other skill.

Workflow

1. Plan
bash
npx @orcarouter/code-review review plan --lang en   # en | zh | ja | ko

--lang is the language the user is speaking to you in — en, zh, ja, or ko. Do not copy the example's value; read the conversation. An English request gets en, a Chinese one zh. Pass it on every command. The plan will tell you to write your findings in that language, and submit will render its report in it. Without the flag the CLI falls back to the machine's locale, which is usually right and sometimes is not; you know which language the conversation is in, so say so.

Everything you say to the user is in that language too — the one-line acknowledgement before you start, the report you relay, the next step you offer, the settings question. A Chinese request answered with "I'll review PR 92" and then a Chinese report reads as two different people.

It prints a complete review request to stdout: the files in scope, the files it excluded and why, the git command that shows each change, per-language review checklists, the full P0-P3 rubric, the project's own conventions, and the exact result shape. Progress notes go to stderr, so the stdout text is the whole prompt and nothing else.

Read all of it. Everything you need is in there — do not go looking for a rubric elsewhere, and do not substitute a severity scheme you know from somewhere else.

The file list has already been filtered: binaries, deleted files, unsupported types, tests and fixtures and generated code, and anything under .gitignore are listed under Excluded with the reason. Do not review those, and do not second-guess the list — it is the same selection CI applies.

2. Review

Work file by file through the list in the request:

  1. Get the diff with the command the request gives you.
  2. Read the actual file, not just the diff. A finding you cannot confirm by reading the surrounding code is a finding to drop.
  3. Apply that file's rule group, then the severity rubric.

Comment only on changed lines. The rubric's precision section is binding, in particular: one comment per distinct issue, never the same root cause restated per file, and never a finding pinned to a file you did not open.

3. Hand back

Write .orcacode-review/result.json in exactly the shape the request specifies. Four fields per finding, and nothing else — the file is an internal handoff, not a report, and every extra byte is a line of raw JSON scrolling past the person watching you work:

json
{"comments": [
  {"path": "src/auth.ts", "line": 41,
   "existing_code": "  if (token === expected) {",
   "content": "[P0] **Title**\n\nBody."}
]}
  • path — repo-relative, and it must be the file that actually contains the code.
  • line — in the post-change file. Only for a finding that genuinely spans several lines, write start_line/end_line instead.
  • existing_code — the source you are quoting, copied verbatim. This gets grepped against the tree to check you filed the finding on the right file. A paraphrase here reads as a wrong location and the finding may be dropped. One line is enough; do not paste a whole function.
  • content — [P0]/[P1]/[P2]/[P3], then a bold title, then the body, written in the user's language. The tag, the bold, and the separate Fix: paragraph are structure and never change; the words inside them do. Identifiers, paths, and code stay verbatim.

Found nothing? Write {"comments": []}. That is a clean review, not a failure.

warnings is optional and you will almost never want it: it lists files you could not review, and a non-empty warnings makes the review partial, which submit rejects rather than passes. Omit the key unless something genuinely failed.

4. Submit
bash
npx @orcarouter/code-review review submit --format md --lang en   # same --lang as the plan

Same --lang as the plan, so the report's verdict line and headings come out in the user's language alongside the findings you wrote in it.

This verifies every finding's position against the tree, drops duplicates, tags what would block a merge, and prints the report as markdown.

Use --format md rather than the default. The default is an ANSI terminal report hard-wrapped at 78 columns, which arrives in a conversation as a wall of pre-formatted text.

Relay that markdown to the user verbatim. It is written to be read in a chat: grouped by file, blocking file first, ❌ on what stops the merge and 💬 on what does not. Do not re-summarise it, do not re-order it, and do not substitute your own severity call — the gate decides what blocks, not you, and it will have re-homed or dropped findings you were about to report.

The exit code is not the verdict. submit exits 0 whenever the review ran, blocked or not — your job is to tell the user what the bugs are, and that is the report. The line under its heading says which it was: ❌ (Blocked, 已拦截, …) means something at P0/P1 would stop a merge, ✅ means nothing would. Relay whichever you got.

ExitMeansYou say
0The review ran. The report has the findings and the verdictRelay the report as-is
2The result was unusableFix the JSON and submit again. Never a pass

Exit 2 is the only failure, and it is never a pass. (A 1 only exists under --fail-on-block, which is for hooks and CI scripts — you have no reason to pass it.)

The same markdown is always saved to .orcacode-review/report.md.

Then say, in one line, what you would do next. Offer to fix; do not start fixing unless the user asked for it in the first place.

The first review in a repository

If the plan ends with a section titled First review in this repository, there is no .orcacode-review.json yet. Do the review exactly as normal. Then, after the report is on screen, offer once — one sentence — to save the settings this run used, and say what saving buys them: the next review here needs no flags, for them or for anyone else who clones the repo. Something like:

这个仓库还没有本地评审配置。要我把这次的设置(中文、P0/P1 阻塞)存成 .orcacode-review.json 吗?以后在这里评审就不用再指定了。

Yes → run the review config init command the plan gives you, apply anything they asked for on top, show them the file. No → drop it for the rest of the conversation. Never create the file without being asked, and never ask before the report: they should decide with the output in front of them, not in the abstract.

Show full SKILL.md (804 more words)Show less

Changing how the local review behaves

The repo's local review settings live in one committed file, .orcacode-review.json. When the user asks for a lasting change — not "this once" but "from now on" — edit that file; do not reach for a flag, and do not put it in CLAUDE.md.

The user says something like…You change
"本地只挡 P0", "only block on critical locally""block_on": "P0"
"别挡了,都只提醒", "never block, just report""block_on": ""
"以后用中文报", "report in Japanese from now on""language": "zh" / "ja"
"不要审 docs/", "skip generated files"append to "exclude": "docs/**", "**/*.generated.ts"
"API 文件多查一下鉴权", "add a checklist for migrations"append to "rules": { "path": "src/api/**/*.ts", "rule": "…" }

Before editing, run this to see what applies now and where each value came from:

bash
npx @orcarouter/code-review review config --lang en   # the user's language

If the file does not exist yet, create it with the template rather than by hand:

bash
npx @orcarouter/code-review review config init --lang en   # the user's language

Then edit only the key the user asked about. Show them the resulting file. Keys you do not write keep their defaults; unknown keys are an error, not a typo the tool overlooks — if plan or submit refuses with ".orcacode-review.json is invalid", read the message, it names the key and the allowed values.

The four keys, and nothing else:

  • block_on — "P0,P1" (default), "P0", or "". What the report marks ❌.
  • language — en | zh | ja | ko. Outranks the machine locale; --lang still outranks it.
  • exclude — extra globs never to review, on top of the bundled rules. docs/**, **/*.snap, legacy/**.
  • rules — extra checklists. Each { "path": glob, "rule": "text" } or { "path": glob, "rule_file": "docs/review/api.md" }. By default the text is added to the bundled checklist for those files; "replace": true swaps it in instead.

For a one-off ("just this time only block on P0") use the flag on that one command instead, and change nothing on disk.

Choosing the range

With no flags it picks for you and says which it picked: uncommitted work if the tree is dirty, otherwise this branch against its base — the range CI would use. Override when the user was specific:

The user meansFlags
"what I'm working on right now"--worktree
"this branch" / "the PR I'm on"--from main --to HEAD
"PR 556" — a number, not the current branch--pr 556
"that commit"--commit <sha>
"only block on critical" — this once--block-on P0 on submit
"only block on critical" — from now on"block_on": "P0" in .orcacode-review.json (see above)

Pass --background "…" when the user has told you what the change is for. It goes to the reviewer — you — as business context, and it is what lets you judge whether the change does what it was supposed to. With --pr the PR's title and description become the background automatically; only pass --background on top of it if the user told you something the PR does not say.

Reviewing a pull request by number

--pr needs the GitHub CLI (gh) and does not check the branch out. It fetches the PR into a private ref and leaves the work tree exactly as it was — so it is safe to run mid-change, and you must not git checkout or git stash around it. Fork PRs work; the head is fetched from the base repository.

If it reports that gh is missing or not signed in, do not try to install or authenticate it. Say so, and offer the fallback the CLI prints:

bash
gh pr checkout 556     # the user runs this, then you review with no --pr

Getting it wrong

  • Do not invent severities. High/Medium/Low is a different tool's vocabulary. Untagged findings default to P1, which blocks — so tag everything.
  • Do not drop P2 and P3 to look decisive. The rubric is explicit that they are still emitted. They do not block; hiding them is not calibration.
  • Do not skip submit because you already know what you found. Position verification and deduplication happen there, and they change the answer.
  • Do not report a clean review when submit exited 2. That is an unusable result, not a pass. Fix the JSON and submit again.
  • Do not switch branches to review a PR. --pr exists so you never have to. Checking out loses the user's uncommitted work or fails outright, and leaves them somewhere they did not ask to be.

If something fails

SymptomCause
"Not a git repository"Run from inside the repo
"Nothing to review"Clean tree with no commits past the base — use --worktree or name a range
"Unusable result"The JSON is malformed, or warnings is non-empty. Read the message, fix, resubmit
"Position check skipped"Expected on uncommitted work — nothing to grep. Findings are all kept
"No result at …"You did not write the file, or wrote it somewhere else
"--pr needs the GitHub CLI"No gh. Tell the user; offer gh pr checkout <n> as the fallback
"gh is installed but not signed in"Theirs to fix: gh auth login. Do not run it for them

references/contract.md has the full command reference, the JSON schema, and the exit codes — read it before guessing at a flag.

© Continuum-AI-Corp, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file (references) in skills/orca-review of Continuum-AI-Corp/Orca-Code-Review.

  • SKILL.md
  • references/contract.md

Open the folder on GitHubat commit a49ffb5

Compare with similar skills

Orca Review next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Orca Review compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Orca Review this skillContinuum-AI-Corp/Orca-Code-Review175—~3.5kAutomated safety check: PassMIT
PR Babysitteropeninterpreter/openinterpreter69k3 repos~4.2kAutomated safety check: PassApache-2.0
Pull Request Babysitterthedotmack/claude-mem99k—~1.1kAutomated safety check: PassApache-2.0
Renovate Actions PR Reviewbacknotprop/plannotator9.3k—~640Automated safety check: PassApache-2.0
Code Reviewoaslananka/kicad-mcp-pro122—~3.9kAutomated safety check: PassMIT
GitHub Copilot PR Finishergithub/gh-aw5.4k—~3.9kAutomated safety check: WarnMIT

Similar skills

  • PR Babysitter

    openinterpreter/openinterpreter

    Watches an open GitHub pull request until it merges, handling review comments, diagnosing CI failures and retrying flaky checks along the way.

    69k GitHub starsUsed in 3 repos~4.2k tokens
    DevelopmentAuto-check passed
  • Pull Request Babysitter

    thedotmack/claude-mem

    Keeps watching a pull request, fixing real review and CI problems and resolving stale threads, until it is clean and ready to merge.

    99k GitHub stars~1.1k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Renovate Actions PR Review

    backnotprop/plannotator

    Reviews Renovate pull requests that bump GitHub Actions by checking pinned SHAs against upstream tags, scanning changelogs and confirming workflows stay compatible.

    9.3k GitHub stars~640 tokensUpdated today
    DevelopmentAuto-check passed
  • Code Review

    oaslananka/kicad-mcp-pro

    A skill your agent uses for GitHub Copilot pull request and code reviews in oaslananka/kicad-mcp-pro.

    122 GitHub stars~3.9k tokensUpdated today
    DevelopmentAuto-check passed
  • Official

    Drives an open pull request to merge-ready from inside a GitHub Copilot cloud agent, resolving review threads and local checks concurrently, without merging or retriggering CI.

    5.4k GitHub stars~3.9k tokensUpdated today
    DevelopmentAuto-check: warnings
  • PR Push and Review Loop

    pydantic/pydantic-ai

    Official

    Covers what to do on opening a pull request and after every push: apply a label, watch CI to green, answer every review comment and escalate real design trade-offs.

    21k GitHub stars~2.4k tokensUpdated today
    DevelopmentAuto-check passed

More from Continuum-AI-Corp/Orca-Code-Review

  • Orca Review Action

    Continuum-AI-Corp/Orca-Code-Review

    Set up, reconfigure, troubleshoot, or remove OrcaCode Review — AI pull-request review powered by OrcaRouter — in a GitHub repository.

    175 GitHub stars~2.9k tokensUpdated 20 days ago
    Auto-check passed

Categories

Questions about Orca Review

What does Orca Review do?

Review code changes yourself, locally, with OrcaCode Review's severity contract and merge gate — no GitHub Action, no OrcaRouter account, no API key. Orca Review is an agent skill from Continuum-AI-Corp/Orca-Code-Review. Review code changes yourself, locally, with OrcaCode Review's severity contract and merge gate — no GitHub Action, no OrcaRouter account, no API key.

When should I use Orca Review?

Orca Review fits situations like: the user asks you to review their changes; A pull request by number (review PR 556); check work before committing; run OrcaCode Review here.

How do I install Orca Review in Claude Code?

Run `npx skills add Continuum-AI-Corp/Orca-Code-Review --skill orca-review -a claude-code`. Or copy the skill folder (skills/orca-review in Continuum-AI-Corp/Orca-Code-Review) into .claude/skills/orca-review in your project. Claude Code loads it when a task matches its description.

How do I install Orca Review in Codex?

Run `npx skills add Continuum-AI-Corp/Orca-Code-Review --skill orca-review -a codex`. Or copy the skill folder (skills/orca-review in Continuum-AI-Corp/Orca-Code-Review) into .agents/skills/orca-review in your project. Codex loads it when a task matches its description.

Can I use Orca Review in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Continuum-AI-Corp/Orca-Code-Review --skill orca-review -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/orca-review, .gemini/skills/orca-review, .github/skills/orca-review and .opencode/skills/orca-review in your project.

What does Orca Review need to run?

Going by SKILL.md and its folder, Orca Review needs the command-line tools its instructions call (npx, gh and git). Our summary lists: Node.js.

Does Orca Review access the network?

SKILL.md contains no URLs. Its commands use npx, gh and git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Orca Review safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Orca Review use?

Orca Review is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Orca Review use?

About 3.5k tokens (SKILL.md is roughly 14k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 3.5k tokens, read only when the agent opens those files.

What are the alternatives to Orca Review?

Skills that share tags, products or a category with Orca Review: PR Babysitter (openinterpreter/openinterpreter, 69k stars), Pull Request Babysitter (thedotmack/claude-mem, 99k stars), Renovate Actions PR Review (backnotprop/plannotator, 9.3k stars) and Code Review (oaslananka/kicad-mcp-pro, 122 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Orca Review?

Continuum-AI-Corp (a GitHub organization) maintains it in Continuum-AI-Corp/Orca-Code-Review, which has 175 GitHub stars. The repository holds 2 skills in this directory. The repository was last updated on September 21, 2026.

Source: Continuum-AI-Corp/Orca-Code-Review on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.