@openrig/cli 0.3.0 → 0.3.2
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.
- package/daemon/assets/plugins/openrig-core/.claude-plugin/plugin.json +15 -0
- package/daemon/assets/plugins/openrig-core/.codex-plugin/plugin.json +24 -0
- package/daemon/assets/plugins/openrig-core/LICENSE +200 -0
- package/daemon/assets/plugins/openrig-core/README.md +42 -0
- package/daemon/assets/plugins/openrig-core/hooks/claude.json +78 -0
- package/daemon/assets/plugins/openrig-core/hooks/codex.json +37 -0
- package/daemon/assets/{openrig-activity-hook-relay.cjs → plugins/openrig-core/hooks/scripts/activity-relay.cjs} +12 -0
- package/daemon/assets/plugins/openrig-core/hooks/scripts/compaction-restore-bridge.cjs +172 -0
- package/daemon/assets/plugins/openrig-core/skills/agent-startup-and-context-ingestion/SKILL.md +104 -0
- package/daemon/assets/plugins/openrig-core/skills/claude-compaction-restore/SKILL.md +131 -0
- package/daemon/assets/plugins/openrig-core/skills/claude-compaction-restore/scripts/precompact-hook.mjs +174 -0
- package/daemon/assets/plugins/openrig-core/skills/claude-compaction-restore/scripts/restore-from-jsonl.mjs +433 -0
- package/daemon/assets/plugins/openrig-core/skills/claude-compaction-restore/templates/compact-instruction.md +1 -0
- package/daemon/assets/plugins/openrig-core/skills/claude-compaction-restore/templates/post-compact-restore-instruction.md +1 -0
- package/daemon/assets/plugins/openrig-core/skills/forming-an-openrig-mental-model/SKILL.md +305 -0
- package/daemon/{specs/agents/shared/skills/rig-architect → assets/plugins/openrig-core/skills/openrig-architect}/SKILL.md +38 -19
- package/daemon/assets/plugins/openrig-core/skills/openrig-operator/SKILL.md +222 -0
- package/daemon/assets/plugins/openrig-core/skills/openrig-user/SKILL.md +597 -0
- package/daemon/assets/plugins/openrig-core/skills/queue-handoff/SKILL.md +122 -0
- package/daemon/assets/plugins/openrig-core/skills/seat-continuity-and-handover/SKILL.md +137 -0
- package/daemon/assets/vm-preview-fixtures/README.md +48 -0
- package/daemon/assets/vm-preview-fixtures/workflows/sample-basic-loop.yaml +79 -0
- package/daemon/dist/adapters/claude-code-adapter.d.ts +1 -3
- package/daemon/dist/adapters/claude-code-adapter.d.ts.map +1 -1
- package/daemon/dist/adapters/claude-code-adapter.js +17 -57
- package/daemon/dist/adapters/claude-code-adapter.js.map +1 -1
- package/daemon/dist/adapters/cmux-transport.d.ts.map +1 -1
- package/daemon/dist/adapters/cmux-transport.js +81 -2
- package/daemon/dist/adapters/cmux-transport.js.map +1 -1
- package/daemon/dist/adapters/cmux.d.ts +4 -0
- package/daemon/dist/adapters/cmux.d.ts.map +1 -1
- package/daemon/dist/adapters/cmux.js +87 -0
- package/daemon/dist/adapters/cmux.js.map +1 -1
- package/daemon/dist/adapters/codex-runtime-adapter.d.ts +14 -3
- package/daemon/dist/adapters/codex-runtime-adapter.d.ts.map +1 -1
- package/daemon/dist/adapters/codex-runtime-adapter.js +45 -58
- package/daemon/dist/adapters/codex-runtime-adapter.js.map +1 -1
- package/daemon/dist/adapters/tmux.d.ts +36 -0
- package/daemon/dist/adapters/tmux.d.ts.map +1 -1
- package/daemon/dist/adapters/tmux.js +66 -0
- package/daemon/dist/adapters/tmux.js.map +1 -1
- package/daemon/dist/db/migrations/037_mission_control_actions.d.ts +5 -1
- package/daemon/dist/db/migrations/037_mission_control_actions.d.ts.map +1 -1
- package/daemon/dist/db/migrations/037_mission_control_actions.js +5 -1
- package/daemon/dist/db/migrations/037_mission_control_actions.js.map +1 -1
- package/daemon/dist/db/migrations/040_workflow_specs_diagnostic.d.ts +32 -0
- package/daemon/dist/db/migrations/040_workflow_specs_diagnostic.d.ts.map +1 -0
- package/daemon/dist/db/migrations/040_workflow_specs_diagnostic.js +37 -0
- package/daemon/dist/db/migrations/040_workflow_specs_diagnostic.js.map +1 -0
- package/daemon/dist/db/migrations/041_rig_policy.d.ts +32 -0
- package/daemon/dist/db/migrations/041_rig_policy.d.ts.map +1 -0
- package/daemon/dist/db/migrations/041_rig_policy.js +47 -0
- package/daemon/dist/db/migrations/041_rig_policy.js.map +1 -0
- package/daemon/dist/domain/agent-images/resume-token-discovery.js +1 -1
- package/daemon/dist/domain/agent-images/resume-token-discovery.js.map +1 -1
- package/daemon/dist/domain/agent-images/snapshot-capturer.d.ts.map +1 -1
- package/daemon/dist/domain/agent-images/snapshot-capturer.js +2 -1
- package/daemon/dist/domain/agent-images/snapshot-capturer.js.map +1 -1
- package/daemon/dist/domain/agent-manifest.d.ts.map +1 -1
- package/daemon/dist/domain/agent-manifest.js +143 -37
- package/daemon/dist/domain/agent-manifest.js.map +1 -1
- package/daemon/dist/domain/agent-resolver.js +1 -1
- package/daemon/dist/domain/agent-resolver.js.map +1 -1
- package/daemon/dist/domain/bootstrap-orchestrator.d.ts.map +1 -1
- package/daemon/dist/domain/bootstrap-orchestrator.js +86 -6
- package/daemon/dist/domain/bootstrap-orchestrator.js.map +1 -1
- package/daemon/dist/domain/bundle-agent-images-router.d.ts +95 -0
- package/daemon/dist/domain/bundle-agent-images-router.d.ts.map +1 -0
- package/daemon/dist/domain/bundle-agent-images-router.js +140 -0
- package/daemon/dist/domain/bundle-agent-images-router.js.map +1 -0
- package/daemon/dist/domain/bundle-assembler.d.ts +18 -1
- package/daemon/dist/domain/bundle-assembler.d.ts.map +1 -1
- package/daemon/dist/domain/bundle-assembler.js +11 -1
- package/daemon/dist/domain/bundle-assembler.js.map +1 -1
- package/daemon/dist/domain/bundle-audit.d.ts +89 -0
- package/daemon/dist/domain/bundle-audit.d.ts.map +1 -0
- package/daemon/dist/domain/bundle-audit.js +87 -0
- package/daemon/dist/domain/bundle-audit.js.map +1 -0
- package/daemon/dist/domain/bundle-conflict-detector.d.ts +57 -0
- package/daemon/dist/domain/bundle-conflict-detector.d.ts.map +1 -0
- package/daemon/dist/domain/bundle-conflict-detector.js +49 -0
- package/daemon/dist/domain/bundle-conflict-detector.js.map +1 -0
- package/daemon/dist/domain/bundle-context-packs-router.d.ts +100 -0
- package/daemon/dist/domain/bundle-context-packs-router.d.ts.map +1 -0
- package/daemon/dist/domain/bundle-context-packs-router.js +158 -0
- package/daemon/dist/domain/bundle-context-packs-router.js.map +1 -0
- package/daemon/dist/domain/bundle-plugins-router.d.ts +69 -0
- package/daemon/dist/domain/bundle-plugins-router.d.ts.map +1 -0
- package/daemon/dist/domain/bundle-plugins-router.js +87 -0
- package/daemon/dist/domain/bundle-plugins-router.js.map +1 -0
- package/daemon/dist/domain/bundle-skills-router.d.ts +62 -0
- package/daemon/dist/domain/bundle-skills-router.d.ts.map +1 -0
- package/daemon/dist/domain/bundle-skills-router.js +90 -0
- package/daemon/dist/domain/bundle-skills-router.js.map +1 -0
- package/daemon/dist/domain/bundle-types.d.ts +106 -0
- package/daemon/dist/domain/bundle-types.d.ts.map +1 -1
- package/daemon/dist/domain/bundle-types.js +375 -0
- package/daemon/dist/domain/bundle-types.js.map +1 -1
- package/daemon/dist/domain/bundle-workflow-specs-router.d.ts +94 -0
- package/daemon/dist/domain/bundle-workflow-specs-router.d.ts.map +1 -0
- package/daemon/dist/domain/bundle-workflow-specs-router.js +144 -0
- package/daemon/dist/domain/bundle-workflow-specs-router.js.map +1 -0
- package/daemon/dist/domain/claude-compaction-enforcer.d.ts +81 -0
- package/daemon/dist/domain/claude-compaction-enforcer.d.ts.map +1 -0
- package/daemon/dist/domain/claude-compaction-enforcer.js +242 -0
- package/daemon/dist/domain/claude-compaction-enforcer.js.map +1 -0
- package/daemon/dist/domain/cmux-layout-service.d.ts +41 -0
- package/daemon/dist/domain/cmux-layout-service.d.ts.map +1 -0
- package/daemon/dist/domain/cmux-layout-service.js +184 -0
- package/daemon/dist/domain/cmux-layout-service.js.map +1 -0
- package/daemon/dist/domain/context-monitor.d.ts +19 -1
- package/daemon/dist/domain/context-monitor.d.ts.map +1 -1
- package/daemon/dist/domain/context-monitor.js +62 -14
- package/daemon/dist/domain/context-monitor.js.map +1 -1
- package/daemon/dist/domain/graph-projection.d.ts +6 -0
- package/daemon/dist/domain/graph-projection.d.ts.map +1 -1
- package/daemon/dist/domain/graph-projection.js +6 -0
- package/daemon/dist/domain/graph-projection.js.map +1 -1
- package/daemon/dist/domain/kernel-boot-tracker.d.ts +74 -0
- package/daemon/dist/domain/kernel-boot-tracker.d.ts.map +1 -0
- package/daemon/dist/domain/kernel-boot-tracker.js +213 -0
- package/daemon/dist/domain/kernel-boot-tracker.js.map +1 -0
- package/daemon/dist/domain/kernel-boot.d.ts +50 -0
- package/daemon/dist/domain/kernel-boot.d.ts.map +1 -0
- package/daemon/dist/domain/kernel-boot.js +147 -0
- package/daemon/dist/domain/kernel-boot.js.map +1 -0
- package/daemon/dist/domain/mission-control/mission-control-read-layer.d.ts +5 -0
- package/daemon/dist/domain/mission-control/mission-control-read-layer.d.ts.map +1 -1
- package/daemon/dist/domain/mission-control/mission-control-read-layer.js +16 -2
- package/daemon/dist/domain/mission-control/mission-control-read-layer.js.map +1 -1
- package/daemon/dist/domain/mission-control/mission-control-write-contract.d.ts.map +1 -1
- package/daemon/dist/domain/mission-control/mission-control-write-contract.js +3 -1
- package/daemon/dist/domain/mission-control/mission-control-write-contract.js.map +1 -1
- package/daemon/dist/domain/native-resume-probe.js +7 -7
- package/daemon/dist/domain/native-resume-probe.js.map +1 -1
- package/daemon/dist/domain/node-inventory.d.ts +18 -0
- package/daemon/dist/domain/node-inventory.d.ts.map +1 -1
- package/daemon/dist/domain/node-inventory.js +98 -0
- package/daemon/dist/domain/node-inventory.js.map +1 -1
- package/daemon/dist/domain/node-launcher.d.ts +12 -0
- package/daemon/dist/domain/node-launcher.d.ts.map +1 -1
- package/daemon/dist/domain/node-launcher.js +25 -1
- package/daemon/dist/domain/node-launcher.js.map +1 -1
- package/daemon/dist/domain/plugin-discovery-service.d.ts +150 -0
- package/daemon/dist/domain/plugin-discovery-service.d.ts.map +1 -0
- package/daemon/dist/domain/plugin-discovery-service.js +468 -0
- package/daemon/dist/domain/plugin-discovery-service.js.map +1 -0
- package/daemon/dist/domain/plugin-vendor-service.d.ts +54 -0
- package/daemon/dist/domain/plugin-vendor-service.d.ts.map +1 -0
- package/daemon/dist/domain/plugin-vendor-service.js +111 -0
- package/daemon/dist/domain/plugin-vendor-service.js.map +1 -0
- package/daemon/dist/domain/pod-bundle-assembler.d.ts +16 -1
- package/daemon/dist/domain/pod-bundle-assembler.d.ts.map +1 -1
- package/daemon/dist/domain/pod-bundle-assembler.js +11 -1
- package/daemon/dist/domain/pod-bundle-assembler.js.map +1 -1
- package/daemon/dist/domain/profile-resolver.d.ts +13 -3
- package/daemon/dist/domain/profile-resolver.d.ts.map +1 -1
- package/daemon/dist/domain/profile-resolver.js +11 -7
- package/daemon/dist/domain/profile-resolver.js.map +1 -1
- package/daemon/dist/domain/projection-planner.d.ts +7 -1
- package/daemon/dist/domain/projection-planner.d.ts.map +1 -1
- package/daemon/dist/domain/projection-planner.js +44 -4
- package/daemon/dist/domain/projection-planner.js.map +1 -1
- package/daemon/dist/domain/ps-projection.d.ts +22 -0
- package/daemon/dist/domain/ps-projection.d.ts.map +1 -1
- package/daemon/dist/domain/ps-projection.js +57 -0
- package/daemon/dist/domain/ps-projection.js.map +1 -1
- package/daemon/dist/domain/queue-repository.d.ts +44 -1
- package/daemon/dist/domain/queue-repository.d.ts.map +1 -1
- package/daemon/dist/domain/queue-repository.js +112 -6
- package/daemon/dist/domain/queue-repository.js.map +1 -1
- package/daemon/dist/domain/restore-check-service.d.ts +4 -0
- package/daemon/dist/domain/restore-check-service.d.ts.map +1 -1
- package/daemon/dist/domain/restore-check-service.js +16 -7
- package/daemon/dist/domain/restore-check-service.js.map +1 -1
- package/daemon/dist/domain/rig-policy/rig-policy-defaults.d.ts +48 -0
- package/daemon/dist/domain/rig-policy/rig-policy-defaults.d.ts.map +1 -0
- package/daemon/dist/domain/rig-policy/rig-policy-defaults.js +96 -0
- package/daemon/dist/domain/rig-policy/rig-policy-defaults.js.map +1 -0
- package/daemon/dist/domain/rig-policy/rig-policy-store.d.ts +46 -0
- package/daemon/dist/domain/rig-policy/rig-policy-store.d.ts.map +1 -0
- package/daemon/dist/domain/rig-policy/rig-policy-store.js +171 -0
- package/daemon/dist/domain/rig-policy/rig-policy-store.js.map +1 -0
- package/daemon/dist/domain/rig-policy/rig-policy-types.d.ts +145 -0
- package/daemon/dist/domain/rig-policy/rig-policy-types.d.ts.map +1 -0
- package/daemon/dist/domain/rig-policy/rig-policy-types.js +52 -0
- package/daemon/dist/domain/rig-policy/rig-policy-types.js.map +1 -0
- package/daemon/dist/domain/rig-policy/rig-policy-validator.d.ts +58 -0
- package/daemon/dist/domain/rig-policy/rig-policy-validator.d.ts.map +1 -0
- package/daemon/dist/domain/rig-policy/rig-policy-validator.js +211 -0
- package/daemon/dist/domain/rig-policy/rig-policy-validator.js.map +1 -0
- package/daemon/dist/domain/rigspec-instantiator.d.ts +1 -1
- package/daemon/dist/domain/rigspec-instantiator.d.ts.map +1 -1
- package/daemon/dist/domain/rigspec-instantiator.js +109 -18
- package/daemon/dist/domain/rigspec-instantiator.js.map +1 -1
- package/daemon/dist/domain/seat-activity-service.d.ts +79 -0
- package/daemon/dist/domain/seat-activity-service.d.ts.map +1 -0
- package/daemon/dist/domain/seat-activity-service.js +123 -0
- package/daemon/dist/domain/seat-activity-service.js.map +1 -0
- package/daemon/dist/domain/session-transport.d.ts.map +1 -1
- package/daemon/dist/domain/session-transport.js +33 -0
- package/daemon/dist/domain/session-transport.js.map +1 -1
- package/daemon/dist/domain/skill-library-discovery.d.ts +68 -0
- package/daemon/dist/domain/skill-library-discovery.d.ts.map +1 -0
- package/daemon/dist/domain/skill-library-discovery.js +144 -0
- package/daemon/dist/domain/skill-library-discovery.js.map +1 -0
- package/daemon/dist/domain/slices/slice-indexer.d.ts +31 -0
- package/daemon/dist/domain/slices/slice-indexer.d.ts.map +1 -1
- package/daemon/dist/domain/slices/slice-indexer.js +111 -6
- package/daemon/dist/domain/slices/slice-indexer.js.map +1 -1
- package/daemon/dist/domain/spec-library-service.d.ts +6 -0
- package/daemon/dist/domain/spec-library-service.d.ts.map +1 -1
- package/daemon/dist/domain/spec-library-service.js +19 -0
- package/daemon/dist/domain/spec-library-service.js.map +1 -1
- package/daemon/dist/domain/spec-library-workflow-scanner.d.ts +43 -0
- package/daemon/dist/domain/spec-library-workflow-scanner.d.ts.map +1 -1
- package/daemon/dist/domain/spec-library-workflow-scanner.js +157 -3
- package/daemon/dist/domain/spec-library-workflow-scanner.js.map +1 -1
- package/daemon/dist/domain/spec-review-service.d.ts +1 -1
- package/daemon/dist/domain/spec-review-service.d.ts.map +1 -1
- package/daemon/dist/domain/spec-review-service.js +14 -1
- package/daemon/dist/domain/spec-review-service.js.map +1 -1
- package/daemon/dist/domain/types.d.ts +106 -10
- package/daemon/dist/domain/types.d.ts.map +1 -1
- package/daemon/dist/domain/types.js.map +1 -1
- package/daemon/dist/domain/user-settings/settings-store.d.ts +25 -1
- package/daemon/dist/domain/user-settings/settings-store.d.ts.map +1 -1
- package/daemon/dist/domain/user-settings/settings-store.js +186 -4
- package/daemon/dist/domain/user-settings/settings-store.js.map +1 -1
- package/daemon/dist/domain/workflow-spec-cache.d.ts +49 -0
- package/daemon/dist/domain/workflow-spec-cache.d.ts.map +1 -1
- package/daemon/dist/domain/workflow-spec-cache.js +96 -0
- package/daemon/dist/domain/workflow-spec-cache.js.map +1 -1
- package/daemon/dist/domain/workspace/default-workspace-scaffold.d.ts +7 -0
- package/daemon/dist/domain/workspace/default-workspace-scaffold.d.ts.map +1 -1
- package/daemon/dist/domain/workspace/default-workspace-scaffold.js +201 -3
- package/daemon/dist/domain/workspace/default-workspace-scaffold.js.map +1 -1
- package/daemon/dist/domain/workspace/getting-started-narrative.d.ts +15 -0
- package/daemon/dist/domain/workspace/getting-started-narrative.d.ts.map +1 -0
- package/daemon/dist/domain/workspace/getting-started-narrative.js +237 -0
- package/daemon/dist/domain/workspace/getting-started-narrative.js.map +1 -0
- package/daemon/dist/domain/workspace/workspace-doctor.d.ts +197 -0
- package/daemon/dist/domain/workspace/workspace-doctor.d.ts.map +1 -0
- package/daemon/dist/domain/workspace/workspace-doctor.js +448 -0
- package/daemon/dist/domain/workspace/workspace-doctor.js.map +1 -0
- package/daemon/dist/index.d.ts +2 -1
- package/daemon/dist/index.d.ts.map +1 -1
- package/daemon/dist/index.js +63 -17
- package/daemon/dist/index.js.map +1 -1
- package/daemon/dist/lib/pane-envelope.d.ts +7 -0
- package/daemon/dist/lib/pane-envelope.d.ts.map +1 -0
- package/daemon/dist/lib/pane-envelope.js +38 -0
- package/daemon/dist/lib/pane-envelope.js.map +1 -0
- package/daemon/dist/middleware/auth-bearer-token.d.ts +47 -5
- package/daemon/dist/middleware/auth-bearer-token.d.ts.map +1 -1
- package/daemon/dist/middleware/auth-bearer-token.js +109 -8
- package/daemon/dist/middleware/auth-bearer-token.js.map +1 -1
- package/daemon/dist/routes/bundles.d.ts.map +1 -1
- package/daemon/dist/routes/bundles.js +966 -7
- package/daemon/dist/routes/bundles.js.map +1 -1
- package/daemon/dist/routes/config.d.ts.map +1 -1
- package/daemon/dist/routes/config.js +19 -2
- package/daemon/dist/routes/config.js.map +1 -1
- package/daemon/dist/routes/info.d.ts +3 -0
- package/daemon/dist/routes/info.d.ts.map +1 -0
- package/daemon/dist/routes/info.js +20 -0
- package/daemon/dist/routes/info.js.map +1 -0
- package/daemon/dist/routes/kernel-status.d.ts +3 -0
- package/daemon/dist/routes/kernel-status.d.ts.map +1 -0
- package/daemon/dist/routes/kernel-status.js +40 -0
- package/daemon/dist/routes/kernel-status.js.map +1 -0
- package/daemon/dist/routes/mission-control.d.ts.map +1 -1
- package/daemon/dist/routes/mission-control.js +25 -2
- package/daemon/dist/routes/mission-control.js.map +1 -1
- package/daemon/dist/routes/missions.d.ts +3 -0
- package/daemon/dist/routes/missions.d.ts.map +1 -0
- package/daemon/dist/routes/missions.js +195 -0
- package/daemon/dist/routes/missions.js.map +1 -0
- package/daemon/dist/routes/plugins.d.ts +3 -0
- package/daemon/dist/routes/plugins.d.ts.map +1 -0
- package/daemon/dist/routes/plugins.js +223 -0
- package/daemon/dist/routes/plugins.js.map +1 -0
- package/daemon/dist/routes/queue.d.ts +18 -0
- package/daemon/dist/routes/queue.d.ts.map +1 -1
- package/daemon/dist/routes/queue.js +97 -5
- package/daemon/dist/routes/queue.js.map +1 -1
- package/daemon/dist/routes/rig-cmux.d.ts +3 -0
- package/daemon/dist/routes/rig-cmux.d.ts.map +1 -0
- package/daemon/dist/routes/rig-cmux.js +121 -0
- package/daemon/dist/routes/rig-cmux.js.map +1 -0
- package/daemon/dist/routes/rig-policy.d.ts +9 -0
- package/daemon/dist/routes/rig-policy.d.ts.map +1 -0
- package/daemon/dist/routes/rig-policy.js +174 -0
- package/daemon/dist/routes/rig-policy.js.map +1 -0
- package/daemon/dist/routes/rigs.d.ts.map +1 -1
- package/daemon/dist/routes/rigs.js +10 -2
- package/daemon/dist/routes/rigs.js.map +1 -1
- package/daemon/dist/routes/sessions.d.ts.map +1 -1
- package/daemon/dist/routes/sessions.js +26 -3
- package/daemon/dist/routes/sessions.js.map +1 -1
- package/daemon/dist/routes/skills.d.ts +3 -0
- package/daemon/dist/routes/skills.d.ts.map +1 -0
- package/daemon/dist/routes/skills.js +147 -0
- package/daemon/dist/routes/skills.js.map +1 -0
- package/daemon/dist/routes/slices.d.ts.map +1 -1
- package/daemon/dist/routes/slices.js +15 -0
- package/daemon/dist/routes/slices.js.map +1 -1
- package/daemon/dist/routes/spec-library.d.ts.map +1 -1
- package/daemon/dist/routes/spec-library.js +16 -1
- package/daemon/dist/routes/spec-library.js.map +1 -1
- package/daemon/dist/routes/up.d.ts +25 -0
- package/daemon/dist/routes/up.d.ts.map +1 -1
- package/daemon/dist/routes/up.js +70 -3
- package/daemon/dist/routes/up.js.map +1 -1
- package/daemon/dist/routes/workspace.d.ts.map +1 -1
- package/daemon/dist/routes/workspace.js +80 -1
- package/daemon/dist/routes/workspace.js.map +1 -1
- package/daemon/dist/server.d.ts +41 -0
- package/daemon/dist/server.d.ts.map +1 -1
- package/daemon/dist/server.js +41 -0
- package/daemon/dist/server.js.map +1 -1
- package/daemon/dist/startup.d.ts.map +1 -1
- package/daemon/dist/startup.js +236 -6
- package/daemon/dist/startup.js.map +1 -1
- package/daemon/specs/agents/apps/vault-specialist/agent.yaml +0 -1
- package/daemon/specs/agents/conveyor/builder/agent.yaml +0 -1
- package/daemon/specs/agents/conveyor/lead/agent.yaml +0 -1
- package/daemon/specs/agents/conveyor/planner/agent.yaml +0 -1
- package/daemon/specs/agents/conveyor/reviewer/agent.yaml +0 -1
- package/daemon/specs/agents/design/product-designer/agent.yaml +0 -1
- package/daemon/specs/agents/development/implementer/agent.yaml +0 -1
- package/daemon/specs/agents/development/qa/agent.yaml +0 -1
- package/daemon/specs/agents/development/qa/guidance/role.md +0 -2
- package/daemon/specs/agents/orchestration/orchestrator/agent.yaml +0 -1
- package/daemon/specs/agents/orchestration/orchestrator/guidance/role.md +28 -4
- package/daemon/specs/agents/research/analyst/agent.yaml +0 -1
- package/daemon/specs/agents/research/synthesizer/agent.yaml +0 -1
- package/daemon/specs/agents/review/independent-reviewer/agent.yaml +0 -1
- package/daemon/specs/agents/shared/agent.yaml +6 -6
- package/daemon/specs/agents/shared/skills/core/openrig-architect/SKILL.md +361 -0
- package/daemon/specs/agents/shared/skills/core/openrig-installer/SKILL.md +142 -0
- package/daemon/specs/agents/shared/skills/core/openrig-user/SKILL.md +288 -6
- package/daemon/specs/agents/shared/skills/core/openrig-user-settings/SKILL.md +4 -4
- package/daemon/specs/agents/shared/skills/core/rig-lifecycle/SKILL.md +116 -0
- package/daemon/specs/agents/shared/skills/pods/development-team/SKILL.md +0 -1
- package/daemon/specs/agents/shared/skills/pods/orchestration-team/SKILL.md +2 -2
- package/daemon/specs/agents/shared/skills/process/agent-browser/LOCAL-INSIGHTS.md +6 -6
- package/daemon/specs/agents/shared/skills/process/agent-browser/OPENRIG.md +40 -0
- package/daemon/specs/agents/shared/skills/process/agent-browser/SKILL.md +10 -0
- package/daemon/specs/agents/shared/skills/process/brainstorming/OPENRIG.md +48 -0
- package/daemon/specs/agents/shared/skills/process/brainstorming/SKILL.md +11 -0
- package/daemon/specs/agents/shared/skills/process/dogfood/SKILL.md +5 -0
- package/daemon/specs/agents/shared/skills/process/executing-plans/OPENRIG.md +56 -0
- package/daemon/specs/agents/shared/skills/process/executing-plans/SKILL.md +10 -0
- package/daemon/specs/agents/shared/skills/process/frontend-design/SKILL.md +5 -0
- package/daemon/specs/agents/shared/skills/process/systematic-debugging/SKILL.md +5 -0
- package/daemon/specs/agents/shared/skills/process/test-driven-development/SKILL.md +5 -0
- package/daemon/specs/agents/shared/skills/process/using-superpowers/OPENRIG.md +48 -0
- package/daemon/specs/agents/shared/skills/process/using-superpowers/SKILL.md +11 -0
- package/daemon/specs/agents/shared/skills/process/verification-before-completion/SKILL.md +5 -0
- package/daemon/specs/agents/shared/skills/process/writing-plans/OPENRIG.md +52 -0
- package/daemon/specs/agents/shared/skills/process/writing-plans/SKILL.md +12 -2
- package/daemon/specs/rigs/launch/conveyor/rig.yaml +1 -1
- package/daemon/specs/rigs/launch/kernel/agents/advisor/lead/agent.yaml +35 -0
- package/daemon/specs/rigs/launch/kernel/agents/advisor/lead/guidance/role.md +50 -0
- package/daemon/specs/rigs/launch/kernel/agents/advisor/lead/startup/context.md +37 -0
- package/daemon/specs/rigs/launch/kernel/agents/operator/agent/agent.yaml +35 -0
- package/daemon/specs/rigs/launch/kernel/agents/operator/agent/guidance/role.md +49 -0
- package/daemon/specs/rigs/launch/kernel/agents/operator/agent/startup/context.md +63 -0
- package/daemon/specs/rigs/launch/kernel/agents/queue/worker/agent.yaml +35 -0
- package/daemon/specs/rigs/launch/kernel/agents/queue/worker/guidance/role.md +33 -0
- package/daemon/specs/rigs/launch/kernel/agents/queue/worker/startup/context.md +30 -0
- package/daemon/specs/rigs/launch/kernel/culture/CULTURE.md +69 -0
- package/daemon/specs/rigs/launch/kernel/rig-claude-only.yaml +59 -0
- package/daemon/specs/rigs/launch/kernel/rig-codex-only.yaml +59 -0
- package/daemon/specs/rigs/launch/kernel/rig.yaml +69 -0
- package/dist/client.d.ts +3 -0
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +13 -1
- package/dist/client.js.map +1 -1
- package/dist/commands/bundle.d.ts.map +1 -1
- package/dist/commands/bundle.js +123 -2
- package/dist/commands/bundle.js.map +1 -1
- package/dist/commands/config-init-workspace.d.ts.map +1 -1
- package/dist/commands/config-init-workspace.js +293 -5
- package/dist/commands/config-init-workspace.js.map +1 -1
- package/dist/commands/config.d.ts.map +1 -1
- package/dist/commands/config.js +11 -3
- package/dist/commands/config.js.map +1 -1
- package/dist/commands/daemon.d.ts.map +1 -1
- package/dist/commands/daemon.js +53 -1
- package/dist/commands/daemon.js.map +1 -1
- package/dist/commands/heartbeat.d.ts.map +1 -1
- package/dist/commands/heartbeat.js +0 -5
- package/dist/commands/heartbeat.js.map +1 -1
- package/dist/commands/plugin.d.ts +4 -0
- package/dist/commands/plugin.d.ts.map +1 -0
- package/dist/commands/plugin.js +395 -0
- package/dist/commands/plugin.js.map +1 -0
- package/dist/commands/ps.d.ts.map +1 -1
- package/dist/commands/ps.js +51 -8
- package/dist/commands/ps.js.map +1 -1
- package/dist/commands/queue.d.ts +6 -0
- package/dist/commands/queue.d.ts.map +1 -1
- package/dist/commands/queue.js +103 -5
- package/dist/commands/queue.js.map +1 -1
- package/dist/commands/rig-policy.d.ts +48 -0
- package/dist/commands/rig-policy.d.ts.map +1 -0
- package/dist/commands/rig-policy.js +429 -0
- package/dist/commands/rig-policy.js.map +1 -0
- package/dist/commands/scope.d.ts +6 -0
- package/dist/commands/scope.d.ts.map +1 -0
- package/dist/commands/scope.js +659 -0
- package/dist/commands/scope.js.map +1 -0
- package/dist/commands/send.d.ts +8 -0
- package/dist/commands/send.d.ts.map +1 -1
- package/dist/commands/send.js +8 -0
- package/dist/commands/send.js.map +1 -1
- package/dist/commands/up.d.ts.map +1 -1
- package/dist/commands/up.js +60 -1
- package/dist/commands/up.js.map +1 -1
- package/dist/commands/workflow.d.ts +9 -0
- package/dist/commands/workflow.d.ts.map +1 -1
- package/dist/commands/workflow.js +139 -1
- package/dist/commands/workflow.js.map +1 -1
- package/dist/commands/workspace.d.ts +20 -0
- package/dist/commands/workspace.d.ts.map +1 -1
- package/dist/commands/workspace.js +138 -7
- package/dist/commands/workspace.js.map +1 -1
- package/dist/config-store.d.ts +18 -1
- package/dist/config-store.d.ts.map +1 -1
- package/dist/config-store.js +167 -4
- package/dist/config-store.js.map +1 -1
- package/dist/daemon-lifecycle.d.ts +45 -2
- package/dist/daemon-lifecycle.d.ts.map +1 -1
- package/dist/daemon-lifecycle.js +90 -9
- package/dist/daemon-lifecycle.js.map +1 -1
- package/dist/host-registry.d.ts +1 -1
- package/dist/host-registry.js +1 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -0
- package/dist/index.js.map +1 -1
- package/dist/lib/scope/dot-id.d.ts +43 -0
- package/dist/lib/scope/dot-id.d.ts.map +1 -0
- package/dist/lib/scope/dot-id.js +165 -0
- package/dist/lib/scope/dot-id.js.map +1 -0
- package/dist/lib/scope/scope-fs.d.ts +79 -0
- package/dist/lib/scope/scope-fs.d.ts.map +1 -0
- package/dist/lib/scope/scope-fs.js +468 -0
- package/dist/lib/scope/scope-fs.js.map +1 -0
- package/dist/lib/scope/templates.d.ts +38 -0
- package/dist/lib/scope/templates.d.ts.map +1 -0
- package/dist/lib/scope/templates.js +109 -0
- package/dist/lib/scope/templates.js.map +1 -0
- package/dist/lib/scope/types.d.ts +61 -0
- package/dist/lib/scope/types.d.ts.map +1 -0
- package/dist/lib/scope/types.js +38 -0
- package/dist/lib/scope/types.js.map +1 -0
- package/dist/lib/scope-templates/backlog-deprecation.md +26 -0
- package/dist/lib/scope-templates/backlog-tech-debt.md +22 -0
- package/dist/lib/scope-templates/bug-fix.md +30 -0
- package/dist/lib/scope-templates/mission-notes.md +97 -0
- package/dist/lib/scope-templates/mission-placeholder.md +20 -0
- package/dist/lib/scope-templates/mission-release.md +25 -0
- package/dist/lib/scope-templates/placeholder.md +30 -0
- package/dist/lib/scope-templates/release-feature.md +26 -0
- package/dist/lib/scope-templates/research.md +22 -0
- package/package.json +2 -2
- package/ui/dist/assets/index-C_Q5FczU.css +1 -0
- package/ui/dist/assets/index-GjTxfi9S.js +547 -0
- package/ui/dist/index.html +2 -2
- package/daemon/specs/agents/shared/skills/claude-compact-in-place/SKILL.md +0 -100
- package/daemon/specs/agents/shared/skills/process/containerized-e2e/SKILL.md +0 -256
- package/daemon/specs/agents/shared/skills/process/containerized-e2e/scripts/Dockerfile +0 -39
- package/daemon/specs/agents/shared/skills/process/containerized-e2e/scripts/build-e2e-image.sh +0 -37
- package/daemon/specs/agents/shared/skills/process/containerized-e2e/templates/control-plane-test.yaml +0 -40
- package/daemon/specs/agents/shared/skills/process/containerized-e2e/templates/e2e-report-template.md +0 -94
- package/daemon/specs/agents/shared/skills/process/containerized-e2e/templates/expansion-collision-fragment.yaml +0 -13
- package/daemon/specs/agents/shared/skills/process/containerized-e2e/templates/expansion-pod-fragment.yaml +0 -14
- package/ui/dist/assets/index-BDHU1JUK.js +0 -412
- package/ui/dist/assets/index-DXTyJSqu.css +0 -1
|
@@ -12,27 +12,309 @@ This is not the config-layer or builder guide. Use the substrate control-plane g
|
|
|
12
12
|
and experimental overlays. Use the OpenRig builder guidance when changing OpenRig behavior,
|
|
13
13
|
doctrine, or release posture.
|
|
14
14
|
|
|
15
|
+
## Coordination primitives — when to use which
|
|
16
|
+
|
|
17
|
+
Three coordination surfaces, used together for forward-momentum work. Internalize this
|
|
18
|
+
on first read — it shapes every turn you take in a rig.
|
|
19
|
+
|
|
20
|
+
### `rig send <seat> "<text>"` — intra-pod direct messaging / nudges
|
|
21
|
+
|
|
22
|
+
Use when you need to ask a quick question or give a teammate context that does not
|
|
23
|
+
carry handoff semantics. **NOT for durable work.** NOT for state that must survive
|
|
24
|
+
across turns. The message lands in the target's pane; there is no durable queue
|
|
25
|
+
record. The CLI prints `Sent to ...` (and `Verified: yes/no` with `--verify`); read
|
|
26
|
+
the receipt and move on.
|
|
27
|
+
|
|
28
|
+
Example:
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
rig send velocity-guard@openrig-velocity "Heads up — filing per-commit handoff on slice-22 Bug 1 BONUS at tip 6b8673b6." --verify
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
### `rig queue create --source <X> --destination <Y> --tags <...> --body "<...>"` — durable work item
|
|
35
|
+
|
|
36
|
+
Use for any substantive work that must not fall through chat — slice handoffs,
|
|
37
|
+
guard verdicts, QA results, full-tip reviews, multi-item batches. Survives agent
|
|
38
|
+
restarts. Tracked in the daemon SQLite schema. Surfaces in Project / queue views
|
|
39
|
+
+ in the destination seat's inbox. Tag with mission / slice / gate / checkpoint
|
|
40
|
+
so future-you (and any peer) can find it.
|
|
41
|
+
|
|
42
|
+
Body discipline: substantive bodies go through a temp-file pattern, not inline
|
|
43
|
+
`--body` with raw backticks — `rig queue create` body parsing breaks on
|
|
44
|
+
unescaped backticks and rejects flag-like tokens.
|
|
45
|
+
|
|
46
|
+
Example:
|
|
47
|
+
|
|
48
|
+
```bash
|
|
49
|
+
rig queue create \
|
|
50
|
+
--source redo-driver-2@openrig-velocity \
|
|
51
|
+
--destination redo-guard-2@openrig-velocity \
|
|
52
|
+
--tags "mission:release-0.3.2,slice:22-rig-up-paper-cut-fix-round,gate:guard,handoff:per-commit,checkpoint:bug-1-bonus" \
|
|
53
|
+
--body "$(cat /tmp/per-commit-body.txt)"
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
### `rig queue handoff <qitem-id> --to <next> ...` — hot-potato handoff
|
|
57
|
+
|
|
58
|
+
Use when you have completed your turn on a qitem and the work moves to the next
|
|
59
|
+
owner. **This is forward momentum.** The ball passes to the destination seat;
|
|
60
|
+
chain-of-record (the prior qitem id) is preserved so the verdict trail is intact;
|
|
61
|
+
tags carry the phase boundary forward (e.g. `gate:guard` → `gate:qa`).
|
|
62
|
+
|
|
63
|
+
Example:
|
|
64
|
+
|
|
65
|
+
```bash
|
|
66
|
+
rig queue handoff qitem-20260601012431-d78aa805 \
|
|
67
|
+
--to velocity-qa@openrig-velocity \
|
|
68
|
+
--tags "mission:release-0.3.2,slice:22-rig-up-paper-cut-fix-round,gate:qa,handoff:adversarial-dogfood"
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
### §1b doctrine — turn ends by passing the ball
|
|
72
|
+
|
|
73
|
+
**A turn ends by passing the ball, never by going idle holding the slice waiting
|
|
74
|
+
on a confirmation the process does not include.** If the work was authorized, the
|
|
75
|
+
per-commit guard + adversarial QA + orch heavy-verify are the guardrails — not an
|
|
76
|
+
operator pre-commit gate. Do the authorized work and pass the ball.
|
|
77
|
+
|
|
78
|
+
Valid pauses are only:
|
|
79
|
+
|
|
80
|
+
- A genuine blocker — file a blocked-state qitem against the blocking peer or
|
|
81
|
+
surface explicitly to orch.
|
|
82
|
+
- A scope-or-architecture question that requires owner input and changes the
|
|
83
|
+
plan — surface to orch with the specific decision needed.
|
|
84
|
+
|
|
85
|
+
Implementing already-authorized work is neither of these. Proceed without
|
|
86
|
+
phantom-gating on an imagined "next prompt" or "operator confirmation" that the
|
|
87
|
+
process does not require.
|
|
88
|
+
|
|
89
|
+
### Anti-patterns
|
|
90
|
+
|
|
91
|
+
- Using `rig send` for durable work → use `rig queue create` instead. Sends do
|
|
92
|
+
not survive restarts and do not show up in queue/project views.
|
|
93
|
+
- Idle-holding a slice for an imagined "next prompt" or "operator confirmation"
|
|
94
|
+
that the process does not require → pass the ball via `rig queue handoff` and
|
|
95
|
+
proceed to the next slice or stand by for the inbound verdict. See the §1b
|
|
96
|
+
doctrine above.
|
|
97
|
+
- Hand-coding `rigx queue` for new work → `rig queue` is the daemon-backed
|
|
98
|
+
canonical surface since the 2026-05-11 host-CLI fix. `rigx queue` is a
|
|
99
|
+
recovery-only fallback; qitems written via `rigx queue` are invisible to
|
|
100
|
+
daemon-backed reads and break fleet-wide routing discipline.
|
|
101
|
+
- Inlining a multi-line / backtick-heavy body into `rig queue create --body`
|
|
102
|
+
→ write the body to `/tmp/<descriptive-name>.txt` first, then
|
|
103
|
+
`--body "$(cat /tmp/<file>.txt)"`. The body parser does not tolerate raw
|
|
104
|
+
backticks or flag-like tokens inline.
|
|
105
|
+
|
|
15
106
|
## Runtime-Gated Coordination Primitives
|
|
16
107
|
|
|
17
|
-
OpenRig v0.
|
|
18
|
-
`
|
|
19
|
-
/ `
|
|
108
|
+
OpenRig v0.3.1 is published publicly as `@openrig/cli@0.3.1` and GitHub Release
|
|
109
|
+
`v0.3.1`. It includes the bundled PL-004 Coordination Primitive System: Phase A
|
|
110
|
+
`rig stream` / `rig queue`, Phase B `rig project` / `rig view`, Phase C
|
|
111
|
+
`rig watchdog`, and Phase D `rig workflow` / `workflow-keepalive`.
|
|
20
112
|
|
|
21
|
-
|
|
22
|
-
|
|
113
|
+
These are shipped product surfaces in v0.3.x, but they require a compatible
|
|
114
|
+
v0.3.x daemon and matching SQLite schema at runtime — the installed package
|
|
115
|
+
version is not automatically the version of the daemon serving you. If a
|
|
116
|
+
coordination command behaves unexpectedly, confirm the running daemon with
|
|
117
|
+
`rig whoami --json` and daemon status before assuming a product bug.
|
|
23
118
|
|
|
24
119
|
Default posture:
|
|
25
120
|
|
|
26
121
|
- Treat daemon `rig queue`, `rig stream`, `rig project`, `rig view`, `rig watchdog`, and
|
|
27
122
|
`rig workflow` as the product coordination surfaces when the active daemon is v0.2.0 or newer.
|
|
123
|
+
- **CANONICAL SURFACE NOTE (2026-05-11)**: `rig queue` (daemon-backed SQLite) became
|
|
124
|
+
the canonical queue-routing surface when the 2026-05-11 host-CLI fix landed. The
|
|
125
|
+
coordination model is now load-bearing at the top of this skill — see
|
|
126
|
+
"Coordination primitives — when to use which" above for the send / queue /
|
|
127
|
+
queue-handoff usage model and the §1b doctrine. Auxiliary queue verbs:
|
|
128
|
+
`rig queue update / show / list` complement `rig queue create / handoff`
|
|
129
|
+
for in-flight inspection and state mutation.
|
|
28
130
|
- Use temporary substrate overlays such as `rigx queue`, `rigx stream`, `rigx project`, and
|
|
29
131
|
`rigx view-proto` only where the current OpenRig workstream explicitly says that legacy/control
|
|
30
|
-
layer is still in use.
|
|
132
|
+
layer is still in use. For queue specifically, `rigx queue` is recovery-only fallback;
|
|
133
|
+
qitems written via `rigx queue` are invisible to daemon-backed reads and break fleet-wide
|
|
134
|
+
routing discipline.
|
|
31
135
|
- If a daemon-backed coordination command fails, debug the command/runtime/schema edge directly;
|
|
32
136
|
do not assume the right workaround is to drop back to a config-layer primitive.
|
|
33
137
|
- Do not perform daemon stop/start, production DB copy/mutation, release, publish, or other
|
|
34
138
|
consequence-boundary actions unless the operator/workstream has granted that specific gate.
|
|
35
139
|
|
|
140
|
+
## First-user workspace setup
|
|
141
|
+
|
|
142
|
+
When booting into a rig on a host where the workspace is unset, gap-ridden, or
|
|
143
|
+
points at a stale layout, address that before substantive project work. The
|
|
144
|
+
shipped surface is small + bounded — reach for the canonical commands rather
|
|
145
|
+
than improvising.
|
|
146
|
+
|
|
147
|
+
### Detect workspace state at boot
|
|
148
|
+
|
|
149
|
+
Agent-actionable when the daemon is reachable.
|
|
150
|
+
|
|
151
|
+
```bash
|
|
152
|
+
rig workspace validate --json
|
|
153
|
+
rig workspace validate <path> --kind <user|project|knowledge|lab|delivery> --json
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
`rig workspace validate` walks the workspace root and emits a structured
|
|
157
|
+
frontmatter-gap report against the v0 contract. Exit code is non-zero when
|
|
158
|
+
gaps exist (operators chain into hygiene fix loops). Default root is the
|
|
159
|
+
current directory; pass a positional path to validate elsewhere. `--kind`
|
|
160
|
+
scopes the contract to a specific workspace kind; omit for a kind-agnostic
|
|
161
|
+
structural check.
|
|
162
|
+
|
|
163
|
+
If `rig workspace validate` reports a non-zero `gapCount` OR the workspace
|
|
164
|
+
root is unset / unwritable, the workspace needs instantiation — see the next
|
|
165
|
+
section.
|
|
166
|
+
|
|
167
|
+
### Instantiate the canonical workspace scaffold
|
|
168
|
+
|
|
169
|
+
Agent-actionable. Idempotent on existing dirs without `--force`.
|
|
170
|
+
|
|
171
|
+
```bash
|
|
172
|
+
rig config init-workspace
|
|
173
|
+
rig config init-workspace --root <path>
|
|
174
|
+
rig config init-workspace --dry-run --json
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
`rig config init-workspace` scaffolds the canonical workspace layout at the
|
|
178
|
+
configured `workspace.root` (default `~/.openrig/workspace`):
|
|
179
|
+
|
|
180
|
+
- `missions/` — release missions + slices
|
|
181
|
+
- `artifacts/` — work artifacts produced inside the workspace
|
|
182
|
+
- `evidence/` — non-dogfood evidence (release evidence, proof packets, etc.)
|
|
183
|
+
- `progress/` — progress index + per-mission rails
|
|
184
|
+
- `field-notes/` — operator + agent observations
|
|
185
|
+
- `specs/` — spec library (rig + agent + workflow YAML lives here)
|
|
186
|
+
- `dogfood-evidence/` — dogfood proof packets + run artifacts
|
|
187
|
+
|
|
188
|
+
The scaffold seeds one example mission (`getting-started`) with multiple
|
|
189
|
+
slices, and drops a workspace README.md + STEERING.md so a fresh install has
|
|
190
|
+
browsable Project content. `--root <path>` targets a non-default root for
|
|
191
|
+
this call; `--dry-run` reports what would be created without writing.
|
|
192
|
+
`--force` overwrites existing FILES but never deletes
|
|
193
|
+
directories — operator content is safe.
|
|
194
|
+
|
|
195
|
+
### Redirect the workspace root
|
|
196
|
+
|
|
197
|
+
Operator-gated when persistent. Agent-actionable when one-shot via env-var.
|
|
198
|
+
|
|
199
|
+
For a single command:
|
|
200
|
+
|
|
201
|
+
```bash
|
|
202
|
+
OPENRIG_WORKSPACE_ROOT=<path> rig <command> ...
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
For a persistent host-level redirect, the operator changes the config file or
|
|
206
|
+
runs the setter:
|
|
207
|
+
|
|
208
|
+
```bash
|
|
209
|
+
rig config set workspace.root <path>
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
ConfigStore precedence: `OPENRIG_WORKSPACE_ROOT` env > config-file
|
|
213
|
+
`workspace.root` > built-in default `~/.openrig/workspace`. The same
|
|
214
|
+
precedence governs `OPENRIG_WORKSPACE_SPECS_ROOT` → `workspace.specs_root`
|
|
215
|
+
(default `<workspace_root>/specs`).
|
|
216
|
+
|
|
217
|
+
Prefer the env-var form for one-shot redirects (transparent to operators);
|
|
218
|
+
reserve `rig config set` for changes the operator owns.
|
|
219
|
+
|
|
220
|
+
### Build a workspace from scratch
|
|
221
|
+
|
|
222
|
+
Agent-actionable. Same surface as the canonical scaffold above; the
|
|
223
|
+
`workspace.root` cascade handles non-existent host paths.
|
|
224
|
+
|
|
225
|
+
```bash
|
|
226
|
+
rig config init-workspace --root /path/to/new/workspace
|
|
227
|
+
```
|
|
228
|
+
|
|
229
|
+
The command creates the root dir if missing (idempotent: existing root +
|
|
230
|
+
populated subdirs is a no-op). Run
|
|
231
|
+
`rig workspace validate /path/to/new/workspace --json` after to confirm the
|
|
232
|
+
contract holds.
|
|
233
|
+
|
|
234
|
+
### Create a workflow inside an existing workspace
|
|
235
|
+
|
|
236
|
+
Authoring is operator-or-agent; validation + instantiation are
|
|
237
|
+
agent-actionable.
|
|
238
|
+
|
|
239
|
+
Workflow spec files live at:
|
|
240
|
+
|
|
241
|
+
```
|
|
242
|
+
<workspace_root>/specs/workflows/<name>.yaml
|
|
243
|
+
```
|
|
244
|
+
|
|
245
|
+
`<workspace_root>` resolves via the ConfigStore precedence named above.
|
|
246
|
+
There is no `rig workflow create` verb in v0.3.x — the spec YAML is authored
|
|
247
|
+
directly. Template by hand from the documented schema, or copy a built-in
|
|
248
|
+
starter from `<openrig install>/dist/builtins/workflow-specs/` and adapt.
|
|
249
|
+
Once written:
|
|
250
|
+
|
|
251
|
+
```bash
|
|
252
|
+
rig workflow validate <workspace_root>/specs/workflows/<name>.yaml --json
|
|
253
|
+
|
|
254
|
+
rig workflow instantiate <workspace_root>/specs/workflows/<name>.yaml \
|
|
255
|
+
--root-objective "<one-line objective for the run>" \
|
|
256
|
+
--created-by <your-session>@<your-rig> \
|
|
257
|
+
--json
|
|
258
|
+
```
|
|
259
|
+
|
|
260
|
+
Both `--root-objective <text>` and `--created-by <session>` are REQUIRED
|
|
261
|
+
on `instantiate` — omitting either yields a Commander required-option
|
|
262
|
+
error before the daemon is contacted. `--entry-owner <session>` is an
|
|
263
|
+
optional override for the entry-step owner; default routing is per the
|
|
264
|
+
workflow spec.
|
|
265
|
+
|
|
266
|
+
`validate` returns a structured ok/error report; `instantiate` creates a
|
|
267
|
+
workflow instance + entry-step qitem. Inspect existing surface state with:
|
|
268
|
+
|
|
269
|
+
```bash
|
|
270
|
+
rig workflow specs --json # list registered specs (built-in + operator-authored)
|
|
271
|
+
rig workflow list --json # list active workflow instances
|
|
272
|
+
rig workflow show <instanceId> --json
|
|
273
|
+
```
|
|
274
|
+
|
|
275
|
+
## v0.3.x Starter, Workspace, And Plugin Surfaces
|
|
276
|
+
|
|
277
|
+
OpenRig v0.3.0 adds `rig agent-image`, `rig context-pack`, `rig workspace`, and
|
|
278
|
+
`rig config init-workspace`. It also shifts fresh-user starter guidance toward
|
|
279
|
+
`product-team` for human-directed work and `conveyor` for workflow-oriented
|
|
280
|
+
work. Treat `demo` as legacy/test content unless a task specifically asks for
|
|
281
|
+
the old demo spec.
|
|
282
|
+
|
|
283
|
+
OpenRig v0.3.1 adds public package/source surfaces for Plugin Primitive v0,
|
|
284
|
+
Claude Auto-Compaction Policy, migration `040_workflow_specs_diagnostic`,
|
|
285
|
+
Library Explorer finishing, Settings Destination Explorer, Dashboard/For You
|
|
286
|
+
vellum refresh, storytelling adapter, and action outcome + inline error UX.
|
|
287
|
+
|
|
288
|
+
`rig plugin` is read-only at v0:
|
|
289
|
+
|
|
290
|
+
```bash
|
|
291
|
+
rig plugin list
|
|
292
|
+
rig plugin show <id>
|
|
293
|
+
rig plugin used-by <id>
|
|
294
|
+
rig plugin validate <path>
|
|
295
|
+
```
|
|
296
|
+
|
|
297
|
+
There is no `rig plugin install` verb in v0.3.1. Plugin installation remains
|
|
298
|
+
explicit operator copy/symlink to `$OPENRIG_HOME/plugins/<plugin-id>/`.
|
|
299
|
+
|
|
300
|
+
Claude auto-compaction policy is opt-in default-off. The v0.3.1 package and
|
|
301
|
+
this host's active daemon ship `policies.claude_compaction.*` ConfigStore keys,
|
|
302
|
+
but no behavior changes unless the operator enables the policy.
|
|
303
|
+
|
|
304
|
+
Known v0.3.0/v0.3.1 caveats:
|
|
305
|
+
- `rig down <name> --delete` still returns 404 in the known D1 path; use
|
|
306
|
+
`rig ps` to find the rig ID and then `rig down <rigId> --delete`.
|
|
307
|
+
- `rig queue` / `rig view` JSON and limit compatibility drift is an open
|
|
308
|
+
follow-up from host-adoption proof; treat it as a compatibility caveat, not a
|
|
309
|
+
daemon-health failure.
|
|
310
|
+
- Queue/view JSON/limit drift is now refined as a wrapper-layer routing issue,
|
|
311
|
+
not a daemon-layer issue; use human-readable output for affected wrapper
|
|
312
|
+
commands until v0.3.2.
|
|
313
|
+
- First v0.3.1 daemon start hit a plugin-vendor fallback health-probe timeout;
|
|
314
|
+
controlled retry succeeded. Manual retry is the current workaround.
|
|
315
|
+
- Topology mobile drawer restoration and plugin source-label taxonomy are
|
|
316
|
+
v0.3.2 carry-forwards.
|
|
317
|
+
|
|
36
318
|
## Core Loop
|
|
37
319
|
|
|
38
320
|
Most work in OpenRig reduces to this loop:
|
|
@@ -86,10 +86,10 @@ Resolution order for workspace per-subdir keys: per-subdir override >
|
|
|
86
86
|
> set the per-subdir workspace overrides explicitly:
|
|
87
87
|
>
|
|
88
88
|
> ```bash
|
|
89
|
-
> rig config set workspace.slices_root /
|
|
90
|
-
> rig config set workspace.steering_path /
|
|
91
|
-
> rig config set workspace.progress_scan_roots 'work:/
|
|
92
|
-
> rig config set workspace.field_notes_root /
|
|
89
|
+
> rig config set workspace.slices_root /path/to/your/workspace/missions
|
|
90
|
+
> rig config set workspace.steering_path /path/to/your/workspace/STEERING.md
|
|
91
|
+
> rig config set workspace.progress_scan_roots 'work:/path/to/your/workspace,missions:/path/to/your/workspace/missions'
|
|
92
|
+
> rig config set workspace.field_notes_root /path/to/your/workspace/field-notes
|
|
93
93
|
> ```
|
|
94
94
|
>
|
|
95
95
|
> No restart needed for the CLI; for the daemon's reads to pick up
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: rig-lifecycle
|
|
3
|
+
description: Use when reasoning about the rig lifecycle operations family (create / start / stop / resume / restore / snapshot / release / unclaim / destroy), reading or trusting `rig ps` / lifecycle projections after recovery, or designing proof for a lifecycle scenario. Covers the 4 failure modes (auto-restore creates partial rig; projections report healthier than reality; provider auth treated as impl work; resume succeeds for one runtime fails another) plus the restore-honesty rule (failed resume is FAILED loudly — no auto fresh fallback).
|
|
4
|
+
metadata:
|
|
5
|
+
openrig:
|
|
6
|
+
stage: factory-approved
|
|
7
|
+
last_verified: "2026-05-04"
|
|
8
|
+
distribution_scope: product-bound
|
|
9
|
+
source_evidence: |
|
|
10
|
+
Lifecycle Reboot/Recovery Scenario Matrix (Tier 1 complete; Tier 2
|
|
11
|
+
human-gated). Codex auth-refusal surfaces as attention_required.
|
|
12
|
+
sibling_skills:
|
|
13
|
+
- openrig-user
|
|
14
|
+
- openrig-operator
|
|
15
|
+
- seat-continuity-and-handover
|
|
16
|
+
transfer_test: pending
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
# Rig Lifecycle
|
|
20
|
+
|
|
21
|
+
The family of operations that **create, start, stop, resume, restore,
|
|
22
|
+
snapshot, release, unclaim, and destroy** OpenRig-managed topologies.
|
|
23
|
+
Includes the user story after reboot: **"bring my work back without
|
|
24
|
+
turning a clean recovery into a cleanup project."**
|
|
25
|
+
|
|
26
|
+
If lifecycle is brittle, every higher-level primitive inherits that
|
|
27
|
+
brittleness. Queue, workflow, seat continuity, cross-host operation,
|
|
28
|
+
and RSI all assume that rigs and seats can be restored into known
|
|
29
|
+
states.
|
|
30
|
+
|
|
31
|
+
## Use this when
|
|
32
|
+
|
|
33
|
+
- Operating `rig up / down / restore / resume / snapshot / release / unclaim / destroy`
|
|
34
|
+
- Reading `rig ps` after a reboot or recovery and deciding what to trust
|
|
35
|
+
- Designing proof for a lifecycle scenario (clean start / warm resume / host reboot / provider auth loss / partial boot / operator recovery)
|
|
36
|
+
- Reasoning about restore-outcome semantics (`resumed` / `rebuilt` / `fresh` / `failed` / `attention_required`)
|
|
37
|
+
- Auditing whether a lifecycle proof is in-process bedrock vs requires real reboot evidence
|
|
38
|
+
|
|
39
|
+
## Don't use this when
|
|
40
|
+
|
|
41
|
+
- The operation is single-command and deterministic — use `openrig-user` skill for CLI surface
|
|
42
|
+
- The work is operator-level configuration of OpenRig itself — use `openrig-operator`
|
|
43
|
+
- The work is rig spec authoring — use `openrig-architect`
|
|
44
|
+
|
|
45
|
+
## Failure modes (4)
|
|
46
|
+
|
|
47
|
+
1. **Auto-restore creates a partially restored rig that must be cleaned up before real recovery.** Partial restore looks like recovery but isn't; cleanup-before-recovery becomes the actual workload.
|
|
48
|
+
2. **`rig ps` or lifecycle projections report a healthier state than the runtime actually has.** Projections are summaries; the runtime is truth. Don't trust projections silently.
|
|
49
|
+
3. **Provider auth is unavailable after reboot and the system treats that as implementation work** instead of a human/environment decision. Auth issues are environmental; route to human.
|
|
50
|
+
4. **Resume succeeds for one runtime/provider but fails for another scenario that was never tested.** Per-runtime parity assumptions break silently; matrix proof catches them.
|
|
51
|
+
|
|
52
|
+
## Restore-honesty rule (load-bearing)
|
|
53
|
+
|
|
54
|
+
**Failed resume is FAILED loudly.** No automatic fresh fallback. Fresh
|
|
55
|
+
launch is **explicit follow-up only.** This is enforced architecturally
|
|
56
|
+
at the daemon level (per `docs/as-built/architecture/architecture-rules-and-event-system.md` rule 15).
|
|
57
|
+
|
|
58
|
+
The locked restore-outcome vocabulary:
|
|
59
|
+
|
|
60
|
+
| Outcome | Meaning |
|
|
61
|
+
|---|---|
|
|
62
|
+
| `resumed` | Native runtime resumed the same conversation |
|
|
63
|
+
| `rebuilt` | New process assembled from artifacts (`session_source: mode: rebuild`) |
|
|
64
|
+
| `fresh` | New process with no prior continuity |
|
|
65
|
+
| `failed` | Restore attempted and failed; no automatic fallback |
|
|
66
|
+
| `attention_required` | Recoverable blocker (provider auth refused, etc.); needs operator action |
|
|
67
|
+
| `n-a` | Not applicable (terminal nodes, etc.) |
|
|
68
|
+
|
|
69
|
+
Codex auth-refusal returns `attention_required` (recoverable); Claude
|
|
70
|
+
`looksLikeClaudeLoginPrompt` returns `failed/login_required` (terminal).
|
|
71
|
+
Cross-runtime alignment is an open follow-up question.
|
|
72
|
+
|
|
73
|
+
## Proof standard
|
|
74
|
+
|
|
75
|
+
Lifecycle proof should include **real reboot or VM-reboot evidence**,
|
|
76
|
+
not only daemon-unit evidence. The minimum useful matrix covers:
|
|
77
|
+
|
|
78
|
+
| Scenario | What it proves |
|
|
79
|
+
|---|---|
|
|
80
|
+
| Clean start | Boot from spec into known state |
|
|
81
|
+
| Warm resume | `rig down` → `rig up <name>` resumes seats |
|
|
82
|
+
| Host reboot / tmux socket absence | Recovery from lost tmux connection |
|
|
83
|
+
| Provider auth loss | Codex/Claude auth refusal handled honestly |
|
|
84
|
+
| Partial boot / partial failure | Some seats up, some failed; honest reporting |
|
|
85
|
+
| Intentional operator recovery | Operator-initiated restore from snapshot |
|
|
86
|
+
|
|
87
|
+
Tier 1: in-process bedrock (daemon-unit evidence). Tier 2: real reboot
|
|
88
|
+
or disposable Tart VM. Tier 1 alone is not lifecycle proof; it's
|
|
89
|
+
bedrock.
|
|
90
|
+
|
|
91
|
+
## Default policy is part of the primitive
|
|
92
|
+
|
|
93
|
+
**Treat default policy as part of the primitive, not an afterthought.**
|
|
94
|
+
Lifecycle defaults that are too optimistic for the reliability level
|
|
95
|
+
actually proven create silent harm:
|
|
96
|
+
|
|
97
|
+
- `auto-restore` defaults that mask failure modes
|
|
98
|
+
- Implicit fresh-fallback that hides resume failure
|
|
99
|
+
- Permissive verification that doesn't distinguish honest success from "appeared to work"
|
|
100
|
+
|
|
101
|
+
## Total-Host Restore Product Rail v2
|
|
102
|
+
|
|
103
|
+
The rail sequences restore truth into **four rungs**:
|
|
104
|
+
|
|
105
|
+
- `fully_restored` is a **Rung 3 execution rollup**
|
|
106
|
+
- "fully back" is **reserved for Rung 4 only**
|
|
107
|
+
|
|
108
|
+
Naming discipline matters. "Fully restored" and "fully back" are
|
|
109
|
+
different claims; don't conflate.
|
|
110
|
+
|
|
111
|
+
## See also
|
|
112
|
+
|
|
113
|
+
- `openrig-user` skill — CLI surface for `rig up / down / restore / etc.`
|
|
114
|
+
- `openrig-operator` skill — operator-level discipline for OpenRig itself
|
|
115
|
+
- `seat-continuity-and-handover` skill — occupant-creation modes for restore (`resume` / `rebuild` / `fresh` / `failed`)
|
|
116
|
+
- `openrig/docs/as-built/architecture/lifecycle-snapshot-restore.md` (product reference doc) — daemon enforcement of restore-honesty rule
|
|
@@ -115,7 +115,6 @@ The development pod has access to browser automation and structured dogfood test
|
|
|
115
115
|
|
|
116
116
|
- **`agent-browser`** — browser automation CLI. Navigate to the daemon UI, snapshot interactive elements, take annotated screenshots, record repro videos. Use `agent-browser open <url>`, `agent-browser snapshot -i`, `agent-browser screenshot --annotate`.
|
|
117
117
|
- **`dogfood`** — structured exploratory testing workflow. Produces a report with screenshots, repro videos, and step-by-step evidence for every finding.
|
|
118
|
-
- **`containerized-e2e`** — Docker-based clean-install testing. Simulates a fresh user environment.
|
|
119
118
|
|
|
120
119
|
QA typically drives browser and dogfood testing, but both impl and QA should know these tools exist and can use them. When dogfooding UI:
|
|
121
120
|
1. Load `/agent-browser` and `/dogfood`
|
|
@@ -183,7 +183,7 @@ For destructive operations (git push, rm, daemon stop, npm publish): DO NOT auto
|
|
|
183
183
|
- After being told to slow down, over-corrects to "wait for permission for everything"
|
|
184
184
|
- Compaction is catastrophic — full context loss, needs preparation
|
|
185
185
|
- After compaction: must re-read ALL skills from disk (skill names survive in system reminders but content is truncated)
|
|
186
|
-
-
|
|
186
|
+
- After compaction, require marshal acceptance before treating a `RESTORED` claim as real — quiz the recovered seat on asked-vs-read depth before resuming work
|
|
187
187
|
|
|
188
188
|
### Codex agents (QA, peer, R2)
|
|
189
189
|
- Self-manages its own context window — do NOT intervene based on context percentage
|
|
@@ -222,7 +222,7 @@ Before any destructive operation: "If this goes wrong, can I undo it?" If no, co
|
|
|
222
222
|
4. Read your restore file and session log if available
|
|
223
223
|
5. Ask your peer for a quiz to verify your mental model
|
|
224
224
|
|
|
225
|
-
For Claude Code seats in OpenRig, marshals/orchestrators should
|
|
225
|
+
For Claude Code seats in OpenRig, marshals/orchestrators should run an asked-vs-read-depth audit before accepting recovery (quiz the seat on context it claims to have restored). Preserve the Codex boundary: do not intervene on Codex context percentage or apply Claude compact-in-place by default.
|
|
226
226
|
|
|
227
227
|
## What you do not do
|
|
228
228
|
|
|
@@ -123,7 +123,7 @@ EVALEOF
|
|
|
123
123
|
|
|
124
124
|
## Authentication: What Actually Works
|
|
125
125
|
|
|
126
|
-
**`--session-name` (state save/restore) does NOT work for all apps.** It saves cookies and localStorage, but apps using HTTP-only cookies, server-side sessions, or complex auth flows may not persist. Tested and failed on:
|
|
126
|
+
**`--session-name` (state save/restore) does NOT work for all apps.** It saves cookies and localStorage, but apps using HTTP-only cookies, server-side sessions, or complex auth flows may not persist. Tested and failed on: example-app-1 (Example Service One / localhost:8083).
|
|
127
127
|
|
|
128
128
|
**`--profile` (persistent Chrome profile) is the reliable approach.** It preserves everything - cookies, localStorage, IndexedDB, cache, service workers. This is what actually works for real apps.
|
|
129
129
|
|
|
@@ -131,10 +131,10 @@ EVALEOF
|
|
|
131
131
|
|
|
132
132
|
| Profile | Service | URL | Command |
|
|
133
133
|
|---------|---------|-----|---------|
|
|
134
|
-
| `
|
|
135
|
-
| `localhost-3000` |
|
|
136
|
-
| `
|
|
137
|
-
| `
|
|
134
|
+
| `example-app-1` | Example Service One | `http://localhost:8083` | `agent-browser --profile ~/.agent-browser/profiles/example-app-1 open http://localhost:8083` |
|
|
135
|
+
| `localhost-3000` | Example Service Two (Clerk auth) | `http://localhost:3000` | `agent-browser --profile ~/.agent-browser/profiles/localhost-3000 open http://localhost:3000` |
|
|
136
|
+
| `local-app-email-profile` | Example Service Three (email login) | `http://localhost:3010` | `agent-browser --profile ~/.agent-browser/profiles/local-app-email-profile open http://localhost:3010` |
|
|
137
|
+
| `local-app-google-profile` | Example Service Three (Google auth) | `http://localhost:3010` | See Google OAuth note below |
|
|
138
138
|
|
|
139
139
|
### Google OAuth Profiles
|
|
140
140
|
|
|
@@ -142,7 +142,7 @@ Google blocks sign-in from the bundled Chromium ("This browser or app may not be
|
|
|
142
142
|
|
|
143
143
|
```bash
|
|
144
144
|
agent-browser \
|
|
145
|
-
--profile ~/.agent-browser/profiles/
|
|
145
|
+
--profile ~/.agent-browser/profiles/local-app-google-profile \
|
|
146
146
|
--executable-path "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" \
|
|
147
147
|
--args "--disable-blink-features=AutomationControlled" \
|
|
148
148
|
open http://localhost:3010
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
---
|
|
2
|
+
skill: agent-browser
|
|
3
|
+
openrig-relationship: vendored-supplemented
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# OpenRig and this skill
|
|
7
|
+
|
|
8
|
+
## Origin
|
|
9
|
+
|
|
10
|
+
- **Upstream**: Vercel agent-browser CLI (https://github.com/vercel/agent-browser)
|
|
11
|
+
- **Vendoring pattern**: `add-supplementary-files`
|
|
12
|
+
- **Last upstream check**: 2026-05-13 (initial relationship declaration)
|
|
13
|
+
|
|
14
|
+
## How OpenRig uses this skill
|
|
15
|
+
|
|
16
|
+
OpenRig ships `agent-browser` so any agent dispatched by an OpenRig topology can drive a real browser (snapshots, form fills, screenshots, scraping, web-app testing) without operators having to separately install a browser-automation skill. It's referenced from any agent profile whose role includes web work.
|
|
17
|
+
|
|
18
|
+
## OpenRig-specific modifications
|
|
19
|
+
|
|
20
|
+
This is the canonical example of the **add-supplementary-files** pattern (see `writing-skills-for-openrig` SKILL.md §"Vendored skills"). The upstream skill is kept structurally intact; OpenRig adds a companion file that captures local-use insights without polluting the upstream content.
|
|
21
|
+
|
|
22
|
+
| Surface | What changed | Why |
|
|
23
|
+
|---|---|---|
|
|
24
|
+
| `SKILL.md` body | A short "## Local Dev Insights" section was added near the end with an `**IMPORTANT:** Read LOCAL-INSIGHTS.md` pointer. | Without the pointer, agents loading the skill wouldn't know the companion file exists. The pointer is the only structural modification needed for the supplementary pattern to be discoverable. |
|
|
25
|
+
| `LOCAL-INSIGHTS.md` (new sibling, ~189 lines) | Field-tested gotchas, command-compatibility matrices, corrections discovered through hands-on use that the upstream skill doesn't cover. | E.g., not all `get` subcommands accept `@refs` — `get text @e1` works but `get html @e1` fails silently. The compatibility matrix saves agents from the most common confusion class. |
|
|
26
|
+
|
|
27
|
+
Nothing else in `SKILL.md` diverges from upstream content as of the last upstream check.
|
|
28
|
+
|
|
29
|
+
## Companion files
|
|
30
|
+
|
|
31
|
+
- `LOCAL-INSIGHTS.md` — load-bearing supplementary content. The SKILL.md body explicitly points readers here for hands-on gotchas the upstream skill doesn't cover.
|
|
32
|
+
|
|
33
|
+
## When to re-sync upstream
|
|
34
|
+
|
|
35
|
+
Watch for new `agent-browser` CLI releases (Vercel). When the command surface changes meaningfully:
|
|
36
|
+
|
|
37
|
+
1. Re-sync `SKILL.md` body from upstream, preserving the "Local Dev Insights" pointer section.
|
|
38
|
+
2. Update `LOCAL-INSIGHTS.md` compatibility matrix to reflect new behavior (some `get` subcommands may gain `@ref` support, breaking the current matrix).
|
|
39
|
+
3. Bump `last_upstream_check` in `SKILL.md` frontmatter.
|
|
40
|
+
4. Note any structural shape changes in `divergence_notes`.
|
|
@@ -2,6 +2,16 @@
|
|
|
2
2
|
name: agent-browser
|
|
3
3
|
description: Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling forms, clicking buttons, taking screenshots, extracting data, testing web apps, or automating any browser task. Triggers include requests to "open a website", "fill out a form", "click a button", "take a screenshot", "scrape data from a page", "test this web app", "login to a site", "automate browser actions", or any task requiring programmatic web interaction.
|
|
4
4
|
allowed-tools: Bash(npx agent-browser:*), Bash(agent-browser:*)
|
|
5
|
+
metadata:
|
|
6
|
+
openrig:
|
|
7
|
+
vendored_from: "Vercel agent-browser (https://github.com/vercel/agent-browser)"
|
|
8
|
+
vendoring_pattern: add-supplementary-files
|
|
9
|
+
last_upstream_check: "2026-05-13 (initial vendoring declaration)"
|
|
10
|
+
divergence_notes: |
|
|
11
|
+
Upstream SKILL.md content tracks upstream; a small "Local Dev Insights"
|
|
12
|
+
pointer section was added near the end of the body to surface the sibling
|
|
13
|
+
LOCAL-INSIGHTS.md companion file. See OPENRIG.md for the full OpenRig
|
|
14
|
+
relationship to this skill.
|
|
5
15
|
---
|
|
6
16
|
|
|
7
17
|
# Browser Automation with agent-browser
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
---
|
|
2
|
+
skill: brainstorming
|
|
3
|
+
openrig-relationship: vendored-modified
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# OpenRig and this skill
|
|
7
|
+
|
|
8
|
+
## Origin
|
|
9
|
+
|
|
10
|
+
- **Upstream**: Obra Superpowers (https://github.com/obra/superpowers)
|
|
11
|
+
- **Vendoring pattern**: `modify-the-file`
|
|
12
|
+
- **Last upstream check**: 2026-05-13 (diff against plugin source pulled 2026-05-11)
|
|
13
|
+
|
|
14
|
+
## How OpenRig uses this skill
|
|
15
|
+
|
|
16
|
+
`brainstorming` is the "intent → design" front of the OpenRig planning chain. Agents use it before any creative or implementation work — to refine user intent into a shareable design doc that downstream skills (`writing-plans`, then `executing-plans`) consume.
|
|
17
|
+
|
|
18
|
+
## OpenRig-specific modifications
|
|
19
|
+
|
|
20
|
+
| Surface | Upstream | OpenRig |
|
|
21
|
+
|---|---|---|
|
|
22
|
+
| Visual Companion offer step | Standalone step #2 in the flow — "offer Visual Companion in its own message before clarifying questions" | **Removed.** OpenRig agents typically operate without a separate visual-companion mode; visual design work routes through dedicated design-pod seats. |
|
|
23
|
+
| Spec self-review step | Step #7 — inline self-review for placeholders/contradictions/scope | **Removed.** Self-review is handled at the rig/orchestration layer (driver/guard pattern + review-lead). |
|
|
24
|
+
| User reviews written spec | Step #8 — pause for user to review the spec file | **Removed.** OpenRig's founder-walk and orchestration gates already cover this checkpoint at a higher level. |
|
|
25
|
+
| Spec save path | `docs/superpowers/specs/YYYY-MM-DD-<topic>-design.md` | `docs/plans/YYYY-MM-DD-<topic>-design.md` (matches OpenRig's `docs/plans/` convention) |
|
|
26
|
+
| Process flow diagram | Includes Visual Companion + Spec self-review nodes | Simplified to remove those nodes; edges rewired |
|
|
27
|
+
|
|
28
|
+
## Why these modifications (inferred)
|
|
29
|
+
|
|
30
|
+
- **Multi-platform / multi-step gates removed**: OpenRig's rig-level orchestration (driver → guard → qa, founder-walks) already provides the checkpoint structure that the upstream skill builds inline. Keeping those steps inside the skill double-gates the work.
|
|
31
|
+
- **`docs/plans/` path**: OpenRig's project structure uses `docs/plans/` as the canonical home for design + implementation plan documents (matches `writing-plans` modification — both are co-ordinated).
|
|
32
|
+
|
|
33
|
+
## Companion files
|
|
34
|
+
|
|
35
|
+
None.
|
|
36
|
+
|
|
37
|
+
## When to re-sync upstream
|
|
38
|
+
|
|
39
|
+
Watch upstream for:
|
|
40
|
+
|
|
41
|
+
- New phases or checkpoints in the brainstorming flow that OpenRig might want to adopt (rare; the skill is structurally stable in upstream).
|
|
42
|
+
- Changes to the brainstorming-to-writing-plans handoff (must stay coordinated with the `writing-plans` modifications).
|
|
43
|
+
|
|
44
|
+
When upstream changes:
|
|
45
|
+
|
|
46
|
+
1. Pull non-conflicting changes into the OpenRig copy.
|
|
47
|
+
2. Preserve the simplified 6-step flow and the `docs/plans/` save path unless founder direction reverses.
|
|
48
|
+
3. Bump `last_upstream_check` in `SKILL.md` frontmatter.
|
|
@@ -1,6 +1,17 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: brainstorming
|
|
3
3
|
description: "You MUST use this before any creative work - creating features, building components, adding functionality, or modifying behavior. Explores user intent, requirements and design before implementation."
|
|
4
|
+
metadata:
|
|
5
|
+
openrig:
|
|
6
|
+
vendored_from: "Obra Superpowers (https://github.com/obra/superpowers)"
|
|
7
|
+
vendoring_pattern: modify-the-file
|
|
8
|
+
last_upstream_check: "2026-05-13 (diff against plugin source pulled 2026-05-11)"
|
|
9
|
+
divergence_notes: |
|
|
10
|
+
Simplified the process flow. Removed the Visual Companion offer step,
|
|
11
|
+
the Spec self-review step, and the User-reviews-spec step (those gates
|
|
12
|
+
are handled at the rig/orchestration layer in OpenRig). Changed plan-
|
|
13
|
+
doc save path from docs/superpowers/specs/ to docs/plans/.
|
|
14
|
+
See OPENRIG.md for full divergence details.
|
|
4
15
|
---
|
|
5
16
|
|
|
6
17
|
# Brainstorming Ideas Into Designs
|
|
@@ -2,6 +2,11 @@
|
|
|
2
2
|
name: dogfood
|
|
3
3
|
description: Systematically explore and test a web application to find bugs, UX issues, and other problems. Use when asked to "dogfood", "QA", "exploratory test", "find issues", "bug hunt", "test this app/site/platform", or review the quality of a web application. Produces a structured report with full reproduction evidence -- step-by-step screenshots, repro videos, and detailed repro steps for every issue -- so findings can be handed directly to the responsible teams.
|
|
4
4
|
allowed-tools: Bash(agent-browser:*), Bash(npx agent-browser:*)
|
|
5
|
+
metadata:
|
|
6
|
+
openrig:
|
|
7
|
+
vendored_from: "Vercel agent-browser ecosystem (https://github.com/vercel/agent-browser)"
|
|
8
|
+
vendoring_pattern: vendored-as-is
|
|
9
|
+
last_upstream_check: "2026-05-13 (diff against ~/.agents/skills/dogfood = identical)"
|
|
5
10
|
---
|
|
6
11
|
|
|
7
12
|
# Dogfood
|