@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.
Files changed (472) hide show
  1. package/daemon/assets/guidance/CULTURE-default.md +19 -0
  2. package/daemon/assets/guidance/openrig-start.md +20 -5
  3. package/daemon/assets/plugins/openrig-core/README.md +1 -1
  4. package/daemon/assets/plugins/openrig-core/skills/applying-a-permission-policy/SKILL.md +120 -0
  5. package/daemon/assets/plugins/openrig-core/skills/claude-compaction-restore/SKILL.md +9 -6
  6. package/daemon/assets/plugins/openrig-core/skills/claude-compaction-restore/scripts/precompact-hook.mjs +11 -72
  7. package/daemon/assets/plugins/openrig-core/skills/claude-compaction-restore/scripts/restore-from-jsonl.mjs +0 -0
  8. package/daemon/assets/plugins/openrig-core/skills/delegating-work/SKILL.md +43 -0
  9. package/daemon/assets/plugins/openrig-core/skills/forming-an-openrig-mental-model/SKILL.md +36 -22
  10. package/daemon/assets/plugins/openrig-core/skills/messaging-the-human/SKILL.md +108 -0
  11. package/daemon/assets/plugins/openrig-core/skills/mission-slice-sop/SKILL.md +7 -13
  12. package/daemon/assets/plugins/openrig-core/skills/openrig-skills/SKILL.md +88 -0
  13. package/daemon/assets/plugins/openrig-core/skills/openrig-user/SKILL.md +189 -105
  14. package/daemon/assets/plugins/openrig-core/skills/queue-handoff/SKILL.md +26 -9
  15. package/daemon/assets/plugins/openrig-core/skills/seat-continuity-and-handover/SKILL.md +11 -9
  16. package/daemon/assets/plugins/openrig-core/skills/session-compaction-and-restore/SKILL.md +162 -0
  17. package/daemon/assets/plugins/openrig-core/skills/software-for-agents/SKILL.md +165 -0
  18. package/daemon/dist/adapters/claude-code-adapter.d.ts +0 -9
  19. package/daemon/dist/adapters/claude-code-adapter.d.ts.map +1 -1
  20. package/daemon/dist/adapters/claude-code-adapter.js +13 -46
  21. package/daemon/dist/adapters/claude-code-adapter.js.map +1 -1
  22. package/daemon/dist/adapters/claude-resume.d.ts +1 -1
  23. package/daemon/dist/adapters/claude-resume.d.ts.map +1 -1
  24. package/daemon/dist/adapters/claude-resume.js +8 -2
  25. package/daemon/dist/adapters/claude-resume.js.map +1 -1
  26. package/daemon/dist/adapters/cmux-transport.d.ts.map +1 -1
  27. package/daemon/dist/adapters/cmux-transport.js +8 -1
  28. package/daemon/dist/adapters/cmux-transport.js.map +1 -1
  29. package/daemon/dist/adapters/cmux.d.ts +9 -0
  30. package/daemon/dist/adapters/cmux.d.ts.map +1 -1
  31. package/daemon/dist/adapters/cmux.js +21 -0
  32. package/daemon/dist/adapters/cmux.js.map +1 -1
  33. package/daemon/dist/adapters/codex-resume.d.ts +1 -1
  34. package/daemon/dist/adapters/codex-resume.d.ts.map +1 -1
  35. package/daemon/dist/adapters/codex-resume.js +4 -2
  36. package/daemon/dist/adapters/codex-resume.js.map +1 -1
  37. package/daemon/dist/adapters/codex-runtime-adapter.d.ts +3 -0
  38. package/daemon/dist/adapters/codex-runtime-adapter.d.ts.map +1 -1
  39. package/daemon/dist/adapters/codex-runtime-adapter.js +30 -9
  40. package/daemon/dist/adapters/codex-runtime-adapter.js.map +1 -1
  41. package/daemon/dist/adapters/pi-resume.d.ts +1 -1
  42. package/daemon/dist/adapters/pi-resume.d.ts.map +1 -1
  43. package/daemon/dist/adapters/pi-resume.js +7 -2
  44. package/daemon/dist/adapters/pi-resume.js.map +1 -1
  45. package/daemon/dist/adapters/pi-runtime-adapter.d.ts.map +1 -1
  46. package/daemon/dist/adapters/pi-runtime-adapter.js +4 -1
  47. package/daemon/dist/adapters/pi-runtime-adapter.js.map +1 -1
  48. package/daemon/dist/adapters/yolo-mode.d.ts +23 -0
  49. package/daemon/dist/adapters/yolo-mode.d.ts.map +1 -0
  50. package/daemon/dist/adapters/yolo-mode.js +49 -0
  51. package/daemon/dist/adapters/yolo-mode.js.map +1 -0
  52. package/daemon/dist/build-info.js +3 -3
  53. package/daemon/dist/db/migrations/055_node_permission_policy.d.ts +13 -0
  54. package/daemon/dist/db/migrations/055_node_permission_policy.d.ts.map +1 -0
  55. package/daemon/dist/db/migrations/055_node_permission_policy.js +17 -0
  56. package/daemon/dist/db/migrations/055_node_permission_policy.js.map +1 -0
  57. package/daemon/dist/db/migrations/056_rig_permission_policy.d.ts +13 -0
  58. package/daemon/dist/db/migrations/056_rig_permission_policy.d.ts.map +1 -0
  59. package/daemon/dist/db/migrations/056_rig_permission_policy.js +17 -0
  60. package/daemon/dist/db/migrations/056_rig_permission_policy.js.map +1 -0
  61. package/daemon/dist/db/migrations/057_node_policy_provenance.d.ts +19 -0
  62. package/daemon/dist/db/migrations/057_node_policy_provenance.d.ts.map +1 -0
  63. package/daemon/dist/db/migrations/057_node_policy_provenance.js +26 -0
  64. package/daemon/dist/db/migrations/057_node_policy_provenance.js.map +1 -0
  65. package/daemon/dist/db/migrations/058_rig_policy_provenance.d.ts +15 -0
  66. package/daemon/dist/db/migrations/058_rig_policy_provenance.d.ts.map +1 -0
  67. package/daemon/dist/db/migrations/058_rig_policy_provenance.js +22 -0
  68. package/daemon/dist/db/migrations/058_rig_policy_provenance.js.map +1 -0
  69. package/daemon/dist/domain/builtin-policy-reference.d.ts +13 -0
  70. package/daemon/dist/domain/builtin-policy-reference.d.ts.map +1 -0
  71. package/daemon/dist/domain/builtin-policy-reference.js +58 -0
  72. package/daemon/dist/domain/builtin-policy-reference.js.map +1 -0
  73. package/daemon/dist/domain/claude-compaction-enforcer.d.ts +3 -0
  74. package/daemon/dist/domain/claude-compaction-enforcer.d.ts.map +1 -1
  75. package/daemon/dist/domain/claude-compaction-enforcer.js +19 -3
  76. package/daemon/dist/domain/claude-compaction-enforcer.js.map +1 -1
  77. package/daemon/dist/domain/cmux-layout-service.d.ts +36 -0
  78. package/daemon/dist/domain/cmux-layout-service.d.ts.map +1 -1
  79. package/daemon/dist/domain/cmux-layout-service.js +100 -28
  80. package/daemon/dist/domain/cmux-layout-service.js.map +1 -1
  81. package/daemon/dist/domain/context-monitor.d.ts +2 -0
  82. package/daemon/dist/domain/context-monitor.d.ts.map +1 -1
  83. package/daemon/dist/domain/context-monitor.js +14 -0
  84. package/daemon/dist/domain/context-monitor.js.map +1 -1
  85. package/daemon/dist/domain/feed/attention-aggregator.js +1 -1
  86. package/daemon/dist/domain/feed/attention-aggregator.js.map +1 -1
  87. package/daemon/dist/domain/hosts/hosts-registry-reader.d.ts.map +1 -1
  88. package/daemon/dist/domain/hosts/hosts-registry-reader.js +12 -10
  89. package/daemon/dist/domain/hosts/hosts-registry-reader.js.map +1 -1
  90. package/daemon/dist/domain/hosts/hosts-registry-writer.d.ts.map +1 -1
  91. package/daemon/dist/domain/hosts/hosts-registry-writer.js +3 -2
  92. package/daemon/dist/domain/hosts/hosts-registry-writer.js.map +1 -1
  93. package/daemon/dist/domain/hosts/read-through.js +1 -1
  94. package/daemon/dist/domain/hosts/read-through.js.map +1 -1
  95. package/daemon/dist/domain/hosts/remote-daemon-http.d.ts.map +1 -1
  96. package/daemon/dist/domain/hosts/remote-daemon-http.js +8 -5
  97. package/daemon/dist/domain/hosts/remote-daemon-http.js.map +1 -1
  98. package/daemon/dist/domain/native-resume-probe.d.ts +1 -1
  99. package/daemon/dist/domain/native-resume-probe.d.ts.map +1 -1
  100. package/daemon/dist/domain/native-resume-probe.js +11 -4
  101. package/daemon/dist/domain/native-resume-probe.js.map +1 -1
  102. package/daemon/dist/domain/node-inventory.d.ts +3 -12
  103. package/daemon/dist/domain/node-inventory.d.ts.map +1 -1
  104. package/daemon/dist/domain/node-inventory.js +57 -15
  105. package/daemon/dist/domain/node-inventory.js.map +1 -1
  106. package/daemon/dist/domain/permission-policy/policy-ref.d.ts +89 -0
  107. package/daemon/dist/domain/permission-policy/policy-ref.d.ts.map +1 -0
  108. package/daemon/dist/domain/permission-policy/policy-ref.js +171 -0
  109. package/daemon/dist/domain/permission-policy/policy-ref.js.map +1 -0
  110. package/daemon/dist/domain/permission-policy/policy-spec.d.ts +34 -0
  111. package/daemon/dist/domain/permission-policy/policy-spec.d.ts.map +1 -0
  112. package/daemon/dist/domain/permission-policy/policy-spec.js +106 -0
  113. package/daemon/dist/domain/permission-policy/policy-spec.js.map +1 -0
  114. package/daemon/dist/domain/plugin-vendor-service.d.ts +2 -0
  115. package/daemon/dist/domain/plugin-vendor-service.d.ts.map +1 -1
  116. package/daemon/dist/domain/plugin-vendor-service.js +23 -0
  117. package/daemon/dist/domain/plugin-vendor-service.js.map +1 -1
  118. package/daemon/dist/domain/projection-lane.d.ts +7 -0
  119. package/daemon/dist/domain/projection-lane.d.ts.map +1 -0
  120. package/daemon/dist/domain/projection-lane.js +28 -0
  121. package/daemon/dist/domain/projection-lane.js.map +1 -0
  122. package/daemon/dist/domain/ps-projection.d.ts +19 -0
  123. package/daemon/dist/domain/ps-projection.d.ts.map +1 -1
  124. package/daemon/dist/domain/ps-projection.js +46 -6
  125. package/daemon/dist/domain/ps-projection.js.map +1 -1
  126. package/daemon/dist/domain/queue-repository.d.ts +14 -10
  127. package/daemon/dist/domain/queue-repository.d.ts.map +1 -1
  128. package/daemon/dist/domain/queue-repository.js +33 -12
  129. package/daemon/dist/domain/queue-repository.js.map +1 -1
  130. package/daemon/dist/domain/restore-orchestrator.d.ts +14 -0
  131. package/daemon/dist/domain/restore-orchestrator.d.ts.map +1 -1
  132. package/daemon/dist/domain/restore-orchestrator.js +90 -6
  133. package/daemon/dist/domain/restore-orchestrator.js.map +1 -1
  134. package/daemon/dist/domain/review/compose.d.ts +77 -4
  135. package/daemon/dist/domain/review/compose.d.ts.map +1 -1
  136. package/daemon/dist/domain/review/compose.js +152 -16
  137. package/daemon/dist/domain/review/compose.js.map +1 -1
  138. package/daemon/dist/domain/review/fleet-compose.js +1 -1
  139. package/daemon/dist/domain/review/fleet-compose.js.map +1 -1
  140. package/daemon/dist/domain/review/gather.d.ts +1 -1
  141. package/daemon/dist/domain/review/gather.d.ts.map +1 -1
  142. package/daemon/dist/domain/review/gather.js +92 -67
  143. package/daemon/dist/domain/review/gather.js.map +1 -1
  144. package/daemon/dist/domain/review/proof-io.d.ts +2 -0
  145. package/daemon/dist/domain/review/proof-io.d.ts.map +1 -0
  146. package/daemon/dist/domain/review/proof-io.js +38 -0
  147. package/daemon/dist/domain/review/proof-io.js.map +1 -0
  148. package/daemon/dist/domain/rig-expansion-service.d.ts.map +1 -1
  149. package/daemon/dist/domain/rig-expansion-service.js +10 -1
  150. package/daemon/dist/domain/rig-expansion-service.js.map +1 -1
  151. package/daemon/dist/domain/rig-repository.d.ts +45 -0
  152. package/daemon/dist/domain/rig-repository.d.ts.map +1 -1
  153. package/daemon/dist/domain/rig-repository.js +75 -1
  154. package/daemon/dist/domain/rig-repository.js.map +1 -1
  155. package/daemon/dist/domain/rigspec-codec.d.ts.map +1 -1
  156. package/daemon/dist/domain/rigspec-codec.js +6 -0
  157. package/daemon/dist/domain/rigspec-codec.js.map +1 -1
  158. package/daemon/dist/domain/rigspec-exporter.d.ts.map +1 -1
  159. package/daemon/dist/domain/rigspec-exporter.js +8 -0
  160. package/daemon/dist/domain/rigspec-exporter.js.map +1 -1
  161. package/daemon/dist/domain/rigspec-instantiator.d.ts +18 -1
  162. package/daemon/dist/domain/rigspec-instantiator.d.ts.map +1 -1
  163. package/daemon/dist/domain/rigspec-instantiator.js +202 -10
  164. package/daemon/dist/domain/rigspec-instantiator.js.map +1 -1
  165. package/daemon/dist/domain/rigspec-preflight.d.ts +11 -0
  166. package/daemon/dist/domain/rigspec-preflight.d.ts.map +1 -1
  167. package/daemon/dist/domain/rigspec-preflight.js +35 -1
  168. package/daemon/dist/domain/rigspec-preflight.js.map +1 -1
  169. package/daemon/dist/domain/rigspec-schema.d.ts.map +1 -1
  170. package/daemon/dist/domain/rigspec-schema.js +25 -0
  171. package/daemon/dist/domain/rigspec-schema.js.map +1 -1
  172. package/daemon/dist/domain/runtime-adapter.d.ts +5 -0
  173. package/daemon/dist/domain/runtime-adapter.d.ts.map +1 -1
  174. package/daemon/dist/domain/runtime-adapter.js.map +1 -1
  175. package/daemon/dist/domain/scope/plan-lock-artifacts.d.ts +8 -0
  176. package/daemon/dist/domain/scope/plan-lock-artifacts.d.ts.map +1 -0
  177. package/daemon/dist/domain/scope/plan-lock-artifacts.js +57 -0
  178. package/daemon/dist/domain/scope/plan-lock-artifacts.js.map +1 -0
  179. package/daemon/dist/domain/scope/scaffold-placeholder.d.ts +38 -0
  180. package/daemon/dist/domain/scope/scaffold-placeholder.d.ts.map +1 -0
  181. package/daemon/dist/domain/scope/scaffold-placeholder.js +98 -0
  182. package/daemon/dist/domain/scope/scaffold-placeholder.js.map +1 -0
  183. package/daemon/dist/domain/scope/scope-approve.d.ts.map +1 -1
  184. package/daemon/dist/domain/scope/scope-approve.js +22 -1
  185. package/daemon/dist/domain/scope/scope-approve.js.map +1 -1
  186. package/daemon/dist/domain/scope/scope-audit.d.ts.map +1 -1
  187. package/daemon/dist/domain/scope/scope-audit.js +57 -20
  188. package/daemon/dist/domain/scope/scope-audit.js.map +1 -1
  189. package/daemon/dist/domain/seat-handover-service.d.ts.map +1 -1
  190. package/daemon/dist/domain/seat-handover-service.js +7 -1
  191. package/daemon/dist/domain/seat-handover-service.js.map +1 -1
  192. package/daemon/dist/domain/session-transport.d.ts +17 -0
  193. package/daemon/dist/domain/session-transport.d.ts.map +1 -1
  194. package/daemon/dist/domain/session-transport.js +44 -0
  195. package/daemon/dist/domain/session-transport.js.map +1 -1
  196. package/daemon/dist/domain/slices/qitem-membership.d.ts +17 -0
  197. package/daemon/dist/domain/slices/qitem-membership.d.ts.map +1 -0
  198. package/daemon/dist/domain/slices/qitem-membership.js +60 -0
  199. package/daemon/dist/domain/slices/qitem-membership.js.map +1 -0
  200. package/daemon/dist/domain/slices/slice-detail-projector.d.ts +5 -0
  201. package/daemon/dist/domain/slices/slice-detail-projector.d.ts.map +1 -1
  202. package/daemon/dist/domain/slices/slice-detail-projector.js +157 -11
  203. package/daemon/dist/domain/slices/slice-detail-projector.js.map +1 -1
  204. package/daemon/dist/domain/slices/slice-indexer.d.ts +86 -0
  205. package/daemon/dist/domain/slices/slice-indexer.d.ts.map +1 -1
  206. package/daemon/dist/domain/slices/slice-indexer.js +422 -45
  207. package/daemon/dist/domain/slices/slice-indexer.js.map +1 -1
  208. package/daemon/dist/domain/startup-orchestrator.d.ts +9 -0
  209. package/daemon/dist/domain/startup-orchestrator.d.ts.map +1 -1
  210. package/daemon/dist/domain/startup-orchestrator.js +71 -3
  211. package/daemon/dist/domain/startup-orchestrator.js.map +1 -1
  212. package/daemon/dist/domain/successor-session-launcher.d.ts +4 -0
  213. package/daemon/dist/domain/successor-session-launcher.d.ts.map +1 -1
  214. package/daemon/dist/domain/successor-session-launcher.js +2 -0
  215. package/daemon/dist/domain/successor-session-launcher.js.map +1 -1
  216. package/daemon/dist/domain/terminal/cmux-provider-adapter.d.ts +12 -11
  217. package/daemon/dist/domain/terminal/cmux-provider-adapter.d.ts.map +1 -1
  218. package/daemon/dist/domain/terminal/cmux-provider-adapter.js +61 -28
  219. package/daemon/dist/domain/terminal/cmux-provider-adapter.js.map +1 -1
  220. package/daemon/dist/domain/terminal/herdr-adapter.d.ts +27 -10
  221. package/daemon/dist/domain/terminal/herdr-adapter.d.ts.map +1 -1
  222. package/daemon/dist/domain/terminal/herdr-adapter.js +74 -33
  223. package/daemon/dist/domain/terminal/herdr-adapter.js.map +1 -1
  224. package/daemon/dist/domain/transcript-capture.d.ts +3 -0
  225. package/daemon/dist/domain/transcript-capture.d.ts.map +1 -1
  226. package/daemon/dist/domain/transcript-capture.js +28 -0
  227. package/daemon/dist/domain/transcript-capture.js.map +1 -1
  228. package/daemon/dist/domain/transcript-store.d.ts +10 -0
  229. package/daemon/dist/domain/transcript-store.d.ts.map +1 -1
  230. package/daemon/dist/domain/transcript-store.js +26 -0
  231. package/daemon/dist/domain/transcript-store.js.map +1 -1
  232. package/daemon/dist/domain/types.d.ts +21 -0
  233. package/daemon/dist/domain/types.d.ts.map +1 -1
  234. package/daemon/dist/domain/types.js.map +1 -1
  235. package/daemon/dist/domain/workspace/default-workspace-scaffold.d.ts.map +1 -1
  236. package/daemon/dist/domain/workspace/default-workspace-scaffold.js +9 -4
  237. package/daemon/dist/domain/workspace/default-workspace-scaffold.js.map +1 -1
  238. package/daemon/dist/domain/workspace/workspace-doctor.js +1 -1
  239. package/daemon/dist/domain/workspace/workspace-doctor.js.map +1 -1
  240. package/daemon/dist/routes/agent-images.d.ts.map +1 -1
  241. package/daemon/dist/routes/agent-images.js +2 -0
  242. package/daemon/dist/routes/agent-images.js.map +1 -1
  243. package/daemon/dist/routes/mission-control.js +1 -1
  244. package/daemon/dist/routes/mission-control.js.map +1 -1
  245. package/daemon/dist/routes/missions.d.ts +7 -0
  246. package/daemon/dist/routes/missions.d.ts.map +1 -1
  247. package/daemon/dist/routes/missions.js +6 -1
  248. package/daemon/dist/routes/missions.js.map +1 -1
  249. package/daemon/dist/routes/ps.d.ts.map +1 -1
  250. package/daemon/dist/routes/ps.js +5 -1
  251. package/daemon/dist/routes/ps.js.map +1 -1
  252. package/daemon/dist/routes/queue.d.ts.map +1 -1
  253. package/daemon/dist/routes/queue.js +9 -2
  254. package/daemon/dist/routes/queue.js.map +1 -1
  255. package/daemon/dist/routes/rigs.d.ts.map +1 -1
  256. package/daemon/dist/routes/rigs.js +29 -10
  257. package/daemon/dist/routes/rigs.js.map +1 -1
  258. package/daemon/dist/routes/scope-audit.d.ts.map +1 -1
  259. package/daemon/dist/routes/scope-audit.js +141 -135
  260. package/daemon/dist/routes/scope-audit.js.map +1 -1
  261. package/daemon/dist/routes/sessions.js +2 -1
  262. package/daemon/dist/routes/sessions.js.map +1 -1
  263. package/daemon/dist/routes/slices.d.ts.map +1 -1
  264. package/daemon/dist/routes/slices.js +48 -38
  265. package/daemon/dist/routes/slices.js.map +1 -1
  266. package/daemon/dist/routes/transcripts.d.ts.map +1 -1
  267. package/daemon/dist/routes/transcripts.js +62 -33
  268. package/daemon/dist/routes/transcripts.js.map +1 -1
  269. package/daemon/dist/startup.d.ts.map +1 -1
  270. package/daemon/dist/startup.js +42 -12
  271. package/daemon/dist/startup.js.map +1 -1
  272. package/daemon/docs/reference/agent-startup-guide.md +1 -0
  273. package/daemon/docs/reference/rig-spec.md +19 -0
  274. package/daemon/policies/builtin/locked.policy.md +24 -0
  275. package/daemon/policies/builtin/open.policy.md +24 -0
  276. package/daemon/policies/builtin/standard.policy.md +25 -0
  277. package/daemon/policies/builtin/yolo.policy.md +20 -0
  278. package/daemon/policies/examples/my-cautious-dev.policy.md +40 -0
  279. package/daemon/specs/agents/apps/vault-specialist/agent.yaml +2 -1
  280. package/daemon/specs/agents/conveyor/builder/agent.yaml +2 -1
  281. package/daemon/specs/agents/conveyor/lead/agent.yaml +2 -1
  282. package/daemon/specs/agents/conveyor/planner/agent.yaml +2 -1
  283. package/daemon/specs/agents/conveyor/reviewer/agent.yaml +2 -1
  284. package/daemon/specs/agents/design/product-designer/agent.yaml +12 -2
  285. package/daemon/specs/agents/development/implementer/agent.yaml +12 -2
  286. package/daemon/specs/agents/development/qa/agent.yaml +12 -2
  287. package/daemon/specs/agents/development/qa/guidance/role.md +1 -0
  288. package/daemon/specs/agents/factory-rsi/dogfood/agent.yaml +2 -1
  289. package/daemon/specs/agents/factory-rsi/release-manager/agent.yaml +2 -1
  290. package/daemon/specs/agents/orchestration/orchestrator/agent.yaml +12 -2
  291. package/daemon/specs/agents/product-management/pm/agent.yaml +1 -2
  292. package/daemon/specs/agents/research/analyst/agent.yaml +2 -1
  293. package/daemon/specs/agents/research/synthesizer/agent.yaml +2 -1
  294. package/daemon/specs/agents/review/independent-reviewer/agent.yaml +12 -2
  295. package/daemon/specs/agents/shared/agent.yaml +5 -8
  296. package/daemon/specs/agents/shared/runtime/claude-settings.fragment.json +1 -8
  297. package/daemon/specs/agents/shared/skills/core/agent-starters/SKILL.md +132 -0
  298. package/daemon/{assets/plugins/openrig-core/skills → specs/agents/shared/skills/core}/agent-startup-and-context-ingestion/SKILL.md +27 -19
  299. package/daemon/specs/agents/shared/skills/core/attention-queue/SKILL.md +264 -0
  300. package/daemon/specs/agents/shared/skills/core/cross-host-rig-commands/SKILL.md +190 -0
  301. package/daemon/specs/agents/shared/skills/core/human-in-the-loop/SKILL.md +104 -0
  302. package/daemon/specs/agents/shared/skills/core/openrig-architect/SKILL.md +23 -8
  303. package/daemon/specs/agents/shared/skills/core/openrig-cmux/SKILL.md +0 -5
  304. package/daemon/specs/agents/shared/skills/core/openrig-herdr/SKILL.md +1 -6
  305. package/daemon/specs/agents/shared/skills/core/openrig-upgrade/SKILL.md +460 -0
  306. package/daemon/specs/agents/shared/skills/core/rig-bundles-and-shareable-artifacts/SKILL.md +101 -0
  307. package/daemon/specs/agents/shared/skills/core/rig-lifecycle/SKILL.md +22 -11
  308. package/daemon/specs/agents/shared/skills/core/session-source-fork/SKILL.md +160 -0
  309. package/daemon/specs/agents/shared/skills/core/specification-system/SKILL.md +103 -0
  310. package/daemon/specs/agents/shared/skills/core/topology-mutation-and-seat-management/SKILL.md +118 -0
  311. package/daemon/specs/agents/shared/skills/core/watchdog/SKILL.md +125 -0
  312. package/daemon/specs/agents/shared/skills/process/brainstorming/OPENRIG.md +3 -3
  313. package/daemon/specs/agents/shared/skills/process/executing-plans/OPENRIG.md +1 -1
  314. package/daemon/specs/agents/shared/skills/process/frontend-design/SKILL.md +6 -3
  315. package/daemon/specs/agents/shared/skills/process/systematic-debugging/find-polluter.sh +0 -0
  316. package/daemon/specs/agents/shared/skills/process/test-driven-development/SKILL.md +1 -1
  317. package/daemon/specs/agents/shared/skills/process/using-superpowers/OPENRIG.md +1 -1
  318. package/daemon/specs/agents/shared/skills/process/verification-before-completion/SKILL.md +13 -2
  319. package/daemon/specs/agents/shared/skills/process/writing-plans/OPENRIG.md +1 -1
  320. package/daemon/specs/rigs/focused/pm-team/CULTURE.md +1 -1
  321. package/daemon/specs/rigs/launch/kernel/agents/advisor/lead/agent.yaml +2 -2
  322. package/daemon/specs/rigs/launch/kernel/agents/advisor/lead/guidance/role.md +5 -4
  323. package/daemon/specs/rigs/launch/kernel/agents/operator/agent/agent.yaml +2 -2
  324. package/daemon/specs/rigs/launch/kernel/agents/operator/agent/guidance/role.md +3 -5
  325. package/daemon/specs/rigs/launch/kernel/agents/queue/worker/agent.yaml +2 -2
  326. package/daemon/specs/rigs/launch/kernel/culture/CULTURE.md +3 -4
  327. package/daemon/specs/rigs/preview/product-team/CULTURE.md +1 -1
  328. package/dist/bin-wrapper.d.ts.map +1 -1
  329. package/dist/bin-wrapper.js +3 -1
  330. package/dist/bin-wrapper.js.map +1 -1
  331. package/dist/build-info.js +3 -3
  332. package/dist/cli-error.d.ts +33 -0
  333. package/dist/cli-error.d.ts.map +1 -0
  334. package/dist/cli-error.js +94 -0
  335. package/dist/cli-error.js.map +1 -0
  336. package/dist/commands/config-init-workspace.js +1 -1
  337. package/dist/commands/doctor.d.ts +1 -1
  338. package/dist/commands/doctor.d.ts.map +1 -1
  339. package/dist/commands/doctor.js +17 -11
  340. package/dist/commands/doctor.js.map +1 -1
  341. package/dist/commands/host.d.ts.map +1 -1
  342. package/dist/commands/host.js +24 -10
  343. package/dist/commands/host.js.map +1 -1
  344. package/dist/commands/proof.js +1 -1
  345. package/dist/commands/proof.js.map +1 -1
  346. package/dist/commands/ps.d.ts.map +1 -1
  347. package/dist/commands/ps.js +16 -2
  348. package/dist/commands/ps.js.map +1 -1
  349. package/dist/commands/queue.d.ts.map +1 -1
  350. package/dist/commands/queue.js +103 -24
  351. package/dist/commands/queue.js.map +1 -1
  352. package/dist/commands/rig.d.ts.map +1 -1
  353. package/dist/commands/rig.js +122 -0
  354. package/dist/commands/rig.js.map +1 -1
  355. package/dist/commands/scope.js +2 -2
  356. package/dist/commands/scope.js.map +1 -1
  357. package/dist/commands/send.d.ts.map +1 -1
  358. package/dist/commands/send.js +118 -24
  359. package/dist/commands/send.js.map +1 -1
  360. package/dist/commands/setup.d.ts +14 -0
  361. package/dist/commands/setup.d.ts.map +1 -1
  362. package/dist/commands/setup.js +131 -8
  363. package/dist/commands/setup.js.map +1 -1
  364. package/dist/commands/slack.d.ts +37 -0
  365. package/dist/commands/slack.d.ts.map +1 -0
  366. package/dist/commands/slack.js +274 -0
  367. package/dist/commands/slack.js.map +1 -0
  368. package/dist/commands/ui.d.ts +1 -0
  369. package/dist/commands/ui.d.ts.map +1 -1
  370. package/dist/commands/ui.js +2 -0
  371. package/dist/commands/ui.js.map +1 -1
  372. package/dist/commands/up.js +1 -1
  373. package/dist/commands/up.js.map +1 -1
  374. package/dist/commands/whoami.d.ts.map +1 -1
  375. package/dist/commands/whoami.js +3 -3
  376. package/dist/commands/whoami.js.map +1 -1
  377. package/dist/daemon-lifecycle.d.ts.map +1 -1
  378. package/dist/daemon-lifecycle.js +45 -14
  379. package/dist/daemon-lifecycle.js.map +1 -1
  380. package/dist/host-registry.d.ts +6 -1
  381. package/dist/host-registry.d.ts.map +1 -1
  382. package/dist/host-registry.js +15 -6
  383. package/dist/host-registry.js.map +1 -1
  384. package/dist/index.d.ts +3 -0
  385. package/dist/index.d.ts.map +1 -1
  386. package/dist/index.js +6 -1
  387. package/dist/index.js.map +1 -1
  388. package/dist/lib/scope/scaffold-placeholder.d.ts +38 -0
  389. package/dist/lib/scope/scaffold-placeholder.d.ts.map +1 -0
  390. package/dist/lib/scope/scaffold-placeholder.js +98 -0
  391. package/dist/lib/scope/scaffold-placeholder.js.map +1 -0
  392. package/dist/lib/scope/scope-audit.d.ts.map +1 -1
  393. package/dist/lib/scope/scope-audit.js +57 -20
  394. package/dist/lib/scope/scope-audit.js.map +1 -1
  395. package/dist/lib/scope-templates/backlog-deprecation.md +1 -1
  396. package/dist/lib/scope-templates/backlog-tech-debt.md +1 -1
  397. package/dist/lib/scope-templates/bug-fix.md +1 -1
  398. package/dist/lib/scope-templates/implementation-prd.md +1 -1
  399. package/dist/lib/scope-templates/mission-notes.md +7 -2
  400. package/dist/lib/scope-templates/mission-placeholder.md +1 -1
  401. package/dist/lib/scope-templates/mission-progress.md +1 -1
  402. package/dist/lib/scope-templates/mission-release.md +1 -1
  403. package/dist/lib/scope-templates/placeholder.md +1 -1
  404. package/dist/lib/scope-templates/proof.md +1 -1
  405. package/dist/lib/scope-templates/release-feature.md +1 -1
  406. package/dist/lib/scope-templates/research.md +1 -1
  407. package/dist/lib/scope-templates/slice-progress.md +1 -1
  408. package/dist/remote-host-ops.d.ts.map +1 -1
  409. package/dist/remote-host-ops.js +2 -2
  410. package/dist/remote-host-ops.js.map +1 -1
  411. package/dist/slack/config.d.ts +41 -0
  412. package/dist/slack/config.d.ts.map +1 -0
  413. package/dist/slack/config.js +60 -0
  414. package/dist/slack/config.js.map +1 -0
  415. package/dist/slack/inbound.d.ts +75 -0
  416. package/dist/slack/inbound.d.ts.map +1 -0
  417. package/dist/slack/inbound.js +133 -0
  418. package/dist/slack/inbound.js.map +1 -0
  419. package/dist/slack/message.d.ts +26 -0
  420. package/dist/slack/message.d.ts.map +1 -0
  421. package/dist/slack/message.js +60 -0
  422. package/dist/slack/message.js.map +1 -0
  423. package/dist/slack/outbound.d.ts +39 -0
  424. package/dist/slack/outbound.d.ts.map +1 -0
  425. package/dist/slack/outbound.js +52 -0
  426. package/dist/slack/outbound.js.map +1 -0
  427. package/dist/slack/queue-bridge.d.ts +56 -0
  428. package/dist/slack/queue-bridge.d.ts.map +1 -0
  429. package/dist/slack/queue-bridge.js +114 -0
  430. package/dist/slack/queue-bridge.js.map +1 -0
  431. package/dist/slack/secrets.d.ts +21 -0
  432. package/dist/slack/secrets.d.ts.map +1 -0
  433. package/dist/slack/secrets.js +73 -0
  434. package/dist/slack/secrets.js.map +1 -0
  435. package/dist/slack/slack-api.d.ts +49 -0
  436. package/dist/slack/slack-api.d.ts.map +1 -0
  437. package/dist/slack/slack-api.js +110 -0
  438. package/dist/slack/slack-api.js.map +1 -0
  439. package/dist/slack/state-store.d.ts +62 -0
  440. package/dist/slack/state-store.d.ts.map +1 -0
  441. package/dist/slack/state-store.js +132 -0
  442. package/dist/slack/state-store.js.map +1 -0
  443. package/package.json +1 -1
  444. package/ui/dist/assets/{index-zrFqS7gL.js → index-DkNi0RT8.js} +184 -184
  445. package/ui/dist/assets/index-N-SdPj-I.css +32 -0
  446. package/ui/dist/index.html +2 -2
  447. package/daemon/assets/plugins/openrig-core/skills/openrig-architect/SKILL.md +0 -361
  448. package/daemon/assets/plugins/openrig-core/skills/openrig-cmux/SKILL.md +0 -86
  449. package/daemon/assets/plugins/openrig-core/skills/openrig-herdr/SKILL.md +0 -158
  450. package/daemon/assets/plugins/openrig-core/skills/openrig-operator/SKILL.md +0 -222
  451. package/daemon/docs/reference/product-factory-vps-runbook.md +0 -132
  452. package/daemon/specs/agents/shared/skills/core/mission-slice-sop/SKILL.md +0 -113
  453. package/daemon/specs/agents/shared/skills/core/openrig-installer/SKILL.md +0 -142
  454. package/daemon/specs/agents/shared/skills/core/openrig-operator/SKILL.md +0 -110
  455. package/daemon/specs/agents/shared/skills/core/openrig-user/SKILL.md +0 -1245
  456. package/daemon/specs/agents/shared/skills/core/openrig-user-settings/SKILL.md +0 -153
  457. package/daemon/specs/agents/shared/skills/pm/backlog-capture/SKILL.md +0 -43
  458. package/daemon/specs/agents/shared/skills/pm/context-builder/SKILL.md +0 -87
  459. package/daemon/specs/agents/shared/skills/pm/exec-summary/SKILL.md +0 -84
  460. package/daemon/specs/agents/shared/skills/pm/office-hours/SKILL.md +0 -129
  461. package/daemon/specs/agents/shared/skills/pm/plan-review/SKILL.md +0 -98
  462. package/daemon/specs/agents/shared/skills/pm/requirements-writer/SKILL.md +0 -113
  463. package/daemon/specs/agents/shared/skills/pm/ui-mockup/SKILL.md +0 -76
  464. package/daemon/specs/agents/shared/skills/pods/development-team/SKILL.md +0 -148
  465. package/daemon/specs/agents/shared/skills/pods/orchestration-team/SKILL.md +0 -266
  466. package/daemon/specs/agents/shared/skills/pods/review-team/SKILL.md +0 -210
  467. package/daemon/specs/agents/shared/skills/process/systematic-debugging/CREATION-LOG.md +0 -119
  468. package/daemon/specs/agents/shared/skills/process/systematic-debugging/test-academic.md +0 -14
  469. package/daemon/specs/agents/shared/skills/process/systematic-debugging/test-pressure-1.md +0 -58
  470. package/daemon/specs/agents/shared/skills/process/systematic-debugging/test-pressure-2.md +0 -68
  471. package/daemon/specs/agents/shared/skills/process/systematic-debugging/test-pressure-3.md +0 -69
  472. 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.