@openrig/cli 0.6.1 → 0.6.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (189) hide show
  1. package/daemon/assets/claude-statusline-context.cjs +11 -2
  2. package/daemon/assets/plugins/openrig-core/skills/applying-a-permission-policy/SKILL.md +66 -13
  3. package/daemon/context-packs/help/manifest.yaml +1 -1
  4. package/daemon/context-packs/onboarding-width/manifest.yaml +1 -1
  5. package/daemon/context-packs/reference/getting-started.md +101 -49
  6. package/daemon/context-packs/reference/manifest.yaml +1 -1
  7. package/daemon/context-packs/skills/agent-operated-software/manifest.yaml +1 -1
  8. package/daemon/context-packs/skills/agent-operated-workflows/manifest.yaml +1 -1
  9. package/daemon/context-packs/skills/applying-a-permission-policy/SKILL.md +66 -13
  10. package/daemon/context-packs/skills/applying-a-permission-policy/manifest.yaml +3 -3
  11. package/daemon/context-packs/skills/claude-compaction-restore/manifest.yaml +1 -1
  12. package/daemon/context-packs/skills/core/agent-starters/manifest.yaml +1 -1
  13. package/daemon/context-packs/skills/core/agent-startup-and-context-ingestion/manifest.yaml +1 -1
  14. package/daemon/context-packs/skills/core/cross-host-rig-commands/manifest.yaml +1 -1
  15. package/daemon/context-packs/skills/core/human-in-the-loop/manifest.yaml +1 -1
  16. package/daemon/context-packs/skills/core/messaging-the-human/manifest.yaml +1 -1
  17. package/daemon/context-packs/skills/core/openrig-architect/manifest.yaml +1 -1
  18. package/daemon/context-packs/skills/core/openrig-cmux/manifest.yaml +1 -1
  19. package/daemon/context-packs/skills/core/openrig-herdr/manifest.yaml +1 -1
  20. package/daemon/context-packs/skills/core/openrig-skills/manifest.yaml +1 -1
  21. package/daemon/context-packs/skills/core/openrig-software-factory/SKILL.md +37 -6
  22. package/daemon/context-packs/skills/core/openrig-software-factory/manifest.yaml +1 -1
  23. package/daemon/context-packs/skills/core/openrig-upgrade/manifest.yaml +1 -1
  24. package/daemon/context-packs/skills/core/rig-bundles-and-shareable-artifacts/manifest.yaml +1 -1
  25. package/daemon/context-packs/skills/core/rig-lifecycle/manifest.yaml +1 -1
  26. package/daemon/context-packs/skills/core/session-source-fork/manifest.yaml +1 -1
  27. package/daemon/context-packs/skills/core/specification-system/manifest.yaml +1 -1
  28. package/daemon/context-packs/skills/core/topology-mutation-and-seat-management/manifest.yaml +1 -1
  29. package/daemon/context-packs/skills/core/watchdog/manifest.yaml +1 -1
  30. package/daemon/context-packs/skills/delegating-work/manifest.yaml +1 -1
  31. package/daemon/context-packs/skills/forming-an-openrig-mental-model/manifest.yaml +1 -1
  32. package/daemon/context-packs/skills/loading-addressable-markdown/manifest.yaml +1 -1
  33. package/daemon/context-packs/skills/mission-slice-sop/manifest.yaml +1 -1
  34. package/daemon/context-packs/skills/openrig-operating-model/manifest.yaml +1 -1
  35. package/daemon/context-packs/skills/openrig-user/manifest.yaml +1 -1
  36. package/daemon/context-packs/skills/orienting-to-an-inherited-seat/manifest.yaml +1 -1
  37. package/daemon/context-packs/skills/pm/backlog-capture/manifest.yaml +1 -1
  38. package/daemon/context-packs/skills/pm/context-builder/manifest.yaml +1 -1
  39. package/daemon/context-packs/skills/pm/exec-summary/manifest.yaml +1 -1
  40. package/daemon/context-packs/skills/pm/office-hours/manifest.yaml +1 -1
  41. package/daemon/context-packs/skills/pm/plan-review/manifest.yaml +1 -1
  42. package/daemon/context-packs/skills/pm/requirements-writer/manifest.yaml +1 -1
  43. package/daemon/context-packs/skills/pm/ui-mockup/manifest.yaml +1 -1
  44. package/daemon/context-packs/skills/pods/development-team/manifest.yaml +1 -1
  45. package/daemon/context-packs/skills/pods/orchestration-team/manifest.yaml +1 -1
  46. package/daemon/context-packs/skills/pods/oversight-team/manifest.yaml +1 -1
  47. package/daemon/context-packs/skills/pods/review-team/manifest.yaml +1 -1
  48. package/daemon/context-packs/skills/process/agent-browser/manifest.yaml +1 -1
  49. package/daemon/context-packs/skills/process/context-engineering/manifest.yaml +1 -1
  50. package/daemon/context-packs/skills/process/dogfood/manifest.yaml +1 -1
  51. package/daemon/context-packs/skills/process/frontend-design/manifest.yaml +1 -1
  52. package/daemon/context-packs/skills/process/systematic-debugging/manifest.yaml +1 -1
  53. package/daemon/context-packs/skills/process/test-driven-development/manifest.yaml +1 -1
  54. package/daemon/context-packs/skills/process/verification-before-completion/manifest.yaml +1 -1
  55. package/daemon/context-packs/skills/queue-handoff/manifest.yaml +1 -1
  56. package/daemon/context-packs/skills/refocusing/manifest.yaml +1 -1
  57. package/daemon/context-packs/skills/retiring-and-inheriting-a-seat/manifest.yaml +1 -1
  58. package/daemon/context-packs/skills/seat-continuity-and-handover/manifest.yaml +1 -1
  59. package/daemon/context-packs/skills/session-compaction-and-restore/manifest.yaml +1 -1
  60. package/daemon/context-packs/skills/software-for-agents/manifest.yaml +1 -1
  61. package/daemon/context-packs/world-example/manifest.yaml +1 -1
  62. package/daemon/context-packs/world-public/manifest.yaml +1 -1
  63. package/daemon/dist/adapters/codex-runtime-adapter.js +1 -1
  64. package/daemon/dist/adapters/codex-runtime-adapter.js.map +1 -1
  65. package/daemon/dist/adapters/pi-runner.d.ts.map +1 -1
  66. package/daemon/dist/adapters/pi-runner.js +5 -0
  67. package/daemon/dist/adapters/pi-runner.js.map +1 -1
  68. package/daemon/dist/adapters/tmux.d.ts +3 -0
  69. package/daemon/dist/adapters/tmux.d.ts.map +1 -1
  70. package/daemon/dist/adapters/tmux.js +68 -17
  71. package/daemon/dist/adapters/tmux.js.map +1 -1
  72. package/daemon/dist/build-info.js +3 -3
  73. package/daemon/dist/domain/bootstrap-orchestrator.d.ts +1 -1
  74. package/daemon/dist/domain/bootstrap-orchestrator.d.ts.map +1 -1
  75. package/daemon/dist/domain/bootstrap-orchestrator.js +18 -0
  76. package/daemon/dist/domain/bootstrap-orchestrator.js.map +1 -1
  77. package/daemon/dist/domain/bundle-source-resolver.d.ts +15 -0
  78. package/daemon/dist/domain/bundle-source-resolver.d.ts.map +1 -1
  79. package/daemon/dist/domain/bundle-source-resolver.js +49 -0
  80. package/daemon/dist/domain/bundle-source-resolver.js.map +1 -1
  81. package/daemon/dist/domain/native-process-lineage.d.ts +7 -3
  82. package/daemon/dist/domain/native-process-lineage.d.ts.map +1 -1
  83. package/daemon/dist/domain/native-process-lineage.js +53 -11
  84. package/daemon/dist/domain/native-process-lineage.js.map +1 -1
  85. package/daemon/dist/domain/restore-orchestrator.d.ts.map +1 -1
  86. package/daemon/dist/domain/restore-orchestrator.js +17 -1
  87. package/daemon/dist/domain/restore-orchestrator.js.map +1 -1
  88. package/daemon/dist/domain/rig-lifecycle-service.d.ts +2 -0
  89. package/daemon/dist/domain/rig-lifecycle-service.d.ts.map +1 -1
  90. package/daemon/dist/domain/rig-lifecycle-service.js +14 -3
  91. package/daemon/dist/domain/rig-lifecycle-service.js.map +1 -1
  92. package/daemon/dist/domain/rig-repository.d.ts +2 -0
  93. package/daemon/dist/domain/rig-repository.d.ts.map +1 -1
  94. package/daemon/dist/domain/rig-repository.js +8 -0
  95. package/daemon/dist/domain/rig-repository.js.map +1 -1
  96. package/daemon/dist/domain/rigspec-instantiator.d.ts.map +1 -1
  97. package/daemon/dist/domain/rigspec-instantiator.js +8 -1
  98. package/daemon/dist/domain/rigspec-instantiator.js.map +1 -1
  99. package/daemon/dist/domain/seat-delivery-guard.d.ts +4 -1
  100. package/daemon/dist/domain/seat-delivery-guard.d.ts.map +1 -1
  101. package/daemon/dist/domain/seat-delivery-guard.js +12 -3
  102. package/daemon/dist/domain/seat-delivery-guard.js.map +1 -1
  103. package/daemon/dist/domain/seat-handover-service.d.ts.map +1 -1
  104. package/daemon/dist/domain/seat-handover-service.js +2 -18
  105. package/daemon/dist/domain/seat-handover-service.js.map +1 -1
  106. package/daemon/dist/domain/seat-identity-reconciler.d.ts +3 -0
  107. package/daemon/dist/domain/seat-identity-reconciler.d.ts.map +1 -1
  108. package/daemon/dist/domain/seat-identity-reconciler.js +29 -1
  109. package/daemon/dist/domain/seat-identity-reconciler.js.map +1 -1
  110. package/daemon/dist/domain/seat-lifecycle-service.js +1 -1
  111. package/daemon/dist/domain/seat-lifecycle-service.js.map +1 -1
  112. package/daemon/dist/domain/seat-status-service.js +1 -1
  113. package/daemon/dist/domain/seat-status-service.js.map +1 -1
  114. package/daemon/dist/domain/session-owner.d.ts +17 -0
  115. package/daemon/dist/domain/session-owner.d.ts.map +1 -0
  116. package/daemon/dist/domain/session-owner.js +29 -0
  117. package/daemon/dist/domain/session-owner.js.map +1 -0
  118. package/daemon/dist/domain/session-transport.d.ts +5 -0
  119. package/daemon/dist/domain/session-transport.d.ts.map +1 -1
  120. package/daemon/dist/domain/session-transport.js +43 -0
  121. package/daemon/dist/domain/session-transport.js.map +1 -1
  122. package/daemon/dist/domain/terminal/herdr-adapter.d.ts +2 -1
  123. package/daemon/dist/domain/terminal/herdr-adapter.d.ts.map +1 -1
  124. package/daemon/dist/domain/terminal/herdr-adapter.js +9 -4
  125. package/daemon/dist/domain/terminal/herdr-adapter.js.map +1 -1
  126. package/daemon/dist/domain/terminal/terminal-provider.d.ts +5 -2
  127. package/daemon/dist/domain/terminal/terminal-provider.d.ts.map +1 -1
  128. package/daemon/dist/domain/terminal/terminal-views-store.d.ts +2 -0
  129. package/daemon/dist/domain/terminal/terminal-views-store.d.ts.map +1 -1
  130. package/daemon/dist/domain/terminal/terminal-views-store.js +1 -0
  131. package/daemon/dist/domain/terminal/terminal-views-store.js.map +1 -1
  132. package/daemon/dist/domain/terminal/view-composer.d.ts +2 -0
  133. package/daemon/dist/domain/terminal/view-composer.d.ts.map +1 -1
  134. package/daemon/dist/domain/terminal/view-composer.js +2 -0
  135. package/daemon/dist/domain/terminal/view-composer.js.map +1 -1
  136. package/daemon/dist/domain/transcript-rotation.d.ts +2 -2
  137. package/daemon/dist/domain/transcript-rotation.d.ts.map +1 -1
  138. package/daemon/dist/domain/transcript-rotation.js +11 -4
  139. package/daemon/dist/domain/transcript-rotation.js.map +1 -1
  140. package/daemon/dist/routes/activity.d.ts.map +1 -1
  141. package/daemon/dist/routes/activity.js +2 -1
  142. package/daemon/dist/routes/activity.js.map +1 -1
  143. package/daemon/dist/routes/require-sender-identity.d.ts +18 -0
  144. package/daemon/dist/routes/require-sender-identity.d.ts.map +1 -1
  145. package/daemon/dist/routes/require-sender-identity.js +31 -2
  146. package/daemon/dist/routes/require-sender-identity.js.map +1 -1
  147. package/daemon/dist/routes/restore-check.d.ts.map +1 -1
  148. package/daemon/dist/routes/restore-check.js +3 -0
  149. package/daemon/dist/routes/restore-check.js.map +1 -1
  150. package/daemon/dist/routes/seat.d.ts.map +1 -1
  151. package/daemon/dist/routes/seat.js +4 -3
  152. package/daemon/dist/routes/seat.js.map +1 -1
  153. package/daemon/dist/routes/terminal-ws.d.ts.map +1 -1
  154. package/daemon/dist/routes/terminal-ws.js +1 -6
  155. package/daemon/dist/routes/terminal-ws.js.map +1 -1
  156. package/daemon/dist/routes/transport.js +3 -2
  157. package/daemon/dist/routes/transport.js.map +1 -1
  158. package/daemon/dist/startup.d.ts.map +1 -1
  159. package/daemon/dist/startup.js +5 -0
  160. package/daemon/dist/startup.js.map +1 -1
  161. package/daemon/docs/reference/getting-started.md +101 -49
  162. package/daemon/docs/reference/rig-bundle.md +24 -8
  163. package/daemon/specs/agents/shared/skills/core/openrig-software-factory/SKILL.md +37 -6
  164. package/daemon/specs/rigs/launch/first-project-claude/CULTURE.md +39 -0
  165. package/daemon/specs/rigs/launch/first-project-claude/rig.yaml +30 -0
  166. package/daemon/specs/rigs/launch/first-project-mixed/CULTURE.md +39 -0
  167. package/daemon/specs/rigs/launch/first-project-mixed/rig.yaml +31 -0
  168. package/dist/build-info.js +3 -3
  169. package/dist/commands/bundle.d.ts.map +1 -1
  170. package/dist/commands/bundle.js +6 -3
  171. package/dist/commands/bundle.js.map +1 -1
  172. package/dist/commands/proof.d.ts.map +1 -1
  173. package/dist/commands/proof.js +45 -4
  174. package/dist/commands/proof.js.map +1 -1
  175. package/dist/commands/remove.d.ts.map +1 -1
  176. package/dist/commands/remove.js +3 -0
  177. package/dist/commands/remove.js.map +1 -1
  178. package/dist/commands/setup.d.ts.map +1 -1
  179. package/dist/commands/setup.js +14 -4
  180. package/dist/commands/setup.js.map +1 -1
  181. package/dist/commands/shrink.d.ts.map +1 -1
  182. package/dist/commands/shrink.js +6 -1
  183. package/dist/commands/shrink.js.map +1 -1
  184. package/dist/commands/up.js +2 -2
  185. package/dist/commands/up.js.map +1 -1
  186. package/package.json +1 -1
  187. package/tui/dist/hydrate.d.ts.map +1 -1
  188. package/tui/dist/hydrate.js +3 -2
  189. package/tui/dist/hydrate.js.map +1 -1
@@ -95,13 +95,22 @@ function normalizeRateLimits(value) {
95
95
  for (const key of ["five_hour", "seven_day"]) {
96
96
  const window = value[key];
97
97
  if (!window || typeof window !== "object" || Array.isArray(window)) continue;
98
+ const resetsAt = typeof window.resets_at === "number"
99
+ ? unixSecondsToIso(window.resets_at)
100
+ : window.resets_at;
98
101
  if (typeof window.used_percentage !== "number" || !Number.isFinite(window.used_percentage)
99
- || typeof window.resets_at !== "string") continue;
100
- result[key] = { usedPercent: window.used_percentage, resetsAt: window.resets_at };
102
+ || typeof resetsAt !== "string") continue;
103
+ result[key] = { usedPercent: window.used_percentage, resetsAt };
101
104
  }
102
105
  return result.five_hour || result.seven_day ? result : null;
103
106
  }
104
107
 
108
+ function unixSecondsToIso(value) {
109
+ if (!Number.isFinite(value)) return null;
110
+ const date = new Date(value * 1000);
111
+ return Number.isNaN(date.getTime()) ? null : date.toISOString();
112
+ }
113
+
105
114
  function writeJsonAtomic(outputPath, value) {
106
115
  const tmpPath = outputPath + ".tmp";
107
116
  const dir = path.dirname(outputPath);
@@ -1,12 +1,13 @@
1
1
  ---
2
2
  name: applying-a-permission-policy
3
3
  description: >-
4
- Use when a user asks an agent to configure OpenRig command permissions, reduce
5
- repeated native approval prompts, or apply a selected rig/seat permission policy.
4
+ Use before launching a team during agent-guided setup, or when a user asks to
5
+ configure OpenRig command permissions, reduce repeated native approval prompts,
6
+ or apply a selected rig/seat permission policy.
6
7
  metadata:
7
8
  openrig:
8
9
  stage: established
9
- docs_checked: "2026-09-25"
10
+ docs_checked: "2026-09-29"
10
11
  verification_status: "Verify the installed harness version and effective settings; a rule-parser result is not a native permission test."
11
12
  ---
12
13
 
@@ -17,10 +18,40 @@ OpenRig operating posture, native command rules, sandbox access and launch flags
17
18
  are separate controls. A command rule grants execution capability, not authority
18
19
  to invent tasks, publish work or change another host.
19
20
 
21
+ ## Ask once before team launch
22
+
23
+ Reuse an existing explicit choice for these harnesses and this scope from the
24
+ user's onboarding context; do not ask again. Existing rules are configuration,
25
+ not evidence of consent to expand their scope. Preserve them without expansion.
26
+ If the choice is unknown, briefly explain:
27
+
28
+ > This allows the whole `rig` command family, including starting/stopping agents,
29
+ > changing OpenRig configuration and launching processes. It is not global YOLO
30
+ > or permission to invent work. The scope is your personal settings for this
31
+ > project unless you explicitly choose your user-wide sessions instead.
32
+ >
33
+ > Allow your agents to run OpenRig commands without repeated permission prompts?
34
+ > **Yes — recommended** / **No — keep prompts**
35
+
36
+ - **Yes:** require an actual affirmative answer, then apply the procedure below
37
+ at that scope for the selected harnesses. Never substitute user-wide rules
38
+ when project rules are unsupported. Native restrictions still apply.
39
+ - **No:** leave permission settings unchanged and continue with existing prompts.
40
+ - **No answer:** make no settings change, infer no consent and continue with
41
+ existing prompts. Do not keep asking during this setup.
42
+
43
+ Remember an explicit Yes or No in the existing onboarding/project context the
44
+ agent already reads: choice, harnesses and scope. For Yes, record the exact files
45
+ and entries added, any pre-existing equivalents, and the loading/verification
46
+ result. Do not add a preference service or native configuration key. No answer
47
+ is not a remembered No. Offer broader permissive operation only as a separate
48
+ explicit opt-in; the setup question does not select a builtin policy or mode.
49
+
20
50
  ## Choose the intended scope
21
51
 
22
- Use an existing explicit choice; otherwise explain these options and ask which
23
- the user wants. Do not ask again for routine steps already authorized.
52
+ Outside the setup question above, use an existing explicit choice; otherwise
53
+ explain these options and ask which the user wants. Do not reopen the menu after
54
+ an answered setup question or ask again for routine steps already authorized.
24
55
 
25
56
  | Choice | What the agent configures |
26
57
  | --- | --- |
@@ -47,7 +78,14 @@ execution, an entire interpreter or a generic shell wrapper.
47
78
  hooks, auth, MCP, model settings and unrelated values. An allow must not erase
48
79
  a stricter rule or managed requirement. Report a real conflict instead of
49
80
  silently bypassing it.
81
+ Check both bare and actual absolute command spellings: a restriction on one
82
+ may not match the other. If a new allowance would evade a stricter restriction,
83
+ leave that addition unapplied and report the conflict; do not switch spellings
84
+ to bypass it.
50
85
  4. Back up touched files and merge only authorized additions, avoiding duplicates.
86
+ Recognize equivalent existing entries (including Claude's legacy `Bash(rig:*)`);
87
+ leave their markers untouched. Reapplying the same choice must be a no-op when
88
+ the required entries already exist, including no timestamp-only rewrite.
51
89
  The agent performs these edits; hand-editing is an option, not a required user
52
90
  chore. Apply the selected scope without another conversational permission round.
53
91
  Native enforcement still applies.
@@ -60,8 +98,15 @@ execution, an entire interpreter or a generic shell wrapper.
60
98
  not destructive probes. Report effective settings and remaining prompts.
61
99
  A parser match alone does not establish native behavior.
62
100
 
63
- For rollback, remove only this setup's additions, preserving later unrelated
64
- edits. Builtin policy specs remain read-only; customize in user space.
101
+ Give the user this short undo: **“Undo the OpenRig command allowances added by
102
+ this setup; keep my other rules.”** The agent removes only the recorded entries
103
+ from their exact files, preserving pre-existing rules and subsequent edits.
104
+ For Codex remove those `prefix_rule` entries; for Claude remove those
105
+ `permissions.allow` entries. Delete a newly created rules file only if it still
106
+ contains solely this setup's additions. Never restore the entire backup over
107
+ later changes. Record the changed choice in the same context and verify native
108
+ reloading/revocation; other pre-existing allowances may still permit `rig`.
109
+ Builtin policy specs remain read-only; customize in user space.
65
110
 
66
111
  ## Codex command rules
67
112
 
@@ -103,8 +148,10 @@ codex execpolicy check --pretty --rules /absolute/path/to/openrig.rules -- print
103
148
  ```
104
149
 
105
150
  Inspect matches, not only exit status; repeat `--rules` for other effective
106
- files. A matching `prompt` or `forbidden` overrides allow. Verify rule loading
107
- in the target conversation after the required reload. For project-only scope,
151
+ files. A matching `prompt` or `forbidden` overrides allow. The official procedure
152
+ loads `.rules` at session startup; a file edit alone does not reload this turn.
153
+ Preserve the conversation and use an authorized supported resume when needed,
154
+ then verify loading in the target conversation. For project-only scope,
108
155
  confirm the layer is active there and absent from an unrelated project's active
109
156
  layers. An evaluator given an explicit `--rules` file proves matching, not that
110
157
  scope or automatic loading. Existing user-wide rules may already permit the
@@ -134,7 +181,9 @@ Current syntax uses ` *` for a command family; `Bash(rig:*)` is also supported.
134
181
  Narrower examples are `Bash(rig ps *)` and `Bash(rig queue list *)`.
135
182
  Preserve `deny`/`ask` entries and `defaultMode`; do not add `Bash(*)` or switch
136
183
  to bypass to resolve a mismatch. Inspect native `/permissions` and verify the
137
- actual command spelling.
184
+ actual command spelling. A bare rule does not cover every absolute invocation:
185
+ derive the actual executable and, after the stricter-rule check above, add its
186
+ exact `Bash(/actual/path/to/rig *)` spelling if needed. Do not use a path wildcard.
138
187
 
139
188
  Choose scope using the [settings reference](https://code.claude.com/docs/en/settings):
140
189
  `.claude/settings.local.json` for personal project settings,
@@ -143,6 +192,9 @@ Choose scope using the [settings reference](https://code.claude.com/docs/en/sett
143
192
  Confirm the effective project root, especially for worktrees. Keep personal
144
193
  settings out of commits. Managed restrictions and sandbox/network controls
145
194
  still apply; a Bash allow is not a general network policy.
195
+ Current Claude settings documentation describes live reload of permission
196
+ edits. Confirm the rule's source in `/permissions` and repeated harmless calls
197
+ in the target conversation; do not claim prompt behavior from JSON validity.
146
198
 
147
199
  ## Existing policies and broader modes
148
200
 
@@ -154,9 +206,10 @@ is unavailable, explain the remaining choice instead of selecting broader access
154
206
 
155
207
  For explicitly chosen broader operation, inspect
156
208
  `rig policy current --spec <user-owned-rig.yaml>` and the compatible getting-started guide's **Opt-in permissive
157
- operation** section. OpenRig's Codex `builtin:yolo` supplies `-s danger-full-access`;
158
- it does not itself select `approval_policy` and replaces a named
159
- `codex_config_profile` argument. Claude's corresponding launch flag is
209
+ operation** section. OpenRig's Codex `builtin:yolo` supplies
210
+ `-s danger-full-access -a never` and replaces a named `codex_config_profile`
211
+ argument. The legacy environment-only YOLO path selects only the sandbox.
212
+ Claude's corresponding launch flag is
160
213
  `--dangerously-skip-permissions`. Neither a resource `profile: default` nor OpenRig
161
214
  operating posture is a native permission policy. Do not change shipped defaults
162
215
  or assume editing a launch spec changes an existing seat.
@@ -1,6 +1,6 @@
1
1
  # Agent help: the single troubleshooting and escalation guide (docs/reference/help.md).
2
2
  name: help
3
- version: "0.6.1"
3
+ version: "0.6.3"
4
4
  taxonomy: world
5
5
  purpose: "What an agent does when its user says OpenRig isn't working: diagnose, fix within permissions, verify, and escalate to OpenRig support."
6
6
  files:
@@ -1,6 +1,6 @@
1
1
  # Public capability and source-map width for the default onboarding walk.
2
2
  name: onboarding-width
3
- version: "0.6.1"
3
+ version: "0.6.3"
4
4
  taxonomy: world
5
5
  purpose: "The public capability map and source map referenced by the default onboarding walk."
6
6
  files:
@@ -1,9 +1,9 @@
1
1
  # Getting started: one useful change in your repository
2
2
 
3
3
  Start with a repository and one bounded change you can exercise. The shipped
4
- `first-project` starter provides two native Codex seats: an outcome owner and
5
- an independent checker. It uses your installed Codex executable and login;
6
- terminal-provider support does not change the harness or account being used.
4
+ first-project recipes provide the same two seats: an outcome owner and an
5
+ independent checker. Choose Claude Code, Codex, or one of each using the accounts
6
+ you already have. Terminal-provider support does not change the harness or login.
7
7
 
8
8
  You need Node.js 22 or 24 and tmux, on macOS or Linux. On a Mac with Apple
9
9
  silicon, use Node.js 22 (see the [compatibility
@@ -11,14 +11,17 @@ history](../releases/v0.5.15.md#known-compatibility-limitation)). Native
11
11
  Windows is not supported yet, and WSL2 has not been tested. Node 20 is no longer
12
12
  supported; Node 26 and other versions are untested.
13
13
 
14
- **Choose permissions before starting the team.** The unchanged starter launches
15
- Codex with `-s workspace-write`; it leaves approval policy to your native Codex
16
- configuration. Network access is normally off in that sandbox, including access
17
- to the local OpenRig daemon. Its `profile: default` selects OpenRig resources,
18
- not a Codex permission profile. Ordinary permission prompts are therefore expected.
19
- You can keep those prompts, remember selected commands, or choose broader access.
20
- [Ask your agent to configure that choice](#have-your-agent-configure-permissions);
21
- OpenRig does not choose permissive operation for everyone.
14
+ **Choose permissions before starting the team.** Ordinary OpenRig launches use
15
+ Codex's `-s workspace-write`, with approval policy from your native configuration,
16
+ or Claude Code's `acceptEdits`, which still leaves commands subject to native
17
+ rules and prompts. Codex's sandbox normally blocks network access, including the
18
+ local OpenRig daemon. A command allowance does not change general sandbox/network
19
+ settings. The starter's `profile: default` selects OpenRig resources, not a native
20
+ permission profile.
21
+ Agent-guided setup [asks once](#have-your-agent-configure-permissions): “Allow
22
+ your agents to run OpenRig commands without repeated permission prompts?”
23
+ **Yes — recommended** / **No — keep prompts**. An existing explicit choice is
24
+ reused; No or no answer leaves settings unchanged. Broader access is separate.
22
25
 
23
26
  > Everything below reports **what is currently true**, never a guarantee that
24
27
  > downstream work will succeed. "Daemon up" does not mean every agent is healthy;
@@ -57,33 +60,69 @@ to return (tmux defaults to Ctrl-b, then d). Decide native trust/auth prompts
57
60
  there. If a fresh start paused before context delivery, **c** finishes that
58
61
  delivery to the same occupant. **r** reads actual state again; **d** expands details.
59
62
 
60
- Install OpenRig and inspect `rig setup --dry-run` before applying machine
61
- changes. Check `tmux -V`, `codex --version` and `codex login status` in your
62
- launch shell; install missing prerequisites and complete `codex login` when
63
- needed. This starter needs tmux and Codex, without a Claude login or Herdr
64
- plugin. The kernel selects its available native runtime variant separately.
63
+ ### Choose your providers
65
64
 
66
- `rig setup` currently installs/checks both harnesses and cmux. Use it when you
67
- want that full environment. Its overall failure can include an optional
68
- component for this starter: read the individual result and verify the three
69
- prerequisites above rather than treating a missing Claude login as broken
70
- Codex. A missing Codex login remains a real launch blocker.
65
+ Ask: **“Which working account do you want this team to use: Claude Code, Codex,
66
+ or both?”** Reuse an explicit choice already made. Recommend the account the
67
+ user already has working; a second subscription is not a prerequisite.
68
+
69
+ | Choice | Starter name | Owner / checker runtime and model |
70
+ | --- | --- | --- |
71
+ | Two Codex agents (existing route) | `first-project` | Both `codex`, pinned `gpt-6-astra` |
72
+ | Two Claude agents | `first-project-claude` | Both `claude-code`, configured native default model |
73
+ | One of each | `first-project-mixed` | Claude owner (native default); Codex checker (`gpt-6-astra`) |
74
+
75
+ Claude uses the same unpinned model convention as the existing Claude kernel and
76
+ implementation-pair recipes: OpenRig does not pass a model override. Read the
77
+ selected harness's configured model and show it alongside the recipe and launch
78
+ command before proceeding. Confirm account access to any pin; if unavailable,
79
+ ask for a supported model choice rather than silently substituting a model or
80
+ provider. After launch, confirm the actual native model before assigning work.
81
+
82
+ Install OpenRig and check `tmux -V`. Check **only the selected providers**:
83
+
84
+ - Claude Code: `claude --version` and `claude auth status`. If sign-in is missing,
85
+ ask once: “Please run `claude auth login` in your launch environment.”
86
+ - Codex: `codex --version` and `codex login status`. If sign-in is missing,
87
+ ask once: “Please run `codex login` in your launch environment.”
88
+
89
+ Install a missing selected CLI using its provider's installation instructions.
90
+ The other provider's CLI/login and Herdr/cmux are optional. Do not copy credentials
91
+ or start repeated sign-in attempts. Recheck the selected login after the user
92
+ completes it. `rig setup --dry-run` previews the broader setup; applying
93
+ `rig setup` installs/checks **both** harnesses and cmux, so it is optional for
94
+ this selected-provider path, not a requirement to fix an unused provider.
95
+
96
+ ### Kernel startup stays automatic
97
+
98
+ On a fresh instance, ordinary daemon startup chooses the kernel variant from
99
+ successful native auth probes: Claude alone, Codex alone, or both. Thus an absent
100
+ unused provider is fine. The project recipe does **not** constrain that probe:
101
+ if both accounts are authenticated, automatic kernel startup uses both, even
102
+ when the two project agents use just one provider. No manual kernel setup is
103
+ needed for this journey. The starter choice is not an instance-wide provider
104
+ restriction; a request to use only one provider for everything is separate.
105
+ Preserve any existing managed kernel and working rigs.
106
+
107
+ ### Launch the two project seats
108
+
109
+ Set `starter` to the chosen name from the table; the existing Codex route remains:
71
110
 
72
111
  ```sh
73
112
  cd <your-repository>
74
- rig specs preview first-project
75
- rig up first-project --cwd . --plan
76
- rig up first-project --cwd .
113
+ starter=first-project # or first-project-claude or first-project-mixed
114
+ rig specs preview "$starter" --kind rig
115
+ rig up "$starter" --cwd . --plan
116
+ rig up "$starter" --cwd .
77
117
  rig status
78
- rig ps --nodes --rig first-project
118
+ rig ps --nodes --rig "$starter"
79
119
  ```
80
120
 
81
- Preview the starter's seats and resources; plan checks resolution and
82
- preflight for the selected working directory. Launch starts the daemon if needed; the kernel boots in the
83
- background. Read readiness for the project seats, not only daemon health. If a
84
- seat has an authentication, trust or permission prompt, resolve the named
85
- prompt before assigning it work. A model pin is configuration; the native
86
- harness must report the intended model before consequential work.
121
+ Preview the selected seats, models and resources. Plan checks resolution and
122
+ preflight for the working directory. Launch starts the daemon if needed, with
123
+ the kernel behavior above. Read readiness for the project seats, not only daemon
124
+ health. Resolve a named authentication, trust or permission prompt before giving
125
+ that seat work. No new team is needed when returning to an existing project.
87
126
 
88
127
  When a seat pauses, open its existing terminal with **o** in the startup view.
89
128
  Read the proposed command, working directory and target instance. For an intended
@@ -100,7 +139,7 @@ already have taken effect. A delivered message or disappearing prompt alone is
100
139
  not progress. If startup is still waiting for context delivery, use **c** for the
101
140
  same occupant, then **r** to refresh. Do not start another seat to clear a prompt.
102
141
 
103
- `first-project` is a deliberately small starting point, not a universal team.
142
+ These starters are deliberately small starting points, not universal teams.
104
143
  For a different installed runtime or team shape, inspect `rig specs ls --kind
105
144
  rig` and `rig specs preview <name>` before selecting it. A seven-seat showcase
106
145
  is optional and consumes more concurrent capacity.
@@ -110,7 +149,7 @@ is optional and consumes more concurrent capacity.
110
149
  For example, in a project that imports CSV files:
111
150
 
112
151
  ```sh
113
- rig send dev-owner@first-project 'Improve the CSV import error when a required column is missing: name the column and leave the existing data unchanged. Add a regression check, ask dev-check for an independent check of the exact candidate, and record the result and how I can try it. Keep the change local; do not publish.'
152
+ rig send "dev-owner@$starter" 'Improve the CSV import error when a required column is missing: name the column and leave the existing data unchanged. Add a regression check, ask dev-check for an independent check of the exact candidate, and record the result and how I can try it. Keep the change local; do not publish.'
114
153
  ```
115
154
 
116
155
  Replace the example with a real problem in your repository. Include what the
@@ -120,11 +159,12 @@ independent check. You should not have to relay the review between terminals.
120
159
  `rig send` is the initial conversation; the queue and repository artifacts
121
160
  retain the work. An unbound shell does not need to impersonate a queue owner.
122
161
 
123
- From an actual `first-project` seat, follow the work with
162
+ Use the chosen rig name in its seat addresses (for example,
163
+ `dev-owner@first-project-claude`). From an actual project seat, follow the work with
124
164
  `rig queue list --limit 1000`: its default scope is the caller's current rig.
125
165
  `queue list` has no `--rig` option. From an observer shell or another rig, use
126
- `rig queue list --destination dev-owner@first-project --limit 1000` and the same
127
- command for `dev-check@first-project`, after verifying those live addresses.
166
+ `rig queue list --destination "dev-owner@$starter" --limit 1000` and the same
167
+ command for `"dev-check@$starter"`, after verifying those live addresses.
128
168
  These show each destination's obligations, not a whole-rig view. An unbound shell
129
169
  must not pretend to be a seat to change scope; use `--all-rigs` only when that
130
170
  broader view is intended. Then read `rig queue show <id> --full` and
@@ -150,7 +190,7 @@ start or replace a terminal, so a missing binding is reported with recovery
150
190
  guidance rather than creating a second kernel.
151
191
 
152
192
  Herdr users follow the same launch and task path. To place the managed team in
153
- Herdr, use `rig terminal open first-project --provider herdr`; for the shared
193
+ Herdr, use `rig terminal open "$starter" --provider herdr`; for the shared
154
194
  dashboard, use `rig terminal open kernel --provider herdr`. The equivalent
155
195
  cmux provider is also available. Read the opened/absent/degraded result: a
156
196
  partial terminal view is not a healthy team. Repeated terminal-open calls can
@@ -244,18 +284,30 @@ shows a small reviewed example and how to retain custody through a genuine wait.
244
284
 
245
285
  ## Have your agent configure permissions
246
286
 
247
- You choose the scope; the agent inspects the target harness and applies it.
248
- For example:
249
-
250
- > Configure persistent permission for OpenRig commands in this project. Explain
251
- > what the whole `rig` family allows and offer narrower verbs if appropriate.
252
- > Preserve existing deny/ask rules and unrelated settings, back up touched files,
253
- > apply my choice, then verify repeated ordinary reads without extra approvals.
254
-
255
- Allowing all `rig` commands includes lifecycle, topology and configuration
256
- operations, not only reads. Keeping prompts or selecting broader permissive
257
- operation are also valid choices. An existing explicit choice authorizes the
258
- routine setup; the agent need not ask you to approve each file edit again.
287
+ Before team launch, your agent asks once, unless you already made an explicit
288
+ choice for these harnesses and this scope:
289
+
290
+ > Allow your agents to run OpenRig commands without repeated permission prompts?
291
+ > **Yes — recommended** / **No — keep prompts**
292
+
293
+ This covers the entire `rig` family, including starting/stopping agents,
294
+ configuration and launching processes. It is not global YOLO or permission to
295
+ invent work. The scope is your personal settings for this project unless you
296
+ explicitly choose user-wide sessions, which can affect your other projects.
297
+
298
+ On an actual **Yes**, the agent backs up the relevant files, adds the existing
299
+ native rules without duplicates, and preserves stricter rules and unrelated
300
+ settings. It checks bare and actual absolute-path invocations, rule loading and
301
+ repeated harmless reads in the target conversation. No or no answer leaves
302
+ settings alone and continues with existing prompts. Unsupported scope or a
303
+ managed restriction is reported; it is not permission to grant broader access.
304
+
305
+ The agent remembers an explicit choice, scope and exact additions in existing
306
+ onboarding context, so setup does not ask again. You do not need to approve each
307
+ routine edit separately. To undo, say **“Undo the OpenRig command allowances
308
+ added by this setup; keep my other rules.”** The agent removes only its recorded
309
+ additions, preserves earlier rules and later edits, and verifies reloading.
310
+ Other pre-existing allowances may still permit commands after this undo.
259
311
 
260
312
  Use the maintained **Applying a permission policy** procedure:
261
313
 
@@ -1,7 +1,7 @@
1
1
  # Reference guides the help pack links to, loaded one file or section at a time by address
2
2
  # (rig context get reference/<file>#<section>). Each file is a symlink to docs/reference/.
3
3
  name: reference
4
- version: "0.6.1"
4
+ version: "0.6.3"
5
5
  taxonomy: world
6
6
  purpose: "Version-matched reference guides the help guide links to. Load a single file or section by address; don't load the whole pack."
7
7
  files:
@@ -1,7 +1,7 @@
1
1
  # GENERATED by scripts/generate-context-packs.mjs — DO NOT EDIT.
2
2
  # Package-time projection of a canonical skill; regenerated every build.
3
3
  name: "agent-operated-software"
4
- version: "0.6.1"
4
+ version: "0.6.3"
5
5
  taxonomy: "skills"
6
6
  purpose: "Use when designing, building, operating, or diagnosing an ongoing application whose live backend or control loop includes OpenRig agents, including applications with a Markdown, YAML, or JSON agent control plane or a thin surface over specialist agent roles."
7
7
  files:
@@ -1,7 +1,7 @@
1
1
  # GENERATED by scripts/generate-context-packs.mjs — DO NOT EDIT.
2
2
  # Package-time projection of a canonical skill; regenerated every build.
3
3
  name: "agent-operated-workflows"
4
- version: "0.6.1"
4
+ version: "0.6.3"
5
5
  taxonomy: "skills"
6
6
  purpose: "Use when a bounded real-world procedure has a deterministic happy path but brownfield, variable, or partially knowable state; when an operation must resume from verified evidence; or when deciding whether agent judgment or ordinary code should own a procedure's control loop."
7
7
  files:
@@ -1,12 +1,13 @@
1
1
  ---
2
2
  name: applying-a-permission-policy
3
3
  description: >-
4
- Use when a user asks an agent to configure OpenRig command permissions, reduce
5
- repeated native approval prompts, or apply a selected rig/seat permission policy.
4
+ Use before launching a team during agent-guided setup, or when a user asks to
5
+ configure OpenRig command permissions, reduce repeated native approval prompts,
6
+ or apply a selected rig/seat permission policy.
6
7
  metadata:
7
8
  openrig:
8
9
  stage: established
9
- docs_checked: "2026-09-25"
10
+ docs_checked: "2026-09-29"
10
11
  verification_status: "Verify the installed harness version and effective settings; a rule-parser result is not a native permission test."
11
12
  ---
12
13
 
@@ -17,10 +18,40 @@ OpenRig operating posture, native command rules, sandbox access and launch flags
17
18
  are separate controls. A command rule grants execution capability, not authority
18
19
  to invent tasks, publish work or change another host.
19
20
 
21
+ ## Ask once before team launch
22
+
23
+ Reuse an existing explicit choice for these harnesses and this scope from the
24
+ user's onboarding context; do not ask again. Existing rules are configuration,
25
+ not evidence of consent to expand their scope. Preserve them without expansion.
26
+ If the choice is unknown, briefly explain:
27
+
28
+ > This allows the whole `rig` command family, including starting/stopping agents,
29
+ > changing OpenRig configuration and launching processes. It is not global YOLO
30
+ > or permission to invent work. The scope is your personal settings for this
31
+ > project unless you explicitly choose your user-wide sessions instead.
32
+ >
33
+ > Allow your agents to run OpenRig commands without repeated permission prompts?
34
+ > **Yes — recommended** / **No — keep prompts**
35
+
36
+ - **Yes:** require an actual affirmative answer, then apply the procedure below
37
+ at that scope for the selected harnesses. Never substitute user-wide rules
38
+ when project rules are unsupported. Native restrictions still apply.
39
+ - **No:** leave permission settings unchanged and continue with existing prompts.
40
+ - **No answer:** make no settings change, infer no consent and continue with
41
+ existing prompts. Do not keep asking during this setup.
42
+
43
+ Remember an explicit Yes or No in the existing onboarding/project context the
44
+ agent already reads: choice, harnesses and scope. For Yes, record the exact files
45
+ and entries added, any pre-existing equivalents, and the loading/verification
46
+ result. Do not add a preference service or native configuration key. No answer
47
+ is not a remembered No. Offer broader permissive operation only as a separate
48
+ explicit opt-in; the setup question does not select a builtin policy or mode.
49
+
20
50
  ## Choose the intended scope
21
51
 
22
- Use an existing explicit choice; otherwise explain these options and ask which
23
- the user wants. Do not ask again for routine steps already authorized.
52
+ Outside the setup question above, use an existing explicit choice; otherwise
53
+ explain these options and ask which the user wants. Do not reopen the menu after
54
+ an answered setup question or ask again for routine steps already authorized.
24
55
 
25
56
  | Choice | What the agent configures |
26
57
  | --- | --- |
@@ -47,7 +78,14 @@ execution, an entire interpreter or a generic shell wrapper.
47
78
  hooks, auth, MCP, model settings and unrelated values. An allow must not erase
48
79
  a stricter rule or managed requirement. Report a real conflict instead of
49
80
  silently bypassing it.
81
+ Check both bare and actual absolute command spellings: a restriction on one
82
+ may not match the other. If a new allowance would evade a stricter restriction,
83
+ leave that addition unapplied and report the conflict; do not switch spellings
84
+ to bypass it.
50
85
  4. Back up touched files and merge only authorized additions, avoiding duplicates.
86
+ Recognize equivalent existing entries (including Claude's legacy `Bash(rig:*)`);
87
+ leave their markers untouched. Reapplying the same choice must be a no-op when
88
+ the required entries already exist, including no timestamp-only rewrite.
51
89
  The agent performs these edits; hand-editing is an option, not a required user
52
90
  chore. Apply the selected scope without another conversational permission round.
53
91
  Native enforcement still applies.
@@ -60,8 +98,15 @@ execution, an entire interpreter or a generic shell wrapper.
60
98
  not destructive probes. Report effective settings and remaining prompts.
61
99
  A parser match alone does not establish native behavior.
62
100
 
63
- For rollback, remove only this setup's additions, preserving later unrelated
64
- edits. Builtin policy specs remain read-only; customize in user space.
101
+ Give the user this short undo: **“Undo the OpenRig command allowances added by
102
+ this setup; keep my other rules.”** The agent removes only the recorded entries
103
+ from their exact files, preserving pre-existing rules and subsequent edits.
104
+ For Codex remove those `prefix_rule` entries; for Claude remove those
105
+ `permissions.allow` entries. Delete a newly created rules file only if it still
106
+ contains solely this setup's additions. Never restore the entire backup over
107
+ later changes. Record the changed choice in the same context and verify native
108
+ reloading/revocation; other pre-existing allowances may still permit `rig`.
109
+ Builtin policy specs remain read-only; customize in user space.
65
110
 
66
111
  ## Codex command rules
67
112
 
@@ -103,8 +148,10 @@ codex execpolicy check --pretty --rules /absolute/path/to/openrig.rules -- print
103
148
  ```
104
149
 
105
150
  Inspect matches, not only exit status; repeat `--rules` for other effective
106
- files. A matching `prompt` or `forbidden` overrides allow. Verify rule loading
107
- in the target conversation after the required reload. For project-only scope,
151
+ files. A matching `prompt` or `forbidden` overrides allow. The official procedure
152
+ loads `.rules` at session startup; a file edit alone does not reload this turn.
153
+ Preserve the conversation and use an authorized supported resume when needed,
154
+ then verify loading in the target conversation. For project-only scope,
108
155
  confirm the layer is active there and absent from an unrelated project's active
109
156
  layers. An evaluator given an explicit `--rules` file proves matching, not that
110
157
  scope or automatic loading. Existing user-wide rules may already permit the
@@ -134,7 +181,9 @@ Current syntax uses ` *` for a command family; `Bash(rig:*)` is also supported.
134
181
  Narrower examples are `Bash(rig ps *)` and `Bash(rig queue list *)`.
135
182
  Preserve `deny`/`ask` entries and `defaultMode`; do not add `Bash(*)` or switch
136
183
  to bypass to resolve a mismatch. Inspect native `/permissions` and verify the
137
- actual command spelling.
184
+ actual command spelling. A bare rule does not cover every absolute invocation:
185
+ derive the actual executable and, after the stricter-rule check above, add its
186
+ exact `Bash(/actual/path/to/rig *)` spelling if needed. Do not use a path wildcard.
138
187
 
139
188
  Choose scope using the [settings reference](https://code.claude.com/docs/en/settings):
140
189
  `.claude/settings.local.json` for personal project settings,
@@ -143,6 +192,9 @@ Choose scope using the [settings reference](https://code.claude.com/docs/en/sett
143
192
  Confirm the effective project root, especially for worktrees. Keep personal
144
193
  settings out of commits. Managed restrictions and sandbox/network controls
145
194
  still apply; a Bash allow is not a general network policy.
195
+ Current Claude settings documentation describes live reload of permission
196
+ edits. Confirm the rule's source in `/permissions` and repeated harmless calls
197
+ in the target conversation; do not claim prompt behavior from JSON validity.
146
198
 
147
199
  ## Existing policies and broader modes
148
200
 
@@ -154,9 +206,10 @@ is unavailable, explain the remaining choice instead of selecting broader access
154
206
 
155
207
  For explicitly chosen broader operation, inspect
156
208
  `rig policy current --spec <user-owned-rig.yaml>` and the compatible getting-started guide's **Opt-in permissive
157
- operation** section. OpenRig's Codex `builtin:yolo` supplies `-s danger-full-access`;
158
- it does not itself select `approval_policy` and replaces a named
159
- `codex_config_profile` argument. Claude's corresponding launch flag is
209
+ operation** section. OpenRig's Codex `builtin:yolo` supplies
210
+ `-s danger-full-access -a never` and replaces a named `codex_config_profile`
211
+ argument. The legacy environment-only YOLO path selects only the sandbox.
212
+ Claude's corresponding launch flag is
160
213
  `--dangerously-skip-permissions`. Neither a resource `profile: default` nor OpenRig
161
214
  operating posture is a native permission policy. Do not change shipped defaults
162
215
  or assume editing a launch spec changes an existing seat.
@@ -1,10 +1,10 @@
1
1
  # GENERATED by scripts/generate-context-packs.mjs — DO NOT EDIT.
2
2
  # Package-time projection of a canonical skill; regenerated every build.
3
3
  name: "applying-a-permission-policy"
4
- version: "0.6.1"
4
+ version: "0.6.3"
5
5
  taxonomy: "skills"
6
- purpose: "Use when a user asks an agent to configure OpenRig command permissions, reduce repeated native approval prompts, or apply a selected rig/seat permission policy."
6
+ purpose: "Use before launching a team during agent-guided setup, or when a user asks to configure OpenRig command permissions, reduce repeated native approval prompts, or apply a selected rig/seat permission policy."
7
7
  files:
8
8
  - path: "SKILL.md"
9
9
  role: "instruction"
10
- summary: "Use when a user asks an agent to configure OpenRig command permissions, reduce repeated native approval prompts, or apply a selected rig/seat permission policy."
10
+ summary: "Use before launching a team during agent-guided setup, or when a user asks to configure OpenRig command permissions, reduce repeated native approval prompts, or apply a selected rig/seat permission policy."
@@ -1,7 +1,7 @@
1
1
  # GENERATED by scripts/generate-context-packs.mjs — DO NOT EDIT.
2
2
  # Package-time projection of a canonical skill; regenerated every build.
3
3
  name: "claude-compaction-restore"
4
- version: "0.6.1"
4
+ version: "0.6.3"
5
5
  taxonomy: "skills"
6
6
  purpose: "Use when a Claude Code session has just compacted, is about to compact, reached context limit, resumed after /compact, or needs to rebuild its working mental model from Claude JSONL transcripts and touched files."
7
7
  files:
@@ -1,7 +1,7 @@
1
1
  # GENERATED by scripts/generate-context-packs.mjs — DO NOT EDIT.
2
2
  # Package-time projection of a canonical skill; regenerated every build.
3
3
  name: "agent-starters"
4
- version: "0.6.1"
4
+ version: "0.6.3"
5
5
  taxonomy: "skills"
6
6
  purpose: "Use when creating, refreshing, packaging, inspecting, promoting, or deprecating a named per-seat starting point — Agent Starter manifest authoring, the 6-state lifecycle (captured → named → inspectable → used → promoted → deprecated), provenance honesty, and refusal rules. NOT a VM image; a managed starting point composed from agent role + startup context + optional native session source + provenance."
7
7
  files:
@@ -1,7 +1,7 @@
1
1
  # GENERATED by scripts/generate-context-packs.mjs — DO NOT EDIT.
2
2
  # Package-time projection of a canonical skill; regenerated every build.
3
3
  name: "agent-startup-and-context-ingestion"
4
- version: "0.6.1"
4
+ version: "0.6.3"
5
5
  taxonomy: "skills"
6
6
  purpose: "Use when designing or auditing how an agent becomes useful after launch — AGENTS.md overlays, role files, skills, rig specs, workflow specs, startup checklists, refocus messages, \"rig context\" surface. Covers the 4 failure modes that make startup context fail (old rig spec misses current operating mode; current agents never told about new guidance; startup file as dumping ground; orchestrator transmits implementation without preserving product intent)."
7
7
  files:
@@ -1,7 +1,7 @@
1
1
  # GENERATED by scripts/generate-context-packs.mjs — DO NOT EDIT.
2
2
  # Package-time projection of a canonical skill; regenerated every build.
3
3
  name: "cross-host-rig-commands"
4
- version: "0.6.1"
4
+ version: "0.6.3"
5
5
  taxonomy: "skills"
6
6
  purpose: "Use when addressing a registered remote OpenRig host, choosing its transport, or interpreting a cross-host result."
7
7
  files: