GitHub Review Iteration
prisma/orm
Runs a loop on a GitHub pull request: fetch review state, triage comments into actions, implement them and resolve threads, repeating until nothing actionable is left.
A skill your agent uses when the user asks to run an Orca flow (e.g.
$ npx skills add VirtusLab/orca --skill orca -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install VirtusLab/orca orca --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/VirtusLab/orca.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/orca .claude/skills/orca && rm -rf skills-srcUse ~/.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/
Install the "orca" agent skill from https://github.com/VirtusLab/orca/tree/master/skills/orca into .claude/skills/orca/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "orca", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/VirtusLab/orca/tree/master/skills/orcaType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add VirtusLab/orca --skill orca -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install VirtusLab/orca orca --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/VirtusLab/orca.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/orca .agents/skills/orca && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "orca" agent skill from https://github.com/VirtusLab/orca/tree/master/skills/orca into .agents/skills/orca/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "orca", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add VirtusLab/orca --skill orca -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install VirtusLab/orca orca --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/VirtusLab/orca.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/orca .cursor/skills/orca && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "orca" agent skill from https://github.com/VirtusLab/orca/tree/master/skills/orca into .cursor/skills/orca/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "orca", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/VirtusLab/orca.git --path skills/orca--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add VirtusLab/orca --skill orca -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install VirtusLab/orca orca --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/VirtusLab/orca.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/orca .gemini/skills/orca && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "orca" agent skill from https://github.com/VirtusLab/orca/tree/master/skills/orca into .gemini/skills/orca/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "orca", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install VirtusLab/orca orcaInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add VirtusLab/orca --skill orca -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/VirtusLab/orca.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/orca .github/skills/orca && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "orca" agent skill from https://github.com/VirtusLab/orca/tree/master/skills/orca into .github/skills/orca/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "orca", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add VirtusLab/orca --skill orca -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install VirtusLab/orca orca --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/VirtusLab/orca.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/orca .opencode/skills/orca && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "orca" agent skill from https://github.com/VirtusLab/orca/tree/master/skills/orca into .opencode/skills/orca/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "orca", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
orcaA skill your agent uses when the user asks to run an Orca flow (e.g.
Orca is an agent skill from VirtusLab/orca. Use when the user asks to run an Orca flow (e.g. "use orca to implement …"), or when delegating a well-defined implementation task to Orca's autonomous multi-agent flow — a headless plan-code-review CLI to hand a coding task to instead of implementing it yourself.
Its SKILL.md is about 1.4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 3 other files (for example `.claude-plugin/plugin.json` and `README.md`).
It sits in Development, covering Code review. The repository describes itself as: Deterministic, AI-driven development flows. The licence is Apache-2.0.
3 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit e5f1c41. It shows what the files ask for, not the result of running them.
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.
Shell commands in SKILL.md call:
gitFrom the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
github.comFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Orca loads about 1.4k tokens when it runs. Until then it costs about 67 tokens; SKILL.md has 792 words of instructions outside code blocks.
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.
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.
The full file from VirtusLab/orca at commit e5f1c41, republished under its Apache-2.0 licence (© VirtusLab). 792 words, ~1,356 tokens.
.claude/skills/orca/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.Orca (orca CLI) runs a scripted plan → code → review flow autonomously,
using its own coding/review agents. Delegate to it instead of implementing
the task yourself when that fits better.
/orca, "use an orca flow to …").Run orca list --json and git status --porcelain. If orca is not found,
stop and point the user to https://github.com/VirtusLab/orca#getting-set-up.
Skip a question only if the user named the flow, or said where the run goes, explicitly. Otherwise ask both in one AskUserQuestion call:
Flow (header Flow). Put every flow in the question text, one per line
as name — description, and say: pick one of the options, or type any other
flow name under "Other". Options: implement.sc first, marked
"(Recommended)", then up to 3 more, by origin: project, global,
built-in.
Where the run goes (header Where). On a clean tree, the options are:
--skip-branch..orca/worktrees/, this one
stays untouched: --worktree.With local (uncommitted or untracked) changes, list up to 10 changed files in the question text (then "+N more"), and offer:
--keep-changes.--skip-branch.--worktree.Without --keep-changes or --skip-branch, a headless run stashes local
changes. With either, if the flow fails before its first commit, kept changes
to tracked files are lost.
If the user picks the worktree while there are local changes, ask with
AskUserQuestion (header Changes): "Commit first" — so the worktree has
them — or "Run without them". To commit:
git add -A && git commit -m "<short summary>".
Don't pre-create a branch or worktree: the flow creates its own.
Prompt given with the invocation (may be empty):
$ARGUMENTS
If empty, write one from the task discussed in the conversation. If there is none, ask for it in plain text, phrased after the chosen flow's description (e.g. an issue reference, a PR or branch to review, or a description of the change).
Orca's agents don't see this conversation: write the prompt so it stands on its own — goal, acceptance criteria, relevant files, and the path of any spec.
Capture the output in a temporary file, so the user can follow it
(tail -f). Runs are long, so use two separate commands:
Create the file, and give the user its path before starting the run:
mktemp -t orca-run.XXXXXX.logStart the run with Bash run_in_background: true, using the literal path
from step 1 and the flags chosen above. The prompt goes on stdin, so quotes
and $ in it need no escaping:
orca run <flow> <flags> > <path> 2>&1 <<'ORCA_PROMPT'
<prompt>
ORCA_PROMPT
echo "orca exit code: $?" >> <path>When it finishes, read the file's tail to check the result; repeat its path in your final report.
Add these flags only if the user asks:
--verbose — print a stack trace if the flow aborts.--honor-pin — run the flow's own pinned orca version instead of forcing
this shell's.--branch <name> — create the run's branch under this name. Refused with
--skip-branch, and when the branch already exists.Exit codes: 0 success, 1 action failure, 2 usage error — orca run
propagates the flow's own exit code. On success the flow has committed its
work on a branch; report that branch (and any PR) to the user, and the
worktree path for a --worktree run. The code flows end by opening a PR when
the repository is on GitHub. A new-branch run then leaves you on the branch
it started from — the work is on the feature branch behind the PR, not the
one you are standing on.
Whenever the output has an "Open review findings" block, show it to the user verbatim. Say the review left nothing open only when a code flow exited 0 without one: a failed run may have stopped before printing it.
If a run is interrupted, re-run the same orca run command: flows are
resumable and pick up from the last committed stage. A re-run stashes local
changes, even with --keep-changes.
orca continue (list sessions with --list, resume one by selector —
an id from --list, session name, or branch, e.g. orca continue <branch>)
reattaches to a recorded harness session, but requires a real terminal and
errors without one — don't invoke it headlessly; tell the user to run it
themselves instead.
© VirtusLab, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 2 other files in skills/orca of VirtusLab/orca.
Open the folder on GitHubat commit e5f1c41
Orca 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Orca this skillVirtusLab/orca | 180 | — | ~1.4k | Automated safety check: Pass | Apache-2.0 | |
| GitHub Review Iterationprisma/orm | 48k | — | ~2.2k | Automated safety check: Pass | Apache-2.0 | |
| Cherry Studio PR ReviewCherryHQ/cherry-studio | 52k | — | ~3.9k | Automated safety check: Pass | AGPL-3.0 | |
| Review Triage Phaseprisma/orm | 48k | — | ~995 | Automated safety check: Pass | Apache-2.0 | |
| Deep Reviewdyad-sh/dyad | 22k | — | ~1.4k | Automated safety check: Pass | Custom licence | |
| PR Reviewjaemk/self_update | 961 | — | ~1.5k | Automated safety check: Notes | MIT |
prisma/orm
Runs a loop on a GitHub pull request: fetch review state, triage comments into actions, implement them and resolve threads, repeating until nothing actionable is left.
CherryHQ/cherry-studio
Reviews Cherry Studio branches, pull requests, commits, files and docs against the project's own architecture, naming, API-boundary and UI rules, report-only by default.
prisma/orm
Runs the triage step of the review-framework loop: reads fetched PR review state, builds `review-actions.json`, validates it and renders `review-actions.md`.
dyad-sh/dyad
Deep multi-agent code review run locally — a fleet of parallel finder agents reviews the diff from independent angles, then adversarial verifier agents reproduce each finding before it is reported.
jaemk/self_update
Targeted, read-only review of a PR or checked-out branch. An agent skill from jaemk/self_update.
Chachamaru127/claude-code-harness
Hands one implementation task to Cursor Composer in an isolated git worktree, then reviews its diff and cherry-picks the result into the main branch.
Categories
A skill your agent uses when the user asks to run an Orca flow (e.g. Orca is an agent skill from VirtusLab/orca.g.
Orca fits situations like: the user asks to run an Orca flow (e.g; tasks that involve Code review.
Run `npx skills add VirtusLab/orca --skill orca -a claude-code`. Or copy the skill folder (skills/orca in VirtusLab/orca) into .claude/skills/orca in your project. Claude Code loads it when a task matches its description.
Run `npx skills add VirtusLab/orca --skill orca -a codex`. Or copy the skill folder (skills/orca in VirtusLab/orca) into .agents/skills/orca in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add VirtusLab/orca --skill orca -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, .gemini/skills/orca, .github/skills/orca and .opencode/skills/orca in your project.
Going by SKILL.md and its folder, Orca needs the command-line tools its instructions call (git).
SKILL.md names 1 domain. As links in the text: github.com. This is read from the text; nothing was executed.
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.
Orca is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.4k tokens (SKILL.md is roughly 5.4k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Orca: GitHub Review Iteration (prisma/orm, 48k stars), Cherry Studio PR Review (CherryHQ/cherry-studio, 52k stars), Review Triage Phase (prisma/orm, 48k stars) and Deep Review (dyad-sh/dyad, 22k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
VirtusLab (a GitHub organization) maintains it in VirtusLab/orca, which has 180 GitHub stars. The repository was last updated on October 7, 2026.
Source: VirtusLab/orca on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.