workshop: review round: exclude /.openrig/, drop the plugin, roster

- The exclude lists (README, bundle.yaml, the lead) add /.openrig/: OpenRig's
  Claude Code adapter copies its context collector and activity relay into
  <cwd>/.openrig/. They drop .codex/: the Codex adapter writes there only to
  project a selected plugin, and the profiles no longer select one.
- The Claude Code and Codex profiles no longer select the openrig-core plugin.
  Their skills already arrive in each seat's skill folder; the plugin added a
  second copy that neither runtime loads.
- The TUI skill points to rig terminal open and rig terminal --help instead of
  a skill this rig doesn't ship.
- Every seat's start steps and the README end with the roster line. At first
  start the lead writes <workspace.root>/rosters/workshop.json from the live
  seats' addresses and hosts, unless a workshop roster already exists.
- The preconditions drop the daemon-start note: rig context add starts the
  local daemon itself in OpenRig 0.6.6, which this rig needs anyway.
This commit is contained in:
OpenRig contributors committed 2026-10-05 19:18:58 +00:00
1 parent e602570677
commit 1769ad1bd3
7 files changed
+58 -24

No files matched your search

+7 -6
View File
@@ -28,11 +28,11 @@ repository's own `developing-openrig` skill.
- To publish the pull request: a GitHub account that can fork repositories and
open pull requests, with push credentials configured on this machine.
Keep OpenRig's files out of your commits. OpenRig writes instruction files and
settings into your clone. From the root of your clone:
Keep OpenRig's files out of your commits. OpenRig writes instruction files,
settings and helper scripts into your clone. From the root of your clone:
```sh
printf '%s\n' CLAUDE.local.md AGENTS.md .codex/ .claude/settings.local.json >> .git/info/exclude
printf '%s\n' CLAUDE.local.md AGENTS.md /.openrig/ .claude/settings.local.json >> .git/info/exclude
```
This file is local to your clone and is never committed. It applies to the
@@ -43,9 +43,7 @@ repository already tracks: if yours tracks `AGENTS.md` or `CLAUDE.local.md`,
OpenRig's block shows up as a change to it, and the seats keep that file out of
their commits.
Optional: add OpenRig's public context pack, so the seats load it at start. It
needs the OpenRig daemon running; if `rig context add` stops with "Daemon not
running.", run `rig daemon start` and add it again:
Optional: add OpenRig's public context pack, so the seats load it at start:
```sh
rig context add --git https://github.com/mvschwarz/openrig-world
@@ -83,6 +81,9 @@ it with your name if you want the lead to know who sent it:
rig send orch-lead@workshop "Please take issue #<number>: <one line on what you want>"
```
At first start the lead also publishes the team's roster, `<workspace.root>/rosters/workshop.json`,
if there isn't one yet. Need expertise your team lacks? `rig roster find <topic>` lists who to ask and why.
Stop the team with `rig down workshop`. That removes OpenRig's blocks from
`CLAUDE.local.md` and `AGENTS.md`. The seats' git worktrees under `.worktrees/`
stay; remove them with `git worktree remove` when you are done.
+2 -2
View File
@@ -1,8 +1,8 @@
# Pi skill inputs
`lead-pi`, `builder-pi`, `code-reviewer-pi` and `qa-pi` reuse the rig's
roles and explicitly select skills. They do not select the Claude/Codex plugin
or Claude activity hooks. The recommended profiles retain those selections.
roles and explicitly select skills. They do not select the Claude activity
hooks, which the Claude Code and Codex profiles keep.
`skills/` is generated, not an independently maintained skill library. Its
canonical sources are the public OpenRig product's bundled `openrig-core`
-11
View File
@@ -44,13 +44,6 @@ resources:
# at 0e3fd0cfeeea6ed0081e5ee0e169d8521dd3750e, with its LICENSE beside it.
- { id: ponytail, path: bundle-skills/ponytail }
- { id: using-the-tui-together, path: bundle-skills/using-the-tui-together }
plugins:
# OpenRig's operating skills (openrig-user, queue-handoff and others),
# the same plugin the shipped starters use.
- id: openrig-core
source:
kind: local
path: "openrig-home:plugins/openrig-core"
runtime_resources:
# Turns on activity reporting for Claude Code seats. Codex seats skip it.
- id: claude-activity-hooks
@@ -66,7 +59,6 @@ profiles:
uses:
# The Claude Code and Codex roles share this list (see the note at the top).
skills: &seat-skills [agent-operated-software, agent-operated-workflows, applying-a-permission-policy, claude-compaction-restore, delegating-work, forming-an-openrig-mental-model, loading-addressable-markdown, messaging-the-human, mission-slice-sop, openrig-operating-model, openrig-user, orienting-to-an-inherited-seat, ponytail, queue-handoff, refocusing, retiring-and-inheriting-a-seat, seat-continuity-and-handover, session-compaction-and-restore, using-the-tui-together]
plugins: [openrig-core]
runtime_resources: [claude-activity-hooks]
startup:
files:
@@ -81,7 +73,6 @@ profiles:
runtime: claude-code
uses:
skills: *seat-skills
plugins: [openrig-core]
runtime_resources: [claude-activity-hooks]
startup:
files:
@@ -96,7 +87,6 @@ profiles:
runtime: codex
uses:
skills: *seat-skills
plugins: [openrig-core]
runtime_resources: [claude-activity-hooks]
startup:
files:
@@ -111,7 +101,6 @@ profiles:
runtime: codex
uses:
skills: *seat-skills
plugins: [openrig-core]
runtime_resources: [claude-activity-hooks]
startup:
files:
@@ -32,8 +32,8 @@ and let them answer it.
- `rig tui` opens the TUI in the current terminal.
- `rig tui --shared` joins the shared TUI that OpenRig's kernel rig runs, so you and the person see the same screen.
Detach with Ctrl-b d.
- To show the seats' own terminals beside it, `rig terminal open <rig>` opens each live seat as a tile, if herdr is
installed. The `openrig-herdr` skill covers that, including what to do when herdr isn't there.
- To show the seats' own terminals beside it: `rig terminal open <rig>` opens each live seat as a tile if herdr is
installed; `rig terminal --help` has the options.
## Drive it, saying what you're doing
+44 -1
View File
@@ -8,7 +8,7 @@ builder, and keep the pull request's description true until it is published.
## First, keep OpenRig's files out of commits
When you start, check that the clone's `.git/info/exclude` lists
`CLAUDE.local.md`, `AGENTS.md`, `.codex/`, `.claude/settings.local.json` and
`CLAUDE.local.md`, `AGENTS.md`, `/.openrig/`, `.claude/settings.local.json` and
`gate-lane-verdict.json`, and add any that are missing, one per line. OpenRig
and its tools write these into the clone, and some stay after `rig down`. The exclude file keeps them out of `git status` and
commits, and is never committed itself.
@@ -28,6 +28,49 @@ a change to it: keep that file out of every commit, and tell the builder.
Tell the person what you added.
## Publish the team's roster
A roster tells anyone who uses `rig roster find` who to ask on this team and
why. Write one the first time you start, and never replace one that exists:
1. Run `rig roster list`. If it shows a roster with id `workshop`, stop here.
2. The file is `<workspace.root>/rosters/workshop.json`; `rig config get
workspace.root` gives the root. If the file exists, stop here too. Create
the `rosters/` folder if it is missing.
3. Run `rig ps --nodes --rig workshop --json --fields canonicalSessionName,hostSelfId`.
It gives each seat's exact address and the host that serves it.
4. Write the file with those addresses and hosts, today's date, and yourself as
curator (format: OpenRig's `docs/reference/rosters.md`):
```json
{
"version": 1,
"id": "workshop",
"name": "Workshop",
"purpose": "Build software in this repository, one pull request at a time",
"curator": { "seat": "<your address>", "host": "<your host>" },
"updated_at": "<YYYY-MM-DD>",
"members": [
{ "seat": "<lead>", "host": "<host>", "capabilities": ["proposing work", "scoping", "pull request descriptions"],
"engagement": ["consult", "delegate"], "use_when": "Deciding what to build next, or scoping a change",
"why": "Leads this team and talks to the person" },
{ "seat": "<builder>", "host": "<host>", "capabilities": ["implementation"],
"engagement": ["delegate"], "use_when": "A scoped change needs building",
"why": "Makes the change on its own branch and runs the repository's checks" },
{ "seat": "<code reviewer>", "host": "<host>", "capabilities": ["code review"],
"engagement": ["review"], "use_when": "A commit needs review against the repository's maps and code",
"why": "Reviews each commit the builder hands off" },
{ "seat": "<QA seat>", "host": "<host>", "capabilities": ["testing", "verification"],
"engagement": ["review"], "use_when": "A change needs its checks run and reported",
"why": "Runs the checks a change calls for and says what each one proved" }
]
}
```
5. Run `rig roster list` to see it listed, then tell the person in one line.
Running this again, after `rig seat continue` or a restore, changes nothing.
## Propose the first piece of work
Unless the person has already given you work:
+1 -2
View File
@@ -14,7 +14,6 @@ preconditions:
- name: Open a shell at the root of your clone of the repository you want to work on, set up the way its README says. Optionally add OpenRig's public context pack, then run the install from that same shell.
commands:
- rig context add --git https://github.com/mvschwarz/openrig-world
- name: "rig context add needs the OpenRig daemon running. rig up starts the daemon by itself, but this step comes first, so if rig context add stops with \"Daemon not running.\", run rig daemon start and then add the pack again."
- name: "Keep OpenRig's files out of your commits: from the root of your clone, add CLAUDE.local.md, AGENTS.md, .codex/ and .claude/settings.local.json to .git/info/exclude (the README has the command). The lead adds any that are missing when it starts."
- name: "Keep OpenRig's files out of your commits: from the root of your clone, add CLAUDE.local.md, AGENTS.md, /.openrig/ and .claude/settings.local.json to .git/info/exclude (the README has the command). The lead adds any that are missing when it starts."
- name: "If you ask Claude Code to do this setup for you, plan to run two steps yourself. In OpenRig's test on macOS with Claude Code 2.1.289, its default auto mode declined adding a permission rule for itself ([Self-Modification]), so add any rule yourself with /permissions or in .claude/settings.local.json; and rig context add --git ([Untrusted Code Integration]), even with an allow rule for that command, so run it yourself."
- name: "Before your first install on a machine, run claude --dangerously-skip-permissions once in your clone, accept its prompts (including Claude Code's bypass warning), then type /exit. Claude Code remembers it, so the seats start without stopping."
+2
View File
@@ -38,3 +38,5 @@ if it has one, and candidate work such as open issues, TODOs and failing tests.
It proposes one item to the person, says why that one, and asks before
starting. Everyone else waits for work. The lead brings it, and an idle seat is
fine.
Need expertise your team lacks? `rig roster find <topic>` lists who to ask and why.