@openrig/cli 0.4.6 → 0.4.8
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/guidance/CULTURE-default.md +19 -0
- package/daemon/assets/guidance/openrig-start.md +20 -5
- package/daemon/assets/plugins/openrig-core/README.md +1 -1
- package/daemon/assets/plugins/openrig-core/skills/applying-a-permission-policy/SKILL.md +120 -0
- package/daemon/assets/plugins/openrig-core/skills/claude-compaction-restore/SKILL.md +9 -6
- package/daemon/assets/plugins/openrig-core/skills/claude-compaction-restore/scripts/precompact-hook.mjs +11 -72
- package/daemon/assets/plugins/openrig-core/skills/claude-compaction-restore/scripts/restore-from-jsonl.mjs +0 -0
- package/daemon/assets/plugins/openrig-core/skills/delegating-work/SKILL.md +43 -0
- package/daemon/assets/plugins/openrig-core/skills/forming-an-openrig-mental-model/SKILL.md +36 -22
- package/daemon/assets/plugins/openrig-core/skills/messaging-the-human/SKILL.md +108 -0
- package/daemon/assets/plugins/openrig-core/skills/mission-slice-sop/SKILL.md +7 -13
- package/daemon/assets/plugins/openrig-core/skills/openrig-skills/SKILL.md +88 -0
- package/daemon/assets/plugins/openrig-core/skills/openrig-user/SKILL.md +189 -105
- package/daemon/assets/plugins/openrig-core/skills/queue-handoff/SKILL.md +26 -9
- package/daemon/assets/plugins/openrig-core/skills/seat-continuity-and-handover/SKILL.md +11 -9
- package/daemon/assets/plugins/openrig-core/skills/session-compaction-and-restore/SKILL.md +162 -0
- package/daemon/assets/plugins/openrig-core/skills/software-for-agents/SKILL.md +165 -0
- package/daemon/dist/adapters/claude-code-adapter.d.ts +0 -9
- package/daemon/dist/adapters/claude-code-adapter.d.ts.map +1 -1
- package/daemon/dist/adapters/claude-code-adapter.js +13 -46
- package/daemon/dist/adapters/claude-code-adapter.js.map +1 -1
- package/daemon/dist/adapters/claude-resume.d.ts +1 -1
- package/daemon/dist/adapters/claude-resume.d.ts.map +1 -1
- package/daemon/dist/adapters/claude-resume.js +8 -2
- package/daemon/dist/adapters/claude-resume.js.map +1 -1
- package/daemon/dist/adapters/cmux-transport.d.ts.map +1 -1
- package/daemon/dist/adapters/cmux-transport.js +8 -1
- package/daemon/dist/adapters/cmux-transport.js.map +1 -1
- package/daemon/dist/adapters/cmux.d.ts +9 -0
- package/daemon/dist/adapters/cmux.d.ts.map +1 -1
- package/daemon/dist/adapters/cmux.js +21 -0
- package/daemon/dist/adapters/cmux.js.map +1 -1
- package/daemon/dist/adapters/codex-resume.d.ts +1 -1
- package/daemon/dist/adapters/codex-resume.d.ts.map +1 -1
- package/daemon/dist/adapters/codex-resume.js +4 -2
- package/daemon/dist/adapters/codex-resume.js.map +1 -1
- package/daemon/dist/adapters/codex-runtime-adapter.d.ts +3 -0
- package/daemon/dist/adapters/codex-runtime-adapter.d.ts.map +1 -1
- package/daemon/dist/adapters/codex-runtime-adapter.js +30 -9
- package/daemon/dist/adapters/codex-runtime-adapter.js.map +1 -1
- package/daemon/dist/adapters/pi-resume.d.ts +1 -1
- package/daemon/dist/adapters/pi-resume.d.ts.map +1 -1
- package/daemon/dist/adapters/pi-resume.js +7 -2
- package/daemon/dist/adapters/pi-resume.js.map +1 -1
- package/daemon/dist/adapters/pi-runtime-adapter.d.ts.map +1 -1
- package/daemon/dist/adapters/pi-runtime-adapter.js +4 -1
- package/daemon/dist/adapters/pi-runtime-adapter.js.map +1 -1
- package/daemon/dist/adapters/yolo-mode.d.ts +23 -0
- package/daemon/dist/adapters/yolo-mode.d.ts.map +1 -0
- package/daemon/dist/adapters/yolo-mode.js +49 -0
- package/daemon/dist/adapters/yolo-mode.js.map +1 -0
- package/daemon/dist/build-info.js +3 -3
- package/daemon/dist/db/migrations/055_node_permission_policy.d.ts +13 -0
- package/daemon/dist/db/migrations/055_node_permission_policy.d.ts.map +1 -0
- package/daemon/dist/db/migrations/055_node_permission_policy.js +17 -0
- package/daemon/dist/db/migrations/055_node_permission_policy.js.map +1 -0
- package/daemon/dist/db/migrations/056_rig_permission_policy.d.ts +13 -0
- package/daemon/dist/db/migrations/056_rig_permission_policy.d.ts.map +1 -0
- package/daemon/dist/db/migrations/056_rig_permission_policy.js +17 -0
- package/daemon/dist/db/migrations/056_rig_permission_policy.js.map +1 -0
- package/daemon/dist/db/migrations/057_node_policy_provenance.d.ts +19 -0
- package/daemon/dist/db/migrations/057_node_policy_provenance.d.ts.map +1 -0
- package/daemon/dist/db/migrations/057_node_policy_provenance.js +26 -0
- package/daemon/dist/db/migrations/057_node_policy_provenance.js.map +1 -0
- package/daemon/dist/db/migrations/058_rig_policy_provenance.d.ts +15 -0
- package/daemon/dist/db/migrations/058_rig_policy_provenance.d.ts.map +1 -0
- package/daemon/dist/db/migrations/058_rig_policy_provenance.js +22 -0
- package/daemon/dist/db/migrations/058_rig_policy_provenance.js.map +1 -0
- package/daemon/dist/domain/builtin-policy-reference.d.ts +13 -0
- package/daemon/dist/domain/builtin-policy-reference.d.ts.map +1 -0
- package/daemon/dist/domain/builtin-policy-reference.js +58 -0
- package/daemon/dist/domain/builtin-policy-reference.js.map +1 -0
- package/daemon/dist/domain/claude-compaction-enforcer.d.ts +3 -0
- package/daemon/dist/domain/claude-compaction-enforcer.d.ts.map +1 -1
- package/daemon/dist/domain/claude-compaction-enforcer.js +19 -3
- package/daemon/dist/domain/claude-compaction-enforcer.js.map +1 -1
- package/daemon/dist/domain/cmux-layout-service.d.ts +36 -0
- package/daemon/dist/domain/cmux-layout-service.d.ts.map +1 -1
- package/daemon/dist/domain/cmux-layout-service.js +100 -28
- package/daemon/dist/domain/cmux-layout-service.js.map +1 -1
- package/daemon/dist/domain/context-monitor.d.ts +2 -0
- package/daemon/dist/domain/context-monitor.d.ts.map +1 -1
- package/daemon/dist/domain/context-monitor.js +14 -0
- package/daemon/dist/domain/context-monitor.js.map +1 -1
- package/daemon/dist/domain/feed/attention-aggregator.js +1 -1
- package/daemon/dist/domain/feed/attention-aggregator.js.map +1 -1
- package/daemon/dist/domain/hosts/hosts-registry-reader.d.ts.map +1 -1
- package/daemon/dist/domain/hosts/hosts-registry-reader.js +12 -10
- package/daemon/dist/domain/hosts/hosts-registry-reader.js.map +1 -1
- package/daemon/dist/domain/hosts/hosts-registry-writer.d.ts.map +1 -1
- package/daemon/dist/domain/hosts/hosts-registry-writer.js +3 -2
- package/daemon/dist/domain/hosts/hosts-registry-writer.js.map +1 -1
- package/daemon/dist/domain/hosts/read-through.js +1 -1
- package/daemon/dist/domain/hosts/read-through.js.map +1 -1
- package/daemon/dist/domain/hosts/remote-daemon-http.d.ts.map +1 -1
- package/daemon/dist/domain/hosts/remote-daemon-http.js +8 -5
- package/daemon/dist/domain/hosts/remote-daemon-http.js.map +1 -1
- package/daemon/dist/domain/native-resume-probe.d.ts +1 -1
- package/daemon/dist/domain/native-resume-probe.d.ts.map +1 -1
- package/daemon/dist/domain/native-resume-probe.js +11 -4
- package/daemon/dist/domain/native-resume-probe.js.map +1 -1
- package/daemon/dist/domain/node-inventory.d.ts +3 -12
- package/daemon/dist/domain/node-inventory.d.ts.map +1 -1
- package/daemon/dist/domain/node-inventory.js +57 -15
- package/daemon/dist/domain/node-inventory.js.map +1 -1
- package/daemon/dist/domain/permission-policy/policy-ref.d.ts +89 -0
- package/daemon/dist/domain/permission-policy/policy-ref.d.ts.map +1 -0
- package/daemon/dist/domain/permission-policy/policy-ref.js +171 -0
- package/daemon/dist/domain/permission-policy/policy-ref.js.map +1 -0
- package/daemon/dist/domain/permission-policy/policy-spec.d.ts +34 -0
- package/daemon/dist/domain/permission-policy/policy-spec.d.ts.map +1 -0
- package/daemon/dist/domain/permission-policy/policy-spec.js +106 -0
- package/daemon/dist/domain/permission-policy/policy-spec.js.map +1 -0
- package/daemon/dist/domain/plugin-vendor-service.d.ts +2 -0
- package/daemon/dist/domain/plugin-vendor-service.d.ts.map +1 -1
- package/daemon/dist/domain/plugin-vendor-service.js +23 -0
- package/daemon/dist/domain/plugin-vendor-service.js.map +1 -1
- package/daemon/dist/domain/projection-lane.d.ts +7 -0
- package/daemon/dist/domain/projection-lane.d.ts.map +1 -0
- package/daemon/dist/domain/projection-lane.js +28 -0
- package/daemon/dist/domain/projection-lane.js.map +1 -0
- package/daemon/dist/domain/ps-projection.d.ts +19 -0
- package/daemon/dist/domain/ps-projection.d.ts.map +1 -1
- package/daemon/dist/domain/ps-projection.js +46 -6
- package/daemon/dist/domain/ps-projection.js.map +1 -1
- package/daemon/dist/domain/queue-repository.d.ts +14 -10
- package/daemon/dist/domain/queue-repository.d.ts.map +1 -1
- package/daemon/dist/domain/queue-repository.js +33 -12
- package/daemon/dist/domain/queue-repository.js.map +1 -1
- package/daemon/dist/domain/restore-orchestrator.d.ts +14 -0
- package/daemon/dist/domain/restore-orchestrator.d.ts.map +1 -1
- package/daemon/dist/domain/restore-orchestrator.js +90 -6
- package/daemon/dist/domain/restore-orchestrator.js.map +1 -1
- package/daemon/dist/domain/review/compose.d.ts +77 -4
- package/daemon/dist/domain/review/compose.d.ts.map +1 -1
- package/daemon/dist/domain/review/compose.js +152 -16
- package/daemon/dist/domain/review/compose.js.map +1 -1
- package/daemon/dist/domain/review/fleet-compose.js +1 -1
- package/daemon/dist/domain/review/fleet-compose.js.map +1 -1
- package/daemon/dist/domain/review/gather.d.ts +1 -1
- package/daemon/dist/domain/review/gather.d.ts.map +1 -1
- package/daemon/dist/domain/review/gather.js +92 -67
- package/daemon/dist/domain/review/gather.js.map +1 -1
- package/daemon/dist/domain/review/proof-io.d.ts +2 -0
- package/daemon/dist/domain/review/proof-io.d.ts.map +1 -0
- package/daemon/dist/domain/review/proof-io.js +38 -0
- package/daemon/dist/domain/review/proof-io.js.map +1 -0
- package/daemon/dist/domain/rig-expansion-service.d.ts.map +1 -1
- package/daemon/dist/domain/rig-expansion-service.js +10 -1
- package/daemon/dist/domain/rig-expansion-service.js.map +1 -1
- package/daemon/dist/domain/rig-repository.d.ts +45 -0
- package/daemon/dist/domain/rig-repository.d.ts.map +1 -1
- package/daemon/dist/domain/rig-repository.js +75 -1
- package/daemon/dist/domain/rig-repository.js.map +1 -1
- package/daemon/dist/domain/rigspec-codec.d.ts.map +1 -1
- package/daemon/dist/domain/rigspec-codec.js +6 -0
- package/daemon/dist/domain/rigspec-codec.js.map +1 -1
- package/daemon/dist/domain/rigspec-exporter.d.ts.map +1 -1
- package/daemon/dist/domain/rigspec-exporter.js +8 -0
- package/daemon/dist/domain/rigspec-exporter.js.map +1 -1
- package/daemon/dist/domain/rigspec-instantiator.d.ts +18 -1
- package/daemon/dist/domain/rigspec-instantiator.d.ts.map +1 -1
- package/daemon/dist/domain/rigspec-instantiator.js +202 -10
- package/daemon/dist/domain/rigspec-instantiator.js.map +1 -1
- package/daemon/dist/domain/rigspec-preflight.d.ts +11 -0
- package/daemon/dist/domain/rigspec-preflight.d.ts.map +1 -1
- package/daemon/dist/domain/rigspec-preflight.js +35 -1
- package/daemon/dist/domain/rigspec-preflight.js.map +1 -1
- package/daemon/dist/domain/rigspec-schema.d.ts.map +1 -1
- package/daemon/dist/domain/rigspec-schema.js +25 -0
- package/daemon/dist/domain/rigspec-schema.js.map +1 -1
- package/daemon/dist/domain/runtime-adapter.d.ts +5 -0
- package/daemon/dist/domain/runtime-adapter.d.ts.map +1 -1
- package/daemon/dist/domain/runtime-adapter.js.map +1 -1
- package/daemon/dist/domain/scope/plan-lock-artifacts.d.ts +8 -0
- package/daemon/dist/domain/scope/plan-lock-artifacts.d.ts.map +1 -0
- package/daemon/dist/domain/scope/plan-lock-artifacts.js +57 -0
- package/daemon/dist/domain/scope/plan-lock-artifacts.js.map +1 -0
- package/daemon/dist/domain/scope/scaffold-placeholder.d.ts +38 -0
- package/daemon/dist/domain/scope/scaffold-placeholder.d.ts.map +1 -0
- package/daemon/dist/domain/scope/scaffold-placeholder.js +98 -0
- package/daemon/dist/domain/scope/scaffold-placeholder.js.map +1 -0
- package/daemon/dist/domain/scope/scope-approve.d.ts.map +1 -1
- package/daemon/dist/domain/scope/scope-approve.js +22 -1
- package/daemon/dist/domain/scope/scope-approve.js.map +1 -1
- package/daemon/dist/domain/scope/scope-audit.d.ts.map +1 -1
- package/daemon/dist/domain/scope/scope-audit.js +57 -20
- package/daemon/dist/domain/scope/scope-audit.js.map +1 -1
- package/daemon/dist/domain/seat-handover-service.d.ts.map +1 -1
- package/daemon/dist/domain/seat-handover-service.js +7 -1
- package/daemon/dist/domain/seat-handover-service.js.map +1 -1
- package/daemon/dist/domain/session-transport.d.ts +17 -0
- package/daemon/dist/domain/session-transport.d.ts.map +1 -1
- package/daemon/dist/domain/session-transport.js +44 -0
- package/daemon/dist/domain/session-transport.js.map +1 -1
- package/daemon/dist/domain/slices/qitem-membership.d.ts +17 -0
- package/daemon/dist/domain/slices/qitem-membership.d.ts.map +1 -0
- package/daemon/dist/domain/slices/qitem-membership.js +60 -0
- package/daemon/dist/domain/slices/qitem-membership.js.map +1 -0
- package/daemon/dist/domain/slices/slice-detail-projector.d.ts +5 -0
- package/daemon/dist/domain/slices/slice-detail-projector.d.ts.map +1 -1
- package/daemon/dist/domain/slices/slice-detail-projector.js +157 -11
- package/daemon/dist/domain/slices/slice-detail-projector.js.map +1 -1
- package/daemon/dist/domain/slices/slice-indexer.d.ts +86 -0
- package/daemon/dist/domain/slices/slice-indexer.d.ts.map +1 -1
- package/daemon/dist/domain/slices/slice-indexer.js +422 -45
- package/daemon/dist/domain/slices/slice-indexer.js.map +1 -1
- package/daemon/dist/domain/startup-orchestrator.d.ts +9 -0
- package/daemon/dist/domain/startup-orchestrator.d.ts.map +1 -1
- package/daemon/dist/domain/startup-orchestrator.js +71 -3
- package/daemon/dist/domain/startup-orchestrator.js.map +1 -1
- package/daemon/dist/domain/successor-session-launcher.d.ts +4 -0
- package/daemon/dist/domain/successor-session-launcher.d.ts.map +1 -1
- package/daemon/dist/domain/successor-session-launcher.js +2 -0
- package/daemon/dist/domain/successor-session-launcher.js.map +1 -1
- package/daemon/dist/domain/terminal/cmux-provider-adapter.d.ts +12 -11
- package/daemon/dist/domain/terminal/cmux-provider-adapter.d.ts.map +1 -1
- package/daemon/dist/domain/terminal/cmux-provider-adapter.js +61 -28
- package/daemon/dist/domain/terminal/cmux-provider-adapter.js.map +1 -1
- package/daemon/dist/domain/terminal/herdr-adapter.d.ts +27 -10
- package/daemon/dist/domain/terminal/herdr-adapter.d.ts.map +1 -1
- package/daemon/dist/domain/terminal/herdr-adapter.js +74 -33
- package/daemon/dist/domain/terminal/herdr-adapter.js.map +1 -1
- package/daemon/dist/domain/transcript-capture.d.ts +3 -0
- package/daemon/dist/domain/transcript-capture.d.ts.map +1 -1
- package/daemon/dist/domain/transcript-capture.js +28 -0
- package/daemon/dist/domain/transcript-capture.js.map +1 -1
- package/daemon/dist/domain/transcript-store.d.ts +10 -0
- package/daemon/dist/domain/transcript-store.d.ts.map +1 -1
- package/daemon/dist/domain/transcript-store.js +26 -0
- package/daemon/dist/domain/transcript-store.js.map +1 -1
- package/daemon/dist/domain/types.d.ts +21 -0
- package/daemon/dist/domain/types.d.ts.map +1 -1
- package/daemon/dist/domain/types.js.map +1 -1
- package/daemon/dist/domain/workspace/default-workspace-scaffold.d.ts.map +1 -1
- package/daemon/dist/domain/workspace/default-workspace-scaffold.js +9 -4
- package/daemon/dist/domain/workspace/default-workspace-scaffold.js.map +1 -1
- package/daemon/dist/domain/workspace/workspace-doctor.js +1 -1
- package/daemon/dist/domain/workspace/workspace-doctor.js.map +1 -1
- package/daemon/dist/routes/agent-images.d.ts.map +1 -1
- package/daemon/dist/routes/agent-images.js +2 -0
- package/daemon/dist/routes/agent-images.js.map +1 -1
- package/daemon/dist/routes/mission-control.js +1 -1
- package/daemon/dist/routes/mission-control.js.map +1 -1
- package/daemon/dist/routes/missions.d.ts +7 -0
- package/daemon/dist/routes/missions.d.ts.map +1 -1
- package/daemon/dist/routes/missions.js +6 -1
- package/daemon/dist/routes/missions.js.map +1 -1
- package/daemon/dist/routes/ps.d.ts.map +1 -1
- package/daemon/dist/routes/ps.js +5 -1
- package/daemon/dist/routes/ps.js.map +1 -1
- package/daemon/dist/routes/queue.d.ts.map +1 -1
- package/daemon/dist/routes/queue.js +9 -2
- package/daemon/dist/routes/queue.js.map +1 -1
- package/daemon/dist/routes/rigs.d.ts.map +1 -1
- package/daemon/dist/routes/rigs.js +29 -10
- package/daemon/dist/routes/rigs.js.map +1 -1
- package/daemon/dist/routes/scope-audit.d.ts.map +1 -1
- package/daemon/dist/routes/scope-audit.js +141 -135
- package/daemon/dist/routes/scope-audit.js.map +1 -1
- package/daemon/dist/routes/sessions.js +2 -1
- package/daemon/dist/routes/sessions.js.map +1 -1
- package/daemon/dist/routes/slices.d.ts.map +1 -1
- package/daemon/dist/routes/slices.js +48 -38
- package/daemon/dist/routes/slices.js.map +1 -1
- package/daemon/dist/routes/transcripts.d.ts.map +1 -1
- package/daemon/dist/routes/transcripts.js +62 -33
- package/daemon/dist/routes/transcripts.js.map +1 -1
- package/daemon/dist/startup.d.ts.map +1 -1
- package/daemon/dist/startup.js +42 -12
- package/daemon/dist/startup.js.map +1 -1
- package/daemon/docs/reference/agent-startup-guide.md +1 -0
- package/daemon/docs/reference/rig-spec.md +19 -0
- package/daemon/policies/builtin/locked.policy.md +24 -0
- package/daemon/policies/builtin/open.policy.md +24 -0
- package/daemon/policies/builtin/standard.policy.md +25 -0
- package/daemon/policies/builtin/yolo.policy.md +20 -0
- package/daemon/policies/examples/my-cautious-dev.policy.md +40 -0
- package/daemon/specs/agents/apps/vault-specialist/agent.yaml +2 -1
- package/daemon/specs/agents/conveyor/builder/agent.yaml +2 -1
- package/daemon/specs/agents/conveyor/lead/agent.yaml +2 -1
- package/daemon/specs/agents/conveyor/planner/agent.yaml +2 -1
- package/daemon/specs/agents/conveyor/reviewer/agent.yaml +2 -1
- package/daemon/specs/agents/design/product-designer/agent.yaml +12 -2
- package/daemon/specs/agents/development/implementer/agent.yaml +12 -2
- package/daemon/specs/agents/development/qa/agent.yaml +12 -2
- package/daemon/specs/agents/development/qa/guidance/role.md +1 -0
- package/daemon/specs/agents/factory-rsi/dogfood/agent.yaml +2 -1
- package/daemon/specs/agents/factory-rsi/release-manager/agent.yaml +2 -1
- package/daemon/specs/agents/orchestration/orchestrator/agent.yaml +12 -2
- package/daemon/specs/agents/product-management/pm/agent.yaml +1 -2
- package/daemon/specs/agents/research/analyst/agent.yaml +2 -1
- package/daemon/specs/agents/research/synthesizer/agent.yaml +2 -1
- package/daemon/specs/agents/review/independent-reviewer/agent.yaml +12 -2
- package/daemon/specs/agents/shared/agent.yaml +5 -8
- package/daemon/specs/agents/shared/runtime/claude-settings.fragment.json +1 -8
- package/daemon/specs/agents/shared/skills/core/agent-starters/SKILL.md +132 -0
- package/daemon/{assets/plugins/openrig-core/skills → specs/agents/shared/skills/core}/agent-startup-and-context-ingestion/SKILL.md +27 -19
- package/daemon/specs/agents/shared/skills/core/attention-queue/SKILL.md +264 -0
- package/daemon/specs/agents/shared/skills/core/cross-host-rig-commands/SKILL.md +190 -0
- package/daemon/specs/agents/shared/skills/core/human-in-the-loop/SKILL.md +104 -0
- package/daemon/specs/agents/shared/skills/core/openrig-architect/SKILL.md +23 -8
- package/daemon/specs/agents/shared/skills/core/openrig-cmux/SKILL.md +0 -5
- package/daemon/specs/agents/shared/skills/core/openrig-herdr/SKILL.md +1 -6
- package/daemon/specs/agents/shared/skills/core/openrig-upgrade/SKILL.md +460 -0
- package/daemon/specs/agents/shared/skills/core/rig-bundles-and-shareable-artifacts/SKILL.md +101 -0
- package/daemon/specs/agents/shared/skills/core/rig-lifecycle/SKILL.md +22 -11
- package/daemon/specs/agents/shared/skills/core/session-source-fork/SKILL.md +160 -0
- package/daemon/specs/agents/shared/skills/core/specification-system/SKILL.md +103 -0
- package/daemon/specs/agents/shared/skills/core/topology-mutation-and-seat-management/SKILL.md +118 -0
- package/daemon/specs/agents/shared/skills/core/watchdog/SKILL.md +125 -0
- package/daemon/specs/agents/shared/skills/process/brainstorming/OPENRIG.md +3 -3
- package/daemon/specs/agents/shared/skills/process/executing-plans/OPENRIG.md +1 -1
- package/daemon/specs/agents/shared/skills/process/frontend-design/SKILL.md +6 -3
- package/daemon/specs/agents/shared/skills/process/systematic-debugging/find-polluter.sh +0 -0
- package/daemon/specs/agents/shared/skills/process/test-driven-development/SKILL.md +1 -1
- package/daemon/specs/agents/shared/skills/process/using-superpowers/OPENRIG.md +1 -1
- package/daemon/specs/agents/shared/skills/process/verification-before-completion/SKILL.md +13 -2
- package/daemon/specs/agents/shared/skills/process/writing-plans/OPENRIG.md +1 -1
- package/daemon/specs/rigs/focused/pm-team/CULTURE.md +1 -1
- package/daemon/specs/rigs/launch/kernel/agents/advisor/lead/agent.yaml +2 -2
- package/daemon/specs/rigs/launch/kernel/agents/advisor/lead/guidance/role.md +5 -4
- package/daemon/specs/rigs/launch/kernel/agents/operator/agent/agent.yaml +2 -2
- package/daemon/specs/rigs/launch/kernel/agents/operator/agent/guidance/role.md +3 -5
- package/daemon/specs/rigs/launch/kernel/agents/queue/worker/agent.yaml +2 -2
- package/daemon/specs/rigs/launch/kernel/culture/CULTURE.md +3 -4
- package/daemon/specs/rigs/preview/product-team/CULTURE.md +1 -1
- package/dist/bin-wrapper.d.ts.map +1 -1
- package/dist/bin-wrapper.js +3 -1
- package/dist/bin-wrapper.js.map +1 -1
- package/dist/build-info.js +3 -3
- package/dist/cli-error.d.ts +33 -0
- package/dist/cli-error.d.ts.map +1 -0
- package/dist/cli-error.js +94 -0
- package/dist/cli-error.js.map +1 -0
- package/dist/commands/config-init-workspace.js +1 -1
- package/dist/commands/doctor.d.ts +1 -1
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +17 -11
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/host.d.ts.map +1 -1
- package/dist/commands/host.js +24 -10
- package/dist/commands/host.js.map +1 -1
- package/dist/commands/proof.js +1 -1
- package/dist/commands/proof.js.map +1 -1
- package/dist/commands/ps.d.ts.map +1 -1
- package/dist/commands/ps.js +16 -2
- package/dist/commands/ps.js.map +1 -1
- package/dist/commands/queue.d.ts.map +1 -1
- package/dist/commands/queue.js +103 -24
- package/dist/commands/queue.js.map +1 -1
- package/dist/commands/rig.d.ts.map +1 -1
- package/dist/commands/rig.js +122 -0
- package/dist/commands/rig.js.map +1 -1
- package/dist/commands/scope.js +2 -2
- package/dist/commands/scope.js.map +1 -1
- package/dist/commands/send.d.ts.map +1 -1
- package/dist/commands/send.js +118 -24
- package/dist/commands/send.js.map +1 -1
- package/dist/commands/setup.d.ts +14 -0
- package/dist/commands/setup.d.ts.map +1 -1
- package/dist/commands/setup.js +131 -8
- package/dist/commands/setup.js.map +1 -1
- package/dist/commands/slack.d.ts +37 -0
- package/dist/commands/slack.d.ts.map +1 -0
- package/dist/commands/slack.js +274 -0
- package/dist/commands/slack.js.map +1 -0
- package/dist/commands/ui.d.ts +1 -0
- package/dist/commands/ui.d.ts.map +1 -1
- package/dist/commands/ui.js +2 -0
- package/dist/commands/ui.js.map +1 -1
- package/dist/commands/up.js +1 -1
- package/dist/commands/up.js.map +1 -1
- package/dist/commands/whoami.d.ts.map +1 -1
- package/dist/commands/whoami.js +3 -3
- package/dist/commands/whoami.js.map +1 -1
- package/dist/daemon-lifecycle.d.ts.map +1 -1
- package/dist/daemon-lifecycle.js +45 -14
- package/dist/daemon-lifecycle.js.map +1 -1
- package/dist/host-registry.d.ts +6 -1
- package/dist/host-registry.d.ts.map +1 -1
- package/dist/host-registry.js +15 -6
- package/dist/host-registry.js.map +1 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -1
- package/dist/index.js.map +1 -1
- package/dist/lib/scope/scaffold-placeholder.d.ts +38 -0
- package/dist/lib/scope/scaffold-placeholder.d.ts.map +1 -0
- package/dist/lib/scope/scaffold-placeholder.js +98 -0
- package/dist/lib/scope/scaffold-placeholder.js.map +1 -0
- package/dist/lib/scope/scope-audit.d.ts.map +1 -1
- package/dist/lib/scope/scope-audit.js +57 -20
- package/dist/lib/scope/scope-audit.js.map +1 -1
- package/dist/lib/scope-templates/backlog-deprecation.md +1 -1
- package/dist/lib/scope-templates/backlog-tech-debt.md +1 -1
- package/dist/lib/scope-templates/bug-fix.md +1 -1
- package/dist/lib/scope-templates/implementation-prd.md +1 -1
- package/dist/lib/scope-templates/mission-notes.md +7 -2
- package/dist/lib/scope-templates/mission-placeholder.md +1 -1
- package/dist/lib/scope-templates/mission-progress.md +1 -1
- package/dist/lib/scope-templates/mission-release.md +1 -1
- package/dist/lib/scope-templates/placeholder.md +1 -1
- package/dist/lib/scope-templates/proof.md +1 -1
- package/dist/lib/scope-templates/release-feature.md +1 -1
- package/dist/lib/scope-templates/research.md +1 -1
- package/dist/lib/scope-templates/slice-progress.md +1 -1
- package/dist/remote-host-ops.d.ts.map +1 -1
- package/dist/remote-host-ops.js +2 -2
- package/dist/remote-host-ops.js.map +1 -1
- package/dist/slack/config.d.ts +41 -0
- package/dist/slack/config.d.ts.map +1 -0
- package/dist/slack/config.js +60 -0
- package/dist/slack/config.js.map +1 -0
- package/dist/slack/inbound.d.ts +75 -0
- package/dist/slack/inbound.d.ts.map +1 -0
- package/dist/slack/inbound.js +133 -0
- package/dist/slack/inbound.js.map +1 -0
- package/dist/slack/message.d.ts +26 -0
- package/dist/slack/message.d.ts.map +1 -0
- package/dist/slack/message.js +60 -0
- package/dist/slack/message.js.map +1 -0
- package/dist/slack/outbound.d.ts +39 -0
- package/dist/slack/outbound.d.ts.map +1 -0
- package/dist/slack/outbound.js +52 -0
- package/dist/slack/outbound.js.map +1 -0
- package/dist/slack/queue-bridge.d.ts +56 -0
- package/dist/slack/queue-bridge.d.ts.map +1 -0
- package/dist/slack/queue-bridge.js +114 -0
- package/dist/slack/queue-bridge.js.map +1 -0
- package/dist/slack/secrets.d.ts +21 -0
- package/dist/slack/secrets.d.ts.map +1 -0
- package/dist/slack/secrets.js +73 -0
- package/dist/slack/secrets.js.map +1 -0
- package/dist/slack/slack-api.d.ts +49 -0
- package/dist/slack/slack-api.d.ts.map +1 -0
- package/dist/slack/slack-api.js +110 -0
- package/dist/slack/slack-api.js.map +1 -0
- package/dist/slack/state-store.d.ts +62 -0
- package/dist/slack/state-store.d.ts.map +1 -0
- package/dist/slack/state-store.js +132 -0
- package/dist/slack/state-store.js.map +1 -0
- package/package.json +1 -1
- package/ui/dist/assets/{index-zrFqS7gL.js → index-DkNi0RT8.js} +184 -184
- package/ui/dist/assets/index-N-SdPj-I.css +32 -0
- package/ui/dist/index.html +2 -2
- package/daemon/assets/plugins/openrig-core/skills/openrig-architect/SKILL.md +0 -361
- package/daemon/assets/plugins/openrig-core/skills/openrig-cmux/SKILL.md +0 -86
- package/daemon/assets/plugins/openrig-core/skills/openrig-herdr/SKILL.md +0 -158
- package/daemon/assets/plugins/openrig-core/skills/openrig-operator/SKILL.md +0 -222
- package/daemon/docs/reference/product-factory-vps-runbook.md +0 -132
- package/daemon/specs/agents/shared/skills/core/mission-slice-sop/SKILL.md +0 -113
- package/daemon/specs/agents/shared/skills/core/openrig-installer/SKILL.md +0 -142
- package/daemon/specs/agents/shared/skills/core/openrig-operator/SKILL.md +0 -110
- package/daemon/specs/agents/shared/skills/core/openrig-user/SKILL.md +0 -1245
- package/daemon/specs/agents/shared/skills/core/openrig-user-settings/SKILL.md +0 -153
- package/daemon/specs/agents/shared/skills/pm/backlog-capture/SKILL.md +0 -43
- package/daemon/specs/agents/shared/skills/pm/context-builder/SKILL.md +0 -87
- package/daemon/specs/agents/shared/skills/pm/exec-summary/SKILL.md +0 -84
- package/daemon/specs/agents/shared/skills/pm/office-hours/SKILL.md +0 -129
- package/daemon/specs/agents/shared/skills/pm/plan-review/SKILL.md +0 -98
- package/daemon/specs/agents/shared/skills/pm/requirements-writer/SKILL.md +0 -113
- package/daemon/specs/agents/shared/skills/pm/ui-mockup/SKILL.md +0 -76
- package/daemon/specs/agents/shared/skills/pods/development-team/SKILL.md +0 -148
- package/daemon/specs/agents/shared/skills/pods/orchestration-team/SKILL.md +0 -266
- package/daemon/specs/agents/shared/skills/pods/review-team/SKILL.md +0 -210
- package/daemon/specs/agents/shared/skills/process/systematic-debugging/CREATION-LOG.md +0 -119
- package/daemon/specs/agents/shared/skills/process/systematic-debugging/test-academic.md +0 -14
- package/daemon/specs/agents/shared/skills/process/systematic-debugging/test-pressure-1.md +0 -58
- package/daemon/specs/agents/shared/skills/process/systematic-debugging/test-pressure-2.md +0 -68
- package/daemon/specs/agents/shared/skills/process/systematic-debugging/test-pressure-3.md +0 -69
- package/ui/dist/assets/index-CFqxa0zW.css +0 -32
|
@@ -1,153 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: openrig-user-settings
|
|
3
|
-
description: Use when the user asks an OpenRig agent to read or change OpenRig configuration settings — workspace paths, file allowlists, progress scan roots, daemon port/host, transcripts, or anything stored in ~/.openrig/config.json
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# OpenRig User Settings
|
|
7
|
-
|
|
8
|
-
OpenRig settings live in `~/.openrig/config.json` and are managed via the
|
|
9
|
-
`rig config` CLI family. The agent-editable surface is **CLI shell-out**;
|
|
10
|
-
do NOT write the JSON file directly unless the operator specifically asks
|
|
11
|
-
for raw-text editing (which is handled by the UI Files browser, not by you).
|
|
12
|
-
|
|
13
|
-
## Read
|
|
14
|
-
|
|
15
|
-
```bash
|
|
16
|
-
rig config # all keys, value + source
|
|
17
|
-
rig config --json # JSON: full RiggedConfig
|
|
18
|
-
rig config --json --with-source # JSON: {key: {value, source, default}}
|
|
19
|
-
rig config get <key> # single value
|
|
20
|
-
rig config get <key> --show-source # value + source on one line
|
|
21
|
-
rig config get <key> --json # {value, source, default}
|
|
22
|
-
```
|
|
23
|
-
|
|
24
|
-
Resolution order: **env var > config file > default**. Always use
|
|
25
|
-
`--show-source` (or `--json`) when reporting back to the operator so they
|
|
26
|
-
see *where* the value came from.
|
|
27
|
-
|
|
28
|
-
## Write
|
|
29
|
-
|
|
30
|
-
```bash
|
|
31
|
-
rig config set <key> <value> # set a key
|
|
32
|
-
rig config reset <key> # clear one override (revert to default)
|
|
33
|
-
rig config reset # delete the whole file
|
|
34
|
-
```
|
|
35
|
-
|
|
36
|
-
## Initialize a default workspace
|
|
37
|
-
|
|
38
|
-
```bash
|
|
39
|
-
rig config init-workspace # scaffold ~/.openrig/workspace/ with missions + slices
|
|
40
|
-
rig config init-workspace --dry-run # show what would be created
|
|
41
|
-
rig config init-workspace --root /path # use a custom root
|
|
42
|
-
rig config init-workspace --force # overwrite scaffolded files (NOT operator content)
|
|
43
|
-
```
|
|
44
|
-
|
|
45
|
-
This creates a file-backed Project workspace under the workspace root:
|
|
46
|
-
|
|
47
|
-
```text
|
|
48
|
-
README.md
|
|
49
|
-
STEERING.md
|
|
50
|
-
missions/<mission-id>/README.md
|
|
51
|
-
missions/<mission-id>/PROGRESS.md
|
|
52
|
-
missions/<mission-id>/slices/<slice-id>/README.md
|
|
53
|
-
progress/
|
|
54
|
-
field-notes/
|
|
55
|
-
specs/
|
|
56
|
-
```
|
|
57
|
-
|
|
58
|
-
It seeds two starter missions with multiple slices so the Project UI has a
|
|
59
|
-
real mission/slice map out of the box. It is operator-explicit; do NOT run it
|
|
60
|
-
on your own initiative unless the operator asks for workspace initialization
|
|
61
|
-
or repair.
|
|
62
|
-
|
|
63
|
-
## Common keys
|
|
64
|
-
|
|
65
|
-
| Key | Type | Purpose |
|
|
66
|
-
|---|---|---|
|
|
67
|
-
| `daemon.port` | number | OpenRig daemon HTTP port (default 7433) |
|
|
68
|
-
| `daemon.host` | string | Daemon bind host (default 127.0.0.1) |
|
|
69
|
-
| `db.path` | string | SQLite DB path (default ~/.openrig/openrig.sqlite) |
|
|
70
|
-
| `transcripts.enabled` | boolean | Whether the daemon writes transcripts |
|
|
71
|
-
| `transcripts.path` | string | Transcripts dir (default ~/.openrig/transcripts) |
|
|
72
|
-
| `workspace.root` | string | Single-root override (default ~/.openrig/workspace) |
|
|
73
|
-
| `workspace.slices_root` | string | Slice discovery root; default `<root>/missions` |
|
|
74
|
-
| `workspace.steering_path` | string | STEERING.md path; default `<root>/STEERING.md` |
|
|
75
|
-
| `workspace.field_notes_root` | string | Field notes dir; default `<root>/field-notes` |
|
|
76
|
-
| `workspace.specs_root` | string | Specs dir; default `<root>/specs` |
|
|
77
|
-
| `files.allowlist` | string | `name:/abs/path,name:/abs/path` — UI Files browser roots |
|
|
78
|
-
| `progress.scan_roots` | string | `name:/abs/path,name:/abs/path` — Progress browse roots |
|
|
79
|
-
|
|
80
|
-
Resolution order for workspace per-subdir keys: per-subdir override >
|
|
81
|
-
`workspace.root` cascade > built-in default.
|
|
82
|
-
|
|
83
|
-
## Common operator requests → canonical commands
|
|
84
|
-
|
|
85
|
-
> **"Make the UI work against an existing workspace layout"**:
|
|
86
|
-
> set the per-subdir workspace overrides explicitly:
|
|
87
|
-
>
|
|
88
|
-
> ```bash
|
|
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
|
-
> ```
|
|
94
|
-
>
|
|
95
|
-
> No restart needed for the CLI; for the daemon's reads to pick up
|
|
96
|
-
> changes affecting startup-time wiring (`files.allowlist`,
|
|
97
|
-
> `progress.scan_roots`), restart with `rig daemon restart`.
|
|
98
|
-
|
|
99
|
-
> **"Initialize a default workspace"**:
|
|
100
|
-
>
|
|
101
|
-
> ```bash
|
|
102
|
-
> rig config init-workspace
|
|
103
|
-
> ```
|
|
104
|
-
|
|
105
|
-
After initialization, the Project UI expects this mapping:
|
|
106
|
-
|
|
107
|
-
- `workspace.root` maps to the Project workspace.
|
|
108
|
-
- `workspace.root/missions/<mission-id>` maps to a Project mission.
|
|
109
|
-
- `workspace.root/missions/<mission-id>/slices/<slice-id>` maps to a Project slice.
|
|
110
|
-
|
|
111
|
-
Queue item bodies or tags should mention the mission id and slice id when the
|
|
112
|
-
work belongs to a slice. That lets the Project Story, Queue, Tests, and
|
|
113
|
-
Topology tabs attach runtime work to the filesystem slice.
|
|
114
|
-
|
|
115
|
-
> **"Allow the file browser to see X directory"**:
|
|
116
|
-
>
|
|
117
|
-
> ```bash
|
|
118
|
-
> # Append to existing list (operator decides the name token):
|
|
119
|
-
> rig config get files.allowlist --show-source # check current
|
|
120
|
-
> rig config set files.allowlist 'workspace:/path/to/ws,docs:/path/to/docs'
|
|
121
|
-
> rig daemon restart # picks up new roots
|
|
122
|
-
> ```
|
|
123
|
-
|
|
124
|
-
> **"What's my current setting for X and where does it come from?"**:
|
|
125
|
-
>
|
|
126
|
-
> ```bash
|
|
127
|
-
> rig config get <key> --show-source
|
|
128
|
-
> ```
|
|
129
|
-
|
|
130
|
-
## When NOT to use this skill
|
|
131
|
-
|
|
132
|
-
- **Per-rig config** — settings are host-global at v0; per-rig is v0+1.
|
|
133
|
-
- **Secrets / credentials** — the `vault.specialist` managed-app handles
|
|
134
|
-
secrets. Don't put API keys or tokens in `~/.openrig/config.json`.
|
|
135
|
-
- **Settings sync across hosts** — out of scope at v0.
|
|
136
|
-
|
|
137
|
-
## Errors you might see
|
|
138
|
-
|
|
139
|
-
- `Unknown config key "<x>". Valid keys: …` — the key name is wrong.
|
|
140
|
-
Check the table above; suggest the correct key.
|
|
141
|
-
- `Config file at <path> is malformed. Fix the JSON or reset with: rig config reset` —
|
|
142
|
-
hand-edit broke the JSON. Operator can `rig config reset` (deletes the
|
|
143
|
-
whole file) or fix the syntax in the Files browser.
|
|
144
|
-
- `Invalid value for <key>: expected a number/true-false, got "<x>"` —
|
|
145
|
-
wrong type for a typed key. Reach for the key's type in the table.
|
|
146
|
-
|
|
147
|
-
## Provenance + safety
|
|
148
|
-
|
|
149
|
-
- Never write to `~/.openrig/config.json` directly. Use `rig config set`.
|
|
150
|
-
- Don't run `rig config init-workspace` on your own initiative — wait for
|
|
151
|
-
an operator request.
|
|
152
|
-
- Always cite the resolved source (env / file / default) when reporting
|
|
153
|
-
values back, so the operator knows whether their change actually took.
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: backlog-capture
|
|
3
|
-
description: "Quickly capture product ideas, feature requests, or insights from meetings and conversations. Rapid documentation with smart categorization and deduplication."
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
You help a product manager rapidly capture ideas, feature requests, and insights into a structured backlog.
|
|
7
|
-
|
|
8
|
-
## When to Use
|
|
9
|
-
|
|
10
|
-
- After meetings where feature ideas or requests surfaced
|
|
11
|
-
- When a customer or sales rep mentions a need
|
|
12
|
-
- When competitive research reveals a gap
|
|
13
|
-
- When a PM has a shower thought worth recording
|
|
14
|
-
|
|
15
|
-
## Process
|
|
16
|
-
|
|
17
|
-
1. **Take the input** — the PM provides rough text: a meeting quote, a feature idea, a customer request, a competitive gap.
|
|
18
|
-
|
|
19
|
-
2. **Structure it** — produce a one-liner for the backlog with:
|
|
20
|
-
- **Bold name** — short, descriptive feature name
|
|
21
|
-
- **Description** — 1-3 sentences covering: what it is, who it's for, why it matters, where it originated (meeting, customer, competitor)
|
|
22
|
-
- **Epic/area** — which product area it belongs to
|
|
23
|
-
- **Dependencies** — if it relates to existing features or backlog items
|
|
24
|
-
|
|
25
|
-
3. **Check for duplicates** — search the existing backlog for similar items. If a match exists:
|
|
26
|
-
- Update the existing item with new evidence rather than creating a duplicate
|
|
27
|
-
- Add the new source/date to the existing description
|
|
28
|
-
|
|
29
|
-
4. **Append to backlog** — add to the "Ideas Not Yet in Jira" section of the backlog file.
|
|
30
|
-
|
|
31
|
-
## Output Format
|
|
32
|
-
|
|
33
|
-
```markdown
|
|
34
|
-
- **[Feature Name]** — [Description. Who needs it. Why. Origin (meeting/customer/competitor, date).] Belongs under [Epic] epic. [Dependencies if any.]
|
|
35
|
-
```
|
|
36
|
-
|
|
37
|
-
## Guidelines
|
|
38
|
-
|
|
39
|
-
- **Capture fast, refine later.** The goal is not to lose the idea. Polish comes during prioritization.
|
|
40
|
-
- **Include the source.** "From Acme Corp demo feedback (2026-03-15)" is better than "customers want this."
|
|
41
|
-
- **Convert relative dates to absolute.** "Next Thursday" becomes "2026-04-10."
|
|
42
|
-
- **One idea per entry.** If a meeting produced 5 ideas, create 5 entries.
|
|
43
|
-
- **Don't validate here.** That's what `/office-hours` is for. Just capture.
|
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: context-builder
|
|
3
|
-
description: "Gather and distill context from meetings, competitors, regulatory sources, and internal discussions. Produces background.md for a feature and updates shared context docs when new knowledge is discovered."
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
You are a context research assistant helping a product manager gather and distill all relevant background material for a feature or initiative.
|
|
7
|
-
|
|
8
|
-
## What You Produce
|
|
9
|
-
|
|
10
|
-
1. **background.md** — Feature-specific context summary. Goes in the feature folder. References shared context sources.
|
|
11
|
-
2. **Shared context updates** — When you discover new synthesized knowledge useful across features (e.g., a customer requirements summary, a competitive analysis), write or update the appropriate shared context doc.
|
|
12
|
-
|
|
13
|
-
## Three-Layer Context Model
|
|
14
|
-
|
|
15
|
-
```
|
|
16
|
-
reference/ Layer 3 — Raw sources (meetings, PDFs, documents)
|
|
17
|
-
| distill
|
|
18
|
-
context/ Layer 2 — Synthesized markdown (shared across features)
|
|
19
|
-
| pull relevant
|
|
20
|
-
background.md Layer 1 — Feature-specific context
|
|
21
|
-
```
|
|
22
|
-
|
|
23
|
-
## Process
|
|
24
|
-
|
|
25
|
-
### Step 1: Understand the Feature
|
|
26
|
-
|
|
27
|
-
Ask the PM:
|
|
28
|
-
- What feature or initiative is this context for?
|
|
29
|
-
- What aspects are most important? (customer needs, competitive, regulatory, technical)
|
|
30
|
-
- Any specific meetings, customers, or competitors to focus on?
|
|
31
|
-
|
|
32
|
-
### Step 2: Search and Gather
|
|
33
|
-
|
|
34
|
-
Search across all layers. Be thorough but focused:
|
|
35
|
-
|
|
36
|
-
- **Validation first**: Check the feature folder for `validation.md` (office hours output). If it exists, it has demand evidence, named customers, competitive status quo, and the narrowest wedge.
|
|
37
|
-
- **Shared context first**: Check if synthesized context already exists.
|
|
38
|
-
- **Meetings**: Search by topic keywords, customer names. Check last 3-6 months.
|
|
39
|
-
- **Competitors**: Check competitor research for existing analysis.
|
|
40
|
-
- **Regulatory**: Find applicable regulations.
|
|
41
|
-
- **Customers**: Look for customer requests and pain points.
|
|
42
|
-
- **Existing specs**: Check for related work and shipped features.
|
|
43
|
-
|
|
44
|
-
### Step 3: Update Shared Context (if new knowledge found)
|
|
45
|
-
|
|
46
|
-
If your research produces synthesized knowledge useful beyond this one feature, write or update the appropriate shared context doc.
|
|
47
|
-
|
|
48
|
-
### Step 4: Write background.md
|
|
49
|
-
|
|
50
|
-
```markdown
|
|
51
|
-
---
|
|
52
|
-
title: "Background: [Feature Name]"
|
|
53
|
-
feature: [feature folder name]
|
|
54
|
-
updated: [today's date]
|
|
55
|
-
sources:
|
|
56
|
-
meetings: [list of meeting file paths]
|
|
57
|
-
competitive: [list of context/reference paths]
|
|
58
|
-
regulatory: [list of relevant regulatory sources]
|
|
59
|
-
customers: [list of customer context paths]
|
|
60
|
-
---
|
|
61
|
-
|
|
62
|
-
# Background: [Feature Name]
|
|
63
|
-
|
|
64
|
-
## Customer Drivers
|
|
65
|
-
[Who's asking and why. Key quotes and pain points.]
|
|
66
|
-
|
|
67
|
-
## Competitive Landscape
|
|
68
|
-
[How competitors handle this. Where we differentiate.]
|
|
69
|
-
|
|
70
|
-
## Regulatory Considerations
|
|
71
|
-
[Applicable regulations and compliance requirements.]
|
|
72
|
-
|
|
73
|
-
## Persona Context
|
|
74
|
-
[Which personas use this. Day-in-the-life context.]
|
|
75
|
-
|
|
76
|
-
## Internal Context
|
|
77
|
-
[Strategic alignment, stakeholder decisions, related initiatives.]
|
|
78
|
-
```
|
|
79
|
-
|
|
80
|
-
## Guidelines
|
|
81
|
-
|
|
82
|
-
- **Reference, don't duplicate.** Point to source files rather than copying content.
|
|
83
|
-
- **Distill, don't dump.** background.md should be under 500 lines.
|
|
84
|
-
- **Include sources for everything.** Every claim traces back to a meeting, report, or decision.
|
|
85
|
-
- **Highlight what's surprising or non-obvious.**
|
|
86
|
-
- **Flag contradictions.** If customers want different things, or data conflicts, call it out.
|
|
87
|
-
- **Date your sources.** Context decays.
|
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: exec-summary
|
|
3
|
-
description: "Generate a 1-2 page executive summary for a feature — orients sales, leadership, and engineering from a single document."
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
You generate an executive summary for a feature that's ready for development. The summary orients three audiences from one document: sales (pitch), leadership (strategy), and engineering (behavioral overview).
|
|
7
|
-
|
|
8
|
-
## What You Produce
|
|
9
|
-
|
|
10
|
-
A single `executive-summary.md` file in the feature folder. 600-800 words excluding mockups and FAQ. Written in present tense as if the feature already exists.
|
|
11
|
-
|
|
12
|
-
## Sources to Read
|
|
13
|
-
|
|
14
|
-
Before writing, silently gather all context from the feature folder:
|
|
15
|
-
|
|
16
|
-
1. **requirements.md** — acceptance criteria, business rules, scope, user stories
|
|
17
|
-
2. **background.md** — customer drivers, competitive context, regulatory considerations
|
|
18
|
-
3. **validation.md** — demand evidence, status quo, desperate user, narrowest wedge
|
|
19
|
-
4. **supporting/mockup-ascii.md** — visual mockups (pull 2-3 key screens)
|
|
20
|
-
|
|
21
|
-
## Output Structure
|
|
22
|
-
|
|
23
|
-
```markdown
|
|
24
|
-
---
|
|
25
|
-
title: "Executive Summary: [Feature Name]"
|
|
26
|
-
feature: [feature-folder-name]
|
|
27
|
-
status: [ready | in-progress | shipped]
|
|
28
|
-
jira: [ticket key]
|
|
29
|
-
updated: [today's date]
|
|
30
|
-
---
|
|
31
|
-
|
|
32
|
-
# [Feature Name]
|
|
33
|
-
|
|
34
|
-
## The Problem
|
|
35
|
-
[2-3 sentences. Customer pain in their language. Name real customers/prospects.]
|
|
36
|
-
|
|
37
|
-
## The Solution
|
|
38
|
-
[2-3 sentences. What we built, present tense. No jargon.]
|
|
39
|
-
|
|
40
|
-
## Who It's For
|
|
41
|
-
[Primary personas + named customers/prospects waiting for this.]
|
|
42
|
-
|
|
43
|
-
## Why Now
|
|
44
|
-
[Deals it unblocks, competitive gap it closes, what it enables next.]
|
|
45
|
-
|
|
46
|
-
## How It Works
|
|
47
|
-
[5-8 key capabilities. Describe actual user-facing behavior — enough for a dev to understand what to build.]
|
|
48
|
-
|
|
49
|
-
## Key Decisions
|
|
50
|
-
[5-8 non-obvious business rules and design choices. Focus on surprising or counter-intuitive ones.]
|
|
51
|
-
|
|
52
|
-
## Visual Preview
|
|
53
|
-
[2-3 ASCII mockup screens from supporting/ — the key screens that tell the story.]
|
|
54
|
-
|
|
55
|
-
## What We're NOT Building
|
|
56
|
-
[5-8 key out-of-scope items with brief reason.]
|
|
57
|
-
|
|
58
|
-
## Dependencies & Sequencing
|
|
59
|
-
[What must ship first. Cross-feature dependencies. Prerequisites.]
|
|
60
|
-
|
|
61
|
-
## Success Metrics
|
|
62
|
-
[2-4 measurable outcomes. Mix of usage and business metrics.]
|
|
63
|
-
|
|
64
|
-
## FAQ
|
|
65
|
-
|
|
66
|
-
### For Sales
|
|
67
|
-
[2-3 questions. When available, what to tell prospects, competitive positioning.]
|
|
68
|
-
|
|
69
|
-
### For Leadership
|
|
70
|
-
[2-3 questions. Opportunity cost, strategic fit, risks.]
|
|
71
|
-
|
|
72
|
-
### For Engineering
|
|
73
|
-
[2-3 questions. Dependencies, known risks, what's deferred, data model implications.]
|
|
74
|
-
```
|
|
75
|
-
|
|
76
|
-
## Writing Guidelines
|
|
77
|
-
|
|
78
|
-
- **Present tense throughout.** Write as if the feature exists.
|
|
79
|
-
- **Customer-readable language.** A prospect should understand sections 1-5.
|
|
80
|
-
- **Be specific, not vague.** Name deals, dollar amounts, competitors.
|
|
81
|
-
- **Key Decisions should surprise.** Don't list obvious things.
|
|
82
|
-
- **Mockups are curated.** Pick the 2-3 that tell the story.
|
|
83
|
-
- **FAQ answers should be direct.** No hedging.
|
|
84
|
-
- **Hard cap: 2 pages** for core content. FAQ can be a third page.
|
|
@@ -1,129 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: office-hours
|
|
3
|
-
description: "YC-style product validation using six forcing questions. Pressure-tests a feature idea before it becomes a requirement — ensuring real demand, a clear wedge, and evidence behind assumptions."
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
You are a YC-style product advisor running office hours. Your job is to pressure-test a feature idea before it becomes a requirement — ensuring there's real demand, a clear wedge, and evidence behind the assumption.
|
|
7
|
-
|
|
8
|
-
## The Six Forcing Questions
|
|
9
|
-
|
|
10
|
-
Work through these sequentially. Each question builds on the previous answer.
|
|
11
|
-
|
|
12
|
-
### 1. Demand Reality
|
|
13
|
-
"Who is actively asking for this, and what evidence do you have?"
|
|
14
|
-
|
|
15
|
-
- Name specific customers, meetings, or support tickets
|
|
16
|
-
- Distinguish between "customers asked for this" vs "we think customers want this"
|
|
17
|
-
- Search meeting notes and customer records for actual conversations
|
|
18
|
-
- If no evidence: flag it. An assumption isn't demand.
|
|
19
|
-
|
|
20
|
-
### 2. Status Quo
|
|
21
|
-
"How are users solving this problem today, and why is that not good enough?"
|
|
22
|
-
|
|
23
|
-
- Map the current workflow (Excel? Manual? Competitor tool?)
|
|
24
|
-
- Reference persona profiles for current technology stack
|
|
25
|
-
- Quantify the pain: time wasted, errors, cost, compliance risk
|
|
26
|
-
- If the status quo is "fine": question whether this is a real problem
|
|
27
|
-
|
|
28
|
-
### 3. Desperate Specificity
|
|
29
|
-
"Who is the single most desperate user for this, and what does their day look like?"
|
|
30
|
-
|
|
31
|
-
- Get to ONE specific person or company, not a category
|
|
32
|
-
- Walk through their actual workflow step by step
|
|
33
|
-
- What breaks for them? What's the moment of maximum frustration?
|
|
34
|
-
- If nobody is desperate: this might be a "nice to have" not a "must have"
|
|
35
|
-
|
|
36
|
-
### 4. Narrowest Wedge
|
|
37
|
-
"What is the absolute smallest version of this that would solve the desperate user's problem?"
|
|
38
|
-
|
|
39
|
-
- Strip away everything that isn't essential for that one user
|
|
40
|
-
- What's the MVP that, if you shipped it tomorrow, would make them switch?
|
|
41
|
-
- Reference existing capabilities — what already exists?
|
|
42
|
-
- Resist the urge to scope-expand. Narrower is better.
|
|
43
|
-
|
|
44
|
-
### 5. Observation / Surprise
|
|
45
|
-
"What have you observed or learned that surprised you about this problem?"
|
|
46
|
-
|
|
47
|
-
- Non-obvious insights from customer meetings, competitive research, or domain expertise
|
|
48
|
-
- Things the team didn't expect to find
|
|
49
|
-
- Industry-specific patterns or workflow quirks
|
|
50
|
-
- If nothing surprised you: you might not understand the problem deeply enough yet
|
|
51
|
-
|
|
52
|
-
### 6. Future-Fit
|
|
53
|
-
"If this succeeds, what does it unlock? If it fails, what have we learned?"
|
|
54
|
-
|
|
55
|
-
- Does this feature compound? Does it make future features easier?
|
|
56
|
-
- Does it strengthen competitive position or just maintain parity?
|
|
57
|
-
- What's the learning value even if the feature doesn't land?
|
|
58
|
-
|
|
59
|
-
## Process
|
|
60
|
-
|
|
61
|
-
### Step 1: Get the Pitch
|
|
62
|
-
Ask the PM to describe the feature idea in 2-3 sentences. No jargon, no implementation details.
|
|
63
|
-
|
|
64
|
-
### Step 2: Run the Questions
|
|
65
|
-
Work through all six questions. After each answer:
|
|
66
|
-
- Summarize what you heard
|
|
67
|
-
- Rate the strength of the answer (Strong / Needs Work / Red Flag)
|
|
68
|
-
- Ask follow-up probes if the answer is vague
|
|
69
|
-
|
|
70
|
-
### Step 3: Verdict
|
|
71
|
-
|
|
72
|
-
Save the assessment to the feature folder as **`validation.md`**.
|
|
73
|
-
|
|
74
|
-
```markdown
|
|
75
|
-
---
|
|
76
|
-
title: "Validation: [Feature Name]"
|
|
77
|
-
type: validation
|
|
78
|
-
verdict: [GO | REFINE | PAUSE]
|
|
79
|
-
date: [today's date]
|
|
80
|
-
pm: [name]
|
|
81
|
-
feature: [feature-folder-name]
|
|
82
|
-
---
|
|
83
|
-
|
|
84
|
-
# Validation: [Feature Name]
|
|
85
|
-
|
|
86
|
-
## Demand Reality
|
|
87
|
-
**Rating: [Strong / Needs Work / Red Flag]**
|
|
88
|
-
[Summary of evidence. Name customers, deals, dollar amounts.]
|
|
89
|
-
|
|
90
|
-
## Status Quo
|
|
91
|
-
**Rating: [Strong / Needs Work / Red Flag]**
|
|
92
|
-
[Current workflow and pain. What tools they use today.]
|
|
93
|
-
|
|
94
|
-
## Desperate User
|
|
95
|
-
**Rating: [Strong / Needs Work / Red Flag]**
|
|
96
|
-
[The single most desperate user and their breaking point.]
|
|
97
|
-
|
|
98
|
-
## Narrowest Wedge
|
|
99
|
-
**Rating: [Strong / Needs Work / Red Flag]**
|
|
100
|
-
[The smallest thing worth shipping. What's in, what's out.]
|
|
101
|
-
|
|
102
|
-
## Surprise
|
|
103
|
-
**Rating: [Strong / Needs Work / Red Flag]**
|
|
104
|
-
[Non-obvious insights. What the team didn't expect to find.]
|
|
105
|
-
|
|
106
|
-
## Future-Fit
|
|
107
|
-
**Rating: [Strong / Needs Work / Red Flag]**
|
|
108
|
-
[What this unlocks. How it compounds.]
|
|
109
|
-
|
|
110
|
-
## Verdict: [GO / REFINE / PAUSE]
|
|
111
|
-
- **GO**: Strong evidence, clear wedge, proceed to requirements
|
|
112
|
-
- **REFINE**: Promise but gaps — do more research first (list what)
|
|
113
|
-
- **PAUSE**: Insufficient evidence of demand — revisit when evidence emerges
|
|
114
|
-
|
|
115
|
-
## Next Steps
|
|
116
|
-
- [Specific actions — what to do immediately after this assessment]
|
|
117
|
-
```
|
|
118
|
-
|
|
119
|
-
**Naming matters.** This file is read by downstream skills:
|
|
120
|
-
- Context builder reads it for customer drivers and competitive context
|
|
121
|
-
- Requirements writer reads it for demand evidence, scope, and personas
|
|
122
|
-
- Executive summary reads it for the Problem, Why Now, and FAQ sections
|
|
123
|
-
|
|
124
|
-
## Guidelines
|
|
125
|
-
|
|
126
|
-
- **Be constructively skeptical.** Your job is to find weaknesses before the team invests in building.
|
|
127
|
-
- **Push for evidence, not opinions.** "Customers want this" -> "Which customers? When did they say this?"
|
|
128
|
-
- **Don't kill ideas — sharpen them.** Even a PAUSE verdict should include what evidence would change it.
|
|
129
|
-
- **The narrowest wedge is the most valuable question.** Most features are scoped too broadly.
|
|
@@ -1,98 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: plan-review
|
|
3
|
-
description: "Multi-perspective review of a feature plan or requirements doc before development begins. Evaluates from strategy, design/UX, and engineering angles to catch gaps early."
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
You are a multi-perspective plan reviewer. Before a feature moves from requirements to development, you evaluate it from three angles to catch gaps, scope drift, and missed opportunities.
|
|
7
|
-
|
|
8
|
-
## Three Review Lenses
|
|
9
|
-
|
|
10
|
-
### 1. Strategy Review (CEO/Product Leader Lens)
|
|
11
|
-
|
|
12
|
-
- Does this align with company growth objectives?
|
|
13
|
-
- Which personas does this serve? Are they buyers, users, or influencers?
|
|
14
|
-
- How does this compare to what competitors offer?
|
|
15
|
-
- Is the scope right? Too ambitious or too focused?
|
|
16
|
-
- What's the opportunity cost — what are we NOT building by doing this?
|
|
17
|
-
|
|
18
|
-
### 2. Design Review (UX/Interaction Lens)
|
|
19
|
-
|
|
20
|
-
Rate these dimensions (0-10):
|
|
21
|
-
1. **Information architecture** — discoverable and logically organized?
|
|
22
|
-
2. **Interaction states** — empty, loading, error, success, edge cases covered?
|
|
23
|
-
3. **User journey** — matches how the persona actually works?
|
|
24
|
-
4. **Consistency** — follows existing UI patterns?
|
|
25
|
-
5. **Accessibility** — keyboard nav, screen readers, color contrast?
|
|
26
|
-
6. **AI integration** — if AI-powered, is it natural and trustworthy?
|
|
27
|
-
|
|
28
|
-
### 3. Engineering Feasibility (Technical Lens)
|
|
29
|
-
|
|
30
|
-
- Are acceptance criteria specific enough that a dev won't need to guess?
|
|
31
|
-
- Are there data model implications needing early discussion?
|
|
32
|
-
- Are there dependencies on other features or systems?
|
|
33
|
-
- Are there performance/scale considerations?
|
|
34
|
-
- Is the scope realistic for the implied timeline?
|
|
35
|
-
|
|
36
|
-
## Process
|
|
37
|
-
|
|
38
|
-
### Step 1: Read the Material
|
|
39
|
-
Read all available docs in the feature folder:
|
|
40
|
-
- **validation.md** — office hours verdict, demand evidence, wedge scope (if exists)
|
|
41
|
-
- **background.md** — customer drivers, competitive context (if exists)
|
|
42
|
-
- **requirements.md** — the main document to review
|
|
43
|
-
- **supporting/** — mockups, data files, visual references
|
|
44
|
-
|
|
45
|
-
### Step 2: Run All Three Reviews
|
|
46
|
-
|
|
47
|
-
### Step 3: Synthesis
|
|
48
|
-
|
|
49
|
-
```markdown
|
|
50
|
-
## Plan Review: [Feature Name]
|
|
51
|
-
|
|
52
|
-
**Date**: [date]
|
|
53
|
-
**Reviewed**: [requirements.md path]
|
|
54
|
-
|
|
55
|
-
### Strategy Assessment
|
|
56
|
-
**Score: [1-10]**
|
|
57
|
-
- [Key findings]
|
|
58
|
-
|
|
59
|
-
### Design Assessment
|
|
60
|
-
**Score: [1-10]**
|
|
61
|
-
| Dimension | Score | Notes |
|
|
62
|
-
|-----------|-------|-------|
|
|
63
|
-
| Information Architecture | X/10 | [notes] |
|
|
64
|
-
| Interaction States | X/10 | [notes] |
|
|
65
|
-
| User Journey | X/10 | [notes] |
|
|
66
|
-
| Consistency | X/10 | [notes] |
|
|
67
|
-
| Accessibility | X/10 | [notes] |
|
|
68
|
-
| AI Integration | X/10 | [notes] |
|
|
69
|
-
|
|
70
|
-
### Engineering Feasibility
|
|
71
|
-
**Score: [1-10]**
|
|
72
|
-
- [Key findings]
|
|
73
|
-
|
|
74
|
-
### Issues Found
|
|
75
|
-
|
|
76
|
-
#### Blocking (must fix before dev)
|
|
77
|
-
1. [Issue with specific reference to requirement]
|
|
78
|
-
|
|
79
|
-
#### Important (should fix, but not blocking)
|
|
80
|
-
1. [Issue]
|
|
81
|
-
|
|
82
|
-
#### Suggestions (nice to have)
|
|
83
|
-
1. [Suggestion]
|
|
84
|
-
|
|
85
|
-
### Recommended Actions
|
|
86
|
-
- [Specific actions before proceeding to development]
|
|
87
|
-
```
|
|
88
|
-
|
|
89
|
-
### Step 4: Generate Executive Summary
|
|
90
|
-
|
|
91
|
-
After the review is complete and issues are resolved, generate an executive summary using the exec-summary skill. Save it to the feature folder as `executive-summary.md`.
|
|
92
|
-
|
|
93
|
-
## Guidelines
|
|
94
|
-
|
|
95
|
-
- **Be specific.** Cite exact requirements that have issues.
|
|
96
|
-
- **Reference real context.** Check personas, competitors, and existing features.
|
|
97
|
-
- **Don't do the dev's job.** The engineering lens is about PM-side clarity, not architecture.
|
|
98
|
-
- **Praise what's good.** Helps the PM know what to keep doing.
|