@rpamis/comet 0.3.9 → 0.4.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (623) hide show
  1. package/README.md +371 -222
  2. package/assets/manifest.json +33 -12
  3. package/assets/skills/comet/SKILL.md +87 -102
  4. package/assets/skills/comet/reference/auto-transition.md +1 -1
  5. package/assets/skills/comet/reference/comet-yaml-fields.md +11 -4
  6. package/assets/skills/comet/reference/context-recovery.md +12 -2
  7. package/assets/skills/comet/reference/debug-gate.md +17 -1
  8. package/assets/skills/comet/reference/decision-point.md +13 -2
  9. package/assets/skills/comet/reference/intent-frame.md +74 -0
  10. package/assets/skills/comet/reference/scripts.md +69 -0
  11. package/assets/skills/comet/reference/subagent-dispatch.md +79 -23
  12. package/assets/skills/comet/rules/comet-phase-guard.en.md +18 -10
  13. package/assets/skills/comet/rules/comet-phase-guard.md +17 -10
  14. package/assets/skills/comet/runtime/classic/checks.yaml +6 -0
  15. package/assets/skills/comet/runtime/classic/guardrails.yaml +13 -0
  16. package/assets/skills/comet/runtime/classic/skill.yaml +122 -0
  17. package/assets/skills/comet/scripts/comet-archive.mjs +3 -0
  18. package/assets/skills/comet/scripts/comet-env.mjs +15 -0
  19. package/assets/skills/comet/scripts/comet-guard.mjs +3 -0
  20. package/assets/skills/comet/scripts/comet-handoff.mjs +3 -0
  21. package/assets/skills/comet/scripts/comet-hook-guard.mjs +3 -0
  22. package/assets/skills/comet/scripts/comet-intent.mjs +3 -0
  23. package/assets/skills/comet/scripts/comet-runtime.mjs +12941 -0
  24. package/assets/skills/comet/scripts/comet-state.mjs +3 -0
  25. package/assets/skills/comet/scripts/comet-yaml-validate.mjs +3 -0
  26. package/assets/skills/comet-any/SKILL.md +118 -0
  27. package/assets/skills/comet-any/reference/authored-zone-example.md +100 -0
  28. package/assets/skills/comet-any/reference/authoring-protocol.json +91 -0
  29. package/assets/skills/comet-any/reference/authoring-subagents.md +102 -0
  30. package/assets/skills/comet-any/reference/bundle-authoring.md +166 -0
  31. package/assets/skills/comet-any/reference/eval-provider.md +83 -0
  32. package/assets/skills/comet-any/reference/subagents/pause-points-author.md +75 -0
  33. package/assets/skills/comet-any/reference/subagents/reference-author.md +77 -0
  34. package/assets/skills/comet-any/reference/subagents/script-author.md +81 -0
  35. package/assets/skills/comet-any/reference/subagents/skill-core-author.md +129 -0
  36. package/assets/skills/comet-any/reference/subagents/skill-reviewer.md +124 -0
  37. package/assets/skills/comet-any/reference/subagents/workflow-entry-author.md +100 -0
  38. package/assets/skills/comet-archive/SKILL.md +25 -15
  39. package/assets/skills/comet-build/SKILL.md +51 -40
  40. package/assets/skills/comet-design/SKILL.md +14 -18
  41. package/assets/skills/comet-hotfix/SKILL.md +33 -43
  42. package/assets/skills/comet-open/SKILL.md +10 -20
  43. package/assets/skills/comet-tweak/SKILL.md +71 -65
  44. package/assets/skills/comet-verify/SKILL.md +31 -35
  45. package/assets/skills-zh/comet/SKILL.md +87 -101
  46. package/assets/skills-zh/comet/reference/auto-transition.md +3 -3
  47. package/assets/skills-zh/comet/reference/comet-yaml-fields.md +8 -4
  48. package/assets/skills-zh/comet/reference/context-recovery.md +11 -1
  49. package/assets/skills-zh/comet/reference/debug-gate.md +17 -1
  50. package/assets/skills-zh/comet/reference/decision-point.md +13 -2
  51. package/assets/skills-zh/comet/reference/intent-frame.md +74 -0
  52. package/assets/skills-zh/comet/reference/scripts.md +69 -0
  53. package/assets/skills-zh/comet/reference/subagent-dispatch.md +67 -18
  54. package/assets/skills-zh/comet/runtime/classic/checks.yaml +6 -0
  55. package/assets/skills-zh/comet/runtime/classic/guardrails.yaml +13 -0
  56. package/assets/skills-zh/comet/runtime/classic/skill.yaml +122 -0
  57. package/assets/skills-zh/comet-any/SKILL.md +118 -0
  58. package/assets/skills-zh/comet-any/reference/authored-zone-example.md +100 -0
  59. package/assets/skills-zh/comet-any/reference/authoring-protocol.json +91 -0
  60. package/assets/skills-zh/comet-any/reference/authoring-subagents.md +107 -0
  61. package/assets/skills-zh/comet-any/reference/bundle-authoring.md +166 -0
  62. package/assets/skills-zh/comet-any/reference/eval-provider.md +66 -0
  63. package/assets/skills-zh/comet-any/reference/subagents/pause-points-author.md +79 -0
  64. package/assets/skills-zh/comet-any/reference/subagents/reference-author.md +81 -0
  65. package/assets/skills-zh/comet-any/reference/subagents/script-author.md +84 -0
  66. package/assets/skills-zh/comet-any/reference/subagents/skill-core-author.md +129 -0
  67. package/assets/skills-zh/comet-any/reference/subagents/skill-reviewer.md +124 -0
  68. package/assets/skills-zh/comet-any/reference/subagents/workflow-entry-author.md +98 -0
  69. package/assets/skills-zh/comet-archive/SKILL.md +25 -15
  70. package/assets/skills-zh/comet-build/SKILL.md +41 -43
  71. package/assets/skills-zh/comet-design/SKILL.md +14 -18
  72. package/assets/skills-zh/comet-hotfix/SKILL.md +37 -47
  73. package/assets/skills-zh/comet-open/SKILL.md +12 -22
  74. package/assets/skills-zh/comet-tweak/SKILL.md +70 -63
  75. package/assets/skills-zh/comet-verify/SKILL.md +28 -30
  76. package/bin/comet.js +1 -1
  77. package/dist/{cli → app/cli}/index.d.ts.map +1 -1
  78. package/dist/app/cli/index.js +430 -0
  79. package/dist/app/cli/index.js.map +1 -0
  80. package/dist/app/commands/bundle.d.ts +51 -0
  81. package/dist/app/commands/bundle.d.ts.map +1 -0
  82. package/dist/app/commands/bundle.js +387 -0
  83. package/dist/app/commands/bundle.js.map +1 -0
  84. package/dist/app/commands/creator.d.ts +14 -0
  85. package/dist/app/commands/creator.d.ts.map +1 -0
  86. package/dist/app/commands/creator.js +82 -0
  87. package/dist/app/commands/creator.js.map +1 -0
  88. package/dist/app/commands/dashboard.d.ts +16 -0
  89. package/dist/app/commands/dashboard.d.ts.map +1 -0
  90. package/dist/app/commands/dashboard.js +53 -0
  91. package/dist/app/commands/dashboard.js.map +1 -0
  92. package/dist/{commands → app/commands}/doctor.d.ts +1 -1
  93. package/dist/app/commands/doctor.d.ts.map +1 -0
  94. package/dist/{commands → app/commands}/doctor.js +110 -60
  95. package/dist/app/commands/doctor.js.map +1 -0
  96. package/dist/app/commands/eval.d.ts +17 -0
  97. package/dist/app/commands/eval.d.ts.map +1 -0
  98. package/dist/app/commands/eval.js +169 -0
  99. package/dist/app/commands/eval.js.map +1 -0
  100. package/dist/app/commands/i18n.d.ts +4 -0
  101. package/dist/app/commands/i18n.d.ts.map +1 -0
  102. package/dist/{commands → app/commands}/i18n.js +22 -2
  103. package/dist/app/commands/i18n.js.map +1 -0
  104. package/dist/{commands → app/commands}/init.d.ts +3 -1
  105. package/dist/app/commands/init.d.ts.map +1 -0
  106. package/dist/{commands → app/commands}/init.js +82 -32
  107. package/dist/app/commands/init.js.map +1 -0
  108. package/dist/app/commands/platform-select-prompt.d.ts +38 -0
  109. package/dist/app/commands/platform-select-prompt.d.ts.map +1 -0
  110. package/dist/app/commands/platform-select-prompt.js +141 -0
  111. package/dist/app/commands/platform-select-prompt.js.map +1 -0
  112. package/dist/app/commands/publish.d.ts +7 -0
  113. package/dist/app/commands/publish.d.ts.map +1 -0
  114. package/dist/app/commands/publish.js +14 -0
  115. package/dist/app/commands/publish.js.map +1 -0
  116. package/dist/app/commands/skill.d.ts +23 -0
  117. package/dist/app/commands/skill.d.ts.map +1 -0
  118. package/dist/app/commands/skill.js +208 -0
  119. package/dist/app/commands/skill.js.map +1 -0
  120. package/dist/app/commands/status.d.ts.map +1 -0
  121. package/dist/app/commands/status.js +159 -0
  122. package/dist/app/commands/status.js.map +1 -0
  123. package/dist/{commands → app/commands}/uninstall.d.ts +1 -1
  124. package/dist/app/commands/uninstall.d.ts.map +1 -0
  125. package/dist/{commands → app/commands}/uninstall.js +3 -3
  126. package/dist/app/commands/uninstall.js.map +1 -0
  127. package/dist/{commands → app/commands}/update.d.ts +4 -3
  128. package/dist/app/commands/update.d.ts.map +1 -0
  129. package/dist/{commands → app/commands}/update.js +43 -15
  130. package/dist/app/commands/update.js.map +1 -0
  131. package/dist/config/repository-layout.json +98 -0
  132. package/dist/domains/bundle/authoring.d.ts +82 -0
  133. package/dist/domains/bundle/authoring.d.ts.map +1 -0
  134. package/dist/domains/bundle/authoring.js +185 -0
  135. package/dist/domains/bundle/authoring.js.map +1 -0
  136. package/dist/domains/bundle/bundle-platform.d.ts +39 -0
  137. package/dist/domains/bundle/bundle-platform.d.ts.map +1 -0
  138. package/dist/domains/bundle/bundle-platform.js +287 -0
  139. package/dist/domains/bundle/bundle-platform.js.map +1 -0
  140. package/dist/domains/bundle/candidates.d.ts +29 -0
  141. package/dist/domains/bundle/candidates.d.ts.map +1 -0
  142. package/dist/domains/bundle/candidates.js +37 -0
  143. package/dist/domains/bundle/candidates.js.map +1 -0
  144. package/dist/domains/bundle/compatibility-benchmark.d.ts +12 -0
  145. package/dist/domains/bundle/compatibility-benchmark.d.ts.map +1 -0
  146. package/dist/domains/bundle/compatibility-benchmark.js +224 -0
  147. package/dist/domains/bundle/compatibility-benchmark.js.map +1 -0
  148. package/dist/domains/bundle/compiler.d.ts +5 -0
  149. package/dist/domains/bundle/compiler.d.ts.map +1 -0
  150. package/dist/domains/bundle/compiler.js +106 -0
  151. package/dist/domains/bundle/compiler.js.map +1 -0
  152. package/dist/domains/bundle/distribute.d.ts +33 -0
  153. package/dist/domains/bundle/distribute.d.ts.map +1 -0
  154. package/dist/domains/bundle/distribute.js +166 -0
  155. package/dist/domains/bundle/distribute.js.map +1 -0
  156. package/dist/domains/bundle/draft.d.ts +19 -0
  157. package/dist/domains/bundle/draft.d.ts.map +1 -0
  158. package/dist/domains/bundle/draft.js +82 -0
  159. package/dist/domains/bundle/draft.js.map +1 -0
  160. package/dist/domains/bundle/eval.d.ts +36 -0
  161. package/dist/domains/bundle/eval.d.ts.map +1 -0
  162. package/dist/domains/bundle/eval.js +501 -0
  163. package/dist/domains/bundle/eval.js.map +1 -0
  164. package/dist/domains/bundle/factory-compose.d.ts +12 -0
  165. package/dist/domains/bundle/factory-compose.d.ts.map +1 -0
  166. package/dist/domains/bundle/factory-compose.js +309 -0
  167. package/dist/domains/bundle/factory-compose.js.map +1 -0
  168. package/dist/domains/bundle/factory-guide.d.ts +37 -0
  169. package/dist/domains/bundle/factory-guide.d.ts.map +1 -0
  170. package/dist/domains/bundle/factory-guide.js +96 -0
  171. package/dist/domains/bundle/factory-guide.js.map +1 -0
  172. package/dist/domains/bundle/factory-plan.d.ts +48 -0
  173. package/dist/domains/bundle/factory-plan.d.ts.map +1 -0
  174. package/dist/domains/bundle/factory-plan.js +172 -0
  175. package/dist/domains/bundle/factory-plan.js.map +1 -0
  176. package/dist/domains/bundle/factory-proposal.d.ts +31 -0
  177. package/dist/domains/bundle/factory-proposal.d.ts.map +1 -0
  178. package/dist/domains/bundle/factory-proposal.js +225 -0
  179. package/dist/domains/bundle/factory-proposal.js.map +1 -0
  180. package/dist/domains/bundle/factory-resolve.d.ts +11 -0
  181. package/dist/domains/bundle/factory-resolve.d.ts.map +1 -0
  182. package/dist/domains/bundle/factory-resolve.js +121 -0
  183. package/dist/domains/bundle/factory-resolve.js.map +1 -0
  184. package/dist/domains/bundle/factory.d.ts +17 -0
  185. package/dist/domains/bundle/factory.d.ts.map +1 -0
  186. package/dist/domains/bundle/factory.js +511 -0
  187. package/dist/domains/bundle/factory.js.map +1 -0
  188. package/dist/domains/bundle/hash.d.ts +3 -0
  189. package/dist/domains/bundle/hash.d.ts.map +1 -0
  190. package/dist/domains/bundle/hash.js +72 -0
  191. package/dist/domains/bundle/hash.js.map +1 -0
  192. package/dist/domains/bundle/load.d.ts +4 -0
  193. package/dist/domains/bundle/load.d.ts.map +1 -0
  194. package/dist/domains/bundle/load.js +355 -0
  195. package/dist/domains/bundle/load.js.map +1 -0
  196. package/dist/domains/bundle/next-action.d.ts +37 -0
  197. package/dist/domains/bundle/next-action.d.ts.map +1 -0
  198. package/dist/domains/bundle/next-action.js +185 -0
  199. package/dist/domains/bundle/next-action.js.map +1 -0
  200. package/dist/domains/bundle/platform.d.ts +21 -0
  201. package/dist/domains/bundle/platform.d.ts.map +1 -0
  202. package/dist/domains/bundle/platform.js +170 -0
  203. package/dist/domains/bundle/platform.js.map +1 -0
  204. package/dist/domains/bundle/preferences.d.ts +11 -0
  205. package/dist/domains/bundle/preferences.d.ts.map +1 -0
  206. package/dist/domains/bundle/preferences.js +17 -0
  207. package/dist/domains/bundle/preferences.js.map +1 -0
  208. package/dist/domains/bundle/publish.d.ts +14 -0
  209. package/dist/domains/bundle/publish.d.ts.map +1 -0
  210. package/dist/domains/bundle/publish.js +159 -0
  211. package/dist/domains/bundle/publish.js.map +1 -0
  212. package/dist/domains/bundle/readiness-user-summary.d.ts +25 -0
  213. package/dist/domains/bundle/readiness-user-summary.d.ts.map +1 -0
  214. package/dist/domains/bundle/readiness-user-summary.js +186 -0
  215. package/dist/domains/bundle/readiness-user-summary.js.map +1 -0
  216. package/dist/domains/bundle/review-summary.d.ts +36 -0
  217. package/dist/domains/bundle/review-summary.d.ts.map +1 -0
  218. package/dist/domains/bundle/review-summary.js +348 -0
  219. package/dist/domains/bundle/review-summary.js.map +1 -0
  220. package/dist/domains/bundle/state.d.ts +7 -0
  221. package/dist/domains/bundle/state.d.ts.map +1 -0
  222. package/dist/domains/bundle/state.js +132 -0
  223. package/dist/domains/bundle/state.js.map +1 -0
  224. package/dist/domains/bundle/types.d.ts +347 -0
  225. package/dist/domains/bundle/types.d.ts.map +1 -0
  226. package/dist/domains/bundle/types.js.map +1 -0
  227. package/dist/domains/bundle/user-facing.d.ts +48 -0
  228. package/dist/domains/bundle/user-facing.d.ts.map +1 -0
  229. package/dist/domains/bundle/user-facing.js +73 -0
  230. package/dist/domains/bundle/user-facing.js.map +1 -0
  231. package/dist/domains/bundle/validate.d.ts +5 -0
  232. package/dist/domains/bundle/validate.d.ts.map +1 -0
  233. package/dist/domains/bundle/validate.js +292 -0
  234. package/dist/domains/bundle/validate.js.map +1 -0
  235. package/dist/domains/comet-classic/classic-archive-entry.d.ts +2 -0
  236. package/dist/domains/comet-classic/classic-archive-entry.d.ts.map +1 -0
  237. package/dist/domains/comet-classic/classic-archive-entry.js +4 -0
  238. package/dist/domains/comet-classic/classic-archive-entry.js.map +1 -0
  239. package/dist/domains/comet-classic/classic-archive.d.ts +3 -0
  240. package/dist/domains/comet-classic/classic-archive.d.ts.map +1 -0
  241. package/dist/domains/comet-classic/classic-archive.js +392 -0
  242. package/dist/domains/comet-classic/classic-archive.js.map +1 -0
  243. package/dist/domains/comet-classic/classic-cli.d.ts +15 -0
  244. package/dist/domains/comet-classic/classic-cli.d.ts.map +1 -0
  245. package/dist/domains/comet-classic/classic-cli.js +94 -0
  246. package/dist/domains/comet-classic/classic-cli.js.map +1 -0
  247. package/dist/domains/comet-classic/classic-diagnostics.d.ts +16 -0
  248. package/dist/domains/comet-classic/classic-diagnostics.d.ts.map +1 -0
  249. package/dist/domains/comet-classic/classic-diagnostics.js +57 -0
  250. package/dist/domains/comet-classic/classic-diagnostics.js.map +1 -0
  251. package/dist/domains/comet-classic/classic-evidence.d.ts +10 -0
  252. package/dist/domains/comet-classic/classic-evidence.d.ts.map +1 -0
  253. package/dist/domains/comet-classic/classic-evidence.js +114 -0
  254. package/dist/domains/comet-classic/classic-evidence.js.map +1 -0
  255. package/dist/domains/comet-classic/classic-guard-entry.d.ts +2 -0
  256. package/dist/domains/comet-classic/classic-guard-entry.d.ts.map +1 -0
  257. package/dist/domains/comet-classic/classic-guard-entry.js +4 -0
  258. package/dist/domains/comet-classic/classic-guard-entry.js.map +1 -0
  259. package/dist/domains/comet-classic/classic-guard.d.ts +3 -0
  260. package/dist/domains/comet-classic/classic-guard.d.ts.map +1 -0
  261. package/dist/domains/comet-classic/classic-guard.js +833 -0
  262. package/dist/domains/comet-classic/classic-guard.js.map +1 -0
  263. package/dist/domains/comet-classic/classic-handoff-entry.d.ts +2 -0
  264. package/dist/domains/comet-classic/classic-handoff-entry.d.ts.map +1 -0
  265. package/dist/domains/comet-classic/classic-handoff-entry.js +4 -0
  266. package/dist/domains/comet-classic/classic-handoff-entry.js.map +1 -0
  267. package/dist/domains/comet-classic/classic-handoff.d.ts +3 -0
  268. package/dist/domains/comet-classic/classic-handoff.d.ts.map +1 -0
  269. package/dist/domains/comet-classic/classic-handoff.js +478 -0
  270. package/dist/domains/comet-classic/classic-handoff.js.map +1 -0
  271. package/dist/domains/comet-classic/classic-hook-guard-entry.d.ts +2 -0
  272. package/dist/domains/comet-classic/classic-hook-guard-entry.d.ts.map +1 -0
  273. package/dist/domains/comet-classic/classic-hook-guard-entry.js +4 -0
  274. package/dist/domains/comet-classic/classic-hook-guard-entry.js.map +1 -0
  275. package/dist/domains/comet-classic/classic-hook-guard.d.ts +3 -0
  276. package/dist/domains/comet-classic/classic-hook-guard.d.ts.map +1 -0
  277. package/dist/domains/comet-classic/classic-hook-guard.js +382 -0
  278. package/dist/domains/comet-classic/classic-hook-guard.js.map +1 -0
  279. package/dist/domains/comet-classic/classic-intent-command.d.ts +3 -0
  280. package/dist/domains/comet-classic/classic-intent-command.d.ts.map +1 -0
  281. package/dist/domains/comet-classic/classic-intent-command.js +40 -0
  282. package/dist/domains/comet-classic/classic-intent-command.js.map +1 -0
  283. package/dist/domains/comet-classic/classic-intent-entry.d.ts +2 -0
  284. package/dist/domains/comet-classic/classic-intent-entry.d.ts.map +1 -0
  285. package/dist/domains/comet-classic/classic-intent-entry.js +4 -0
  286. package/dist/domains/comet-classic/classic-intent-entry.js.map +1 -0
  287. package/dist/domains/comet-classic/classic-intent.d.ts +79 -0
  288. package/dist/domains/comet-classic/classic-intent.d.ts.map +1 -0
  289. package/dist/domains/comet-classic/classic-intent.js +307 -0
  290. package/dist/domains/comet-classic/classic-intent.js.map +1 -0
  291. package/dist/domains/comet-classic/classic-migrate.d.ts +18 -0
  292. package/dist/domains/comet-classic/classic-migrate.d.ts.map +1 -0
  293. package/dist/domains/comet-classic/classic-migrate.js +184 -0
  294. package/dist/domains/comet-classic/classic-migrate.js.map +1 -0
  295. package/dist/domains/comet-classic/classic-paths.d.ts +8 -0
  296. package/dist/domains/comet-classic/classic-paths.d.ts.map +1 -0
  297. package/dist/domains/comet-classic/classic-paths.js +61 -0
  298. package/dist/domains/comet-classic/classic-paths.js.map +1 -0
  299. package/dist/domains/comet-classic/classic-resolver.d.ts +10 -0
  300. package/dist/domains/comet-classic/classic-resolver.d.ts.map +1 -0
  301. package/dist/domains/comet-classic/classic-resolver.js +89 -0
  302. package/dist/domains/comet-classic/classic-resolver.js.map +1 -0
  303. package/dist/domains/comet-classic/classic-runtime-evals.d.ts +9 -0
  304. package/dist/domains/comet-classic/classic-runtime-evals.d.ts.map +1 -0
  305. package/dist/domains/comet-classic/classic-runtime-evals.js +45 -0
  306. package/dist/domains/comet-classic/classic-runtime-evals.js.map +1 -0
  307. package/dist/domains/comet-classic/classic-runtime-run.d.ts +7 -0
  308. package/dist/domains/comet-classic/classic-runtime-run.d.ts.map +1 -0
  309. package/dist/domains/comet-classic/classic-runtime-run.js +105 -0
  310. package/dist/domains/comet-classic/classic-runtime-run.js.map +1 -0
  311. package/dist/domains/comet-classic/classic-script-entry.d.ts +3 -0
  312. package/dist/domains/comet-classic/classic-script-entry.d.ts.map +1 -0
  313. package/dist/domains/comet-classic/classic-script-entry.js +31 -0
  314. package/dist/domains/comet-classic/classic-script-entry.js.map +1 -0
  315. package/dist/domains/comet-classic/classic-state-command.d.ts +3 -0
  316. package/dist/domains/comet-classic/classic-state-command.d.ts.map +1 -0
  317. package/dist/domains/comet-classic/classic-state-command.js +984 -0
  318. package/dist/domains/comet-classic/classic-state-command.js.map +1 -0
  319. package/dist/domains/comet-classic/classic-state-entry.d.ts +2 -0
  320. package/dist/domains/comet-classic/classic-state-entry.d.ts.map +1 -0
  321. package/dist/domains/comet-classic/classic-state-entry.js +4 -0
  322. package/dist/domains/comet-classic/classic-state-entry.js.map +1 -0
  323. package/dist/domains/comet-classic/classic-state-events.d.ts +18 -0
  324. package/dist/domains/comet-classic/classic-state-events.d.ts.map +1 -0
  325. package/dist/domains/comet-classic/classic-state-events.js +15 -0
  326. package/dist/domains/comet-classic/classic-state-events.js.map +1 -0
  327. package/dist/domains/comet-classic/classic-state.d.ts +69 -0
  328. package/dist/domains/comet-classic/classic-state.d.ts.map +1 -0
  329. package/dist/domains/comet-classic/classic-state.js +238 -0
  330. package/dist/domains/comet-classic/classic-state.js.map +1 -0
  331. package/dist/domains/comet-classic/classic-store.d.ts +7 -0
  332. package/dist/domains/comet-classic/classic-store.d.ts.map +1 -0
  333. package/dist/domains/comet-classic/classic-store.js +127 -0
  334. package/dist/domains/comet-classic/classic-store.js.map +1 -0
  335. package/dist/domains/comet-classic/classic-transitions.d.ts +24 -0
  336. package/dist/domains/comet-classic/classic-transitions.d.ts.map +1 -0
  337. package/dist/domains/comet-classic/classic-transitions.js +124 -0
  338. package/dist/domains/comet-classic/classic-transitions.js.map +1 -0
  339. package/dist/domains/comet-classic/classic-validate-command.d.ts +3 -0
  340. package/dist/domains/comet-classic/classic-validate-command.d.ts.map +1 -0
  341. package/dist/domains/comet-classic/classic-validate-command.js +154 -0
  342. package/dist/domains/comet-classic/classic-validate-command.js.map +1 -0
  343. package/dist/domains/comet-classic/classic-validate-entry.d.ts +2 -0
  344. package/dist/domains/comet-classic/classic-validate-entry.d.ts.map +1 -0
  345. package/dist/domains/comet-classic/classic-validate-entry.js +4 -0
  346. package/dist/domains/comet-classic/classic-validate-entry.js.map +1 -0
  347. package/dist/domains/comet-classic/index.d.ts +20 -0
  348. package/dist/domains/comet-classic/index.d.ts.map +1 -0
  349. package/dist/domains/comet-classic/index.js +20 -0
  350. package/dist/domains/comet-classic/index.js.map +1 -0
  351. package/dist/domains/dashboard/collector.d.ts +12 -0
  352. package/dist/domains/dashboard/collector.d.ts.map +1 -0
  353. package/dist/domains/dashboard/collector.js +475 -0
  354. package/dist/domains/dashboard/collector.js.map +1 -0
  355. package/dist/domains/dashboard/git.d.ts +8 -0
  356. package/dist/domains/dashboard/git.d.ts.map +1 -0
  357. package/dist/domains/dashboard/git.js +69 -0
  358. package/dist/domains/dashboard/git.js.map +1 -0
  359. package/dist/domains/dashboard/next-action.d.ts +17 -0
  360. package/dist/domains/dashboard/next-action.d.ts.map +1 -0
  361. package/dist/domains/dashboard/next-action.js +83 -0
  362. package/dist/domains/dashboard/next-action.js.map +1 -0
  363. package/dist/domains/dashboard/open-browser.d.ts +9 -0
  364. package/dist/domains/dashboard/open-browser.d.ts.map +1 -0
  365. package/dist/domains/dashboard/open-browser.js +40 -0
  366. package/dist/domains/dashboard/open-browser.js.map +1 -0
  367. package/dist/domains/dashboard/risk.d.ts +24 -0
  368. package/dist/domains/dashboard/risk.d.ts.map +1 -0
  369. package/dist/domains/dashboard/risk.js +97 -0
  370. package/dist/domains/dashboard/risk.js.map +1 -0
  371. package/dist/domains/dashboard/server.d.ts +21 -0
  372. package/dist/domains/dashboard/server.d.ts.map +1 -0
  373. package/dist/domains/dashboard/server.js +149 -0
  374. package/dist/domains/dashboard/server.js.map +1 -0
  375. package/dist/domains/dashboard/task-parser.d.ts +13 -0
  376. package/dist/domains/dashboard/task-parser.d.ts.map +1 -0
  377. package/dist/domains/dashboard/task-parser.js +82 -0
  378. package/dist/domains/dashboard/task-parser.js.map +1 -0
  379. package/dist/domains/dashboard/types.d.ts +122 -0
  380. package/dist/domains/dashboard/types.d.ts.map +1 -0
  381. package/dist/domains/dashboard/types.js +10 -0
  382. package/dist/domains/dashboard/types.js.map +1 -0
  383. package/dist/domains/dashboard/verify-parser.d.ts +18 -0
  384. package/dist/domains/dashboard/verify-parser.d.ts.map +1 -0
  385. package/dist/domains/dashboard/verify-parser.js +94 -0
  386. package/dist/domains/dashboard/verify-parser.js.map +1 -0
  387. package/dist/domains/dashboard/web/assets/demo-DQyfozbi.js +1 -0
  388. package/dist/domains/dashboard/web/assets/index-BcO3_QlT.css +1 -0
  389. package/dist/domains/dashboard/web/assets/index-CjU3VXVu.js +22 -0
  390. package/dist/domains/dashboard/web/favicon.png +0 -0
  391. package/dist/domains/dashboard/web/index.html +16 -0
  392. package/dist/domains/dashboard/yaml.d.ts +13 -0
  393. package/dist/domains/dashboard/yaml.d.ts.map +1 -0
  394. package/dist/domains/dashboard/yaml.js +61 -0
  395. package/dist/domains/dashboard/yaml.js.map +1 -0
  396. package/dist/domains/engine/evals.d.ts +4 -0
  397. package/dist/domains/engine/evals.d.ts.map +1 -0
  398. package/dist/domains/engine/evals.js +25 -0
  399. package/dist/domains/engine/evals.js.map +1 -0
  400. package/dist/domains/engine/guardrails.d.ts +10 -0
  401. package/dist/domains/engine/guardrails.d.ts.map +1 -0
  402. package/dist/domains/engine/guardrails.js +25 -0
  403. package/dist/domains/engine/guardrails.js.map +1 -0
  404. package/dist/domains/engine/loop.d.ts +15 -0
  405. package/dist/domains/engine/loop.d.ts.map +1 -0
  406. package/dist/domains/engine/loop.js +126 -0
  407. package/dist/domains/engine/loop.js.map +1 -0
  408. package/dist/domains/engine/manual-run.d.ts +30 -0
  409. package/dist/domains/engine/manual-run.d.ts.map +1 -0
  410. package/dist/domains/engine/manual-run.js +184 -0
  411. package/dist/domains/engine/manual-run.js.map +1 -0
  412. package/dist/domains/engine/resolver.d.ts +20 -0
  413. package/dist/domains/engine/resolver.d.ts.map +1 -0
  414. package/dist/domains/engine/resolver.js +36 -0
  415. package/dist/domains/engine/resolver.js.map +1 -0
  416. package/dist/domains/engine/run-store.d.ts +13 -0
  417. package/dist/domains/engine/run-store.d.ts.map +1 -0
  418. package/dist/domains/engine/run-store.js +100 -0
  419. package/dist/domains/engine/run-store.js.map +1 -0
  420. package/dist/domains/engine/runtime-types.d.ts +11 -0
  421. package/dist/domains/engine/runtime-types.d.ts.map +1 -0
  422. package/dist/domains/engine/runtime-types.js +2 -0
  423. package/dist/domains/engine/runtime-types.js.map +1 -0
  424. package/dist/domains/engine/standalone-run.d.ts +13 -0
  425. package/dist/domains/engine/standalone-run.d.ts.map +1 -0
  426. package/dist/domains/engine/standalone-run.js +27 -0
  427. package/dist/domains/engine/standalone-run.js.map +1 -0
  428. package/dist/domains/engine/state.d.ts +10 -0
  429. package/dist/domains/engine/state.d.ts.map +1 -0
  430. package/dist/domains/engine/state.js +160 -0
  431. package/dist/domains/engine/state.js.map +1 -0
  432. package/dist/domains/engine/types.d.ts +51 -0
  433. package/dist/domains/engine/types.d.ts.map +1 -0
  434. package/dist/domains/engine/types.js +2 -0
  435. package/dist/domains/engine/types.js.map +1 -0
  436. package/dist/domains/eval/index.d.ts +7 -0
  437. package/dist/domains/eval/index.d.ts.map +1 -0
  438. package/dist/domains/eval/index.js +11 -0
  439. package/dist/domains/eval/index.js.map +1 -0
  440. package/dist/domains/eval/repository-benchmarks.d.ts +6 -0
  441. package/dist/domains/eval/repository-benchmarks.d.ts.map +1 -0
  442. package/dist/domains/eval/repository-benchmarks.js +10 -0
  443. package/dist/domains/eval/repository-benchmarks.js.map +1 -0
  444. package/dist/domains/factory/artifacts.d.ts +53 -0
  445. package/dist/domains/factory/artifacts.d.ts.map +1 -0
  446. package/dist/domains/factory/artifacts.js +8 -0
  447. package/dist/domains/factory/artifacts.js.map +1 -0
  448. package/dist/domains/factory/package.d.ts +7 -0
  449. package/dist/domains/factory/package.d.ts.map +1 -0
  450. package/dist/domains/factory/package.js +1511 -0
  451. package/dist/domains/factory/package.js.map +1 -0
  452. package/dist/domains/factory/types.d.ts +127 -0
  453. package/dist/domains/factory/types.d.ts.map +1 -0
  454. package/dist/domains/factory/types.js +2 -0
  455. package/dist/domains/factory/types.js.map +1 -0
  456. package/dist/{core → domains/integrations}/codegraph.d.ts +1 -1
  457. package/dist/domains/integrations/codegraph.d.ts.map +1 -0
  458. package/dist/{core → domains/integrations}/codegraph.js +1 -1
  459. package/dist/domains/integrations/codegraph.js.map +1 -0
  460. package/dist/domains/integrations/openspec.d.ts +18 -0
  461. package/dist/domains/integrations/openspec.d.ts.map +1 -0
  462. package/dist/{core → domains/integrations}/openspec.js +102 -25
  463. package/dist/domains/integrations/openspec.js.map +1 -0
  464. package/dist/{core → domains/integrations}/superpowers.d.ts +10 -2
  465. package/dist/domains/integrations/superpowers.d.ts.map +1 -0
  466. package/dist/{core → domains/integrations}/superpowers.js +59 -13
  467. package/dist/domains/integrations/superpowers.js.map +1 -0
  468. package/dist/domains/skill/discovery.d.ts +17 -0
  469. package/dist/domains/skill/discovery.d.ts.map +1 -0
  470. package/dist/domains/skill/discovery.js +80 -0
  471. package/dist/domains/skill/discovery.js.map +1 -0
  472. package/dist/domains/skill/find.d.ts +41 -0
  473. package/dist/domains/skill/find.d.ts.map +1 -0
  474. package/dist/domains/skill/find.js +251 -0
  475. package/dist/domains/skill/find.js.map +1 -0
  476. package/dist/domains/skill/install.d.ts +11 -0
  477. package/dist/domains/skill/install.d.ts.map +1 -0
  478. package/dist/domains/skill/install.js +82 -0
  479. package/dist/domains/skill/install.js.map +1 -0
  480. package/dist/domains/skill/inventory.d.ts +19 -0
  481. package/dist/domains/skill/inventory.d.ts.map +1 -0
  482. package/dist/domains/skill/inventory.js +64 -0
  483. package/dist/domains/skill/inventory.js.map +1 -0
  484. package/dist/domains/skill/languages.d.ts +19 -0
  485. package/dist/domains/skill/languages.d.ts.map +1 -0
  486. package/dist/domains/skill/languages.js +21 -0
  487. package/dist/domains/skill/languages.js.map +1 -0
  488. package/dist/domains/skill/load.d.ts +5 -0
  489. package/dist/domains/skill/load.d.ts.map +1 -0
  490. package/dist/domains/skill/load.js +313 -0
  491. package/dist/domains/skill/load.js.map +1 -0
  492. package/dist/domains/skill/platform-install.d.ts +79 -0
  493. package/dist/domains/skill/platform-install.d.ts.map +1 -0
  494. package/dist/{core/skills.js → domains/skill/platform-install.js} +311 -54
  495. package/dist/domains/skill/platform-install.js.map +1 -0
  496. package/dist/domains/skill/preferences.d.ts +42 -0
  497. package/dist/domains/skill/preferences.d.ts.map +1 -0
  498. package/dist/domains/skill/preferences.js +118 -0
  499. package/dist/domains/skill/preferences.js.map +1 -0
  500. package/dist/domains/skill/snapshot.d.ts +8 -0
  501. package/dist/domains/skill/snapshot.d.ts.map +1 -0
  502. package/dist/domains/skill/snapshot.js +184 -0
  503. package/dist/domains/skill/snapshot.js.map +1 -0
  504. package/dist/domains/skill/types.d.ts +85 -0
  505. package/dist/domains/skill/types.d.ts.map +1 -0
  506. package/dist/domains/skill/types.js +2 -0
  507. package/dist/{core → domains/skill}/types.js.map +1 -1
  508. package/dist/{core → domains/skill}/uninstall.d.ts +2 -18
  509. package/dist/domains/skill/uninstall.d.ts.map +1 -0
  510. package/dist/{core → domains/skill}/uninstall.js +15 -66
  511. package/dist/domains/skill/uninstall.js.map +1 -0
  512. package/dist/domains/skill/validate.d.ts +3 -0
  513. package/dist/domains/skill/validate.d.ts.map +1 -0
  514. package/dist/domains/skill/validate.js +81 -0
  515. package/dist/domains/skill/validate.js.map +1 -0
  516. package/dist/domains/workflow-contract/builtins.d.ts +8 -0
  517. package/dist/domains/workflow-contract/builtins.d.ts.map +1 -0
  518. package/dist/domains/workflow-contract/builtins.js +229 -0
  519. package/dist/domains/workflow-contract/builtins.js.map +1 -0
  520. package/dist/domains/workflow-contract/hash.d.ts +3 -0
  521. package/dist/domains/workflow-contract/hash.d.ts.map +1 -0
  522. package/dist/domains/workflow-contract/hash.js +16 -0
  523. package/dist/domains/workflow-contract/hash.js.map +1 -0
  524. package/dist/domains/workflow-contract/index.d.ts +6 -0
  525. package/dist/domains/workflow-contract/index.d.ts.map +1 -0
  526. package/dist/domains/workflow-contract/index.js +5 -0
  527. package/dist/domains/workflow-contract/index.js.map +1 -0
  528. package/dist/domains/workflow-contract/normalize.d.ts +3 -0
  529. package/dist/domains/workflow-contract/normalize.d.ts.map +1 -0
  530. package/dist/domains/workflow-contract/normalize.js +146 -0
  531. package/dist/domains/workflow-contract/normalize.js.map +1 -0
  532. package/dist/domains/workflow-contract/types.d.ts +128 -0
  533. package/dist/domains/workflow-contract/types.d.ts.map +1 -0
  534. package/dist/domains/workflow-contract/types.js +2 -0
  535. package/dist/domains/workflow-contract/types.js.map +1 -0
  536. package/dist/domains/workflow-contract/validation.d.ts +3 -0
  537. package/dist/domains/workflow-contract/validation.d.ts.map +1 -0
  538. package/dist/domains/workflow-contract/validation.js +180 -0
  539. package/dist/domains/workflow-contract/validation.js.map +1 -0
  540. package/dist/platform/fs/file-system.d.ts.map +1 -0
  541. package/dist/platform/fs/file-system.js.map +1 -0
  542. package/dist/platform/install/detect.d.ts.map +1 -0
  543. package/dist/{core → platform/install}/detect.js +4 -3
  544. package/dist/platform/install/detect.js.map +1 -0
  545. package/dist/platform/install/platforms.d.ts.map +1 -0
  546. package/dist/{core → platform/install}/platforms.js +41 -0
  547. package/dist/platform/install/platforms.js.map +1 -0
  548. package/dist/platform/install/types.d.ts +3 -0
  549. package/dist/platform/install/types.d.ts.map +1 -0
  550. package/dist/platform/install/types.js +2 -0
  551. package/dist/platform/install/types.js.map +1 -0
  552. package/dist/platform/paths/repository-layout.d.ts +22 -0
  553. package/dist/platform/paths/repository-layout.d.ts.map +1 -0
  554. package/dist/platform/paths/repository-layout.js +11 -0
  555. package/dist/platform/paths/repository-layout.js.map +1 -0
  556. package/dist/platform/process/command-error.d.ts.map +1 -0
  557. package/dist/platform/process/command-error.js.map +1 -0
  558. package/dist/platform/process/shell-quote.d.ts +22 -0
  559. package/dist/platform/process/shell-quote.d.ts.map +1 -0
  560. package/dist/platform/process/shell-quote.js +34 -0
  561. package/dist/platform/process/shell-quote.js.map +1 -0
  562. package/dist/platform/version/version.d.ts.map +1 -0
  563. package/dist/{core → platform/version}/version.js +16 -3
  564. package/dist/platform/version/version.js.map +1 -0
  565. package/package.json +41 -15
  566. package/assets/skills/comet/scripts/comet-archive.sh +0 -311
  567. package/assets/skills/comet/scripts/comet-env.sh +0 -110
  568. package/assets/skills/comet/scripts/comet-guard.sh +0 -778
  569. package/assets/skills/comet/scripts/comet-handoff.sh +0 -390
  570. package/assets/skills/comet/scripts/comet-hook-guard.sh +0 -336
  571. package/assets/skills/comet/scripts/comet-state.sh +0 -1338
  572. package/assets/skills/comet/scripts/comet-yaml-validate.sh +0 -225
  573. package/dist/cli/index.js +0 -84
  574. package/dist/cli/index.js.map +0 -1
  575. package/dist/commands/doctor.d.ts.map +0 -1
  576. package/dist/commands/doctor.js.map +0 -1
  577. package/dist/commands/i18n.d.ts +0 -4
  578. package/dist/commands/i18n.d.ts.map +0 -1
  579. package/dist/commands/i18n.js.map +0 -1
  580. package/dist/commands/init.d.ts.map +0 -1
  581. package/dist/commands/init.js.map +0 -1
  582. package/dist/commands/status.d.ts.map +0 -1
  583. package/dist/commands/status.js +0 -108
  584. package/dist/commands/status.js.map +0 -1
  585. package/dist/commands/uninstall.d.ts.map +0 -1
  586. package/dist/commands/uninstall.js.map +0 -1
  587. package/dist/commands/update.d.ts.map +0 -1
  588. package/dist/commands/update.js.map +0 -1
  589. package/dist/core/codegraph.d.ts.map +0 -1
  590. package/dist/core/codegraph.js.map +0 -1
  591. package/dist/core/command-error.d.ts.map +0 -1
  592. package/dist/core/command-error.js.map +0 -1
  593. package/dist/core/detect.d.ts.map +0 -1
  594. package/dist/core/detect.js.map +0 -1
  595. package/dist/core/openspec.d.ts +0 -11
  596. package/dist/core/openspec.d.ts.map +0 -1
  597. package/dist/core/openspec.js.map +0 -1
  598. package/dist/core/platforms.d.ts.map +0 -1
  599. package/dist/core/platforms.js.map +0 -1
  600. package/dist/core/skills.d.ts +0 -58
  601. package/dist/core/skills.d.ts.map +0 -1
  602. package/dist/core/skills.js.map +0 -1
  603. package/dist/core/superpowers.d.ts.map +0 -1
  604. package/dist/core/superpowers.js.map +0 -1
  605. package/dist/core/types.d.ts +0 -2
  606. package/dist/core/types.d.ts.map +0 -1
  607. package/dist/core/uninstall.d.ts.map +0 -1
  608. package/dist/core/uninstall.js.map +0 -1
  609. package/dist/core/version.d.ts.map +0 -1
  610. package/dist/core/version.js.map +0 -1
  611. package/dist/utils/file-system.d.ts.map +0 -1
  612. package/dist/utils/file-system.js.map +0 -1
  613. /package/dist/{cli → app/cli}/index.d.ts +0 -0
  614. /package/dist/{commands → app/commands}/status.d.ts +0 -0
  615. /package/dist/{core → domains/bundle}/types.js +0 -0
  616. /package/dist/{utils → platform/fs}/file-system.d.ts +0 -0
  617. /package/dist/{utils → platform/fs}/file-system.js +0 -0
  618. /package/dist/{core → platform/install}/detect.d.ts +0 -0
  619. /package/dist/{core → platform/install}/platforms.d.ts +0 -0
  620. /package/dist/{core → platform/process}/command-error.d.ts +0 -0
  621. /package/dist/{core → platform/process}/command-error.js +0 -0
  622. /package/dist/{core → platform/version}/version.d.ts +0 -0
  623. /package/scripts/{postinstall.js → install/postinstall.js} +0 -0
@@ -0,0 +1,100 @@
1
+ # Workflow Entry Author Subagent
2
+
3
+ This file is a portable lane brief, not a platform-native custom agent. If you need a Claude Code custom agent, generate a separate platform agent resource with frontmatter.
4
+
5
+ ## Responsibilities
6
+
7
+ Write the generated Skill's entry `SKILL.md`. The entry owns the entry point, recovery, main router explanation, and user pause points; it must not turn the Node route table into an execution checklist that immediately triggers multiple Skills.
8
+
9
+ Must cover:
10
+
11
+ - entry Skill
12
+ - Entry guidance for workflow-state / workflow-guard / workflow-handoff
13
+ - `workflow-entry` claim
14
+
15
+ ## Authored Zone (what you write)
16
+
17
+ The generator composes the entry SKILL.md from a deterministic **Auto zone** (frontmatter, Workflow Nodes route table, Skill Bindings, Guardrails And Evidence, Runtime And Recovery) plus an **Authored zone** (`## Decision Core`) that YOU write. You do NOT write the whole file — only the Decision Core body. The main session records your output via `comet creator authoring-record <name> --lane workflow-entry --file <out.json>`; the artifact `content` for `SKILL.md` is the Decision Core body.
18
+
19
+ Quality bar: the `comet/SKILL.md` Decision Core (see `reference/authored-zone-example.md` for a full entry Decision Core example at the expected level). Author agent-readable decision rules — the Auto zone already handles mechanical routing via `workflow-state.mjs next`, so focus on judgment:
20
+
21
+ - **Semantic current-Node detection** — how to determine which Node the user is in, beyond just running the script. Model comet's Step 0 (detect intent from user message, check Node order, handle "belongs to earlier/later Node" conflicts) + Step 1 (read state, trust files over stale state).
22
+ - **Resume and drift rules** — what to do when context resumes (re-detect from scratch, never trust conversation history), when state says DONE but artifacts are missing, when the user's topic shifts mid-Node.
23
+ - **Decision points** — explicit table of situations that MUST pause for user confirmation (first invocation scope, ambiguous Node, user approval required, guard failure).
24
+ - **Red flags** — the "agent thought → actual risk" pattern that catches self-deception (e.g., "user mentioned the topic so research is confirmed" → mentioning ≠ confirming).
25
+
26
+ A Decision Core without these four sections is a stub, not a Decision Core. The entry is the most-loaded file — it is what makes the Skill feel intelligent or mechanical.
27
+
28
+ The Node route table in the Auto zone is reference only — do not duplicate it as an execution checklist, and do not issue multiple immediate Skill loads.
29
+
30
+ ## Inputs
31
+
32
+ Read the common input from the main session, especially:
33
+
34
+ - The user-confirmed goal, language, and Node labels.
35
+ - Node order, Required Skill Calls, and recovery paths from
36
+ `reference/workflow-protocol.json`.
37
+ - The script author's `status`, `init`, `next`, `NEXT:`, `SKILL:`, and guard contracts.
38
+ - The open / design / build / verify / archive boundary that must be preserved when users customize existing Comet Skills.
39
+
40
+ Use file handoff: the main session provides paths instead of pasting large bodies of text. Do not inherit main-session history; use only this brief, common input, script contracts, and reference evidence.
41
+
42
+ ## Dispatch Template
43
+
44
+ Use the current platform's subagent mechanism. The shape should include:
45
+
46
+ ```text
47
+ description: "Write the workflow entry for <bundle-name>"
48
+ model: <must explicitly specify model>
49
+ prompt:
50
+ You are the workflow entry author subagent.
51
+ First read this brief, the common input path, script contract path, workflow protocol path, and report file path.
52
+ Start by asking questions: if startup routing, recovery paths, current-Node detection, or user pause points are unclear, return NEEDS_CONTEXT.
53
+ Do not guess or fill in missing flow details.
54
+ Only write the entry SKILL.md draft; do not write internal Node Skills, Bundle state, or execute candidate scripts.
55
+ The Decision Core MUST include four subsections: ### Automatic Node Detection (Step 0 intent detection + Step 1 state read + resume rules), ### Decision Points (explicit pause table), ### Red Flags (agent thought → actual risk table). A Decision Core without these is a stub.
56
+ Write the full entry draft to the report file path and return only a status summary of 15 lines or fewer.
57
+ ```
58
+
59
+ ## Output Requirements
60
+
61
+ The entry draft must show:
62
+
63
+ - On entry, first read workflow state instead of directly loading a Node Skill.
64
+ - If not started, initialize state before querying `next`.
65
+ - Only after scripts output `NEXT: auto` and `SKILL: <node-skill>` should the agent load that single Node Skill.
66
+ - The Node route table is reference only; it must not use "immediately execute" or "must load" execution directives.
67
+ - When users customize existing Comet Skills, the entry must list Required Skill Calls as Node-local obligations,
68
+ not as an immediate execution checklist.
69
+ - User pause points, recovery paths, and reference files are visible.
70
+ - When users customize existing Comet Skills, preserve the open / design / build / verify / archive main path and Guardrails.
71
+
72
+ Forbidden:
73
+
74
+ - Multiple `**Immediate:**` or `**Execute now:**` generated Node Skill loads in entry `SKILL.md`.
75
+ - Copying full source Skill bodies.
76
+ - Provider prefixes.
77
+ - Leaking audit reports, source hashes, or internal metadata into user-visible `SKILL.md`.
78
+
79
+ ## Self-Check
80
+
81
+ Before returning, check:
82
+
83
+ - The Decision Core has all four required subsections: Automatic Node Detection, Decision Points, Red Flags, and either Error Handling or Resume Rules.
84
+ - The entry has exactly one main router startup protocol.
85
+ - The entry has no immediate-load checklist for Node Skills.
86
+ - The Node route is reference, not execution steps.
87
+ - Automatic advancement references script outputs `NEXT:` and `SKILL:`.
88
+ - User-visible English prose is consistent and does not mix in Chinese process sentences.
89
+
90
+ ## Required Claim
91
+
92
+ - `workflow-entry`
93
+
94
+ Missing this claim must block Skill review.
95
+
96
+ ## Status Return
97
+
98
+ Status must be one of `DONE`, `DONE_WITH_CONCERNS`, `NEEDS_CONTEXT`, or `BLOCKED`.
99
+
100
+ Write the full report to the report file path. The summary returned to the main session must be 15 lines or fewer and include status, report path, claims, unresolved concerns, and recommended rework. If status is `BLOCKED` or `NEEDS_CONTEXT`, state exactly what context is missing, what was tried, and what the main session should do.
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: comet-archive
3
- description: "Comet Phase 5: Archive. Invoke with /comet-archive. Merge delta specs into main specs with OpenSpec semantics, archive change."
3
+ description: "Use when a Comet change has passed verification and needs archive confirmation, delta spec merge, or archive-phase recovery."
4
4
  ---
5
5
 
6
6
  # Comet Phase 5: Archive (Archive)
@@ -15,27 +15,21 @@ description: "Comet Phase 5: Archive. Invoke with /comet-archive. Merge delta sp
15
15
 
16
16
  ### 0. Output Language Constraint
17
17
 
18
- Archive summaries and lifecycle closure notes must use the language of the user request that triggered this workflow.
18
+ Archive summaries and lifecycle closure notes must use the configured Comet artifact language from `"$COMET_BASH" "$COMET_STATE" get <name> language`.
19
19
 
20
20
  ### 0. Entry State Verification (Entry Check)
21
21
 
22
- Execute entry verification:
22
+ Locate scripts via `comet/reference/scripts.md`, then run entry verification. When resuming from any entry point, first run the recovery check in `comet/reference/context-recovery.md`:
23
23
 
24
24
  ```bash
25
- COMET_ENV="${COMET_ENV:-$(find . "$HOME"/.*/skills "$HOME/.config" "$HOME/.gemini" -path '*/comet/scripts/comet-env.sh' -type f -print -quit 2>/dev/null)}"
26
- if [ -z "$COMET_ENV" ]; then
27
- echo "ERROR: comet-env.sh not found. Ensure the comet skill is installed." >&2
28
- return 1
29
- fi
30
- . "$COMET_ENV"
31
- "$COMET_BASH" "$COMET_STATE" check <name> archive
25
+ node "$COMET_STATE" check <name> archive
32
26
  ```
33
27
 
34
28
  Proceed to Step 1 after verification passes. The script outputs specific failure reasons when verification fails.
35
29
 
36
30
  ### 1. Final Archive Confirmation (Blocking Point)
37
31
 
38
- After entry verification passes, **must follow the `comet/reference/decision-point.md` protocol to pause and wait for the user to confirm whether to archive immediately**. Must not run `"$COMET_BASH" "$COMET_ARCHIVE" "<change-name>"` before user confirmation.
32
+ After entry verification passes, **must follow the `comet/reference/decision-point.md` protocol to pause and wait for the user to confirm whether to archive immediately**. Must not run `node "$COMET_ARCHIVE" "<change-name>"` before user confirmation.
39
33
 
40
34
  Before confirmation, show the user a brief summary:
41
35
  - Change name
@@ -45,7 +39,7 @@ Before confirmation, show the user a brief summary:
45
39
 
46
40
  The user confirmation question must be presented as a single-select question with these options:
47
41
  - "Confirm archive" — immediately run the archive script to complete spec merge and change movement
48
- - "Needs adjustment or re-verification" — do not archive; run `"$COMET_BASH" "$COMET_STATE" transition <change-name> archive-reopen` to return to `phase: verify`, then invoke `/comet-verify`. If verification confirms fixes are needed, follow `/comet-verify`'s verification-failure decision flow back to `/comet-build`
42
+ - "Needs adjustment or re-verification" — do not archive; run `node "$COMET_STATE" transition <change-name> archive-reopen` to return to `phase: verify`, then invoke `/comet-verify`. If verification confirms fixes are needed, follow `/comet-verify`'s verification-failure decision flow back to `/comet-build`
49
43
  - "Do not archive yet" — do not archive; keep the current `phase: archive` state and wait for the user to invoke `/comet-archive` again later
50
44
 
51
45
  Only after the user selects "Confirm archive" may Step 2 continue. After the user selects "Needs adjustment or re-verification", must first run the `archive-reopen` state transition; do not edit `.comet.yaml` manually.
@@ -55,7 +49,7 @@ Only after the user selects "Confirm archive" may Step 2 continue. After the use
55
49
  Run the archive script to automatically complete all steps:
56
50
 
57
51
  ```bash
58
- "$COMET_BASH" "$COMET_ARCHIVE" "<change-name>"
52
+ node "$COMET_ARCHIVE" "<change-name>"
59
53
  ```
60
54
 
61
55
  The script automatically executes:
@@ -64,7 +58,7 @@ The script automatically executes:
64
58
  3. Plan frontmatter annotation (archived-with)
65
59
  4. OpenSpec archive for delta-merge semantics and moving the change to the archive directory
66
60
  5. Main spec guard against leaked delta-only section headings
67
- 6. Update `archived: true` through `comet-state transition <archive-name> archived`
61
+ 6. Update archived state in the actual OpenSpec archive directory and reconcile pending recovery metadata
68
62
 
69
63
  If script returns non-zero exit code, report error and stop.
70
64
  If script returns zero exit code, archive is complete.
@@ -81,6 +75,22 @@ Spec lifecycle completes here:
81
75
  brainstorming → delta spec → implementation → verification → main spec merge → design doc annotation → archive
82
76
  ```
83
77
 
78
+ ### 4. Commit the Archive Changes
79
+
80
+ The archive script only moves files and merges the spec; it does not commit. After archiving, the worktree holds these uncommitted changes:
81
+ - The change directory moved from `openspec/changes/<name>/` to `openspec/changes/archive/YYYY-MM-DD-<name>/`
82
+ - The main spec content merged via delta semantics
83
+ - Archive metadata annotations on the design doc / plan
84
+
85
+ **You must prompt the user to commit these archive changes**, otherwise the archived result stays in the worktree. After showing the pending files, suggest:
86
+
87
+ ```bash
88
+ git add -A
89
+ git commit -m "chore: archive <change-name>"
90
+ ```
91
+
92
+ If branch handling (phase 4) chose not to merge into the main branch yet, finish up via the selected option (merge / PR / keep branch) together with this commit.
93
+
84
94
  ## Exit Conditions
85
95
 
86
96
  - Archive script executed successfully (exit code 0)
@@ -89,7 +99,7 @@ brainstorming → delta spec → implementation → verification → main spec m
89
99
 
90
100
  The archive script moves `openspec/changes/<name>/` to `openspec/changes/archive/YYYY-MM-DD-<name>/`.
91
101
 
92
- > **WARNING**: After successful archive, **do not run** `"$COMET_BASH" "$COMET_GUARD" <change-name> archive` against the old active change name; the active directory no longer exists. Doing so will cause the guard to error with "change directory not found". Archive completeness is determined by script exit code and archived directory state.
102
+ > **WARNING**: After successful archive, **do not run** `node "$COMET_GUARD" <change-name> archive` against the old active change name; the active directory no longer exists. Doing so will cause the guard to error with "change directory not found". Archive completeness is determined by script exit code and archived directory state.
93
103
 
94
104
  ## Complete
95
105
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: comet-build
3
- description: "Comet Phase 3: Plan and Build. Invoke with /comet-build. Create plans and select execution method (subagent or direct) for implementation."
3
+ description: "Use when a full Comet change has completed design and needs an implementation plan, execution-mode selection, or resumed build tasks."
4
4
  ---
5
5
 
6
6
  # Comet Phase 3: Plan and Build (Build)
@@ -14,16 +14,10 @@ description: "Comet Phase 3: Plan and Build. Invoke with /comet-build. Create pl
14
14
 
15
15
  ### 0. Entry State Verification (Entry Check)
16
16
 
17
- Execute entry verification:
17
+ Locate scripts via `comet/reference/scripts.md`, then run entry verification. When resuming from any entry point, first run the recovery check in `comet/reference/context-recovery.md`:
18
18
 
19
19
  ```bash
20
- COMET_ENV="${COMET_ENV:-$(find . "$HOME"/.*/skills "$HOME/.config" "$HOME/.gemini" -path '*/comet/scripts/comet-env.sh' -type f -print -quit 2>/dev/null)}"
21
- if [ -z "$COMET_ENV" ]; then
22
- echo "ERROR: comet-env.sh not found. Ensure the comet skill is installed." >&2
23
- return 1
24
- fi
25
- . "$COMET_ENV"
26
- "$COMET_BASH" "$COMET_STATE" check <name> build
20
+ node "$COMET_STATE" check <name> build
27
21
  ```
28
22
 
29
23
  Proceed to Step 1 after verification passes. The script outputs specific failure reasons when verification fails.
@@ -32,13 +26,13 @@ Proceed to Step 1 after verification passes. The script outputs specific failure
32
26
 
33
27
  ### 1. Create Plan (Subagent Offload)
34
28
 
35
- Create the implementation plan through a subagent, avoiding planning skill occupying main session context. Plan files and execution feedback must use the language of the user request that triggered this workflow.
29
+ Create the implementation plan through a subagent, avoiding planning skill occupying main session context. Plan files and execution feedback must use the configured Comet artifact language from `"$COMET_BASH" "$COMET_STATE" get <name> language`.
36
30
 
37
31
  **Subagent instructions**:
38
32
 
39
33
  You are an implementation planning expert. Create an implementation plan based on the following inputs:
40
34
 
41
- 1. **Immediately execute:** Use the Skill tool to load the Superpowers `writing-plans` skill. Skipping this step is prohibited. After the skill loads, ARGUMENTS must include: `Language: Use the language of the user request that triggered this workflow`
35
+ 1. **Immediately execute:** Use the Skill tool to load the Superpowers `writing-plans` skill. Skipping this step is prohibited. After the skill loads, ARGUMENTS must include: `Language: Use the configured Comet artifact language from "$COMET_BASH" "$COMET_STATE" get <name> language`
42
36
  2. Read the Design Doc (technical design document under `docs/superpowers/specs/`)
43
37
  3. Read `openspec/changes/<name>/tasks.md` (task boundaries)
44
38
  4. Follow the skill's guidance to create the plan
@@ -75,7 +69,7 @@ After the subagent completes:
75
69
  Record plan path:
76
70
 
77
71
  ```bash
78
- "$COMET_BASH" "$COMET_STATE" set <name> plan docs/superpowers/plans/YYYY-MM-DD-feature.md
72
+ node "$COMET_STATE" set <name> plan docs/superpowers/plans/YYYY-MM-DD-feature.md
79
73
  ```
80
74
 
81
75
  No manual phase update needed — guard auto-transitions when exit conditions are met.
@@ -84,7 +78,7 @@ After the plan is recorded, immediately provide a new user decision point:
84
78
 
85
79
  | Option | Behavior | Description |
86
80
  |--------|----------|-------------|
87
- | A | Continue execution | Stay in the current model and proceed to Step 3 to choose workspace isolation and execution method |
81
+ | A | Continue execution | Stay in the current model and proceed to Step 3 to choose workspace isolation, execution method, TDD mode, and code review mode |
88
82
  | B | Pause to switch model | Record `build_pause: plan-ready`, stop this `/comet-build` invocation, and allow the user to resume later from `/comet` or `/comet-build` |
89
83
 
90
84
  This is a user decision point. **Must follow the `comet/reference/decision-point.md` protocol to pause and wait for the user to explicitly choose**. Must not auto-continue and must not write the pause into `build_mode`.
@@ -92,13 +86,13 @@ This is a user decision point. **Must follow the `comet/reference/decision-point
92
86
  When the user chooses to continue:
93
87
 
94
88
  ```bash
95
- "$COMET_BASH" "$COMET_STATE" set <name> build_pause null
89
+ node "$COMET_STATE" set <name> build_pause null
96
90
  ```
97
91
 
98
92
  When the user chooses to pause:
99
93
 
100
94
  ```bash
101
- "$COMET_BASH" "$COMET_STATE" set <name> build_pause plan-ready
95
+ node "$COMET_STATE" set <name> build_pause plan-ready
102
96
  ```
103
97
 
104
98
  After setting `build_pause: plan-ready`, stop the current invocation. Do not choose `isolation` or `build_mode`, and do not load an execution skill.
@@ -108,12 +102,12 @@ After setting `build_pause: plan-ready`, stop the current invocation. Do not cho
108
102
  If resuming with `build_pause: plan-ready` and the `plan` file exists, do not rerun `writing-plans`. First tell the user the workflow is stopped at the plan-ready pause point; after the user confirms continuing, set:
109
103
 
110
104
  ```bash
111
- "$COMET_BASH" "$COMET_STATE" set <name> build_pause null
105
+ node "$COMET_STATE" set <name> build_pause null
112
106
  ```
113
107
 
114
- Then continue this step to choose workspace isolation and execution method.
108
+ Then continue this step to choose workspace isolation, execution method, TDD mode, and code review mode.
115
109
 
116
- Plan has been written to the current branch. Before starting execution, **ask the user to choose both workspace isolation and execution method in a single interaction**:
110
+ Plan has been written to the current branch. Before starting execution, **ask the user to choose workspace isolation, execution method, TDD mode, and code review mode in a single interaction**:
117
111
 
118
112
  **Workspace Isolation**:
119
113
 
@@ -130,7 +124,7 @@ Plan has been written to the current branch. Before starting execution, **ask th
130
124
 
131
125
  | Option | Skill | Applicable Scenario |
132
126
  |------|------|-------------------|
133
- | A | Superpowers `subagent-driven-development` | Independent tasks, high complexity, requires two-phase review |
127
+ | A | Superpowers `subagent-driven-development` | Independent tasks, high complexity; each task runs in an isolated implementer subagent with review driven by `review_mode` |
134
128
  | B | Superpowers `executing-plans` | Simple tasks, no subagent environment, lightweight and fast |
135
129
 
136
130
  **Execution method recommendation rules**:
@@ -138,16 +132,16 @@ Plan has been written to the current branch. Before starting execution, **ask th
138
132
  - Task count ≤ 2 and no cross-module dependencies → Recommend B
139
133
  - From hotfix path → Recommend B
140
134
 
141
- This is a user decision point. **Must follow the `comet/reference/decision-point.md` protocol to pause and wait for the user to explicitly choose isolation method, execution method, and TDD mode**. Must not choose `branch` or `worktree` based on recommendation rules, and must not choose the execution method or TDD mode based on recommendation rules. Recommendation rules are for suggestion only, not a substitute for user confirmation.
135
+ This is a user decision point. **Must follow the `comet/reference/decision-point.md` protocol to pause and wait for the user to explicitly choose isolation method, execution method, TDD mode, and code review mode**. Must not choose `branch` or `worktree` based on recommendation rules, and must not choose the execution method, TDD mode, or code review mode based on recommendation rules. Recommendation rules are for suggestion only, not a substitute for user confirmation.
142
136
 
143
- After user selection, update `isolation`, execution method, and TDD mode fields:
137
+ After user selection, update `isolation`, execution method, TDD mode, and code review mode fields:
144
138
 
145
139
  ```bash
146
- "$COMET_BASH" "$COMET_STATE" set <name> isolation <branch|worktree>
140
+ node "$COMET_STATE" set <name> isolation <branch|worktree>
147
141
  ```
148
142
 
149
- - If the user chooses `executing-plans`: run `"$COMET_BASH" "$COMET_STATE" set <name> subagent_dispatch null`, then run `"$COMET_BASH" "$COMET_STATE" set <name> build_mode executing-plans`
150
- - If the user chooses `subagent-driven-development`: first confirm the current platform has real background subagent / Task / multi-agent dispatch capability; after confirming, run `"$COMET_BASH" "$COMET_STATE" set <name> subagent_dispatch confirmed`, then run `"$COMET_BASH" "$COMET_STATE" set <name> build_mode subagent-driven-development`
143
+ - If the user chooses `executing-plans`: run `node "$COMET_STATE" set <name> subagent_dispatch null`, then run `node "$COMET_STATE" set <name> build_mode executing-plans`
144
+ - If the user chooses `subagent-driven-development`: first confirm the current platform has real background subagent / Task / multi-agent dispatch capability; after confirming, run `node "$COMET_STATE" set <name> subagent_dispatch confirmed`, then run `node "$COMET_STATE" set <name> build_mode subagent-driven-development`
151
145
  - If real background dispatch capability cannot be confirmed, must not write `build_mode: subagent-driven-development`; must pause and wait for the user to choose `executing-plans` instead
152
146
 
153
147
  **TDD Mode**:
@@ -157,19 +151,31 @@ After user selection, update `isolation`, execution method, and TDD mode fields:
157
151
  | `tdd` | Write a failing test first for each task, then implement | Recommended. Changes involving business logic, new features, APIs |
158
152
  | `direct` | Implement directly, no enforced TDD flow | Changes that don't need test coverage, or user chooses to skip tests and write code directly. hotfix/tweak presets default to `direct` |
159
153
 
160
- Run `"$COMET_BASH" "$COMET_STATE" set <name> tdd_mode <tdd|direct>`
154
+ Run `node "$COMET_STATE" set <name> tdd_mode <tdd|direct>`
155
+
156
+ **Code Review Mode**:
157
+
158
+ | Option | Meaning | Applicable Scenario |
159
+ |--------|---------|---------------------|
160
+ | `off` | No automatic code review dispatch | Documentation, configuration, copywriting, small low-risk tasks |
161
+ | `standard` | No per-task reviewer by default; dispatch a per-task reviewer only when a task hits a risk signal, plus one final lightweight code review | Default recommended, suits most ordinary changes |
162
+ | `thorough` | Dispatch a per-task reviewer (spec + quality) on every task, plus one final complete review | High-risk, multi-module, architecture or security-related changes |
163
+
164
+ Run `node "$COMET_STATE" set <name> review_mode <off|standard|thorough>`
161
165
 
162
166
  `isolation` is a script-enforced hard constraint. Full workflow init may temporarily leave it as `null`, but only before this step. If it remains `null`, both the `build → verify` guard and `comet-state transition build-complete` will fail.
163
167
 
164
- `subagent_dispatch` is a script-enforced hard constraint. `build_mode: subagent-driven-development` requires `subagent_dispatch: confirmed` before leaving the build phase, otherwise both `comet-guard.sh build --apply` and `comet-state transition build-complete` will fail.
168
+ `subagent_dispatch` is a script-enforced hard constraint. `build_mode: subagent-driven-development` requires `subagent_dispatch: confirmed` before leaving the build phase, otherwise both `comet-guard.mjs build --apply` and `comet-state transition build-complete` will fail.
169
+
170
+ `tdd_mode` is a script-enforced hard constraint. Full workflow must have `tdd_mode` selected as `tdd` or `direct` before leaving the build phase, otherwise both `comet-guard.mjs build --apply` and `comet-state transition build-complete` will fail.
165
171
 
166
- `tdd_mode` is a script-enforced hard constraint. Full workflow must have `tdd_mode` selected as `tdd` or `direct` before leaving the build phase, otherwise both `comet-guard.sh build --apply` and `comet-state transition build-complete` will fail.
172
+ `review_mode` is a script-enforced hard constraint. Full workflow must have `review_mode` selected as `off`, `standard`, or `thorough` before leaving the build phase, otherwise both `comet-guard.mjs build --apply` and `comet-state transition build-complete` will fail. Legacy state files without this field follow a compat path, but should be backfilled on recovery.
167
173
 
168
174
  `build_mode` defaults to `direct` only for hotfix/tweak presets. Full workflow must not default to `direct`. Use it only when the user explicitly asks to bypass the plan execution skills and you record an explicit override:
169
175
 
170
176
  ```bash
171
- "$COMET_BASH" "$COMET_STATE" set <name> direct_override true
172
- "$COMET_BASH" "$COMET_STATE" set <name> build_mode direct
177
+ node "$COMET_STATE" set <name> direct_override true
178
+ node "$COMET_STATE" set <name> build_mode direct
173
179
  ```
174
180
 
175
181
  Without `direct_override: true`, `build_mode=direct` in full workflow is blocked by both guard and state transition.
@@ -200,9 +206,9 @@ git commit -m "chore: add implementation plan"
200
206
 
201
207
  **Execute plan**: Must handle execution according to the actual runtime of `build_mode`.
202
208
 
203
- - `build_mode: executing-plans`: **Immediately execute:** Use the Skill tool to load the Superpowers `executing-plans` skill. Skipping this step is prohibited. If the skill is unavailable, stop the process and prompt to install or enable the corresponding skill; do not substitute with normal conversation. After the skill loads, ARGUMENTS must include the same Language constraint as Step 1: `Language: Use the language of the user request that triggered this workflow`. Execute according to plan.
209
+ - `build_mode: executing-plans`: **Immediately execute:** Use the Skill tool to load the Superpowers `executing-plans` skill. Skipping this step is prohibited. If the skill is unavailable, stop the process and prompt to install or enable the corresponding skill; do not substitute with normal conversation. After the skill loads, ARGUMENTS must include the same Language constraint as Step 1: `Language: Use the configured Comet artifact language from "$COMET_BASH" "$COMET_STATE" get <name> language`. Execute according to plan.
204
210
  - `build_mode: subagent-driven-development`: The main session only coordinates and must not write implementation code directly. **Immediately execute:** Use the Skill tool to load the Superpowers `subagent-driven-development` skill. After the skill loads, read `comet/reference/subagent-dispatch.md` for Comet-specific extensions (real background dispatch, task isolation, checkoff verification, TDD constraints, continuous execution, context recovery) and apply them alongside the skill's workflow. If they conflict, the more specific Comet extensions take precedence.
205
- - If the current platform has no real background agent dispatch capability, must pause and wait for the user to choose main window execution instead. After the user chooses, must run `"$COMET_BASH" "$COMET_STATE" set <name> build_mode executing-plans`, then follow the `build_mode: executing-plans` branch to load the Superpowers `executing-plans` skill. Must not continue executing tasks before the user explicitly chooses.
211
+ - If the current platform has no real background agent dispatch capability, must pause and wait for the user to choose main window execution instead. After the user chooses, must run `node "$COMET_STATE" set <name> build_mode executing-plans`, then follow the `build_mode: executing-plans` branch to load the Superpowers `executing-plans` skill. Must not continue executing tasks before the user explicitly chooses.
206
212
 
207
213
  **TDD Mode Execution Constraints**:
208
214
 
@@ -214,10 +220,14 @@ If `tdd_mode: direct`: Follow normal flow, no enforced TDD.
214
220
 
215
221
  **`executing-plans` review gate**:
216
222
 
217
- When `build_mode` is `executing-plans`, after all planned tasks are complete and before running the build → verify phase guard, must use the Skill tool to load the Superpowers `requesting-code-review` skill and request code review at least once.
223
+ Under `executing-plans`, the main session executes tasks directly (no isolated implementer subagent), so there is no per-task reviewer as in `subagent-driven-development`. Code review is done against completed diffs and scales with `review_mode`:
224
+
225
+ - **`review_mode: off`**: No automatic code review. Do not load `requesting-code-review`. Record the skip reason in the verification report draft or tasks.md.
226
+ - **`review_mode: standard`**: After all planned tasks are complete and before the build → verify phase guard, use the Skill tool to load the Superpowers `requesting-code-review` skill once and request one lightweight code review (correctness, security, edge cases) scoped to the whole change.
227
+ - **`review_mode: thorough`**: In addition to the single final review, request one segmented code review per task segment (every 3 tasks, scoped to that segment's diff). If total tasks ≤ 3, skip the mid-execution segments and only do the final review. Each segment review uses `requesting-code-review` against the segment's commit range. This is the closest equivalent to `subagent-driven-development`'s per-task review that `executing-plans` can offer, since it has no isolated implementer to review per task.
218
228
 
219
- Requirements:
220
- - the `requesting-code-review` skill must be loaded before `"$COMET_BASH" "$COMET_GUARD" <change-name> build --apply`
229
+ Requirements (apply to `standard` and `thorough`):
230
+ - the `requesting-code-review` skill must be loaded before `node "$COMET_GUARD" <change-name> build --apply`
221
231
  - if `requesting-code-review` skill is unavailable, skip the review gate but must record `<!-- review skipped: skill unavailable -->` in tasks.md, then continue guard transition
222
232
  - CRITICAL review findings (security vulnerabilities, data loss risk, build/test failures) must be fixed first and must not be carried into verify
223
233
  - if non-CRITICAL review findings are accepted, record the acceptance reason and impact scope in tasks.md, the commit body, a verification report draft, or another durable artifact
@@ -256,7 +266,7 @@ When creating an independent change, must invoke `/comet-open`, not `/opsx:new`
256
266
 
257
267
  Build is the longest phase and may span many tasks. To support resume after context compaction:
258
268
 
259
- - **After each task**: complete acceptance per the current execution branch before checking off and committing. `subagent-driven-development` must wait for both reviews to pass and perform targeted verification by unique task text. Use `grep -c '\- \[ \]' tasks.md` to check remaining unchecked count; no need to re-read the entire file
269
+ - **After each task**: complete acceptance per the current execution branch and `review_mode` before checking off and committing. `subagent-driven-development` dispatches no per-task reviewer under `off`; under `standard`, a per-task reviewer fires only when the task hits a risk signal; under `thorough`, every task gets a per-task reviewer. All modes must perform targeted verification by unique task text. Use `grep -c '\- \[ \]' tasks.md` to check remaining unchecked count; no need to re-read the entire file
260
270
  - **Context compression recovery**: Follow `comet/reference/context-recovery.md` with phase set to `build`.
261
271
  - **User manual-change resume**: handle uncommitted changes through `comet/reference/dirty-worktree.md`. That protocol defines checks, attribution, and prohibitions. Build-specific handling:
262
272
  1. After attribution, if the diff implies plan or spec changes, handle it through Step 4 "Spec Incremental Updates"
@@ -270,8 +280,9 @@ Build is the longest phase and may span many tasks. To support resume after cont
270
280
  - `isolation` has been written as `branch` or `worktree`
271
281
  - `build_mode` has been written as `subagent-driven-development`, `executing-plans`, or `direct` with explicit override; if `subagent-driven-development`, `subagent_dispatch` must be `confirmed`
272
282
  - `tdd_mode` has been written as `tdd` or `direct`
273
- - If `build_mode` is `executing-plans`, the Skill tool has been used to load the Superpowers `requesting-code-review` skill and request code review at least once, and CRITICAL review findings have been fixed or acceptance rationale for non-CRITICAL review findings has been recorded
274
- - **Phase guard**: Run `"$COMET_BASH" "$COMET_GUARD" <change-name> build --apply`; after all PASS, state advances to `phase: verify`
283
+ - `review_mode` has been written as `off`, `standard`, or `thorough`
284
+ - Code review has been completed per the `executing-plans` review gate (Section "Execute plan") for the chosen `review_mode`: under `standard` or `thorough`, code review has been requested and CRITICAL review findings fixed or non-CRITICAL acceptance rationale recorded; under `review_mode: off`, the reason for skipping automatic code review has been recorded in a persistent artifact
285
+ - **Phase guard**: Run `node "$COMET_GUARD" <change-name> build --apply`; after all PASS, state advances to `phase: verify`
275
286
 
276
287
  Guard reads project command configuration first:
277
288
 
@@ -281,12 +292,12 @@ verify_command: <verify command>
281
292
  ```
282
293
 
283
294
  Configuration can live in the change `.comet.yaml`, or in repo-root `.comet.yaml` / `comet.yaml` / `.comet.yml` / `comet.yml`.
284
- Only when no command is configured does guard fall back to `npm run build`, Maven, or Cargo auto-detection. When a command fails, guard prints the command output as evidence for debugging.
295
+ Configured commands use a restricted shell grammar: command words, quotes, paths, and `&&` for sequential steps are allowed; `;`, pipes, bare `&`, `$`, and backticks are rejected. Only when no command is configured does guard fall back to `npm run build`, Maven, or Cargo auto-detection. When a command fails, guard prints the command output as evidence for debugging.
285
296
 
286
297
  Before exit, run guard to auto-transition:
287
298
 
288
299
  ```bash
289
- "$COMET_BASH" "$COMET_GUARD" <change-name> build --apply
300
+ node "$COMET_GUARD" <change-name> build --apply
290
301
  ```
291
302
 
292
303
  State file is automatically updated to `phase: verify`, `verify_result: pending`.
@@ -296,7 +307,7 @@ State file is automatically updated to `phase: verify`, `verify_result: pending`
296
307
  Follow `comet/reference/auto-transition.md`. Key command:
297
308
 
298
309
  ```bash
299
- "$COMET_BASH" "$COMET_STATE" next <change-name>
310
+ node "$COMET_STATE" next <change-name>
300
311
  ```
301
312
 
302
313
  - `NEXT: auto` → invoke the skill pointed to by `SKILL` to enter the next phase
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: comet-design
3
- description: "Comet Phase 2: Deep Design. Invoke with /comet-design. Produce Design Doc and delta spec through brainstorming."
3
+ description: "Use when a full Comet change has completed open but lacks a Superpowers Design Doc, or design must resume from an OpenSpec handoff package."
4
4
  ---
5
5
 
6
6
  # Comet Phase 2: Deep Design (Design)
@@ -10,20 +10,16 @@ description: "Comet Phase 2: Deep Design. Invoke with /comet-design. Produce Des
10
10
  - Active change exists (proposal.md, design.md, tasks.md)
11
11
  - No Design Doc (no corresponding file under `docs/superpowers/specs/`)
12
12
 
13
+ > Responsibility boundary: the open-phase `design.md` gives the **high-level solution framework** (architecture decision direction, approach selection, data flow); the design-phase Design Doc is its **deep technical refinement** (detailed implementation design, technical risks, test strategy, edge cases) — a deepening, not a replacement or rewrite.
14
+
13
15
  ## Steps
14
16
 
15
17
  ### 0. Entry State Verification (Entry Check)
16
18
 
17
- Execute entry verification:
19
+ Locate scripts via `comet/reference/scripts.md`, then run entry verification. When resuming from any entry point, first run the recovery check in `comet/reference/context-recovery.md`:
18
20
 
19
21
  ```bash
20
- COMET_ENV="${COMET_ENV:-$(find . "$HOME"/.*/skills "$HOME/.config" "$HOME/.gemini" -path '*/comet/scripts/comet-env.sh' -type f -print -quit 2>/dev/null)}"
21
- if [ -z "$COMET_ENV" ]; then
22
- echo "ERROR: comet-env.sh not found. Ensure the comet skill is installed." >&2
23
- return 1
24
- fi
25
- . "$COMET_ENV"
26
- "$COMET_BASH" "$COMET_STATE" check <name> design
22
+ node "$COMET_STATE" check <name> design
27
23
  ```
28
24
 
29
25
  Proceed to Step 1 after verification passes. The script outputs specific failure reasons when verification fails.
@@ -35,7 +31,7 @@ Proceed to Step 1 after verification passes. The script outputs specific failure
35
31
  **Must be generated by script. Agent writing summaries on the fly is not allowed.**
36
32
 
37
33
  ```bash
38
- "$COMET_BASH" "$COMET_HANDOFF" <change-name> design --write
34
+ node "$COMET_HANDOFF" <change-name> design --write
39
35
  ```
40
36
 
41
37
  The script reads the change `.comet.yaml` `context_compression` snapshot, then generates and records the matching handoff package.
@@ -74,7 +70,7 @@ The beta handoff package is a **structured spec projection** that reduces OpenSp
74
70
  If full context is genuinely needed, explicitly run:
75
71
 
76
72
  ```bash
77
- "$COMET_BASH" "$COMET_HANDOFF" <change-name> design --write --full
73
+ node "$COMET_HANDOFF" <change-name> design --write --full
78
74
  ```
79
75
 
80
76
  Handoff package sources come from OpenSpec open phase artifacts:
@@ -90,7 +86,7 @@ Handoff package sources come from OpenSpec open phase artifacts:
90
86
  When loading the skill, ARGUMENTS must include:
91
87
 
92
88
  ```text
93
- Language: Use the language of the user request that triggered this workflow
89
+ Language: Use the configured Comet artifact language from `"$COMET_BASH" "$COMET_STATE" get <name> language`
94
90
  ```
95
91
 
96
92
  After the skill loads, follow its guidance and use the following context:
@@ -217,13 +213,13 @@ First record the design_doc path. If Spec Patches wrote back delta spec (added o
217
213
 
218
214
  ```bash
219
215
  # Record design_doc path
220
- "$COMET_BASH" "$COMET_STATE" set <name> design_doc docs/superpowers/specs/YYYY-MM-DD-topic-design.md
216
+ node "$COMET_STATE" set <name> design_doc docs/superpowers/specs/YYYY-MM-DD-topic-design.md
221
217
 
222
218
  # If delta spec changes exist, regenerate handoff (update hash)
223
- "$COMET_BASH" "$COMET_HANDOFF" <change-name> design --write
219
+ node "$COMET_HANDOFF" <change-name> design --write
224
220
 
225
221
  # Auto-transition to next phase
226
- "$COMET_BASH" "$COMET_GUARD" <change-name> design --apply
222
+ node "$COMET_GUARD" <change-name> design --apply
227
223
  ```
228
224
 
229
225
  If there are no delta spec changes, skip the handoff regeneration step. The state file updates automatically; no manual editing of other fields needed.
@@ -238,12 +234,12 @@ If there are no delta spec changes, skip the handoff regeneration step. The stat
238
234
  - In beta mode, `spec-context.json` must be structurally valid and reference the current source files (enforced by guard)
239
235
  - If new capabilities or supplementary acceptance scenarios exist, OpenSpec delta spec has been created/updated
240
236
  - `design_doc` written to `.comet.yaml`
241
- - **Phase guard**: Run `"$COMET_BASH" "$COMET_GUARD" <change-name> design --apply`; after all PASS, auto-transitions to `phase: build`
237
+ - **Phase guard**: Run `node "$COMET_GUARD" <change-name> design --apply`; after all PASS, auto-transitions to `phase: build`
242
238
 
243
239
  Must use `--apply` before exit:
244
240
 
245
241
  ```bash
246
- "$COMET_BASH" "$COMET_GUARD" <change-name> design --apply
242
+ node "$COMET_GUARD" <change-name> design --apply
247
243
  ```
248
244
 
249
245
  ## Context Compression Recovery
@@ -255,7 +251,7 @@ Follow `comet/reference/context-recovery.md` with phase set to `design`.
255
251
  Follow `comet/reference/auto-transition.md`. Key command:
256
252
 
257
253
  ```bash
258
- "$COMET_BASH" "$COMET_STATE" next <change-name>
254
+ node "$COMET_STATE" next <change-name>
259
255
  ```
260
256
 
261
257
  - `NEXT: auto` → invoke the skill pointed to by `SKILL` to enter the next phase