Orca
The most drift-proof skill design tested here: 80-line discovery stubs whose full guides are served version-matched by the binary itself.
Orca pairs a 50,937-star Electron fleet orchestrator with the strongest anti-drift skill architecture GearScope has tested: 8 stubs that deliberately list no commands and defer to full guides compiled into the CLI binary. The skill surface is demand-proven (orca-cli at 160,256 skills.sh installs) and engineered with unusual rigor (sha256 freshness manifests, a 13-job skill-update CI matrix, 54-of-54 guide-to-spec command consistency). Install the skills only alongside the desktop app: without the 205MB application the stubs are honest empty shells.
$npx skills add stablyai/orca --skill orca-cli --agent hermes-agent --copy --yes
$npx skills add stablyai/orca --all --agent hermes-agent --copy --yes
$orca skills install --skill orca-cli --agent claude
resolves to npx skills add with non-interactive flags
install if
- Developers running 2 or more coding agents in parallel on the same repo. The worktree-plus-handoff-plus-orchestration loop is exactly the pain this addresses, and the skills make the fleet scriptable instead of click-driven.
- Teams standardizing mixed agent stacks (Codex plus Claude Code plus others under one subscription each). Orca is agent-agnostic by design and lists Hermes Agent among supported CLIs, with skills installable to whichever agent targets the skills CLI supports.
- Agent-skill authors studying packaging craft. The stub-plus-binary-served-guide pattern, the sha256 freshness manifest, and the cross-platform update CI are a working reference for how to keep skill docs from drifting.
skip if
- Anyone without the desktop app. The 8 skills exist to drive Orca-managed state; with no app installed they are routing stubs that correctly refuse to improvise. There is no standalone CLI to salvage partial value.
- Headless-server-only users unwilling to install a GUI stack. The documented
orca servepath still starts from the full app install; a slim CLI-only distribution does not exist. - License-sensitive redistributors. Until the Apache-2.0 frontmatter on the two emulator skills is reconciled with the MIT repo license, automated policy checks will flag the pack as mixed-license.
What It Does
Orca is an open-source (MIT) Electron desktop application for running a fleet of parallel coding agents: it puts Codex, Claude Code, OpenCode, Pi, Hermes Agent, and 20-plus other CLI agents side by side, each in its own git worktree, tracked in one window with terminals, diff review, and a mobile companion app. The repo also ships 8 Agent Skills (orca-cli, orchestration, computer-use, orca-linear, linear-tickets, orca-emulator, orca-emulator-android, orca-per-workspace-env) that let the agents inside Orca drive Orca itself: create worktrees, hand work to each other, coordinate task DAGs, operate desktop apps, and update Linear tickets. The skills target developers and teams who run multiple agents concurrently and want the orchestration scripted rather than herded by hand. Stably AI has shipped it at a remarkable pace: created 2026-03-17, now at 50,937 stars, 3,520 forks, and release v1.4.188 on the day of this review.
The architectural idea worth knowing about: each SKILL.md is a 73-to-83-line "discovery stub" that deliberately contains no command reference. The stub routes on rich trigger phrases, then tells the agent to run orca skills get , which prints the full usage guide compiled into the exact binary that will run the commands. The guides therefore cannot drift from the CLI that executes them, because they are generated from and bundled with the same source tree (src/cli/bundled-skill-guides.ts is machine-generated by config/scripts/generate-bundled-skill-guides.mjs).
The Good
The anti-drift stub-plus-bundled-guide design is the smartest skill packaging GearScope has tested. Every other skill pack reviewed here ships usage docs as static markdown that ages as the tool moves; Orca's stubs age like the routing layer they are. The repo backs the claim with machinery: skill-guides/ holds 2,499 lines of full guides (155 to 777 lines per skill), resources/skills/current-manifest.json pins every skill to per-file sha256 digests and per-skill release revisions (5 to 37, showing real independent release history per skill), and all 8 digests matched the working tree in our run. The generated bundled-skill-guides.ts embeds all 8 guides, so orca skills get serves the version-matched text offline.
The guides document exactly the implemented command surface, verified command by command. We extracted every orca invocation from the orca-cli guide (54 distinct group-plus-sub commands) and every orca orchestration invocation (23 commands) and checked each against the 232 command paths declared in src/cli/specs/*.ts: 54 of 54 and 23 of 23 are declared. The stub's promise that the served guide matches the binary holds at the static level, and the guide content itself is unusually disciplined (verified/unverified action semantics in computer-use, worker_done lifecycle rules and circuit breakers in orchestration, a full error taxonomy per command group).
Demand is real and measurable on the skills.sh registry. API-verified all-time installs: orca-cli 160,256, orchestration 121,914, computer-use 89,861, orca-linear 7,763, orca-per-workspace-env 3,445, orca-emulator 1,257, orca-emulator-android 1,060, linear-tickets 869. That is roughly 386K installs across the pack, for a skill surface that exists to drive a desktop app people must already have installed. Release downloads corroborate: v1.4.185 assets alone show 91,687 downloads of the arm64 mac zip and 45,734 of the Windows setup exe.
Install-path integrity is exact, and the update pipeline is CI-tested. npx skills add stablyai/orca --skill orca-cli --agent hermes-agent --copy --yes landed a SKILL.md byte-identical to the upstream copy plus a 261-byte skills-lock.json; the all-8 install landed 8 of 8 directories. Upstream, the skill-update-roundtrip.yml workflow runs a 13-job matrix (3 operating systems x symlink/copy x autocrlf variants, plus a canary job on the latest skills CLI) to prove skill updates converge on every platform shape. The repo carries 30 CI workflows total, including e2e, crash-survival, terminal-perf, and an LOC ratchet.
The engineering mass behind the skills is unusual. src/ alone holds 14,053 TypeScript files at 2.82M lines, including 5,968 test files (1.48M test lines), with 38,949 lines across 203 files and 90 test files in src/cli alone. The CLI's CommandSpec pattern (232 declared command paths with usage, flags, notes, examples) is what made our guide-to-spec audit possible at all; most skill packs provide nothing equivalent to audit against.
The Bad
Two of the eight skills declare a license that contradicts the repo. skills/orca-emulator/SKILL.md and skills/orca-emulator-android/SKILL.md carry license: Apache-2.0 in their frontmatter, while the repo LICENSE is MIT (Copyright Lovecast Inc.) and the other six skills declare no license field at all. The likely explanation is inherited licensing from emulator tooling, but as shipped, automated license scanners will read the pack as mixed-license, and the six skills with no field leave default copyright in place for anyone who cares about formal reuse.
There is no standalone CLI, so outside the desktop app the skills are routing stubs and nothing more. The orca binary ships inside the 205MB app install; @stablyai/orca, orca-cli, and orca-ide are all unpublished on npm (the bare name orca on npm belongs to Plotly's image-export utility, v1.3.1). An agent holding orca-cli on a machine without the app can do exactly what the stub says: report the error and stop. Headless-server users get a documented path (orca serve plus the headless Linux guide), but it still starts from the app install. If you wanted the skills without the app, there is nothing to have.
Repo hygiene shows the strain of a 5-month, 50K-star sprint. Open issues plus PRs stand at 4,401 (8.6 percent of stars), the main-branch package.json reads 1.4.178-rc.2 while the release tag is v1.4.188 (releases are cut from branches, so this is trunk-based drift rather than a bug, but consumers pinning by repo state will notice), and the 292MB clone with 100 devDependencies makes from-source contribution a heavyweight affair. None of this touches the skill pack directly; all of it affects what surrounds the skill pack.
The stubs carry no version stamp of their own. Version matching is delegated to the binary-served guides (a defensible design), but the installed SKILL.md gives no signal of which guide generation it pairs with, and the frontmatter has no version field for tooling that tracks skill updates by metadata rather than by the freshness manifest.
Smoke Test Results
We ran three host-based passes on macOS 26.5.2 (aarch64, Node 24.13.1): a fresh install into an isolated HOME via the community skills CLI, a structural pass against the cloned repo, and a functional pass asking what the skills can do without the desktop app. The repo was cloned at v1.4.188-era main (292MB, 16,623 files).
Run A - Fresh host, no repo preinstalled
$ npx --yes skills add stablyai/orca --skill orca-cli --agent hermes-agent --copy --yes
β
exit 0
$ wc -l .hermes/skills/orca-cli/SKILL.md
β
79 lines landed at .hermes/skills/orca-cli/SKILL.md, skills-lock.json written (261 bytes)
$ diff .hermes/skills/orca-cli/SKILL.md /tmp/orca-review/skills/orca-cli/SKILL.md
β
byte-identical to the upstream repo copy
$ npx --yes skills add stablyai/orca --all --agent hermes-agent --copy --yes
β
exit 0
$ ls .hermes/skills
β
8 of 8 skill dirs: computer-use linear-tickets orca-cli orca-emulator orca-emulator-android orca-linear orca-per-workspace-env orchestration
Pass rate: 5 of 5. The skills-CLI install path is clean and exact; the Hermes Agent target receives byte-identical content.
Run B - With deps preinstalled (repo cloned, Node 24)
$ node orca-validate.js # structural validation of the 8-skill pack
β
10 of 10: 8 skills, 8/8 frontmatter names match dirs, 8/8 routed descriptions (424-813 chars), 8/8 stub contracts, 8/8 skill-stubs byte-identical to SKILL.md bodies, 8/8 guides present, manifest sha256 8/8, bundled guides 8/8
$ node orca-guidecheck.js # GUIDE1: orca-cli guide vs CLI specs
β
54 of 54 group+sub commands declared in src/cli/specs (232 total command paths)
$ node orca-guidecheck.js # GUIDE2: orchestration guide vs CLI specs
β
23 of 23 orchestration commands declared
$ grep -A1 "^SURF" orca-guidecheck.out # the skills surface the stubs defer to
β
skills get / list / install / installed / share all DECLARED
$ find src -name "*.test.ts" -o -name "*.test.tsx" | wc -l
β
5,968 test files in src/ (14,053 TS/TSX files, 2.82M LOC; src/cli 38,949 LOC across 90 test files)
$ grep -rn "^license:" skills/
β orca-emulator and orca-emulator-android declare license: Apache-2.0; repo LICENSE is MIT; other 6 skills declare none
$ curl -s "https://skills.sh/api/search?q=orca"
β
orca-cli 160,256 all-time installs (orchestration 121,914, computer-use 89,861)
Pass rate: 6 of 7. The single failure is the license-field inconsistency, a real packaging defect, not a test artifact. This is the canonical install-integrity verdict for the badge: the pack installs, hashes, and documents exactly what it claims, with one metadata bug.
Run C - Functional verification (does the skill do what it claims without the app?)
$ wc -l skill-guides/orca-cli.md && grep -c "generated" src/cli/bundled-skill-guides.ts
β
412-line full guide exists in-repo and is embedded in the CLI binary via the generated bundler
$ grep -c "report its exact error and stop" skills/orca-cli/SKILL.md
β
stub mandates safe failure (never fall through to another executable; GNOME screen-reader collision documented)
$ grep -c "npx skills add" src/cli/specs/skills.ts
β
orca skills install resolves to npx skills add with non-interactive flags, per CommandSpec notes
$ npm view @stablyai/orca version; npm view orca-cli version; npm view orca-ide version
β no standalone Orca ADE CLI on npm (all 404; bare `orca` on npm is Plotly's image-export utility)
$ curl -sI https://github.com/stablyai/orca/releases/latest/download/orca-macos-arm64.dmg
β
HTTP 302 to the 205MB day-of-review artifact
$ grep -c "hermes-agent.nousresearch.com" README.md
β
Hermes Agent listed among 25+ supported CLI agents
$ ls docs/readme | wc -l
β
6 README translations (zh-CN, ja, ko, es, fr, pt)
$ ls .github/workflows | wc -l
β
30 CI workflows incl. the 13-job skill-update roundtrip matrix (skills CLI 1.5.17 pinned + latest canary)
Functional pass rate: 7 of 8. The failing check is the missing standalone CLI, which is the honest headline of this review: everything verifiable without the GUI app checks out, and the one thing that cannot be checked is the binary-served guide path itself.
What the runs tell you
The skill pack installs perfectly and is internally consistent to a degree most packs do not attempt (sha256-pinned manifests, zero guide-to-spec drift across 77 audited commands). But the skills are companion pieces to the desktop app: their core runtime promise, serving a version-matched guide from the binary, requires the 205MB application, and no lighter artifact exists to verify that path headlessly.
Setup Walkthrough
- Install the desktop app first:
brew install --cask stablyai/orca/orcaon macOS, or grab the DMG, Windows setup exe, or Linux AppImage/deb/rpm from the releases page (137 to 211MB per artifact). The app is the runtime every skill drives. - Launch it and open a repo; Orca sets up worktrees and detects installed CLI agents. Any terminal agent works, and the README's supported list includes Claude Code, Codex, Grok, Cursor, OpenCode, Amp, and Hermes Agent.
- Install the skills into your agents, either from Orca Settings or with
orca skills install --skill orca-cli --agent(which the CLI resolves tonpx skills add stablyai/orca --skill orca-cliwith non-interactive flags), or directly withnpx skills add stablyai/orca --all --agent hermes-agent --copy --yes, the path we verified byte-identical. - Mind the executable resolution the stubs teach: inside Orca-managed terminals,
orcais the CLI everywhere; on Linux outside those terminals useorca-ide, because bareorcais normally the GNOME screen reader and running it starts speech output. - In an agent session, the stub routes on phrases like "spawn codex in a worktree" or "full handoff", then the agent runs
orca skills get orca-clifor the version-matched guide and operates with--jsonoutput.
Post-install gotcha: if you install the skills on a machine without the app, the stubs correctly instruct the agent to report the missing executable and stop rather than improvising with git worktree commands.
Alternatives
- affaan-m/ECC: a 278-skill cross-harness configuration bundle for 14 agent targets; gives you rules and skills but no runtime, where Orca is a runtime with a small deep skill set.
- callstack/agent-device: GearScope-reviewed mobile-device automation for agents (iOS, Android, emulators); overlaps with Orca's emulator skills but targets app verification rather than fleet orchestration.
- levi-qiao/octopus-skill: orchestration as a markdown library with a ledger and supervisor pattern; a runtime-free methodology for long-horizon coordination if you cannot run a desktop app.
- Plain tmux plus git worktrees: the zero-dependency baseline Orca productizes; still the right answer for a single agent and a single terminal.
Reviews stay honest because nobody pays us to publish them. If this one saved you time, throw a coin.
Tip the reviewer- reviewed by
- GearScope
- tested
- 2026-08-22 · macOS (Apple Silicon)
- last verified
- 2026-08-22
- depth
- HANDS-ON
- sponsorship
- none, ever
Don't install your next skill blind.
Every week: the shortlist of skills worth installing β and the ones to skip β from 100+ hands-on tests. No spam, no affiliate links.