Open source · MIT · Claude Code plugin ·v0.27.0

Let the orcs do the work.

The senior-developer workflow as a Claude Code plugin. Plan, test first, QA with evidence, ship, watch CI, release. Hooks keep it off main, out of your git history, and on your machine.

$ curl -fsSL https://raw.githubusercontent.com/HigorAlves/orc/main/cli/install.sh | sh$ orc doctor --fix   # git, jq, and the recommended tools$ orc install   # register the marketplace, enable the plugin
macOS · Linux · restart Claude Code, then type /orc:
claude · ~/acme/relay

❯ /orc:flow add CSV export to the reports page --jira PROJ-142

orc context: repo · branch feat/PROJ-142-csv-export · policy guided

⛔ Gate · triage feature · medium · no RFC · PROJ-142 bound

✓ P3 plan plan.md · 4 slices · est 288 LOC

✓ P4 start worktree · export.test.ts:12 red

✓ P5 implement orc-implementer ×2, parallel

slice 1 a1f3c2e slice 2 9b0e1d4 slice 3 c44a8f0 slice 4 1e7d2b9

✓ P6 qa playwright · staging · 5/5 criteria pass · qa-feat.webm

📋 Preview · PR feat(reports): add CSV export +276 −12 · 288 ≤ 300 LOC

✓ P7 ship #128 opened · Resolves PROJ-142

✓ CI 4/4 checks green

➡ Next address review on #128, or /orc:retro

orc flow 7/9 ship │ PROJ-142 │ slices 4/4 │ guided │ ⎇ feat/PROJ-142-csv-export │ #128 ✔ checks Opus 5.5 high │ ctx ▓▓▓▓▓▓░░░░ 58% │ $3.12 +276/−12
skills
87
slash commands
29
subagents
14
guard hooks
10
telemetry
0
orc:flow · the loop

One command from “I want X” to a merged PR.

Run each step yourself, or let /orc:flow drive all of them with a gate at every decision. Every phase writes to .orc/, so an interrupted session picks up with /orc:resume.

Plan

A TDD-shaped plan, sliced into tracer bullets that each fit one context window.

  1. Triage the request: feature, bug or refactor.
  2. Draft the plan against the codebase graph.
  3. Slice it; each slice declares its files and acceptance criteria.
  4. Approve the plan at the gate.
.orc/feat-PROJ-142/files/
├── plan.md            4 slices · est 288 LOC
├── slices.json        pending ×4
└── decisions.json     type=feature scope=medium
hooks/mod · the cockpit

Watch the work happen inside Claude Code.

The orc mod draws the flow into the app itself: a progress band above the prompt, a live row per agent, a docked cockpit with every file touched and the blast radius, and alerts that stop you before anything risky. Rich graphics on Claude Desktop, plain text in the terminal, same data underneath.

ChatCode
/orc:flow add CSV export to the reports page --jira PROJ-142

Plan approved: four slices, 288 lines. Slices 1 and 2 are committed. Slices 3 and 4 touch separate files, so two implementers run them in parallel.

orc-state slice set 3 --status red · slices 2/4
Agentsorc-implementer on slice 3: green, running the suite, 41% context, $0.62, 3m12sorc-implementer on slice 4: red, writing the test, 18% context, $0.21, 1m05s
orc flow 5 of 9, implement, slices 2 of 4 done, 2 running
Reply to Claude…
orc flow · implement · ⏎ to steer the implementers
context 58% used
orc · guidedOpus 5.5 · high
AbovePrompt · CI watcher
CI red on #128: lint, e2e
A linked PR turns red; the band names the failing checks. Diagnose hands it to /orc:ci. It never pushes or posts on its own.
AbovePrompt · destructive git
git clean would remove dist, coverage, .env.local and a fixture
Before git clean, reset --hard or a force-push, the band shows exactly what would be lost, next to the confirm prompt.
AbovePrompt · sentinel
Heads up: edit to src/billing/plan.ts is outside slice 3
An edit outside the slice's declared files, or a slice outgrowing its line budget, raises a heads-up while there is still time to steer.
AbovePrompt · cache
Cache cools in 6 minutes; re-write about 142k tokens, about $1.84
A long wait on an agent is about to let the prompt cache expire. The band says what the re-write will cost before you step away.
AbovePrompt · retro
Retro: use pnpm, not npm, in this repo; seen twice
A correction you made twice becomes a proposed rule. Save it, edit it, or skip it; /orc:retro picks up the rest.
AskUserQuestion · gate badge
Post · outwardPlan · inward
Gate badges
Every gate carries a chip for its class. Outward gates, which post to GitHub or a tracker, always ask, whatever the autopilot level.

Graphics above are rendered by orc's mod code (orc/hooks/mod/*/svg.ts) with sample data; the window around them is illustrative. Needs Claude Code 2.1.287 or later with mod_enabled on (the default). Turn the mod off and every guardrail still runs from the bash hooks.

orc:map · the router

Say what happened. orc picks the command.

Every situation a working day throws at you has one entry point. Type the situation, or ask /orc:map inside Claude Code.

Routing you can measure

Each command carries a when_to_use trigger. Eval cases check every night that natural phrasing reaches the right one.

Agents with one job

Investigators read and report; executors change the tree. A reviewer never edits, an implementer never posts.

Ends in a retro

/orc:retro turns a session's friction into a lint rule, a pointer, or a coding standard, so the next one starts better.

hooks/scripts · the guardrails

Rules the model cannot talk its way past.

Every guardrail is a short shell script Claude Code runs as a real hook. Read them in five minutes, diff them by tag, and trust what you read.

pre-commit-branch-check.sh
Off main, always
A commit or push on main, master or develop stops at a confirm prompt. No env-var escape.
pre-commit-no-ai-attribution.sh
Your history stays yours
Commits and PRs carrying Co-Authored-By: Claude or "Generated with" are refused outright.
pre-destructive-git-check.sh
Destructive git asks first
reset --hard, clean -f, branch -D and force-push need a keystroke. Lease-protected pushes pass.
no backend
100% local
No orc servers and no telemetry. Network use is GitHub for releases and the MCP servers you add.
/orc:qa
Evidence, not adjectives
"QA passed" needs a packet: per-criterion screenshots, a recording, console, HAR and narrated steps.
pr-size-budget
PRs a human can review
Over 300 lines, orc stacks the branch or asks you to record why. It never ships big silently.
pre-git-guard.sh · smoke-tested in CI
A guard that cannot run does not let you through.
Missing jq, a deleted check, or a crashing script turns into a question, never a silent allow. CI deletes and breaks the checks on purpose to prove it.
$ git commit -m "fix: retry"   # jq missing
ask  orc guards need jq and it is not
     on PATH. Failing closed.
     Install it (orc doctor --fix) or
     confirm this command deliberately.
ADR 0007 · the authoring standard

Written like a maintenance manual, because an agent reads it like one.

orc's commands follow the rules aircraft manuals use so a stranger performs a procedure exactly: controlled vocabulary, short verb-first steps, warnings before the step, and small modules loaded one phase at a time. A lint enforces it on every PR.

Before · prose a model interprets

5. Self-contradiction detection. For each agent's summary, scan for the strings approve, lgtm, looks good, no concerns, non-blocking (case-insensitive). If matched AND any finding from that agent has severity in bug, security, api-surface → record a warning to surface in the preview, which should then be shown to the user.

After · <!-- orc:code-review/P4 -->

CAUTIONAgents never decide the review event. Step 8 computes it.
  1. Scan each agent summary for an approval phrase.
  2. If it matches and the agent has a blocking finding, record a Caution.
  3. Compute the event from the severities.
NOTEApproval phrases: approve, lgtm, looks good, no concerns, non-blocking.
15

words, at most, in a procedural step. One action each.

0

unapproved words: should, might, ensure, leverage.

6 KB

command entry. Later phases load as modules.

−3k

always-on characters per session after the rewrite.

Zug zug.

Three commands from zero to a working orc. Restart Claude Code and type /orc:.

curl -fsSL https://raw.githubusercontent.com/HigorAlves/orc/main/cli/install.sh | sh