OpenRig is a software harness that coordinates Claude Code and Codex coding agents as one system, with agent teams defined in YAML and launched together. It is for organizing persistent teams of coding agents that can delegate work to specialists and return results or decisions. The catalogue lists 53 skills and one plugin as add-ons for OpenRig.
Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add mvschwarz/openrig --skill openrig-upgradegit clone --depth 1 https://github.com/mvschwarz/openrigWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/mvschwarz/openrig/openrig-upgrade)<a href="https://agentmods.dev/skills/mvschwarz/openrig/openrig-upgrade"><img src="https://agentmods.dev/badge/skills/mvschwarz/openrig/openrig-upgrade/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/mvschwarz/openrig/openrig-upgrade"><img src="https://agentmods.dev/badge/skills/mvschwarz/openrig/openrig-upgrade.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00043 | $0.02662 |
| Opus 5.5 | $0.00017 | $0.01065 |
| Sonnet 5.5 | $0.00009 | $0.00532 |
| Haiku 4.5 | $0.00004 | $0.00266 |
Grade A, and why
openrig-upgrade scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 275 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Upgrade OpenRig
An upgrade is an observed agent workflow, not a transaction hidden behind one command. Hosts differ, process state drifts, local plugin files accumulate, and the useful response to a failed step depends on what is still alive.
The agent owns the sequence. Stop after every mutation and observe the actual effect before choosing the next step. There is deliberately no end-to-end upgrade subcommand.
Safety model
Keep these planes separate:
- Seats normally live in tmux and can survive a daemon restart.
- The daemon, database, wrappers, and managed plugin projection are the control plane being changed.
rig downtears down seats. It is not part of a continuity-preserving upgrade.
Before acting, name the rigs and seats whose continuity matters. On a production host, use the host's normal operator ceremony. On a recovery-friendly build VM, the orchestrator may adopt a tested runtime directly, but still observes each step and stops on unexplained drift.
When recovery crosses an instance boundary
Before either lane changes runtime state, record one host-qualified executor and explicitly select the queue store that owns the recovery ruling. State whether the original owner continues, waits, or transfers; an open obligation in another store is not exclusive custody of this ruling. If the original store is down, retain its owner's disposition in the surviving ruling and communicate it to that owner before a competing executor acts.
A refused claim means reconcile ownership with the ruling owner before any further runtime action; it does not authorize continuing under a separate older row. A return names the full executor address and deliberately selected store. Read the resulting row there, including source, destination, body, and the original owner's disposition, before resuming. Receipt creation alone does not establish that a waiting lane received or accepted the transfer.
The loop
For every step:
- Inspect. Derive current facts from the live host.
- Decide. Choose one bounded mutation and state its expected effect.
- Act once. Do not bundle the next mutation with it.
- Observe. Check the process, listener, database, plugin, and seat surfaces that the step could have changed.
- Continue, adapt, or stop. A failed expectation is information for the agent, not permission for a blind retry.
What ships with it
4 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 2d ago Changed · +6 lines 5653ccb547ef
- 18d ago Changed · +2 lines 0ddbe16d8c93
- 1mo ago Changed · +16 lines c3555c66abe0
- 1mo ago Changed · +81 lines 986be9d3ede0
- 1mo ago Changed · -235 lines · +2 tokens per session 818538363e60
- 1mo ago First seen · 405 lines · 41 tokens per session scan A 797d6e4c9524
openrig-upgrade is a skill published in the GitHub repository mvschwarz/openrig (8,192 stars, last pushed today), licensed Apache-2.0. It adds 43 tokens to every session and 2,662 once invoked, about $0.0002 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
metis
A task-routing and checking workflow for explicitly requested Metis work. It assigns work to defined roles, records checks, and limits recovery when something fails.
metis-browser
Control Metis Desktop Inspector built-in browser for local preview (HTML/SVG/file paths), page interaction, accessibility snapshots, and screenshots. Use when the user asks to open, show, preview, inspect, click, type, or verify UI in the in-app/built-in browser. Prefer browsernavigate over bash…
dynamic-resources
Example skill loaded from resourcesdiscover.
interview
Ask one useful structured question at a time only when material product/implementation choices are genuinely missing; remember answers and produce a brief/spec. Discoverable facts should be investigated instead of asked.
verify
Exercise the real app/API/CLI and collect observable evidence; tests alone do not count as end-to-end verification.
swarm-pr-review
Run a graph-guided, tool-augmented PR review using context packing, parallel exploration, mandatory repository-agnostic risk-family coverage with dispatch scaled to diff size and risk, independent reviewer validation, critic challenge, and metrics writeback. Use for deep pull request review with low false-positive…