@rpamis/comet 0.3.9 → 0.4.0-beta.1

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 (624) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +371 -222
  3. package/assets/manifest.json +33 -12
  4. package/assets/skills/comet/SKILL.md +87 -102
  5. package/assets/skills/comet/reference/auto-transition.md +1 -1
  6. package/assets/skills/comet/reference/comet-yaml-fields.md +11 -4
  7. package/assets/skills/comet/reference/context-recovery.md +12 -2
  8. package/assets/skills/comet/reference/debug-gate.md +17 -1
  9. package/assets/skills/comet/reference/decision-point.md +13 -2
  10. package/assets/skills/comet/reference/intent-frame.md +74 -0
  11. package/assets/skills/comet/reference/scripts.md +69 -0
  12. package/assets/skills/comet/reference/subagent-dispatch.md +79 -23
  13. package/assets/skills/comet/rules/comet-phase-guard.en.md +18 -10
  14. package/assets/skills/comet/rules/comet-phase-guard.md +17 -10
  15. package/assets/skills/comet/runtime/classic/checks.yaml +6 -0
  16. package/assets/skills/comet/runtime/classic/guardrails.yaml +13 -0
  17. package/assets/skills/comet/runtime/classic/skill.yaml +122 -0
  18. package/assets/skills/comet/scripts/comet-archive.mjs +3 -0
  19. package/assets/skills/comet/scripts/comet-env.mjs +15 -0
  20. package/assets/skills/comet/scripts/comet-guard.mjs +3 -0
  21. package/assets/skills/comet/scripts/comet-handoff.mjs +3 -0
  22. package/assets/skills/comet/scripts/comet-hook-guard.mjs +3 -0
  23. package/assets/skills/comet/scripts/comet-intent.mjs +3 -0
  24. package/assets/skills/comet/scripts/comet-runtime.mjs +12857 -0
  25. package/assets/skills/comet/scripts/comet-state.mjs +3 -0
  26. package/assets/skills/comet/scripts/comet-yaml-validate.mjs +3 -0
  27. package/assets/skills/comet-any/SKILL.md +118 -0
  28. package/assets/skills/comet-any/reference/authored-zone-example.md +100 -0
  29. package/assets/skills/comet-any/reference/authoring-protocol.json +91 -0
  30. package/assets/skills/comet-any/reference/authoring-subagents.md +102 -0
  31. package/assets/skills/comet-any/reference/bundle-authoring.md +166 -0
  32. package/assets/skills/comet-any/reference/eval-provider.md +83 -0
  33. package/assets/skills/comet-any/reference/subagents/pause-points-author.md +75 -0
  34. package/assets/skills/comet-any/reference/subagents/reference-author.md +77 -0
  35. package/assets/skills/comet-any/reference/subagents/script-author.md +81 -0
  36. package/assets/skills/comet-any/reference/subagents/skill-core-author.md +129 -0
  37. package/assets/skills/comet-any/reference/subagents/skill-reviewer.md +124 -0
  38. package/assets/skills/comet-any/reference/subagents/workflow-entry-author.md +100 -0
  39. package/assets/skills/comet-archive/SKILL.md +25 -15
  40. package/assets/skills/comet-build/SKILL.md +51 -40
  41. package/assets/skills/comet-design/SKILL.md +14 -18
  42. package/assets/skills/comet-hotfix/SKILL.md +33 -43
  43. package/assets/skills/comet-open/SKILL.md +10 -20
  44. package/assets/skills/comet-tweak/SKILL.md +71 -65
  45. package/assets/skills/comet-verify/SKILL.md +31 -35
  46. package/assets/skills-zh/comet/SKILL.md +87 -101
  47. package/assets/skills-zh/comet/reference/auto-transition.md +3 -3
  48. package/assets/skills-zh/comet/reference/comet-yaml-fields.md +8 -4
  49. package/assets/skills-zh/comet/reference/context-recovery.md +11 -1
  50. package/assets/skills-zh/comet/reference/debug-gate.md +17 -1
  51. package/assets/skills-zh/comet/reference/decision-point.md +13 -2
  52. package/assets/skills-zh/comet/reference/intent-frame.md +74 -0
  53. package/assets/skills-zh/comet/reference/scripts.md +69 -0
  54. package/assets/skills-zh/comet/reference/subagent-dispatch.md +67 -18
  55. package/assets/skills-zh/comet/runtime/classic/checks.yaml +6 -0
  56. package/assets/skills-zh/comet/runtime/classic/guardrails.yaml +13 -0
  57. package/assets/skills-zh/comet/runtime/classic/skill.yaml +122 -0
  58. package/assets/skills-zh/comet-any/SKILL.md +118 -0
  59. package/assets/skills-zh/comet-any/reference/authored-zone-example.md +100 -0
  60. package/assets/skills-zh/comet-any/reference/authoring-protocol.json +91 -0
  61. package/assets/skills-zh/comet-any/reference/authoring-subagents.md +107 -0
  62. package/assets/skills-zh/comet-any/reference/bundle-authoring.md +166 -0
  63. package/assets/skills-zh/comet-any/reference/eval-provider.md +66 -0
  64. package/assets/skills-zh/comet-any/reference/subagents/pause-points-author.md +79 -0
  65. package/assets/skills-zh/comet-any/reference/subagents/reference-author.md +81 -0
  66. package/assets/skills-zh/comet-any/reference/subagents/script-author.md +84 -0
  67. package/assets/skills-zh/comet-any/reference/subagents/skill-core-author.md +129 -0
  68. package/assets/skills-zh/comet-any/reference/subagents/skill-reviewer.md +124 -0
  69. package/assets/skills-zh/comet-any/reference/subagents/workflow-entry-author.md +98 -0
  70. package/assets/skills-zh/comet-archive/SKILL.md +25 -15
  71. package/assets/skills-zh/comet-build/SKILL.md +41 -43
  72. package/assets/skills-zh/comet-design/SKILL.md +14 -18
  73. package/assets/skills-zh/comet-hotfix/SKILL.md +37 -47
  74. package/assets/skills-zh/comet-open/SKILL.md +12 -22
  75. package/assets/skills-zh/comet-tweak/SKILL.md +70 -63
  76. package/assets/skills-zh/comet-verify/SKILL.md +28 -30
  77. package/bin/comet.js +1 -1
  78. package/dist/{cli → app/cli}/index.d.ts.map +1 -1
  79. package/dist/app/cli/index.js +430 -0
  80. package/dist/app/cli/index.js.map +1 -0
  81. package/dist/app/commands/bundle.d.ts +51 -0
  82. package/dist/app/commands/bundle.d.ts.map +1 -0
  83. package/dist/app/commands/bundle.js +387 -0
  84. package/dist/app/commands/bundle.js.map +1 -0
  85. package/dist/app/commands/creator.d.ts +14 -0
  86. package/dist/app/commands/creator.d.ts.map +1 -0
  87. package/dist/app/commands/creator.js +82 -0
  88. package/dist/app/commands/creator.js.map +1 -0
  89. package/dist/app/commands/dashboard.d.ts +16 -0
  90. package/dist/app/commands/dashboard.d.ts.map +1 -0
  91. package/dist/app/commands/dashboard.js +53 -0
  92. package/dist/app/commands/dashboard.js.map +1 -0
  93. package/dist/{commands → app/commands}/doctor.d.ts +1 -1
  94. package/dist/app/commands/doctor.d.ts.map +1 -0
  95. package/dist/{commands → app/commands}/doctor.js +110 -60
  96. package/dist/app/commands/doctor.js.map +1 -0
  97. package/dist/app/commands/eval.d.ts +17 -0
  98. package/dist/app/commands/eval.d.ts.map +1 -0
  99. package/dist/app/commands/eval.js +169 -0
  100. package/dist/app/commands/eval.js.map +1 -0
  101. package/dist/app/commands/i18n.d.ts +4 -0
  102. package/dist/app/commands/i18n.d.ts.map +1 -0
  103. package/dist/{commands → app/commands}/i18n.js +22 -2
  104. package/dist/app/commands/i18n.js.map +1 -0
  105. package/dist/{commands → app/commands}/init.d.ts +3 -1
  106. package/dist/app/commands/init.d.ts.map +1 -0
  107. package/dist/{commands → app/commands}/init.js +81 -31
  108. package/dist/app/commands/init.js.map +1 -0
  109. package/dist/app/commands/platform-select-prompt.d.ts +38 -0
  110. package/dist/app/commands/platform-select-prompt.d.ts.map +1 -0
  111. package/dist/app/commands/platform-select-prompt.js +141 -0
  112. package/dist/app/commands/platform-select-prompt.js.map +1 -0
  113. package/dist/app/commands/publish.d.ts +7 -0
  114. package/dist/app/commands/publish.d.ts.map +1 -0
  115. package/dist/app/commands/publish.js +14 -0
  116. package/dist/app/commands/publish.js.map +1 -0
  117. package/dist/app/commands/skill.d.ts +23 -0
  118. package/dist/app/commands/skill.d.ts.map +1 -0
  119. package/dist/app/commands/skill.js +208 -0
  120. package/dist/app/commands/skill.js.map +1 -0
  121. package/dist/app/commands/status.d.ts.map +1 -0
  122. package/dist/app/commands/status.js +159 -0
  123. package/dist/app/commands/status.js.map +1 -0
  124. package/dist/{commands → app/commands}/uninstall.d.ts +1 -1
  125. package/dist/app/commands/uninstall.d.ts.map +1 -0
  126. package/dist/{commands → app/commands}/uninstall.js +3 -3
  127. package/dist/app/commands/uninstall.js.map +1 -0
  128. package/dist/{commands → app/commands}/update.d.ts +4 -3
  129. package/dist/app/commands/update.d.ts.map +1 -0
  130. package/dist/{commands → app/commands}/update.js +33 -10
  131. package/dist/app/commands/update.js.map +1 -0
  132. package/dist/config/repository-layout.json +98 -0
  133. package/dist/domains/bundle/authoring.d.ts +82 -0
  134. package/dist/domains/bundle/authoring.d.ts.map +1 -0
  135. package/dist/domains/bundle/authoring.js +185 -0
  136. package/dist/domains/bundle/authoring.js.map +1 -0
  137. package/dist/domains/bundle/bundle-platform.d.ts +39 -0
  138. package/dist/domains/bundle/bundle-platform.d.ts.map +1 -0
  139. package/dist/domains/bundle/bundle-platform.js +287 -0
  140. package/dist/domains/bundle/bundle-platform.js.map +1 -0
  141. package/dist/domains/bundle/candidates.d.ts +29 -0
  142. package/dist/domains/bundle/candidates.d.ts.map +1 -0
  143. package/dist/domains/bundle/candidates.js +37 -0
  144. package/dist/domains/bundle/candidates.js.map +1 -0
  145. package/dist/domains/bundle/compatibility-benchmark.d.ts +12 -0
  146. package/dist/domains/bundle/compatibility-benchmark.d.ts.map +1 -0
  147. package/dist/domains/bundle/compatibility-benchmark.js +224 -0
  148. package/dist/domains/bundle/compatibility-benchmark.js.map +1 -0
  149. package/dist/domains/bundle/compiler.d.ts +5 -0
  150. package/dist/domains/bundle/compiler.d.ts.map +1 -0
  151. package/dist/domains/bundle/compiler.js +106 -0
  152. package/dist/domains/bundle/compiler.js.map +1 -0
  153. package/dist/domains/bundle/distribute.d.ts +33 -0
  154. package/dist/domains/bundle/distribute.d.ts.map +1 -0
  155. package/dist/domains/bundle/distribute.js +166 -0
  156. package/dist/domains/bundle/distribute.js.map +1 -0
  157. package/dist/domains/bundle/draft.d.ts +19 -0
  158. package/dist/domains/bundle/draft.d.ts.map +1 -0
  159. package/dist/domains/bundle/draft.js +82 -0
  160. package/dist/domains/bundle/draft.js.map +1 -0
  161. package/dist/domains/bundle/eval.d.ts +36 -0
  162. package/dist/domains/bundle/eval.d.ts.map +1 -0
  163. package/dist/domains/bundle/eval.js +501 -0
  164. package/dist/domains/bundle/eval.js.map +1 -0
  165. package/dist/domains/bundle/factory-compose.d.ts +12 -0
  166. package/dist/domains/bundle/factory-compose.d.ts.map +1 -0
  167. package/dist/domains/bundle/factory-compose.js +309 -0
  168. package/dist/domains/bundle/factory-compose.js.map +1 -0
  169. package/dist/domains/bundle/factory-guide.d.ts +37 -0
  170. package/dist/domains/bundle/factory-guide.d.ts.map +1 -0
  171. package/dist/domains/bundle/factory-guide.js +96 -0
  172. package/dist/domains/bundle/factory-guide.js.map +1 -0
  173. package/dist/domains/bundle/factory-plan.d.ts +48 -0
  174. package/dist/domains/bundle/factory-plan.d.ts.map +1 -0
  175. package/dist/domains/bundle/factory-plan.js +172 -0
  176. package/dist/domains/bundle/factory-plan.js.map +1 -0
  177. package/dist/domains/bundle/factory-proposal.d.ts +31 -0
  178. package/dist/domains/bundle/factory-proposal.d.ts.map +1 -0
  179. package/dist/domains/bundle/factory-proposal.js +225 -0
  180. package/dist/domains/bundle/factory-proposal.js.map +1 -0
  181. package/dist/domains/bundle/factory-resolve.d.ts +11 -0
  182. package/dist/domains/bundle/factory-resolve.d.ts.map +1 -0
  183. package/dist/domains/bundle/factory-resolve.js +121 -0
  184. package/dist/domains/bundle/factory-resolve.js.map +1 -0
  185. package/dist/domains/bundle/factory.d.ts +17 -0
  186. package/dist/domains/bundle/factory.d.ts.map +1 -0
  187. package/dist/domains/bundle/factory.js +511 -0
  188. package/dist/domains/bundle/factory.js.map +1 -0
  189. package/dist/domains/bundle/hash.d.ts +3 -0
  190. package/dist/domains/bundle/hash.d.ts.map +1 -0
  191. package/dist/domains/bundle/hash.js +72 -0
  192. package/dist/domains/bundle/hash.js.map +1 -0
  193. package/dist/domains/bundle/load.d.ts +4 -0
  194. package/dist/domains/bundle/load.d.ts.map +1 -0
  195. package/dist/domains/bundle/load.js +355 -0
  196. package/dist/domains/bundle/load.js.map +1 -0
  197. package/dist/domains/bundle/next-action.d.ts +37 -0
  198. package/dist/domains/bundle/next-action.d.ts.map +1 -0
  199. package/dist/domains/bundle/next-action.js +185 -0
  200. package/dist/domains/bundle/next-action.js.map +1 -0
  201. package/dist/domains/bundle/platform.d.ts +21 -0
  202. package/dist/domains/bundle/platform.d.ts.map +1 -0
  203. package/dist/domains/bundle/platform.js +170 -0
  204. package/dist/domains/bundle/platform.js.map +1 -0
  205. package/dist/domains/bundle/preferences.d.ts +11 -0
  206. package/dist/domains/bundle/preferences.d.ts.map +1 -0
  207. package/dist/domains/bundle/preferences.js +17 -0
  208. package/dist/domains/bundle/preferences.js.map +1 -0
  209. package/dist/domains/bundle/publish.d.ts +14 -0
  210. package/dist/domains/bundle/publish.d.ts.map +1 -0
  211. package/dist/domains/bundle/publish.js +159 -0
  212. package/dist/domains/bundle/publish.js.map +1 -0
  213. package/dist/domains/bundle/readiness-user-summary.d.ts +25 -0
  214. package/dist/domains/bundle/readiness-user-summary.d.ts.map +1 -0
  215. package/dist/domains/bundle/readiness-user-summary.js +186 -0
  216. package/dist/domains/bundle/readiness-user-summary.js.map +1 -0
  217. package/dist/domains/bundle/review-summary.d.ts +36 -0
  218. package/dist/domains/bundle/review-summary.d.ts.map +1 -0
  219. package/dist/domains/bundle/review-summary.js +348 -0
  220. package/dist/domains/bundle/review-summary.js.map +1 -0
  221. package/dist/domains/bundle/state.d.ts +7 -0
  222. package/dist/domains/bundle/state.d.ts.map +1 -0
  223. package/dist/domains/bundle/state.js +132 -0
  224. package/dist/domains/bundle/state.js.map +1 -0
  225. package/dist/domains/bundle/types.d.ts +347 -0
  226. package/dist/domains/bundle/types.d.ts.map +1 -0
  227. package/dist/domains/bundle/types.js.map +1 -0
  228. package/dist/domains/bundle/user-facing.d.ts +48 -0
  229. package/dist/domains/bundle/user-facing.d.ts.map +1 -0
  230. package/dist/domains/bundle/user-facing.js +73 -0
  231. package/dist/domains/bundle/user-facing.js.map +1 -0
  232. package/dist/domains/bundle/validate.d.ts +5 -0
  233. package/dist/domains/bundle/validate.d.ts.map +1 -0
  234. package/dist/domains/bundle/validate.js +292 -0
  235. package/dist/domains/bundle/validate.js.map +1 -0
  236. package/dist/domains/comet-classic/classic-archive-entry.d.ts +2 -0
  237. package/dist/domains/comet-classic/classic-archive-entry.d.ts.map +1 -0
  238. package/dist/domains/comet-classic/classic-archive-entry.js +4 -0
  239. package/dist/domains/comet-classic/classic-archive-entry.js.map +1 -0
  240. package/dist/domains/comet-classic/classic-archive.d.ts +3 -0
  241. package/dist/domains/comet-classic/classic-archive.d.ts.map +1 -0
  242. package/dist/domains/comet-classic/classic-archive.js +392 -0
  243. package/dist/domains/comet-classic/classic-archive.js.map +1 -0
  244. package/dist/domains/comet-classic/classic-cli.d.ts +15 -0
  245. package/dist/domains/comet-classic/classic-cli.d.ts.map +1 -0
  246. package/dist/domains/comet-classic/classic-cli.js +94 -0
  247. package/dist/domains/comet-classic/classic-cli.js.map +1 -0
  248. package/dist/domains/comet-classic/classic-diagnostics.d.ts +16 -0
  249. package/dist/domains/comet-classic/classic-diagnostics.d.ts.map +1 -0
  250. package/dist/domains/comet-classic/classic-diagnostics.js +57 -0
  251. package/dist/domains/comet-classic/classic-diagnostics.js.map +1 -0
  252. package/dist/domains/comet-classic/classic-evidence.d.ts +10 -0
  253. package/dist/domains/comet-classic/classic-evidence.d.ts.map +1 -0
  254. package/dist/domains/comet-classic/classic-evidence.js +114 -0
  255. package/dist/domains/comet-classic/classic-evidence.js.map +1 -0
  256. package/dist/domains/comet-classic/classic-guard-entry.d.ts +2 -0
  257. package/dist/domains/comet-classic/classic-guard-entry.d.ts.map +1 -0
  258. package/dist/domains/comet-classic/classic-guard-entry.js +4 -0
  259. package/dist/domains/comet-classic/classic-guard-entry.js.map +1 -0
  260. package/dist/domains/comet-classic/classic-guard.d.ts +3 -0
  261. package/dist/domains/comet-classic/classic-guard.d.ts.map +1 -0
  262. package/dist/domains/comet-classic/classic-guard.js +833 -0
  263. package/dist/domains/comet-classic/classic-guard.js.map +1 -0
  264. package/dist/domains/comet-classic/classic-handoff-entry.d.ts +2 -0
  265. package/dist/domains/comet-classic/classic-handoff-entry.d.ts.map +1 -0
  266. package/dist/domains/comet-classic/classic-handoff-entry.js +4 -0
  267. package/dist/domains/comet-classic/classic-handoff-entry.js.map +1 -0
  268. package/dist/domains/comet-classic/classic-handoff.d.ts +3 -0
  269. package/dist/domains/comet-classic/classic-handoff.d.ts.map +1 -0
  270. package/dist/domains/comet-classic/classic-handoff.js +478 -0
  271. package/dist/domains/comet-classic/classic-handoff.js.map +1 -0
  272. package/dist/domains/comet-classic/classic-hook-guard-entry.d.ts +2 -0
  273. package/dist/domains/comet-classic/classic-hook-guard-entry.d.ts.map +1 -0
  274. package/dist/domains/comet-classic/classic-hook-guard-entry.js +4 -0
  275. package/dist/domains/comet-classic/classic-hook-guard-entry.js.map +1 -0
  276. package/dist/domains/comet-classic/classic-hook-guard.d.ts +3 -0
  277. package/dist/domains/comet-classic/classic-hook-guard.d.ts.map +1 -0
  278. package/dist/domains/comet-classic/classic-hook-guard.js +302 -0
  279. package/dist/domains/comet-classic/classic-hook-guard.js.map +1 -0
  280. package/dist/domains/comet-classic/classic-intent-command.d.ts +3 -0
  281. package/dist/domains/comet-classic/classic-intent-command.d.ts.map +1 -0
  282. package/dist/domains/comet-classic/classic-intent-command.js +40 -0
  283. package/dist/domains/comet-classic/classic-intent-command.js.map +1 -0
  284. package/dist/domains/comet-classic/classic-intent-entry.d.ts +2 -0
  285. package/dist/domains/comet-classic/classic-intent-entry.d.ts.map +1 -0
  286. package/dist/domains/comet-classic/classic-intent-entry.js +4 -0
  287. package/dist/domains/comet-classic/classic-intent-entry.js.map +1 -0
  288. package/dist/domains/comet-classic/classic-intent.d.ts +79 -0
  289. package/dist/domains/comet-classic/classic-intent.d.ts.map +1 -0
  290. package/dist/domains/comet-classic/classic-intent.js +307 -0
  291. package/dist/domains/comet-classic/classic-intent.js.map +1 -0
  292. package/dist/domains/comet-classic/classic-migrate.d.ts +18 -0
  293. package/dist/domains/comet-classic/classic-migrate.d.ts.map +1 -0
  294. package/dist/domains/comet-classic/classic-migrate.js +184 -0
  295. package/dist/domains/comet-classic/classic-migrate.js.map +1 -0
  296. package/dist/domains/comet-classic/classic-paths.d.ts +8 -0
  297. package/dist/domains/comet-classic/classic-paths.d.ts.map +1 -0
  298. package/dist/domains/comet-classic/classic-paths.js +61 -0
  299. package/dist/domains/comet-classic/classic-paths.js.map +1 -0
  300. package/dist/domains/comet-classic/classic-resolver.d.ts +10 -0
  301. package/dist/domains/comet-classic/classic-resolver.d.ts.map +1 -0
  302. package/dist/domains/comet-classic/classic-resolver.js +89 -0
  303. package/dist/domains/comet-classic/classic-resolver.js.map +1 -0
  304. package/dist/domains/comet-classic/classic-runtime-evals.d.ts +9 -0
  305. package/dist/domains/comet-classic/classic-runtime-evals.d.ts.map +1 -0
  306. package/dist/domains/comet-classic/classic-runtime-evals.js +45 -0
  307. package/dist/domains/comet-classic/classic-runtime-evals.js.map +1 -0
  308. package/dist/domains/comet-classic/classic-runtime-run.d.ts +7 -0
  309. package/dist/domains/comet-classic/classic-runtime-run.d.ts.map +1 -0
  310. package/dist/domains/comet-classic/classic-runtime-run.js +105 -0
  311. package/dist/domains/comet-classic/classic-runtime-run.js.map +1 -0
  312. package/dist/domains/comet-classic/classic-script-entry.d.ts +3 -0
  313. package/dist/domains/comet-classic/classic-script-entry.d.ts.map +1 -0
  314. package/dist/domains/comet-classic/classic-script-entry.js +31 -0
  315. package/dist/domains/comet-classic/classic-script-entry.js.map +1 -0
  316. package/dist/domains/comet-classic/classic-state-command.d.ts +3 -0
  317. package/dist/domains/comet-classic/classic-state-command.d.ts.map +1 -0
  318. package/dist/domains/comet-classic/classic-state-command.js +984 -0
  319. package/dist/domains/comet-classic/classic-state-command.js.map +1 -0
  320. package/dist/domains/comet-classic/classic-state-entry.d.ts +2 -0
  321. package/dist/domains/comet-classic/classic-state-entry.d.ts.map +1 -0
  322. package/dist/domains/comet-classic/classic-state-entry.js +4 -0
  323. package/dist/domains/comet-classic/classic-state-entry.js.map +1 -0
  324. package/dist/domains/comet-classic/classic-state-events.d.ts +18 -0
  325. package/dist/domains/comet-classic/classic-state-events.d.ts.map +1 -0
  326. package/dist/domains/comet-classic/classic-state-events.js +15 -0
  327. package/dist/domains/comet-classic/classic-state-events.js.map +1 -0
  328. package/dist/domains/comet-classic/classic-state.d.ts +69 -0
  329. package/dist/domains/comet-classic/classic-state.d.ts.map +1 -0
  330. package/dist/domains/comet-classic/classic-state.js +238 -0
  331. package/dist/domains/comet-classic/classic-state.js.map +1 -0
  332. package/dist/domains/comet-classic/classic-store.d.ts +7 -0
  333. package/dist/domains/comet-classic/classic-store.d.ts.map +1 -0
  334. package/dist/domains/comet-classic/classic-store.js +127 -0
  335. package/dist/domains/comet-classic/classic-store.js.map +1 -0
  336. package/dist/domains/comet-classic/classic-transitions.d.ts +24 -0
  337. package/dist/domains/comet-classic/classic-transitions.d.ts.map +1 -0
  338. package/dist/domains/comet-classic/classic-transitions.js +124 -0
  339. package/dist/domains/comet-classic/classic-transitions.js.map +1 -0
  340. package/dist/domains/comet-classic/classic-validate-command.d.ts +3 -0
  341. package/dist/domains/comet-classic/classic-validate-command.d.ts.map +1 -0
  342. package/dist/domains/comet-classic/classic-validate-command.js +154 -0
  343. package/dist/domains/comet-classic/classic-validate-command.js.map +1 -0
  344. package/dist/domains/comet-classic/classic-validate-entry.d.ts +2 -0
  345. package/dist/domains/comet-classic/classic-validate-entry.d.ts.map +1 -0
  346. package/dist/domains/comet-classic/classic-validate-entry.js +4 -0
  347. package/dist/domains/comet-classic/classic-validate-entry.js.map +1 -0
  348. package/dist/domains/comet-classic/index.d.ts +20 -0
  349. package/dist/domains/comet-classic/index.d.ts.map +1 -0
  350. package/dist/domains/comet-classic/index.js +20 -0
  351. package/dist/domains/comet-classic/index.js.map +1 -0
  352. package/dist/domains/dashboard/collector.d.ts +12 -0
  353. package/dist/domains/dashboard/collector.d.ts.map +1 -0
  354. package/dist/domains/dashboard/collector.js +475 -0
  355. package/dist/domains/dashboard/collector.js.map +1 -0
  356. package/dist/domains/dashboard/git.d.ts +8 -0
  357. package/dist/domains/dashboard/git.d.ts.map +1 -0
  358. package/dist/domains/dashboard/git.js +69 -0
  359. package/dist/domains/dashboard/git.js.map +1 -0
  360. package/dist/domains/dashboard/next-action.d.ts +17 -0
  361. package/dist/domains/dashboard/next-action.d.ts.map +1 -0
  362. package/dist/domains/dashboard/next-action.js +83 -0
  363. package/dist/domains/dashboard/next-action.js.map +1 -0
  364. package/dist/domains/dashboard/open-browser.d.ts +9 -0
  365. package/dist/domains/dashboard/open-browser.d.ts.map +1 -0
  366. package/dist/domains/dashboard/open-browser.js +40 -0
  367. package/dist/domains/dashboard/open-browser.js.map +1 -0
  368. package/dist/domains/dashboard/risk.d.ts +24 -0
  369. package/dist/domains/dashboard/risk.d.ts.map +1 -0
  370. package/dist/domains/dashboard/risk.js +97 -0
  371. package/dist/domains/dashboard/risk.js.map +1 -0
  372. package/dist/domains/dashboard/server.d.ts +21 -0
  373. package/dist/domains/dashboard/server.d.ts.map +1 -0
  374. package/dist/domains/dashboard/server.js +149 -0
  375. package/dist/domains/dashboard/server.js.map +1 -0
  376. package/dist/domains/dashboard/task-parser.d.ts +13 -0
  377. package/dist/domains/dashboard/task-parser.d.ts.map +1 -0
  378. package/dist/domains/dashboard/task-parser.js +82 -0
  379. package/dist/domains/dashboard/task-parser.js.map +1 -0
  380. package/dist/domains/dashboard/types.d.ts +122 -0
  381. package/dist/domains/dashboard/types.d.ts.map +1 -0
  382. package/dist/domains/dashboard/types.js +10 -0
  383. package/dist/domains/dashboard/types.js.map +1 -0
  384. package/dist/domains/dashboard/verify-parser.d.ts +18 -0
  385. package/dist/domains/dashboard/verify-parser.d.ts.map +1 -0
  386. package/dist/domains/dashboard/verify-parser.js +94 -0
  387. package/dist/domains/dashboard/verify-parser.js.map +1 -0
  388. package/dist/domains/dashboard/web/assets/demo-DQyfozbi.js +1 -0
  389. package/dist/domains/dashboard/web/assets/index-BcO3_QlT.css +1 -0
  390. package/dist/domains/dashboard/web/assets/index-CjU3VXVu.js +22 -0
  391. package/dist/domains/dashboard/web/favicon.png +0 -0
  392. package/dist/domains/dashboard/web/index.html +16 -0
  393. package/dist/domains/dashboard/yaml.d.ts +13 -0
  394. package/dist/domains/dashboard/yaml.d.ts.map +1 -0
  395. package/dist/domains/dashboard/yaml.js +61 -0
  396. package/dist/domains/dashboard/yaml.js.map +1 -0
  397. package/dist/domains/engine/evals.d.ts +4 -0
  398. package/dist/domains/engine/evals.d.ts.map +1 -0
  399. package/dist/domains/engine/evals.js +25 -0
  400. package/dist/domains/engine/evals.js.map +1 -0
  401. package/dist/domains/engine/guardrails.d.ts +10 -0
  402. package/dist/domains/engine/guardrails.d.ts.map +1 -0
  403. package/dist/domains/engine/guardrails.js +25 -0
  404. package/dist/domains/engine/guardrails.js.map +1 -0
  405. package/dist/domains/engine/loop.d.ts +15 -0
  406. package/dist/domains/engine/loop.d.ts.map +1 -0
  407. package/dist/domains/engine/loop.js +126 -0
  408. package/dist/domains/engine/loop.js.map +1 -0
  409. package/dist/domains/engine/manual-run.d.ts +30 -0
  410. package/dist/domains/engine/manual-run.d.ts.map +1 -0
  411. package/dist/domains/engine/manual-run.js +184 -0
  412. package/dist/domains/engine/manual-run.js.map +1 -0
  413. package/dist/domains/engine/resolver.d.ts +20 -0
  414. package/dist/domains/engine/resolver.d.ts.map +1 -0
  415. package/dist/domains/engine/resolver.js +36 -0
  416. package/dist/domains/engine/resolver.js.map +1 -0
  417. package/dist/domains/engine/run-store.d.ts +13 -0
  418. package/dist/domains/engine/run-store.d.ts.map +1 -0
  419. package/dist/domains/engine/run-store.js +100 -0
  420. package/dist/domains/engine/run-store.js.map +1 -0
  421. package/dist/domains/engine/runtime-types.d.ts +11 -0
  422. package/dist/domains/engine/runtime-types.d.ts.map +1 -0
  423. package/dist/domains/engine/runtime-types.js +2 -0
  424. package/dist/domains/engine/runtime-types.js.map +1 -0
  425. package/dist/domains/engine/standalone-run.d.ts +13 -0
  426. package/dist/domains/engine/standalone-run.d.ts.map +1 -0
  427. package/dist/domains/engine/standalone-run.js +27 -0
  428. package/dist/domains/engine/standalone-run.js.map +1 -0
  429. package/dist/domains/engine/state.d.ts +10 -0
  430. package/dist/domains/engine/state.d.ts.map +1 -0
  431. package/dist/domains/engine/state.js +160 -0
  432. package/dist/domains/engine/state.js.map +1 -0
  433. package/dist/domains/engine/types.d.ts +51 -0
  434. package/dist/domains/engine/types.d.ts.map +1 -0
  435. package/dist/domains/engine/types.js +2 -0
  436. package/dist/domains/engine/types.js.map +1 -0
  437. package/dist/domains/eval/index.d.ts +7 -0
  438. package/dist/domains/eval/index.d.ts.map +1 -0
  439. package/dist/domains/eval/index.js +11 -0
  440. package/dist/domains/eval/index.js.map +1 -0
  441. package/dist/domains/eval/repository-benchmarks.d.ts +6 -0
  442. package/dist/domains/eval/repository-benchmarks.d.ts.map +1 -0
  443. package/dist/domains/eval/repository-benchmarks.js +10 -0
  444. package/dist/domains/eval/repository-benchmarks.js.map +1 -0
  445. package/dist/domains/factory/artifacts.d.ts +53 -0
  446. package/dist/domains/factory/artifacts.d.ts.map +1 -0
  447. package/dist/domains/factory/artifacts.js +8 -0
  448. package/dist/domains/factory/artifacts.js.map +1 -0
  449. package/dist/domains/factory/package.d.ts +7 -0
  450. package/dist/domains/factory/package.d.ts.map +1 -0
  451. package/dist/domains/factory/package.js +1511 -0
  452. package/dist/domains/factory/package.js.map +1 -0
  453. package/dist/domains/factory/types.d.ts +127 -0
  454. package/dist/domains/factory/types.d.ts.map +1 -0
  455. package/dist/domains/factory/types.js +2 -0
  456. package/dist/domains/factory/types.js.map +1 -0
  457. package/dist/{core → domains/integrations}/codegraph.d.ts +1 -1
  458. package/dist/domains/integrations/codegraph.d.ts.map +1 -0
  459. package/dist/{core → domains/integrations}/codegraph.js +1 -1
  460. package/dist/domains/integrations/codegraph.js.map +1 -0
  461. package/dist/domains/integrations/openspec.d.ts +18 -0
  462. package/dist/domains/integrations/openspec.d.ts.map +1 -0
  463. package/dist/{core → domains/integrations}/openspec.js +102 -25
  464. package/dist/domains/integrations/openspec.js.map +1 -0
  465. package/dist/{core → domains/integrations}/superpowers.d.ts +10 -2
  466. package/dist/domains/integrations/superpowers.d.ts.map +1 -0
  467. package/dist/{core → domains/integrations}/superpowers.js +59 -13
  468. package/dist/domains/integrations/superpowers.js.map +1 -0
  469. package/dist/domains/skill/discovery.d.ts +17 -0
  470. package/dist/domains/skill/discovery.d.ts.map +1 -0
  471. package/dist/domains/skill/discovery.js +80 -0
  472. package/dist/domains/skill/discovery.js.map +1 -0
  473. package/dist/domains/skill/find.d.ts +41 -0
  474. package/dist/domains/skill/find.d.ts.map +1 -0
  475. package/dist/domains/skill/find.js +251 -0
  476. package/dist/domains/skill/find.js.map +1 -0
  477. package/dist/domains/skill/install.d.ts +11 -0
  478. package/dist/domains/skill/install.d.ts.map +1 -0
  479. package/dist/domains/skill/install.js +82 -0
  480. package/dist/domains/skill/install.js.map +1 -0
  481. package/dist/domains/skill/inventory.d.ts +19 -0
  482. package/dist/domains/skill/inventory.d.ts.map +1 -0
  483. package/dist/domains/skill/inventory.js +64 -0
  484. package/dist/domains/skill/inventory.js.map +1 -0
  485. package/dist/domains/skill/languages.d.ts +19 -0
  486. package/dist/domains/skill/languages.d.ts.map +1 -0
  487. package/dist/domains/skill/languages.js +21 -0
  488. package/dist/domains/skill/languages.js.map +1 -0
  489. package/dist/domains/skill/load.d.ts +5 -0
  490. package/dist/domains/skill/load.d.ts.map +1 -0
  491. package/dist/domains/skill/load.js +313 -0
  492. package/dist/domains/skill/load.js.map +1 -0
  493. package/dist/domains/skill/platform-install.d.ts +87 -0
  494. package/dist/domains/skill/platform-install.d.ts.map +1 -0
  495. package/dist/{core/skills.js → domains/skill/platform-install.js} +243 -51
  496. package/dist/domains/skill/platform-install.js.map +1 -0
  497. package/dist/domains/skill/preferences.d.ts +42 -0
  498. package/dist/domains/skill/preferences.d.ts.map +1 -0
  499. package/dist/domains/skill/preferences.js +118 -0
  500. package/dist/domains/skill/preferences.js.map +1 -0
  501. package/dist/domains/skill/snapshot.d.ts +8 -0
  502. package/dist/domains/skill/snapshot.d.ts.map +1 -0
  503. package/dist/domains/skill/snapshot.js +184 -0
  504. package/dist/domains/skill/snapshot.js.map +1 -0
  505. package/dist/domains/skill/types.d.ts +85 -0
  506. package/dist/domains/skill/types.d.ts.map +1 -0
  507. package/dist/domains/skill/types.js +2 -0
  508. package/dist/{core → domains/skill}/types.js.map +1 -1
  509. package/dist/{core → domains/skill}/uninstall.d.ts +2 -18
  510. package/dist/domains/skill/uninstall.d.ts.map +1 -0
  511. package/dist/{core → domains/skill}/uninstall.js +15 -66
  512. package/dist/domains/skill/uninstall.js.map +1 -0
  513. package/dist/domains/skill/validate.d.ts +3 -0
  514. package/dist/domains/skill/validate.d.ts.map +1 -0
  515. package/dist/domains/skill/validate.js +81 -0
  516. package/dist/domains/skill/validate.js.map +1 -0
  517. package/dist/domains/workflow-contract/builtins.d.ts +8 -0
  518. package/dist/domains/workflow-contract/builtins.d.ts.map +1 -0
  519. package/dist/domains/workflow-contract/builtins.js +229 -0
  520. package/dist/domains/workflow-contract/builtins.js.map +1 -0
  521. package/dist/domains/workflow-contract/hash.d.ts +3 -0
  522. package/dist/domains/workflow-contract/hash.d.ts.map +1 -0
  523. package/dist/domains/workflow-contract/hash.js +16 -0
  524. package/dist/domains/workflow-contract/hash.js.map +1 -0
  525. package/dist/domains/workflow-contract/index.d.ts +6 -0
  526. package/dist/domains/workflow-contract/index.d.ts.map +1 -0
  527. package/dist/domains/workflow-contract/index.js +5 -0
  528. package/dist/domains/workflow-contract/index.js.map +1 -0
  529. package/dist/domains/workflow-contract/normalize.d.ts +3 -0
  530. package/dist/domains/workflow-contract/normalize.d.ts.map +1 -0
  531. package/dist/domains/workflow-contract/normalize.js +146 -0
  532. package/dist/domains/workflow-contract/normalize.js.map +1 -0
  533. package/dist/domains/workflow-contract/types.d.ts +128 -0
  534. package/dist/domains/workflow-contract/types.d.ts.map +1 -0
  535. package/dist/domains/workflow-contract/types.js +2 -0
  536. package/dist/domains/workflow-contract/types.js.map +1 -0
  537. package/dist/domains/workflow-contract/validation.d.ts +3 -0
  538. package/dist/domains/workflow-contract/validation.d.ts.map +1 -0
  539. package/dist/domains/workflow-contract/validation.js +180 -0
  540. package/dist/domains/workflow-contract/validation.js.map +1 -0
  541. package/dist/platform/fs/file-system.d.ts.map +1 -0
  542. package/dist/platform/fs/file-system.js.map +1 -0
  543. package/dist/platform/install/detect.d.ts.map +1 -0
  544. package/dist/{core → platform/install}/detect.js +4 -3
  545. package/dist/platform/install/detect.js.map +1 -0
  546. package/dist/platform/install/platforms.d.ts.map +1 -0
  547. package/dist/{core → platform/install}/platforms.js +41 -0
  548. package/dist/platform/install/platforms.js.map +1 -0
  549. package/dist/platform/install/types.d.ts +3 -0
  550. package/dist/platform/install/types.d.ts.map +1 -0
  551. package/dist/platform/install/types.js +2 -0
  552. package/dist/platform/install/types.js.map +1 -0
  553. package/dist/platform/paths/repository-layout.d.ts +22 -0
  554. package/dist/platform/paths/repository-layout.d.ts.map +1 -0
  555. package/dist/platform/paths/repository-layout.js +11 -0
  556. package/dist/platform/paths/repository-layout.js.map +1 -0
  557. package/dist/platform/process/command-error.d.ts.map +1 -0
  558. package/dist/platform/process/command-error.js.map +1 -0
  559. package/dist/platform/process/shell-quote.d.ts +22 -0
  560. package/dist/platform/process/shell-quote.d.ts.map +1 -0
  561. package/dist/platform/process/shell-quote.js +34 -0
  562. package/dist/platform/process/shell-quote.js.map +1 -0
  563. package/dist/platform/version/version.d.ts.map +1 -0
  564. package/dist/{core → platform/version}/version.js +16 -3
  565. package/dist/platform/version/version.js.map +1 -0
  566. package/package.json +39 -13
  567. package/assets/skills/comet/scripts/comet-archive.sh +0 -311
  568. package/assets/skills/comet/scripts/comet-env.sh +0 -110
  569. package/assets/skills/comet/scripts/comet-guard.sh +0 -778
  570. package/assets/skills/comet/scripts/comet-handoff.sh +0 -390
  571. package/assets/skills/comet/scripts/comet-hook-guard.sh +0 -336
  572. package/assets/skills/comet/scripts/comet-state.sh +0 -1338
  573. package/assets/skills/comet/scripts/comet-yaml-validate.sh +0 -225
  574. package/dist/cli/index.js +0 -84
  575. package/dist/cli/index.js.map +0 -1
  576. package/dist/commands/doctor.d.ts.map +0 -1
  577. package/dist/commands/doctor.js.map +0 -1
  578. package/dist/commands/i18n.d.ts +0 -4
  579. package/dist/commands/i18n.d.ts.map +0 -1
  580. package/dist/commands/i18n.js.map +0 -1
  581. package/dist/commands/init.d.ts.map +0 -1
  582. package/dist/commands/init.js.map +0 -1
  583. package/dist/commands/status.d.ts.map +0 -1
  584. package/dist/commands/status.js +0 -108
  585. package/dist/commands/status.js.map +0 -1
  586. package/dist/commands/uninstall.d.ts.map +0 -1
  587. package/dist/commands/uninstall.js.map +0 -1
  588. package/dist/commands/update.d.ts.map +0 -1
  589. package/dist/commands/update.js.map +0 -1
  590. package/dist/core/codegraph.d.ts.map +0 -1
  591. package/dist/core/codegraph.js.map +0 -1
  592. package/dist/core/command-error.d.ts.map +0 -1
  593. package/dist/core/command-error.js.map +0 -1
  594. package/dist/core/detect.d.ts.map +0 -1
  595. package/dist/core/detect.js.map +0 -1
  596. package/dist/core/openspec.d.ts +0 -11
  597. package/dist/core/openspec.d.ts.map +0 -1
  598. package/dist/core/openspec.js.map +0 -1
  599. package/dist/core/platforms.d.ts.map +0 -1
  600. package/dist/core/platforms.js.map +0 -1
  601. package/dist/core/skills.d.ts +0 -58
  602. package/dist/core/skills.d.ts.map +0 -1
  603. package/dist/core/skills.js.map +0 -1
  604. package/dist/core/superpowers.d.ts.map +0 -1
  605. package/dist/core/superpowers.js.map +0 -1
  606. package/dist/core/types.d.ts +0 -2
  607. package/dist/core/types.d.ts.map +0 -1
  608. package/dist/core/uninstall.d.ts.map +0 -1
  609. package/dist/core/uninstall.js.map +0 -1
  610. package/dist/core/version.d.ts.map +0 -1
  611. package/dist/core/version.js.map +0 -1
  612. package/dist/utils/file-system.d.ts.map +0 -1
  613. package/dist/utils/file-system.js.map +0 -1
  614. /package/dist/{cli → app/cli}/index.d.ts +0 -0
  615. /package/dist/{commands → app/commands}/status.d.ts +0 -0
  616. /package/dist/{core → domains/bundle}/types.js +0 -0
  617. /package/dist/{utils → platform/fs}/file-system.d.ts +0 -0
  618. /package/dist/{utils → platform/fs}/file-system.js +0 -0
  619. /package/dist/{core → platform/install}/detect.d.ts +0 -0
  620. /package/dist/{core → platform/install}/platforms.d.ts +0 -0
  621. /package/dist/{core → platform/process}/command-error.d.ts +0 -0
  622. /package/dist/{core → platform/process}/command-error.js +0 -0
  623. /package/dist/{core → platform/version}/version.d.ts +0 -0
  624. /package/scripts/{postinstall.js → install/postinstall.js} +0 -0
package/README.md CHANGED
@@ -9,6 +9,7 @@
9
9
 
10
10
  <p align="center">
11
11
  <a href="https://github.com/rpamis/comet/actions/workflows/ci.yml"><img alt="CI" src="https://img.shields.io/github/actions/workflow/status/rpamis/comet/ci.yml?branch=master&style=flat-square&label=CI" /></a>
12
+ <a href="https://app.codecov.io/gh/rpamis/comet/tree/master"><img alt="codecov" src="https://img.shields.io/codecov/c/github/rpamis/comet/master?style=flat-square&label=coverage&color=%23E61A7A" /></a>
12
13
  <a href="https://deepwiki.com/rpamis/comet"><img alt="DeepWiki" src="https://img.shields.io/badge/DeepWiki-rpamis%2Fcomet-blue?style=flat-square" /></a>
13
14
  <a href="https://www.npmjs.com/package/@rpamis/comet"><img alt="npm version" src="https://img.shields.io/npm/v/@rpamis/comet?style=flat-square" /></a>
14
15
  <a href="https://www.npmjs.com/package/@rpamis/comet"><img alt="npm download count" src="https://img.shields.io/npm/dm/@rpamis/comet?style=flat-square&label=Downloads/mo" /></a>
@@ -31,15 +32,15 @@
31
32
  > [Bilibili video](https://www.bilibili.com/video/BV1y4Gi6CEo1/?spm_id_from=333.1387.homepage.video_card.click&vd_source=d22726fe6b108647dbebf1c5d8817377)
32
33
  > [DouYin](https://www.douyin.com/search/comet?aid=cd8fcc82-498b-4d59-8860-617deb719412&modal_id=7646429015808936293&type=general)
33
34
 
34
- **OpenSpec + Superpowers dual-star development workflow** one command from idea to archive.
35
+ **Comet is a resumable long-running task workflow and Skill platform for coding.**
35
36
 
36
- OpenSpec handles **WHAT** (outlines, proposals, spec lifecycle, archiving).
37
+ It uses a unified cross-platform runtime to connect OpenSpec artifacts, Superpowers execution methodology, Skill creation, evaluation, and release into a closed-loop workflow.
37
38
 
38
- Superpowers handles **HOW** (technical design, planning, execution, wrap-up).
39
-
40
- Comet chains both into a five-phase automated pipeline.
39
+ It allows you to use a toolchain to handle everything from requirements to archiving, combine any skill to make it like Comet, evolving your skills based on scientific **Rubric**, **Pass@k**, and **Pass^k** scoring.
41
40
 
42
41
  > [!IMPORTANT]
42
+ > **0.4.0-beta.1** — Comet has been upgraded to a pure Node runtime (no longer dependent on Bash/WSL) and brings three core capabilities: use `/comet-any` to combine **any** skill into a custom workflow, use `comet eval` to evaluate **any** skill and integrate it into the LangSmith system, and use `comet dashboard` to visualize each change in the browser.
43
+ >
43
44
  > **0.3.9** — Review mode (`off|standard|thorough`) controls Build/Verify code review with project defaults; init/update now use optional dependency prompts, broader CLI i18n, stronger phase guards, and macOS executable bits.
44
45
  >
45
46
  > **0.3.8** — Adds Kimi Code support, safe multi-platform `comet uninstall`, extended subagent dispatch, shared progressive-loading references, update checks, and pre-commit formatting.
@@ -48,64 +49,76 @@ Comet chains both into a five-phase automated pipeline.
48
49
  >
49
50
  > See [NEWS.md](NEWS.md) for details.
50
51
 
51
- ## Why Comet
52
-
53
- OpenSpec excels at managing requirements, creating proposals, managing Spec lifecycles, and archiving, but its proposals
54
- and tasks lack the detail of Superpowers brainstorming.
55
-
56
- Superpowers generates Spec documents after brainstorming, but these documents typically lack stateful design — after
57
- completing requirements, Specs only have tasks checked off in the document, and Agents even forget to check them off.
58
- This causes the Agent to re-examine documents and project code to verify on resumption, wasting many tokens.
59
-
60
- **Comet combines the strengths of both**, integrating the core workflow into 5 phases
61
-
62
- The main entry `/comet` supports current Spec state detection, suitable for long tasks — after closing your AI coding
63
- session midway, just `/comet` and Comet will automatically read the active Spec (lists multiple for selection),
64
- dynamically identify which phase is currently executing, and continue.
52
+ > Combining OpenSpec and Superpowers is not Comet's ultimate goal. We hope to track long-running skills like these and find the Harness capabilities that enable stable execution of long-running skills. If you are interested in participating, you are welcome to contribute to our project or learn from our source code.
65
53
 
66
- At the same time, Comet provides full Spec lifecycle management. During execution, it links OpenSpec change/spec
67
- artifacts with Superpowers design and planning documents, then automates handoff, state updates, validation, and archive
68
- sync so users do not have to repeatedly remind the Agent to keep documents synchronized and connected.
54
+ ## Why Comet
69
55
 
70
- ## What You'll Learn
56
+ - **The stable core for long-running tasks** — Comet's Classic Spec mode combines OpenSpec and Superpowers with a state
57
+ machine, phase guards, and scripts that connect the full lifecycle. Agents can only do the work allowed in the current
58
+ phase and can only exit after the phase work is complete. The core flow can advance automatically, with HITL only at
59
+ moments that need your confirmation.
60
+ - **Resumable workflow and intelligent routing** — Comet uses intent recognition to route each task toward the path it
61
+ needs. `/comet` remembers where a change stopped, supports zero-context recovery across devices, and removes the need
62
+ to memorize long Skill command names: use `/comet` to advance or resume your work.
63
+ - **Skill platform** — Comet can author reusable Skill packages and use `/comet-any` to organize them into distributable
64
+ Bundles, so Skills you create can be distributed to coding platforms with one command, much like `comet init`.
65
+ - **Eval platform** — Comet assesses your skills using scientific Rubric, Pass@k, and Pass^k scoring, ensuring skill evolution is based on scientific evidence rather than intuition. It supports integration with LangSmith assessments, bringing evaluation to real-world enterprise production environments. Its dual-agent architecture automates the assessment process in your production environment.
71
66
 
72
- Many excellent Skill projects exist in the current Skill market, but they generally have preference issues — users may
73
- only like some features. For example, when using both OpenSpec and Superpowers, one might only use OpenSpec's Spec
74
- management capabilities, but prefer Superpowers' TDD-driven approach for coding.
67
+ ## Extremely low memory threshold
75
68
 
76
- Long-term Skill users know these capabilities can be freely combined, but exactly how to do so still requires real
77
- practice. The Comet project can serve as a reference:
69
+ With Comet, you only need to remember two skills and one command, covering coding, creation, and evaluation with an extremely low barrier to entry:
78
70
 
79
- - **How to reliably trigger nested Skills** — Not letting the Agent rely on document descriptions to perform "look-alike
80
- Skill trigger" operations (like writing files based on Skill descriptions), but truly triggering Skills (key feature:
81
- Skill trigger prints on CC). Comet triggers many capabilities from OpenSpec and Superpowers. How is this Prompt
82
- written?
71
+ - Use `/comet` for coding tasks
72
+ - Use `/comet-any` to compose any Skills
73
+ - Use `comet eval` to evaluate any Skill
83
74
 
84
- - **How to make combined Skills flow automatically across phases** — Not relying on manual intervention. Comet's 5-phase
85
- flow can automatically trigger Skills for the core process except for necessary user choices, while the state machine
86
- also protects state transition reliability.
75
+ ## Comet 0.4.0 Baseline Comparison
87
76
 
88
- - **How to turn the Spec lifecycle into a resumable workflow** Comet links OpenSpec change/spec artifacts with
89
- Superpowers design and planning documents, then records phase, execution mode, verification results, and archive
90
- status in `.comet.yaml`, so the Agent can resume after interruption instead of rereading documents and guessing
91
- progress.
77
+ The following charts are from 16 Comet workflow tasks, with 5 samples per treatment, comparing no Comet, Comet 0.3.9, and Comet 0.4.0.
92
78
 
93
- - **How to turn document synchronization from "user reminders" into automation** Comet puts handoff, state updates,
94
- validation, and archive sync into scripted flows, reducing repeated prompts like "remember to update the design
95
- doc", "remember to sync the spec", and "remember to archive the change".
79
+ The core observations were the differences in Pass@5, Pass^5, and Rubric scores. The baseline without Comet Skills only validated business behavior.
96
80
 
97
- - **How to design guard conditions that Agents can execute** — Comet does not simply trust the Agent saying "done" at
98
- phase exits. Scripts such as `comet-guard.sh`, `comet-yaml-validate.sh`, and `comet-state.sh` check tasks, state
99
- fields, verification evidence, and archive conditions before allowing the workflow to advance.
81
+ <p align="center">
82
+ <img src="https://github.com/rpamis/comet/blob/master/img/comet-eval-pass5.png" alt="Comet pass@5 and pass^5 baseline comparison" width="920">
83
+ </p>
100
84
 
101
- - **How to distribute and install Skills across platforms** — Comet supports multiple AI coding platforms,
102
- project/global installation, Chinese/English Skill choices, and platform-specific directory differences such as
103
- Antigravity using different project-level and global paths. It can be a reference for CLI installers and Skill package
104
- structure.
85
+ <p align="center">
86
+ <img src="https://github.com/rpamis/comet/blob/master/img/comet-eval-rubric-core.png" alt="Comet core rubric and LLM-as-judge baseline comparison" width="920">
87
+ </p>
105
88
 
106
- - **How to turn shell scripts into Agent workflow infrastructure** — Comet's scripts need to work across macOS, Linux,
107
- and Windows Git Bash while handling hashes, YAML fields, state machines, and archive flows. It shows how to move
108
- fragile workflow control out of scattered Prompt text and into testable, reusable tools.
89
+ ## From Industry-Frontier Practice
90
+
91
+ Many Comet capabilities have parallels in current industry practice.
92
+
93
+ > To compare Comet with those patterns, see [Comet Docs](https://docs.comet.rpamis.com/zh/tech-blog/comet-vs-industry).
94
+
95
+ ## What You Can Learn
96
+
97
+ - **How to reliably trigger nested Skills** — not by making an agent perform something that merely looks like a Skill
98
+ trigger, such as writing files based on a Skill description, but by actually triggering the Skill. Comet invokes many
99
+ OpenSpec and Superpowers capabilities, with trigger prompts refined through broad real-world practice.
100
+ - **How to make composed Skills advance through multiple phases automatically** — not through manual intervention. Aside
101
+ from necessary user choices, Comet's five-phase flow can trigger core Skills automatically while the state machine keeps
102
+ transitions reliable.
103
+ - **How to make a Spec lifecycle resumable** — Comet links OpenSpec change/spec artifacts with Superpowers design and
104
+ plan documents, then records phase, execution mode, verification result, and archive status in `.comet.yaml`, so an
105
+ agent can continue after interruption instead of rereading documents and guessing progress.
106
+ - **How to turn doc synchronization from reminders into automation** — Comet scripts handoff, state updates, validation,
107
+ and archive sync, reducing repeated prompts such as "remember to update the design doc" or "remember to archive the
108
+ change."
109
+ - **How to design guard conditions that agents can execute** — phase exits do not rely on an agent saying "done." Scripts
110
+ such as `comet-guard.mjs`, `comet-yaml-validate.mjs`, and `comet-state.mjs` check tasks, state fields, verification
111
+ evidence, and archive conditions before the workflow advances.
112
+ - **How to distribute and install Skills across platforms** — Comet supports many AI coding platforms, project/global
113
+ install scopes, Chinese/English Skill variants, and platform-specific directories such as Antigravity's different
114
+ project/global paths.
115
+ - **How to turn scripts into agent workflow infrastructure** — Comet scripts handle hashes, YAML fields, state machines,
116
+ and archive flow, showing how workflow control that is easy to scatter across prompts can become testable, reusable
117
+ tooling.
118
+ - **How to evolve Skills through scientific evaluation** — Comet Eval supports structured rubric scoring plus Pass@k and
119
+ Pass^k metrics, with both local and LangSmith evaluation paths for production use.
120
+ - **How to create Comet-like Skills intelligently** — `/comet-any` composes arbitrary Skills. You describe your Skill
121
+ preferences, and the agent handles stability-related hooks, rules, scripts, and referenced Skill files for you.
109
122
 
110
123
  ## Install
111
124
 
@@ -114,7 +127,6 @@ Requirements:
114
127
  - Node.js 20+
115
128
  - npm/npx
116
129
  - Git
117
- - Bash-compatible shell for workflow scripts (Windows users should use Git Bash or an equivalent bash environment)
118
130
 
119
131
  ```bash
120
132
  npm install -g @rpamis/comet
@@ -127,20 +139,6 @@ cd your-project
127
139
  comet init
128
140
  ```
129
141
 
130
- `comet init` will:
131
-
132
- 1. Prompt you to select AI platforms (auto-detects existing configs)
133
- 2. Choose install scope: project-level (current directory) or global (home directory)
134
- 3. Select language for Comet skills: English or 中文
135
- 4. Select npm dependencies to install/upgrade — [OpenSpec](https://github.com/Fission-AI/OpenSpec) CLI, [Superpowers](https://github.com/obra/superpowers) (via `npx skills add`), and [CodeGraph](https://github.com/colbymchenry/codegraph) CLI. Items not yet detected default to checked; already-installed items default to unchecked so you can opt in to upgrades.
136
- 5. Install the selected dependencies and deploy their skills
137
- 6. Deploy Comet skills (in your chosen language) to selected platforms
138
- 7. Create `docs/superpowers/specs/` and `docs/superpowers/plans/` working directories for project-scope installs
139
-
140
- > [!TIP]
141
- > Superpowers v6.0.0+ is recommended — about 2× faster and ~50% fewer tokens than older versions.
142
- > To upgrade Comet itself later: `comet update` or `npm install -g @rpamis/comet@latest`.
143
-
144
142
  ## Support for OpenClaw and Hermes, and other AI platforms
145
143
 
146
144
  For platforms that use the generic `skills` CLI directly, you can install the Comet skill package with:
@@ -151,6 +149,8 @@ npx skills add rpamis/comet
151
149
 
152
150
  ## Screenshots
153
151
 
152
+ ### Classic Spec Skill
153
+
154
154
  <p align="center">
155
155
  <img src="https://github.com/rpamis/comet/blob/master/img/runner.png" alt="runner">
156
156
  </p>
@@ -158,6 +158,25 @@ npx skills add rpamis/comet
158
158
  <p align="center">Auto-install OpenSpec & Superpowers, one-click dev environment setup</p>
159
159
  <p align="center">Multi-phase Skill entry, auto-detects current Spec stage, auto-triggers core flow, manual review at key nodes</p>
160
160
 
161
+ ### Integration with LangSmith/LangFuse
162
+
163
+ Comet Eval's automated dual-agent architecture can integrate online with LangSmith/LangFuse environments, making experiments traceable and skills evolvable.
164
+
165
+ <p align="center">
166
+ <img src="https://github.com/rpamis/comet/blob/master/img/langsmith-dataset.png" alt="runner">
167
+ </p>
168
+ <p align="center">Manage your Skill baseline in LangSmith and view detailed performance metrics, latency, and token consumption</p>
169
+
170
+ <p align="center">
171
+ <img src="https://github.com/rpamis/comet/blob/master/img/langsmith-trace.png" alt="runner">
172
+ </p>
173
+ <p align="center">Trace your Claude Code in LangSmith</p>
174
+
175
+ <p align="center">
176
+ <img src="https://github.com/rpamis/comet/blob/master/img/langsmith-baseline-detail.png" alt="runner">
177
+ </p>
178
+ <p align="center">Trace custom Rubric metrics with Pytest in LangSmith</p>
179
+
161
180
  ## Commands
162
181
 
163
182
  <details>
@@ -166,10 +185,10 @@ npx skills add rpamis/comet
166
185
  Initializes OpenSpec, Superpowers, and Comet skills for selected AI coding platforms.
167
186
 
168
187
  | Option | Description |
169
- |---------------------|--------------------------------------------------------------------------------|
188
+ | ------------------- | ------------------------------------------------------------------------------ |
170
189
  | `--yes` | Non-interactive mode, auto-select detected platforms (or all if none detected) |
171
190
  | `--scope <scope>` | Install scope: `project` or `global` |
172
- | `--language <lang>` | Skill language: `en` or `zh` (skips interactive language prompt) |
191
+ | `--language <lang>` | Skill language: `en` or `zh` (skips interactive language prompt) |
173
192
  | `--skip-existing` | Skip already installed components |
174
193
  | `--overwrite` | Overwrite already installed components |
175
194
  | `--json` | Output structured JSON |
@@ -182,21 +201,45 @@ all, skip all, or choose per component.
182
201
  <details>
183
202
  <summary><code>comet status [path]</code> — Show active changes and next workflow command</summary>
184
203
 
185
- Displays active changes, task progress, and the recommended next Comet workflow command.
204
+ Displays active changes, task progress, the recommended next Comet workflow command, the current step, runtime mode,
205
+ and diagnostic recovery hints when a change is malformed or missing required evidence.
206
+
207
+ | Option | Description |
208
+ | -------- | ------------------------------------------------------------------------- |
209
+ | `--json` | Output active changes with `nextCommand`, `currentStep`, and runtime data |
210
+
211
+ </details>
212
+
213
+ <details>
214
+ <summary><code>comet dashboard [path]</code> — Launch local read-only dashboard server</summary>
215
+
216
+ Starts a local HTTP server that displays a visual dashboard with active changes, phase status, task progress, and archive history. Auto-opens in your browser by default.
217
+
218
+ <p align="center">
219
+ <img src="https://github.com/rpamis/comet/blob/master/img/dashboard-light.png" alt="Comet Dashboard Light" width="800">
220
+ </p>
221
+ <p align="center">
222
+ <img src="https://github.com/rpamis/comet/blob/master/img/dashboard-dark.png" alt="Comet Dashboard Dark" width="800">
223
+ </p>
224
+ <p align="center">Active change overview with phase indicators, task progress, and archive history</p>
186
225
 
187
- | Option | Description |
188
- |----------|------------------------------------------|
189
- | `--json` | Output active changes with `nextCommand` |
226
+ | Option | Description |
227
+ | ----------- | --------------------------------------------------------------------------- |
228
+ | `--port` | Server port (default: auto-selects available port) |
229
+ | `--no-open` | Don't auto-open the dashboard in browser |
230
+ | `--json` | Collect single snapshot and print JSON to stdout (for scripting/inspection) |
190
231
 
191
232
  </details>
192
233
 
193
234
  <details>
194
235
  <summary><code>comet doctor [path]</code> — Diagnose Comet installation health</summary>
195
236
 
196
- Checks project/global installation health, working directories, installed skills, scripts, and Comet state files.
237
+ Checks project/global installation health, working directories, installed skills, scripts, and active change
238
+ diagnostics. `comet doctor` reports diagnostic status for malformed `.comet.yaml` files, current step / runtime mode
239
+ for valid changes, and runtime evidence gaps that block safe resume.
197
240
 
198
241
  | Option | Description |
199
- |-------------------|-----------------------------------------------------------------|
242
+ | ----------------- | --------------------------------------------------------------- |
200
243
  | `--json` | Output structured diagnostic results |
201
244
  | `--scope <scope>` | Diagnose `auto`, `project`, or `global` scope (default: `auto`) |
202
245
 
@@ -208,7 +251,7 @@ Checks project/global installation health, working directories, installed skills
208
251
  Updates the npm package and refreshes installed Comet skills in detected project/global targets.
209
252
 
210
253
  | Option | Description |
211
- |---------------------|-----------------------------------------------|
254
+ | ------------------- | --------------------------------------------- |
212
255
  | `--json` | Output npm and skill update results as JSON |
213
256
  | `--language <lang>` | Override detected skill language (`en`, `zh`) |
214
257
  | `--scope <scope>` | Update only `global` or `project` scope |
@@ -220,11 +263,11 @@ Updates the npm package and refreshes installed Comet skills in detected project
220
263
 
221
264
  Safely removes Comet-distributed skills, rules, and hooks from all detected platforms. Preserves user-defined hooks and non-Comet configuration.
222
265
 
223
- | Option | Description |
224
- |-------------------|------------------------------------------------|
225
- | `--force` | Skip confirmation prompt |
226
- | `--scope <scope>` | Uninstall only `global` or `project` scope |
227
- | `--json` | Output removal results as JSON |
266
+ | Option | Description |
267
+ | ----------------- | ------------------------------------------ |
268
+ | `--force` | Skip confirmation prompt |
269
+ | `--scope <scope>` | Uninstall only `global` or `project` scope |
270
+ | `--json` | Output removal results as JSON |
228
271
 
229
272
  ```bash
230
273
  comet uninstall # Interactive — shows targets, asks for confirmation
@@ -234,41 +277,137 @@ comet uninstall --scope project # Only remove project-level installations
234
277
 
235
278
  </details>
236
279
 
280
+ <details>
281
+ <summary><code>comet eval [target]</code> — Evaluate Skills through the shared eval harness</summary>
282
+
283
+ `comet eval` answers a simple question: does this Skill actually work reliably on standard tasks?
284
+
285
+ The most common case is evaluating a Skill generated by `/comet-any`. Generated packages usually include
286
+ `comet/eval.yaml`; pass that file to `comet eval` first:
287
+
288
+ ```bash
289
+ comet eval ./generated-skill/comet/eval.yaml --collect
290
+ comet eval ./generated-skill/comet/eval.yaml --html
291
+ ```
292
+
293
+ The first command only performs discovery and preflight checks, confirming that the manifest, tasks, and dependency paths
294
+ can be found before any expensive evaluation work runs. The second command runs local evaluation and writes a browsable
295
+ report suitable for publish-readiness evidence. The report path is printed by the command and is usually under
296
+ `eval/local/logs/experiments/<experiment-id>/summary.html`.
297
+
298
+ If you do not have `comet/eval.yaml` yet and only have a local Skill directory, start with a low-cost smoke run:
299
+
300
+ ```bash
301
+ comet eval ./my-skill --quick --html
302
+ ```
303
+
304
+ That path is useful early on: it checks that the Skill directory can be read, injected into the eval harness, and run
305
+ against the generic smoke task. For release evidence, prefer generating `comet/eval.yaml` through `/comet-any` and using
306
+ the manifest path.
307
+
308
+ ### Reading Local Eval
309
+
310
+ Local eval is the normal path for day-to-day development and pre-release checks. In the HTML report, look first at:
311
+
312
+ - whether pass/fail and rubric scores match expectations
313
+ - whether failures are attributed to the Skill, workflow, task, model, or environment/harness
314
+ - whether expected artifacts are missing
315
+ - whether token use, cost, or duration look unusual
316
+ - whether the result is clean enough, or a specific task/treatment should be rerun
317
+
318
+ If the report says `Insufficient clean data` or `Inconclusive due to data quality`, check auth, rate limits,
319
+ Docker/container setup, network, and other environment issues before treating the run as a Skill-quality verdict.
320
+
321
+ ### LangSmith Eval
322
+
323
+ Use the LangSmith suite when you want to sync eval results to LangSmith, or when your team wants to inspect runs, rubric
324
+ feedback, costs, and Claude Code trajectories together. It reuses the same tasks, treatments, rubric, and
325
+ `comet/eval.yaml`; the difference is that results are uploaded to LangSmith.
326
+
327
+ Prepare dependencies and environment variables once:
328
+
329
+ ```bash
330
+ cd eval
331
+ uv sync --extra langsmith
332
+ ```
333
+
334
+ ```bash
335
+ LANGSMITH_API_KEY=lsv2_pt_...
336
+ LANGSMITH_PROJECT=comet-skill-eval
337
+ LANGSMITH_TRACING=true
338
+ ```
339
+
340
+ Then run the same manifest:
341
+
342
+ ```bash
343
+ cd eval
344
+ uv run pytest langsmith/tests/tasks/test_tasks.py \
345
+ --eval-manifest=/absolute/path/to/generated-skill/comet/eval.yaml -v
346
+ ```
347
+
348
+ In PowerShell, set `$env:LANGSMITH_API_KEY`, `$env:LANGSMITH_PROJECT`, and `$env:LANGSMITH_TRACING`, or place them in
349
+ `eval/.env`. See [eval/langsmith/README.md](eval/langsmith/README.md) for plugin cache and trajectory tracing details.
350
+
351
+ ### Which Path To Use
352
+
353
+ - Day-to-day development: `comet eval ./my-skill --quick --html`
354
+ - `/comet-any` output: `comet eval ./generated-skill/comet/eval.yaml --collect`, then rerun with `--html`
355
+ - Publish evidence: prefer the local HTML report from `comet/eval.yaml`
356
+ - Team tracing and side-by-side comparison: run the same `comet/eval.yaml` through the LangSmith suite
357
+
358
+ For full task, treatment, report, and troubleshooting details, see the [Eval usage guide](docs/operations/EVAL-USAGE.md).
359
+
360
+ </details>
361
+
362
+ <details>
363
+ <summary><code>/comet-any</code> / <code>comet creator</code> / <code>comet publish</code> — Create, evaluate, and publish Skills</summary>
364
+
365
+ `/comet-any` is the main user path: Create or optimize a reusable Skill → validate it with `comet eval` → review and
366
+ distribute it, until it becomes a stable composed Skill. For resume and release, use `comet creator`,
367
+ `comet creator status` / `comet creator next`, `comet publish`, and `comet publish distribute --preview`. The README
368
+ does not expand the backend command list; see the [Skill creation guide](docs/operations/SKILL-CREATION.md) for Advanced Bundle backend and Advanced Engine Run details, including `comet skill run` / `comet skill continue`.
369
+
370
+ </details>
371
+
372
+ <details>
373
+ <summary><code>comet --help</code> / <code>comet --version</code> — Basic information</summary>
374
+
237
375
  | Command | Description |
238
- |-------------------|--------------|
376
+ | ----------------- | ------------ |
239
377
  | `comet --help` | Show help |
240
378
  | `comet --version` | Show version |
241
379
 
380
+ </details>
381
+
242
382
  ## Supported Platforms
243
383
 
244
- `comet init` supports 29 AI coding platforms:
384
+ `comet init` supports 33 AI coding platforms:
245
385
 
246
386
  <details>
247
387
  <summary>View full platform list</summary>
248
388
 
249
- | Platform | Skills Dir | Platform | Skills Dir |
250
- |--------------------|--------------|------------|---------------|
251
- | Claude Code | `.claude/` | Cursor | `.cursor/` |
252
- | Codex | `.codex/` | OpenCode | `.opencode/` |
253
- | Windsurf | `.windsurf/` | Cline | `.cline/` |
254
- | RooCode | `.roo/` | Continue | `.continue/` |
255
- | GitHub Copilot | `.github/` | Gemini CLI | `.gemini/` |
256
- | Amazon Q Developer | `.amazonq/` | Qwen Code | `.qwen/` |
257
- | Kilo Code | `.kilocode/` | Auggie | `.augment/` |
258
- | Kimi Code | `.kimi-code/`| Kiro | `.kiro/` |
259
- | Lingma | `.lingma/` | Junie | `.junie/` |
260
- | CodeBuddy | `.codebuddy/`| CoStrict | `.cospec/` |
261
- | Crush | `.crush/` | Factory Droid | `.factory/` |
262
- | iFlow | `.iflow/` | Pi | `.pi/` |
263
- | Qoder | `.qoder/` | Antigravity | `.agents/` |
264
- | Bob Shell | `.bob/` | ForgeCode | `.forge/` |
265
- | Trae | `.trae/` | | |
389
+ | Platform | Skills Dir | Platform | Skills Dir |
390
+ | ------------------ | ------------- | ------------- | ------------ |
391
+ | Claude Code | `.claude/` | Cursor | `.cursor/` |
392
+ | Codex | `.codex/` | OpenCode | `.opencode/` |
393
+ | Windsurf | `.windsurf/` | Cline | `.cline/` |
394
+ | RooCode | `.roo/` | Continue | `.continue/` |
395
+ | GitHub Copilot | `.github/` | Gemini CLI | `.gemini/` |
396
+ | Amazon Q Developer | `.amazonq/` | Qwen Code | `.qwen/` |
397
+ | Kilo Code | `.kilocode/` | Auggie | `.augment/` |
398
+ | Kimi Code | `.kimi-code/` | Kiro | `.kiro/` |
399
+ | Lingma | `.lingma/` | Junie | `.junie/` |
400
+ | CodeBuddy | `.codebuddy/` | CoStrict | `.cospec/` |
401
+ | Crush | `.crush/` | Factory Droid | `.factory/` |
402
+ | iFlow | `.iflow/` | Pi | `.pi/` |
403
+ | Qoder | `.qoder/` | Antigravity | `.agents/` |
404
+ | Antigravity 2.0 | `.agents/` | Bob Shell | `.bob/` |
405
+ | ForgeCode | `.forge/` | Trae | `.trae/` |
406
+ | Trae CN | `.trae-cn/` | ZCode | `.zcode/` |
407
+ | MimoCode | `.mimocode/` | | |
266
408
 
267
409
  </details>
268
410
 
269
- Some platforms use different project and global directories. For example, OpenCode global installs use
270
- `.config/opencode`, Lingma global installs use `.lingma`, and Antigravity global installs use `.gemini/antigravity`.
271
-
272
411
  ## Skills
273
412
 
274
413
  After `comet init`, three groups of skills are installed to the selected platform's `skills/` directory:
@@ -278,16 +417,17 @@ After `comet init`, three groups of skills are installed to the selected platfor
278
417
  <details>
279
418
  <summary>View Comet skills</summary>
280
419
 
281
- | Skill | Description |
282
- |------------------|----------------------------------------------------------------|
283
- | `/comet` | Main entry — auto-detects phase and dispatches to sub-commands |
284
- | `/comet-open` | Phase 1: Open a change (proposal, design, task breakdown) |
285
- | `/comet-design` | Phase 2: Deep design (brainstorming, Design Doc) |
286
- | `/comet-build` | Phase 3: Plan and build (implementation plan, code commits) |
287
- | `/comet-verify` | Phase 4: Verify and finish (testing, verification report) |
288
- | `/comet-archive` | Phase 5: Archive (delta spec sync, status annotation) |
289
- | `/comet-hotfix` | Preset: Quick bug fix (skips brainstorming) |
290
- | `/comet-tweak` | Preset: Small change (skips brainstorming and full plan) |
420
+ | Skill | Description |
421
+ | ---------------- | ----------------------------------------------------------------------------------------------------- |
422
+ | `/comet` | Main entry — auto-detects phase and dispatches to sub-commands |
423
+ | `/comet-open` | Phase 1: Open a change (proposal, design, task breakdown) |
424
+ | `/comet-design` | Phase 2: Deep design (brainstorming, Design Doc) |
425
+ | `/comet-build` | Phase 3: Plan and build (implementation plan, code commits) |
426
+ | `/comet-verify` | Phase 4: Verify and finish (testing, verification report) |
427
+ | `/comet-archive` | Phase 5: Archive (delta spec sync, status annotation) |
428
+ | `/comet-hotfix` | Preset: Quick bug fix (skips brainstorming) |
429
+ | `/comet-tweak` | Preset: OpenSpec-chained medium change (delta spec is first-class, skips brainstorming and full plan) |
430
+ | `/comet-any` | Comet Skill Creator — Create or optimize a reusable Skill |
291
431
 
292
432
  </details>
293
433
 
@@ -296,25 +436,20 @@ After `comet init`, three groups of skills are installed to the selected platfor
296
436
  <details>
297
437
  <summary>View script list</summary>
298
438
 
299
- | Script | Purpose |
300
- |--------------------------|-----------------------------------------------------------------------------------------------------------------------------------|
301
- | `comet-env.sh` | Script discovery helper — exports bundled script paths such as `COMET_GUARD`, `COMET_STATE`, `COMET_HANDOFF`, and `COMET_ARCHIVE` |
302
- | `comet-guard.sh` | Phase transition guard — validates exit conditions, `--apply` auto-updates `.comet.yaml` |
303
- | `comet-handoff.sh` | Design handoff — generates deterministic context packages from OpenSpec artifacts with SHA256 tracing |
304
- | `comet-archive.sh` | One-command archive — validates state, syncs specs, moves to archive, updates status |
305
- | `comet-yaml-validate.sh` | Schema validator — validates `.comet.yaml` structure and field values |
306
- | `comet-hook-guard.sh` | Phase write guardPreToolUse hook, blocks file writes during open/design/archive phases |
307
- | `comet-state.sh` | Unified state managementinit/set/get/check/scale, agents' exclusive YAML interface |
308
-
309
- </details>
310
-
311
- ### OpenSpec Skills
312
-
313
- Spec lifecycle management: propose, explore, sync, verify, archive, and more.
439
+ | Script | Purpose |
440
+ | ------------------------- | ---------------------------------------------------------------------------------------------------------- |
441
+ | `comet-env.mjs` | Script discovery helper — prints the bundled scripts directory so skills can resolve sibling command paths |
442
+ | `comet-guard.mjs` | Phase transition guard — validates exit conditions, `--apply` auto-updates `.comet.yaml` |
443
+ | `comet-handoff.mjs` | Design handoff — generates deterministic context packages from OpenSpec artifacts with SHA256 tracing |
444
+ | `comet-archive.mjs` | One-command archive — validates state, syncs specs, moves to archive, updates status |
445
+ | `comet-yaml-validate.mjs` | Schema validator — validates `.comet.yaml` structure and field values |
446
+ | `comet-state.mjs` | Unified state managementinit/set/get/check/scale, agents' exclusive YAML interface |
447
+ | `comet-hook-guard.mjs` | Phase write guardPreToolUse hook, blocks file writes during open/design/archive phases |
314
448
 
315
- ### Superpowers Skills
449
+ Classic automation ships as independent Node.js command scripts generated from TypeScript. They run through `node`
450
+ on every platform, so Comet requires only Node.js — no Bash, Git Bash, or WSL.
316
451
 
317
- Development methodology: brainstorming, TDD, subagent-driven development, code review, plan writing, and more.
452
+ </details>
318
453
 
319
454
  ## Workflow
320
455
 
@@ -327,41 +462,47 @@ Development methodology: brainstorming, TDD, subagent-driven development, code r
327
462
  /comet-hotfix (preset path, skips brainstorming)
328
463
  open --> build --> verify --> archive
329
464
 
330
- /comet-tweak (preset path, skips brainstorming and full plan)
331
- open --> lightweight build --> light verify --> archive
465
+ /comet-tweak (lightweight preset, chains OpenSpec)
466
+ open --> build --> verify --> archive
332
467
  ```
333
468
 
334
469
  ### Five Phases
335
470
 
336
471
  | Phase | Command | Owner | Artifacts |
337
- |--------------------|------------------|-------------|--------------------------------------|
472
+ | ------------------ | ---------------- | ----------- | ------------------------------------ |
338
473
  | 1. Open | `/comet-open` | OpenSpec | proposal.md, design.md, tasks.md |
339
474
  | 2. Deep Design | `/comet-design` | Superpowers | Design Doc, delta spec |
340
475
  | 3. Plan & Build | `/comet-build` | Superpowers | Implementation plan, code commits |
341
476
  | 4. Verify & Finish | `/comet-verify` | Both | Verification report, branch handling |
342
477
  | 5. Archive | `/comet-archive` | OpenSpec | delta→main spec sync, archive |
343
478
 
344
- ### Core Principles
479
+ ### State Management
480
+
481
+ Comet uses a decoupled state architecture with separate files
345
482
 
346
- - **Brainstorming is non-skippable** — every change must go through deep design (except hotfix/tweak)
347
- - **Delta specs are living documents** — freely editable during Phase 3, synced at archive
348
- - **Keep tasks.md in sync** — check off each task as completed
349
- - **Commit frequently** — one commit per task, message reflects design intent
350
- - **Verify before archive** — `/comet-verify` must pass before `/comet-archive`
483
+ <details>
484
+ <summary>View State Management</summary>
351
485
 
352
- ### State Management
486
+ | File | Owner | Purpose |
487
+ | --------------------------- | -------- | --------------------------------------------------- |
488
+ | `.openspec.yaml` | OpenSpec | Spec lifecycle, change metadata |
489
+ | `.comet.yaml` | Comet | Workflow phase, execution mode, verification status |
490
+ | `.comet/run-state.json` | Engine | Run identity and execution state (machine-owned) |
491
+ | `.comet/state-events.jsonl` | Comet | Append-only state transition audit log |
353
492
 
354
- Comet uses a decoupled state architecture with separate YAML files:
493
+ `.comet.yaml` stores Classic workflow state and only keeps `run_id` as the link to the Engine Run. Machine-owned Engine
494
+ state lives in `.comet/run-state.json` with camelCase fields such as `currentStep`, `status`, and `iteration`. Legacy
495
+ Run fields left in YAML are migrated after compatibility reads, and `skill` is no longer a valid current
496
+ `.comet.yaml` field.
355
497
 
356
- | File | Owner | Purpose |
357
- |------------------|----------|-----------------------------------------------------|
358
- | `.openspec.yaml` | OpenSpec | Spec lifecycle, change metadata |
359
- | `.comet.yaml` | Comet | Workflow phase, execution mode, verification status |
498
+ Phase progression is handled consistently by the TypeScript transition table, `comet-state transition`,
499
+ `comet-guard --apply`, and archive commands. Each successful progression appends an audit event to
500
+ `.comet/state-events.jsonl` with the source, before/after state, and actual field changes.
360
501
 
361
- All states and execution phases are updated via scripts, and each phase verifies that tasks are truly complete before
362
- advancing. Compared to storing complex state rules only in Skill text, this script-backed state machine gives Comet more
363
- reliable phase transitions, correct YAML, and easier breakpoint recovery; agents can read the current Spec situation
364
- through Comet's built-in commands.
502
+ This keeps Skill text focused on guiding the agent while scripts own state writes, phase checks, auditability, and
503
+ breakpoint recovery. Agents can use Comet commands to know which phase the current Spec is in.
504
+
505
+ </details>
365
506
 
366
507
  <details>
367
508
  <summary>View key .comet.yaml fields</summary>
@@ -369,39 +510,37 @@ through Comet's built-in commands.
369
510
  **Key Fields in `.comet.yaml`:**
370
511
 
371
512
  ```yaml
372
- workflow: full
373
- auto_transition: true
374
- phase: build
375
- build_mode: subagent-driven-development
376
- build_pause: null
377
- isolation: branch
378
- verify_mode: null
379
- tdd_mode: null
380
- subagent_dispatch: null
381
- design_doc: docs/superpowers/specs/YYYY-MM-DD-topic-design.md
382
- plan: docs/superpowers/plans/YYYY-MM-DD-feature.md
383
- verify_result: pending
384
- verification_report: null
385
- branch_status: pending
386
- verified_at: null
387
- archived: false
388
- direct_override: false
389
- build_command: null
390
- verify_command: null
391
- handoff_context: openspec/changes/<name>/.comet/handoff/design-context.json
392
- handoff_hash: <sha256>
513
+ workflow: full # Workflow type: full | tweak | hotfix
514
+ phase: build # Current phase: open | design | build | verify | archive
515
+ context_compression: off # Context compression: off | beta
516
+ auto_transition: true # Auto-invoke the next Skill after phase completion
517
+ base_ref: <git-sha-or-null> # Baseline commit captured at init; may be null
518
+ created_at: YYYY-MM-DD # Creation date written by comet-state.mjs init
519
+ run_id: <uuid> # Links to .comet/run-state.json only; Run details stay out of YAML
520
+ review_mode: standard # Automatic review strength: off | standard | thorough
521
+ build_mode: subagent-driven-development # Build mode: subagent-driven-development | executing-plans | direct
522
+ build_pause: null # `build_pause` records an internal build-phase pause point: null none, `plan-ready` means the plan has been generated
523
+ subagent_dispatch: null # Dispatch confirmation; confirm before verify
524
+ tdd_mode: null # Full-workflow build choice: tdd | direct
525
+ isolation: branch # Isolation mode: branch | worktree
526
+ verify_mode: null # Verification mode: light | full
527
+ design_doc: docs/superpowers/specs/<design-doc>.md # Design doc path
528
+ plan: docs/superpowers/plans/YYYY-MM-DD-feature.md # Implementation plan path
529
+ verify_result: pending # Verification result: pending | pass | fail
530
+ verification_report: null # Verification report path; must exist before verify-pass
531
+ branch_status: pending # Branch handling status: pending | handled
532
+ verified_at: null # Verification timestamp; null before verification passes
533
+ archived: false # Archived changes are blocked from further mutation
534
+ direct_override: null # Must be true when a full workflow chooses direct build
535
+ build_command: null # Optional build command; may also live in repo-root config
536
+ verify_command: null # Optional verify command; may also live in repo-root config
537
+ handoff_context: null # Design handoff context path written by comet-handoff.mjs
538
+ handoff_hash: null # SHA256 for handoff_context; 64 hex chars when present
539
+ classic_profile: full # Machine-maintained Classic profile
540
+ classic_migration: 1 # Machine-maintained migration version
393
541
  ```
394
542
 
395
- In full workflow, `build_mode`, `build_pause`, `isolation`, `verify_mode`, `tdd_mode`, and `subagent_dispatch` may
396
- temporarily be `null`; `build_mode` and `isolation` must be resolved before `build → verify`. `auto_transition` controls automatic vs manual skill invocation after phase completion — see [AUTO-TRANSITION.md](docs/AUTO-TRANSITION.md). `build_pause` records an internal build-phase pause point:
397
- `null` means no pause, while `plan-ready` means the plan has been generated and the user paused before choosing
398
- isolation and execution mode. It is not an execution mode and must not be written into `build_mode`.
399
- `verification_report` stays `null` until verification writes a report, and `verify-pass` requires that report to exist
400
- plus `branch_status: handled`. Fields after `archived` in the example are optional or script-derived: `direct_override`
401
- is only needed for full-workflow direct builds, project commands may be absent unless configured, and
402
- `handoff_context` / `handoff_hash` are recorded by `comet-handoff.sh` before leaving design. Projects can configure
403
- `build_command` / `verify_command` in the change or repo root, and guard will run those commands first and print failure
404
- output.
543
+ Current `.comet.yaml` no longer contains `skill`; legacy Run fields in YAML are migrated to `.comet/run-state.json`.
405
544
 
406
545
  </details>
407
546
 
@@ -413,57 +552,64 @@ Comet ensures agent execution reliability through automated state transitions:
413
552
  <summary>View reliability features</summary>
414
553
 
415
554
  1. **Entry Verification** — Each phase validates preconditions before execution
416
- - Checks file existence, state consistency, and phase transitions
417
- - Outputs `[HARD STOP]` with actionable suggestions if validation fails
555
+ - Checks file existence, state consistency, and phase transitions
556
+ - Outputs `[HARD STOP]` with actionable suggestions if validation fails
418
557
 
419
- 2. **Automated State Transitions** — `comet-guard.sh --apply` updates `.comet.yaml` automatically
420
- - All phase transitions (open → design/build → verify → archive) use `guard --apply`
421
- - No manual state editing required — eliminates write-verification errors
422
- - `comet-state.sh` is the agents' exclusive interface for state operations
423
- - Guard and archive scripts use `comet-state.sh` internally for state management
558
+ 2. **Automated State Transitions** — `comet-guard.mjs --apply` updates `.comet.yaml` automatically
559
+ - All phase transitions (open → design/build → verify → archive) use `guard --apply`
560
+ - No manual state editing required — eliminates write-verification errors
561
+ - `comet-state.mjs` is the agents' exclusive interface for state operations
562
+ - Guard and archive scripts use `comet-state.mjs` internally for state management
424
563
 
425
- 3. **Schema Validation** — `comet-yaml-validate.sh` ensures data integrity
426
- - Validates required and optional fields
427
- - Validates enum values, including `direct_override`
428
- - Validates `design_doc`, `plan`, and `handoff_context` paths exist, plus `handoff_hash` format
429
- - Detects unknown/typos fields
564
+ 3. **Schema Validation** — `comet-yaml-validate.mjs` ensures data integrity
565
+ - Validates required and optional fields
566
+ - Validates enum values, including `direct_override`
567
+ - Validates `design_doc`, `plan`, and `handoff_context` paths exist, plus `handoff_hash` format
568
+ - Detects unknown/typos fields
430
569
 
431
570
  4. **Build Decision Enforcement** — Guard and state transitions both block skipped build choices
432
- - `isolation` must be `branch` or `worktree`
433
- - `build_mode` must be selected before leaving build
434
- - `build_pause: plan-ready` is a recoverable pause after plan generation, not a `build_mode`
435
- - Full workflow `build_mode: direct` requires `direct_override: true`
571
+ - `isolation` must be `branch` or `worktree`
572
+ - `build_mode` must be selected before leaving build
573
+ - `build_pause: plan-ready` is a recoverable pause after plan generation, not a `build_mode`
574
+ - Full workflow `build_mode: direct` requires `direct_override: true`
436
575
 
437
576
  5. **Verification Evidence** — Guard enforces proof before phase advance
438
- - `verify-pass` transition requires `verification_report` pointing to an existing report file
439
- - `branch_status` must be `handled` before verify can pass
440
- - Guard checks `verification_report exists` and `branch_status=handled` as hard prerequisites
441
- - Prevents false phase advances when verification or branch handling was skipped
442
-
443
- 6. **Archive Automation** — `comet-archive.sh` handles the full archive flow in one command
444
- - Validates entry state, merges delta specs into main specs through OpenSpec
445
- - Annotates design doc and plan frontmatter
446
- - Moves change to archive directory and updates `archived: true`
447
- - Supports `--dry-run` for preview
577
+ - `verify-pass` transition requires `verification_report` pointing to an existing report file
578
+ - `branch_status` must be `handled` before verify can pass
579
+ - Guard checks `verification_report exists` and `branch_status=handled` as hard prerequisites
580
+ - Prevents false phase advances when verification or branch handling was skipped
581
+
582
+ 6. **Archive Automation** — `comet-archive.mjs` handles the full archive flow in one command
583
+ - Validates entry state, merges delta specs into main specs through OpenSpec
584
+ - Annotates design doc and plan frontmatter
585
+ - Moves change to archive directory and updates `archived: true`
586
+ - Supports `--dry-run` for preview
587
+
588
+ 7. **Anti-drift Phase Guards** — Phase awareness for long-context sessions
589
+ - Rule layer: `comet-phase-guard.md` injects phase awareness, Skill invocation rules, and context recovery guidance
590
+ each turn across platforms
591
+ - Hook layer: `comet-hook-guard.mjs` hard-blocks file writes during open/design/archive phases on platforms that
592
+ support hooks, such as Claude Code
593
+ - Allowlisted paths: `openspec/*`, `docs/superpowers/*`, `.superpowers/*`, `.claude/*`, and `.comet/*`
448
594
 
449
595
  </details>
450
596
 
451
- ## Project Structure
597
+ ## Classic Spec Mode Project Structure
452
598
 
453
599
  ```
454
600
  your-project/
455
601
  ├── .comet/
456
- │ └── config.yaml # Project-level global config (context_compression, auto_transition, etc.)
602
+ │ └── config.yaml # Project-level global config (context_compression, review_mode, auto_transition)
457
603
  ├── .claude/skills/ # Platform skills dir (Comet + OpenSpec + Superpowers)
458
604
  │ ├── comet/SKILL.md
459
605
  │ │ └── scripts/
460
- │ │ ├── comet-guard.sh # Phase transition guard (--apply auto-updates state)
461
- │ │ ├── comet-env.sh # Script discovery helper
462
- │ │ ├── comet-handoff.sh # Design handoff (OpenSpec → Superpowers context tracing)
463
- │ │ ├── comet-archive.sh # One-command archive automation
464
- │ │ ├── comet-yaml-validate.sh # Schema validator
465
- │ │ ├── comet-hook-guard.sh # Phase write guard (PreToolUse hook)
466
- │ │ └── comet-state.sh # Unified state management (init/set/get/check/scale)
606
+ │ │ ├── comet-guard.mjs # Phase transition guard (--apply auto-updates state)
607
+ │ │ ├── comet-env.mjs # Script discovery helper
608
+ │ │ ├── comet-handoff.mjs # Design handoff (OpenSpec → Superpowers context tracing)
609
+ │ │ ├── comet-archive.mjs # One-command archive automation
610
+ │ │ ├── comet-yaml-validate.mjs # Schema validator
611
+ │ │ ├── comet-hook-guard.mjs # Phase write guard (PreToolUse hook)
612
+ │ │ └── comet-state.mjs # Unified state management (init/set/get/check/scale)
467
613
  │ ├── comet-*/SKILL.md
468
614
  │ ├── openspec-*/SKILL.md
469
615
  │ └── brainstorming/SKILL.md
@@ -472,7 +618,10 @@ your-project/
472
618
  │ └── changes/
473
619
  │ └── <name>/
474
620
  │ ├── .openspec.yaml # OpenSpec state
475
- │ ├── .comet.yaml # Comet workflow state (decoupled)
621
+ │ ├── .comet.yaml # Comet workflow state (Classic fields + run_id link)
622
+ │ ├── .comet/
623
+ │ │ ├── run-state.json # Engine Run state (machine-owned, auto-migrated)
624
+ │ │ └── state-events.jsonl # State transition audit log (append-only)
476
625
  │ ├── proposal.md
477
626
  │ ├── design.md
478
627
  │ ├── specs/<capability>/spec.md
@@ -485,11 +634,11 @@ your-project/
485
634
  <details>
486
635
  <summary>Context Compression (Beta)</summary>
487
636
 
488
- Comet supports context compression at the Design → Build handoff. When enabled, `comet-handoff.sh` generates a compact
637
+ Comet supports context compression at the Design → Build handoff. When enabled, `comet-handoff.mjs` generates a compact
489
638
  context package that reduces Build-phase input tokens by **25–30%** without affecting implementation correctness.
490
639
 
491
640
  | Mode | Behavior | Token Savings |
492
- |--------|------------------------------------------|---------------|
641
+ | ------ | ---------------------------------------- | ------------- |
493
642
  | `off` | Full Spec excerpts in handoff context | Baseline |
494
643
  | `beta` | Design Doc + SHA256 hash references only | ~25–30% |
495
644
 
@@ -512,9 +661,9 @@ reproduction steps.
512
661
  `auto_transition` controls whether Comet automatically invokes the next skill after a phase completes, or pauses for
513
662
  manual handoff. Phase advancement itself always happens — this setting only affects skill invocation.
514
663
 
515
- | Value | Behavior |
516
- |--------|----------|
517
- | `true` | Auto-invoke the next skill after each phase (default) |
664
+ | Value | Behavior |
665
+ | ------- | ------------------------------------------------------------- |
666
+ | `true` | Auto-invoke the next skill after each phase (default) |
518
667
  | `false` | Pause after each phase; user manually triggers the next skill |
519
668
 
520
669
  Three-layer configuration with precedence: `COMET_AUTO_TRANSITION` env var > `.comet/config.yaml` (project) > `.comet.yaml` (change).
@@ -537,7 +686,7 @@ Track our development progress and upcoming features on the [Comet Roadmap](http
537
686
 
538
687
  ## Star History
539
688
 
540
- [![Star History Chart](https://api.star-history.com/svg?repos=rpamis/comet&type=Date)](https://star-history.com/#rpamis/comet&Date)
689
+ [![Star History Chart](https://api.star-history.com/chart?repos=rpamis/comet&type=date&legend=top-left&sealed_token=vRfs1efclBxdyNz7q0GUHGe9kUU96aSUCa1eHI8CEWehNHvZoop01eCjM0jpVMgeYBjvnGBcd0OUHnhQBC8p6gXP2Drpmo3pLXl_r0prKSuNW6OTqddOBCgaPtSt_KDlRgXjHZhx94_zcXWkIg5HOJEjPq4Qp2TMEa6inFxm7TixQQRIdPgKw2Z00nie)](https://www.star-history.com/?repos=rpamis%2Fcomet&type=date&legend=top-left)
541
690
 
542
691
  ## Contributors
543
692