@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
@@ -0,0 +1,74 @@
1
+ # CometIntentFrame 字段参考
2
+
3
+ 本文件只在需要解释字段含义时读取。正常 `/comet` 路由只需按主 Skill 的最小骨架填写;runtime 会补齐省略字段并输出最终 `route`。
4
+
5
+ ## 顶层字段
6
+
7
+ | 字段 | 含义 |
8
+ |------|------|
9
+ | `schema_version` | frame 版本,当前固定为 `comet.intent.v1`。 |
10
+ | `utterance` | 触发 `/comet` 的用户原话。 |
11
+ | `intent` | 用户高层意图和置信度。低于 runtime 阈值时会路由到 `ask_user`。 |
12
+ | `slots` | 从用户原话归一化出来的路由槽位。 |
13
+ | `context` | 从仓库状态读取的上下文,不是用户原话抽取结果。 |
14
+ | `evidence` | 支撑关键判断的证据。缺少关键 evidence 时 runtime 会倾向 `ask_user`。 |
15
+ | `proposed_route` | Agent 提交的候选路由。最小输入只需 `name` 和 `confidence`,runtime 会复核并输出最终 `route`。 |
16
+
17
+ ## `intent`
18
+
19
+ | 字段 | 含义 |
20
+ |------|------|
21
+ | `intent.name` | 用户高层意图:启动、恢复、修 bug、小改、提问或未知。 |
22
+ | `intent.confidence` | Agent 对高层意图判断的置信度。它参与低置信度 fallback;`proposed_route.confidence` 不参与。 |
23
+
24
+ ## `slots`
25
+
26
+ | 字段 | 含义 |
27
+ |------|------|
28
+ | `requested_action` | 用户想执行的动作,例如 `start`、`resume`、`continue`、`fix`、`modify`、`create`、`verify`、`archive`、`question`。 |
29
+ | `workflow_candidate` | Agent 推断的候选流程:`full`、`hotfix`、`tweak` 或 `null`。这是推断值,runtime 会复核。 |
30
+ | `user_explicit_workflow` | 用户是否明确指定流程。用户说“走 hotfix”时填 `hotfix`;没明确说时填 `null`。显式流程与风险信号冲突时仍会 `ask_user`。 |
31
+ | `change_id` | 用户指定要恢复或操作的 active change 名。没有指定时填 `null`。 |
32
+ | `existing_behavior` | 是否在修复已有行为或回归。`true` 且没有新增能力/API/schema/跨模块风险时倾向 `hotfix`。 |
33
+ | `new_capability` | 是否新增能力。命中时通常倾向 `full`。 |
34
+ | `public_api_change` | 是否改变用户可见接口或契约,例如 CLI 参数、配置字段、输出 JSON、Skill 对外流程。命中时通常倾向 `full`。 |
35
+ | `schema_change` | 是否改变结构化数据格式,例如 `.comet.yaml`、`run-state.json`、eval manifest、bundle manifest、配置 schema。命中时通常倾向 `full`。 |
36
+ | `cross_module_change` | 是否跨模块或跨 workflow 边界协作。命中时通常倾向 `full`。 |
37
+ | `target_area` | 可选解释字段,表示用户提到的目标区域。最小骨架不需要填写。 |
38
+ | `scope` | 可选解释字段,表示粗略范围大小。当前 scorer 不让它单独主导路由,最小骨架不需要填写。 |
39
+
40
+ ## `context`
41
+
42
+ | 字段 | 含义 |
43
+ |------|------|
44
+ | `active_changes_count` | `openspec list --json` 得到的未归档 active change 数量。多个 active change 且用户未指定 `change_id` 时会 `ask_user`。 |
45
+ | `active_change_names` | active change 名称列表。用户指定 `change_id` 时,runtime 用它检查 change 是否存在。 |
46
+ | `dirty_worktree` | 可选状态字段。入口路由最小骨架不需要填写;dirty worktree 由 `comet/reference/dirty-worktree.md` 专门处理。 |
47
+
48
+ ## `evidence`
49
+
50
+ 每条 evidence 包含:
51
+
52
+ | 字段 | 含义 |
53
+ |------|------|
54
+ | `field` | evidence 支撑的 frame 字段,例如 `intent.name` 或 `slots.workflow_candidate`。 |
55
+ | `quote` | 来自用户原话、仓库状态或 `.comet.yaml` 的证据片段。 |
56
+ | `source` | 证据来源:`user`、`repo` 或 `state`。 |
57
+
58
+ ## `proposed_route`
59
+
60
+ | 字段 | 含义 |
61
+ |------|------|
62
+ | `name` | Agent 候选路由:`full`、`hotfix`、`tweak`、`resume`、`ask_user` 或 `out_of_scope`。 |
63
+ | `confidence` | Agent 对候选路由的置信度,只用于诊断,不参与低置信度 fallback。 |
64
+ | `next_skill` | 派生字段,runtime 会规范化;最小骨架不需要填写。 |
65
+ | `requires_confirmation` | 派生字段,runtime 会规范化;最小骨架不需要填写。 |
66
+ | `fallback_reason` | 派生字段,runtime 会规范化;最小骨架不需要填写。 |
67
+
68
+ ## 路由判断要点
69
+
70
+ - 修复已有异常、回归、错误行为,且没有新增能力/API/schema/跨模块风险:倾向 `hotfix`。
71
+ - 文案、配置、文档、prompt 或单一 OpenSpec change 的轻中量修改:倾向 `tweak`。
72
+ - 新增能力、public API、schema 变更、跨模块协调或架构调整:倾向 `full`。
73
+ - 多个 active change 且用户没指定 change:`ask_user`。
74
+ - 低置信度、关键 evidence 缺失、显式流程与风险信号冲突:`ask_user`。
@@ -0,0 +1,69 @@
1
+ # 脚本定位与命令
2
+
3
+ 规范路径:`comet/reference/scripts.md`
4
+
5
+ 本文件是 Comet 脚本定位和 state/guard/handoff/archive 命令面的单一事实来源。每会话加载一次,然后复用缓存的环境变量。
6
+
7
+ ## 引导(每会话运行一次)
8
+
9
+ Comet 脚本随 skill 包分发在 `comet/scripts/` 下。**不硬编码路径** — 定位一次,缓存到环境变量。子 Skill 可以直接引用本节,只有需要完全自包含执行时才内联此块;修改时以本文件为单一事实源:
10
+
11
+ ```bash
12
+ COMET_ENV="${COMET_ENV:-$(find . "$HOME"/.*/skills "$HOME/.config" "$HOME/.gemini" -path '*/comet/scripts/comet-env.mjs' -type f -print -quit 2>/dev/null)}"
13
+ if [ -z "$COMET_ENV" ]; then
14
+ echo "ERROR: comet-env.mjs not found. Ensure the comet skill is installed." >&2
15
+ return 1
16
+ fi
17
+ COMET_SCRIPTS_DIR="$(node "$COMET_ENV")"
18
+ COMET_STATE="$COMET_SCRIPTS_DIR/comet-state.mjs"
19
+ COMET_GUARD="$COMET_SCRIPTS_DIR/comet-guard.mjs"
20
+ COMET_HANDOFF="$COMET_SCRIPTS_DIR/comet-handoff.mjs"
21
+ COMET_ARCHIVE="$COMET_SCRIPTS_DIR/comet-archive.mjs"
22
+ COMET_INTENT="$COMET_SCRIPTS_DIR/comet-intent.mjs"
23
+
24
+ # 脚本定位失败时停止流程
25
+ if [ -z "$COMET_SCRIPTS_DIR" ]; then
26
+ echo "ERROR: Comet scripts not found. Ensure the comet skill is installed." >&2
27
+ return 1
28
+ fi
29
+ ```
30
+
31
+ 加载 comet 后,agent 应执行以上变量赋值一次,后续全程复用 `$COMET_GUARD`、`$COMET_STATE`、`$COMET_HANDOFF`、`$COMET_ARCHIVE`、`$COMET_INTENT`。
32
+
33
+ ## 自动状态更新
34
+
35
+ guard 支持 `--apply` 参数,验证通过后自动更新 `.comet.yaml` 状态字段:
36
+
37
+ ```bash
38
+ node "$COMET_GUARD" <change-name> <phase> --apply
39
+ ```
40
+
41
+ `--apply` 内部委托给 `comet-state transition`。需要直接表达状态事件时使用:
42
+
43
+ ```bash
44
+ node "$COMET_STATE" transition <change-name> open-complete
45
+ node "$COMET_STATE" transition <change-name> design-complete
46
+ node "$COMET_STATE" transition <change-name> build-complete
47
+ node "$COMET_STATE" transition <change-name> verify-pass
48
+ node "$COMET_STATE" transition <change-name> verify-fail
49
+ ```
50
+
51
+ 归档完成由 `node "$COMET_ARCHIVE" <change-name>` 负责;OpenSpec 会把 change 移到带日期前缀的归档目录,不要手动 transition 一个 `<archive-name>`。
52
+
53
+ ## 解析下一步
54
+
55
+ 阶段守卫推进 phase 后,用 `next` 子命令解析是否自动调用下一个 skill:
56
+
57
+ ```bash
58
+ node "$COMET_STATE" next <change-name>
59
+ ```
60
+
61
+ 输出 `NEXT: auto|manual|done` + `SKILL: <skill-name>`(`done` 时省略)+ `HINT`(仅 `manual` 时)。`auto_transition: false` 时输出 `manual`,只暂停下一 skill 调用,不影响已发生的 phase 推进。
62
+
63
+ ## 归档脚本
64
+
65
+ 一键完成归档全部步骤:
66
+
67
+ ```bash
68
+ node "$COMET_ARCHIVE" <change-name>
69
+ ```
@@ -2,14 +2,14 @@
2
2
 
3
3
  规范路径:`comet/reference/subagent-dispatch.md`
4
4
 
5
- 本文档提供在 Superpowers `subagent-driven-development` 技能**之上**应用的 Comet 专属扩展。该技能负责核心派发循环(每个 task 派发全新 implementer spec compliance review code quality review 下一个 task)并强制连续执行。本文档添加 Comet 特有的真实后台调度、任务追踪、状态验证、代码审查模式和上下文恢复。若 Superpowers 技能与本文档发生冲突时,以本文档中更具体的 Comet 约束为准。
5
+ 本文档提供在 Superpowers `subagent-driven-development` 技能**之上**应用的 Comet 专属扩展。Superpowers `subagent-driven-development` 技能提供基础连续派发循环(每个 task 派发全新 implementer,并包含默认 task reviewer 节点)并强制连续执行。本文档添加 Comet 特有的真实后台调度、任务追踪、状态验证、上下文恢复,以及审查/修复预算;Comet `review_mode` 接管 reviewer 阶段,决定哪些任务需要 reviewer、需要几轮修复和最终审查。若 Superpowers 技能与本文档发生冲突时,以本文档中更具体的 Comet 约束为准。
6
6
 
7
7
  > **⚠️ 关键约束 — 任务之间禁止暂停**
8
8
  >
9
9
  > 当一个 task 按 `review_mode` 完成验收并被勾选后,**立即派发下一个 task**,不得停止、总结或询问用户是否继续。用户期望所有 task 按顺序自动执行,无需手动干预。任务之间暂停会中断工作流,导致用户每次都需要手动恢复。
10
10
  >
11
11
  > 仅在以下情况才停止并等待用户输入:
12
- > - 任务处于 **BLOCKED** 状态(`review_mode: standard` 下一轮轻量复查仍未通过,或 `review_mode: thorough` 下批次/最终审查 2 轮审查-修复仍未通过)
12
+ > - 任务处于 **BLOCKED** 状态(`review_mode: standard` 下风险任务 1 轮 review-fix 或最终轻量复查仍未通过,或 `review_mode: thorough` 下任务级/最终审查 2 轮审查-修复仍未通过)
13
13
  > - 存在无法从仓库、计划或既有上下文消除的真实歧义
14
14
  > - 平台没有真实后台 agent 调度能力,需要用户改选 `executing-plans`
15
15
  > - 用户**明确**要求暂停
@@ -18,9 +18,10 @@
18
18
 
19
19
  ## 开始前
20
20
 
21
- 1. 读取计划一次,按顺序提取所有未勾选 task 的完整文本。
22
- 2. 为每个 task 保存唯一标识:plan 中 checkbox 后的完整任务文本,以及它映射的 OpenSpec task 完整文本(若存在)。若文本不唯一,停止并先修正计划,禁止依赖"第一个匹配项"。
23
- 3. 尊重依赖关系;依赖尚未完成的 task 不得提前派发。
21
+ 1. 派发第一个 task 前,必须完成 Superpowers `subagent-driven-development` 技能的预检计划审查:扫描 plan 和全局约束中是否存在互相矛盾的要求,或 plan 明确要求但 reviewer 会判为缺陷的内容。若发现问题,实施前一次性向用户提出成组问题并附上冲突的 plan 原文;若没有问题,直接继续。
22
+ 2. 读取计划一次,按顺序提取所有未勾选 task 的完整文本。
23
+ 3. 为每个 task 保存唯一标识:plan 中 checkbox 后的完整任务文本,以及它映射的 OpenSpec task 完整文本(若存在)。若文本不唯一,停止并先修正计划,禁止依赖"第一个匹配项"。
24
+ 4. 尊重依赖关系;依赖尚未完成的 task 不得提前派发。
24
25
 
25
26
  ## 每个 Task 的 Comet 扩展
26
27
 
@@ -28,9 +29,9 @@
28
29
 
29
30
  ### 0. 派发强制约束(关键)
30
31
 
31
- 主会话**仅负责协调**,禁止直接执行 task。主会话禁止修改源代码。协调者唯一允许的文件修改是 plan、OpenSpec task 和 subagent 进度检查点的持久化更新。不得把多个 task 打包给同一个 agent。每个 task 派发一个全新的后台 implementer agent;当 `review_mode` 需要审查或修复时,spec reviewer、code quality reviewer、修复 agent 和 final reviewer 也必须分别使用全新的后台 agent:
32
+ 主会话**仅负责协调**,禁止直接执行 task。主会话禁止修改源代码。协调者唯一允许的文件修改是 plan、OpenSpec task 和 subagent 进度检查点的持久化更新。不得把多个 task 打包给同一个 agent。每个 task 派发一个全新的后台 implementer agent;当 `review_mode` 需要审查或修复时,task reviewer、修复 agent 和 final reviewer 也必须分别使用全新的后台 agent:
32
33
 
33
- - **Claude Code**:对每个 implementer,以及 `review_mode` 要求的 spec reviewer、code quality reviewer、修复 agent 和 final reviewer 使用 `Agent` 工具并设置 `run_in_background: true`。禁止内联执行 task,禁止错误进入需要预先创建 team 的团队模式。
34
+ - **Claude Code**:对每个 implementer,以及 `review_mode` 要求的 task reviewer、修复 agent 和 final reviewer 使用 `Agent` 工具并设置 `run_in_background: true`。禁止内联执行 task,禁止错误进入需要预先创建 team 的团队模式。
34
35
  - **其他平台**:使用平台等效的后台 agent / Task / 多 agent 派发机制。
35
36
  - **禁止**跨 task 或角色复用 implementer、reviewer 或修复 agent。每个 agent 拥有全新的隔离上下文,并且只接收当前角色所需的单个 task 上下文。
36
37
  - 若平台无真实后台派发能力,不得继续;暂停并等待用户改选 `build_mode: executing-plans`。
@@ -40,14 +41,40 @@
40
41
  每个 implementer 或修复 agent prompt 必须包含:
41
42
 
42
43
  - 当前单个 task 的完整文本、架构背景和依赖上下文
43
- - `Language: 使用触发本次工作流的用户请求语言输出`
44
+ - `Language: 使用 "$COMET_BASH" "$COMET_STATE" get <name> language 读取到的 Comet 配置产物语言输出`
44
45
  - 允许修改的文件范围和禁止修改的范围
45
46
  - 必须执行的测试命令和提交要求
46
47
  - 修复 agent 还必须收到对应 reviewer 的完整反馈
47
48
 
48
- agent 回报状态必须为 `DONE | DONE_WITH_CONCERNS | BLOCKED | NEEDS_CONTEXT`,并包含实现内容、测试结果、提交哈希、变更文件和顾虑。进入审查前,主会话必须确认提交和文件在当前工作树可见;若平台使用隔离副本,先拉取或合并变更。
49
+ 大型 task 文本、实现报告和审查材料必须通过已加载的 Superpowers `subagent-driven-development` 技能提供的文件交接机制传递,不得整段粘贴进主会话。派发 prompt 应指向这些交接产物,同时保留角色、允许范围、必跑测试、报告契约和 Comet 特有约束。Comet 可以记录 agent 回传的产物路径或短摘要用于恢复,但不得依赖这些产物的内部名称或目录布局。
49
50
 
50
- `review_mode` 需要 reviewer 时,每个 reviewer prompt 必须包含完整 task、实现提交或差异以及 RED/GREEN 证据(`tdd_mode: tdd` 时)。reviewer 不得只依据 implementer 的总结进行审查。
51
+ agent 回报状态必须为 `DONE | DONE_WITH_CONCERNS | BLOCKED | NEEDS_CONTEXT`,并包含或指向实现内容、测试结果、提交哈希、变更文件和顾虑。**implementer/修复 agent 还必须回报本任务是否命中任一风险信号**(见下方清单),命中则逐条列出;这是 `review_mode: standard` 下是否派发每任务 reviewer 的第一信号源。进入审查前,主会话必须确认提交和文件在当前工作树可见;若平台使用隔离副本,先拉取或合并变更。
52
+
53
+ **风险信号清单**(命中任一即视为风险任务):
54
+
55
+ - 跨模块/跨子系统协调改动
56
+ - 安全敏感面:认证、授权、加解密、SQL、外部输入处理、密钥/凭证
57
+ - 并发、锁、共享可变状态
58
+ - 数据或 schema 迁移
59
+ - 公共 API 契约或对外接口变更
60
+ - implementer 返回 `DONE_WITH_CONCERNS`
61
+ - 单任务 diff 超过 200 行
62
+
63
+ 当 `review_mode` 需要 reviewer 时,每个 reviewer prompt 必须包含或指向完整 task 需求、实现提交或差异以及 RED/GREEN 证据(`tdd_mode: tdd` 时)。reviewer 不得只依据 implementer 的总结进行审查。
64
+
65
+ reviewer prompt 必须保持中立:
66
+
67
+ - 不得要求 reviewer 重新运行 implementer 已经运行并报告的同一批测试;reviewer 负责核验已报告的证据和代码/diff。
68
+ - 不得在 reviewer prompt 中预判、压低或禁止报告某个发现。若某个可能发现与 plan 冲突,让 reviewer 先报告,再询问用户以哪个要求为准。
69
+ - 不得把之前 task 的累计历史粘贴进后续派发。只提供当前 task、相关接口/约束,以及已加载的 Superpowers `subagent-driven-development` 技能暴露的交接产物。
70
+
71
+ **Model 选择(强制)**:每次派发必须显式指定 model,省略会静默继承会话最贵 model,拖慢执行并抬高成本。遵循 Superpowers `subagent-driven-development` 的 Model Selection 规则:
72
+
73
+ - **implementer / 修复 agent**:用 prose 描述的实现任务至少使用中档;多文件集成、需要模式匹配或调试 → 中档;需要设计判断或广泛理解代码库 → 高档。只有当 plan 文本已含完整待写代码(转写+测试),或只是单文件机械修复时,才用最便宜档。
74
+ - **reviewer(任务级/最终)**:按 diff 大小、复杂度和风险缩放。小机械 diff 不需要最高档;微妙并发改动才上高档。
75
+ - **final whole-branch review**:使用可用的最高档 model,不用会话默认档。
76
+
77
+ 省略 model 等于让它跑会话最贵 model,直接违背本节目标。
51
78
 
52
79
  ### 2. Implementer 范围限制
53
80
 
@@ -61,28 +88,49 @@ implementer 只负责实现、测试和提交代码。**implementer 不得勾选
61
88
  You MUST follow TDD: write a failing test first, watch it fail, then write minimal code to pass. No production code without a failing test first.
62
89
  ```
63
90
 
64
- implementer 或修复 agent 回报必须提供 **RED 失败命令与失败摘要**、**GREEN 通过命令与通过摘要**;缺少任一证据不得进入审查。spec compliance reviewer code quality reviewer 都必须核验 RED/GREEN 证据与测试覆盖。
91
+ implementer 或修复 agent 回报必须提供 **RED 失败命令与失败摘要**、**GREEN 通过命令与通过摘要**;缺少任一证据不得进入审查。当 `review_mode` 需要 task reviewer 时,该 reviewer 必须核验 RED/GREEN 证据与测试覆盖,并同时检查 spec compliance 与 code quality。
65
92
 
66
93
  ### 4. 持久进度检查点
67
94
 
68
95
  主会话必须维护 `openspec/changes/<name>/.comet/subagent-progress.md`,并在每次派发、agent 回报、审查结果、修复轮次变化和 task 勾选后立即更新。检查点至少记录:
69
96
 
70
97
  - 当前 plan task 唯一文本及映射的 OpenSpec task 文本
71
- - 当前阶段:`implementing | spec-review | quality-review | checkoff | done | blocked | final-review | final-fix`
98
+ - 当前阶段:`implementing | task-review | checkoff | done | blocked | final-review | final-fix`
72
99
  - 实现提交哈希、变更文件和 RED/GREEN 证据
73
100
  - 已选择的 `review_mode`
74
101
  - 已通过的审查阶段及尚未解决的 reviewer 反馈
75
- - 当前 task、批次或 final review 的审查-修复轮次(`standard` 最多 1 轮,`thorough` 最多 2 轮,`off` 为 0 轮)
102
+ - 当前 task final review 的审查-修复轮次(`standard` 最多 1 轮,`thorough` 最多 2 轮,`off` 为 0 轮)
103
+ - `review_mode: standard` 时,本 task 是否已触发风险任务级 review 及命中的风险信号(恢复时不得重复派发已完成的任务级 review)
76
104
 
77
105
  该文件只保存恢复所需的协调状态,不替代 plan 或 OpenSpec checkbox。当前 task 完成后保留其最终记录,开始下一个 task 时用下一 task 的记录替换。
78
106
 
107
+ Comet 不读取、不写入、也不要求任何 Superpowers `subagent-driven-development` 内部脚本或工作区路径。如果当前安装的 Superpowers `subagent-driven-development` 技能维护自己的临时产物、审查材料、任务需求文件或进度记录,这些都由 Superpowers 自行管理。Comet 的持久事实来源只限于 Comet workflow 状态、plan/OpenSpec checkbox 和本协调检查点。
108
+
79
109
  ### 5. 代码审查模式与轮次限制
80
110
 
81
- `review_mode: standard` 时,每个 task 不自动派发 per-task reviewer;implementer 必须自测、提交并回报证据,协调者完成定向勾选验证。所有 task 完成后只派发一次最终轻量 code reviewer,审查范围限定为正确性、安全和边界条件。若最终轻量审查发现 CRITICAL IMPORTANT 问题,最多自动派发一轮修复 agent 并复查一次;复查仍未通过时标记 **BLOCKED**,暂停并把反馈交给用户。非 CRITICAL 发现可记录接受理由后继续。
111
+ > **⚠️ CRITICAL review_mode 接管 Superpowers 默认流程,禁止双重审查**
112
+ >
113
+ > Superpowers `subagent-driven-development` 的 Process 流程图把"每个 task 后派发 task reviewer"设为必经节点。**Comet 的 `review_mode` 接管这一环节,决定哪些任务派发每任务 reviewer**(见下表每任务 reviewer 列)。**不得在 review_mode 已规定的每任务 reviewer 之外,额外按 Superpowers 默认派发 reviewer**。未派发 reviewer 的任务(`off` 全部、`standard` 非风险任务)必须直接进入 task 勾选与下一个 task 的派发。
114
+ >
115
+ > 一个 change 的审查次数由下表唯一决定,不得自行追加。
116
+
117
+ **build 阶段审查次数预算**(仅这些,不得额外增加)。本表只覆盖 build 阶段;verify 阶段有自己的审查处理(见下方说明):
118
+
119
+ | `review_mode` | build 阶段每任务 reviewer | build 阶段最终审查 |
120
+ |---------------|--------------------------|-------------------|
121
+ | `off` | 0 | 0 |
122
+ | `standard` | 仅风险任务(见下方规则) | 1(轻量) |
123
+ | `thorough` | 每个任务(spec + quality) | 1(完整) |
124
+
125
+ **verify 阶段的审查不在此表内。** verify 阶段的审查由 `verify_mode`(light/full)驱动规模,`review_mode` 只决定是否触发自动代码审查(`off` 跳过;`standard`/`thorough` 在轻量验证下做一次轻量代码审查,在全量验证下依赖 `openspec-verify-change`)。verify 阶段没有按 `review_mode` 区分的独立"完整"代码审查——verify 阶段的权威行为见 `comet-verify`。
126
+
127
+ 当 `review_mode: standard` 时,默认不为每个 task 派发 reviewer,而是按**风险触发**决定:implementer 自测、提交并回报证据(含风险信号自报)后,协调者读取自报信号并复核该 task 的 diff。**仅当 implementer 自报命中任一风险信号、或协调者复核 diff 发现命中任一风险信号时**,为该 task 单独派发一个每任务 reviewer,同时检查 spec compliance 与 code quality,发现 CRITICAL/IMPORTANT 问题进入一轮 review-fix(最多 1 轮),复查未通过则标记 **BLOCKED**。未命中风险信号的 task 直接做定向勾选验证后放行。所有 task 完成后仍派发一次最终轻量 code reviewer(范围:正确性、安全、边界)。若最终轻量审查发现 CRITICAL 或 IMPORTANT 问题,最多自动派发一轮修复 agent 并复查一次;复查仍未通过时标记 **BLOCKED**,暂停并把反馈交给用户。非 CRITICAL 发现可记录接受理由后继续。
128
+
129
+ 当 `review_mode: thorough` 时,**每个 task 派发一个每任务 reviewer,同时检查 spec compliance 与 code quality**:implementer 自测、提交并回报证据后,协调者为该 task 派发一个全新后台 reviewer。reviewer 发现 CRITICAL/IMPORTANT 问题进入审查-修复(最多 2 轮),仍未通过则标记 **BLOCKED**,暂停并把反馈交给用户。所有 task 完成后再派发一次最终完整 reviewer。thorough 不做批次合并审查——高风险 change 要求每个任务即时、专注的审查,等批次边界才抓到问题代价过大。
82
130
 
83
- `review_mode: thorough` 时,不执行每 task 双审查。协调者按批次或风险边界运行合并审查:每完成最多 3 个 task、或完成一个跨模块/高风险边界时,派发一个 reviewer 同时检查 spec compliance 与 code quality。若总 task 数不超过 3 且没有高风险边界,可跳过中途批次审查,只做最终完整审查。所有 task 完成后再派发一次最终完整 reviewer。批次和最终审查各最多 2 轮审查-修复;仍未通过则标记 **BLOCKED**,暂停并把累计反馈交给用户。
131
+ reviewer 返回无法仅从审查材料验证的发现时,协调者必须在 task 勾选前自行核对。若直接检查仓库后确认是真实缺口,按失败的 spec/quality review 处理,进入对应修复与复查流程;若该项已由未改动代码或跨任务约束满足,在检查点记录理由后继续。
84
132
 
85
- 当 `review_mode: off` 时,不自动派发 spec reviewer、code quality reviewer、final reviewer 或审查修复 agent。任务完成依据 implementer 的测试/构建证据、当前工作树确认、任务唯一文本勾选验证和用户显式要求。若执行过程中出现测试失败、构建失败或异常行为,仍必须按异常调试协议处理,不得用 `off` 跳过真实问题。
133
+ 当 `review_mode: off` 时,不自动派发 task reviewer、final reviewer 或审查修复 agent。任务完成依据 implementer 的测试/构建证据、当前工作树确认、任务唯一文本勾选验证和用户显式要求。若执行过程中出现测试失败、构建失败或异常行为,仍必须按异常调试协议处理,不得用 `off` 跳过真实问题。
86
134
 
87
135
  ### 6. Task 勾选与验证
88
136
 
@@ -94,8 +142,8 @@ implementer 或修复 agent 回报必须提供 **RED 失败命令与失败摘要
94
142
  4. 运行定向验证:
95
143
 
96
144
  ```bash
97
- "$COMET_BASH" "$COMET_STATE" task-checkoff "$PLAN_FILE" "$PLAN_TASK_TEXT"
98
- "$COMET_BASH" "$COMET_STATE" task-checkoff "openspec/changes/<name>/tasks.md" "$OPENSPEC_TASK_TEXT"
145
+ node "$COMET_STATE" task-checkoff "$PLAN_FILE" "$PLAN_TASK_TEXT"
146
+ node "$COMET_STATE" task-checkoff "openspec/changes/<name>/tasks.md" "$OPENSPEC_TASK_TEXT"
99
147
  ```
100
148
 
101
149
  仅在对应映射存在时运行第二条。脚本会要求任务文本恰好出现一次且该项已勾选;验证失败时不得进入下一个 task。
@@ -113,6 +161,7 @@ implementer 或修复 agent 回报必须提供 **RED 失败命令与失败摘要
113
161
  重新加载 Superpowers `subagent-driven-development` 技能并重新阅读本文档。先读取 `openspec/changes/<name>/.comet/subagent-progress.md`,再与第一个未勾选 task 和当前工作树核对:
114
162
 
115
163
  - 检查点与未勾选 task 匹配时,从记录的精确阶段恢复,保留实现提交、RED/GREEN 证据、`review_mode`、已通过的审查阶段、未解决反馈和当前审查-修复轮次;不得重置轮次或重复已经通过的阶段。
164
+ - 若已加载的 Superpowers `subagent-driven-development` 技能通过自己的进度记录报告某个 task 已完成,先对照 git 历史和 Comet plan/OpenSpec checkbox 完成恢复判断。若提交和任务身份匹配,更新 Comet 检查点/勾选状态,不得重复派发已完成工作。
116
165
  - 检查点缺失或与未勾选 task 不匹配时,为第一个未勾选 task 创建新检查点并从 implementer 派发开始。
117
166
  - 检查点中的提交或文件在当前工作树不可见时,先拉取、合并或恢复对应变更;不得假定实现已存在。
118
167
  - 所有 task 已勾选且检查点处于 `final-review` 或 `final-fix` 时,从最终审查的精确阶段恢复,并保留最终反馈和审查-修复轮次;不得重新进入已完成的 task。
@@ -0,0 +1,6 @@
1
+ runtime:
2
+ - id: classic-completed
3
+ scope: completion
4
+ type: state_equals
5
+ field: status
6
+ equals: completed
@@ -0,0 +1,13 @@
1
+ allowedSkills:
2
+ - comet-open
3
+ - comet-design
4
+ - comet-build
5
+ - comet-verify
6
+ - comet-archive
7
+ - comet-hotfix
8
+ - comet-tweak
9
+ allowedAgents: []
10
+ allowedTools: []
11
+ maxIterations: 500
12
+ maxRetriesPerAction: 3
13
+ confirmationRequiredFor: []
@@ -0,0 +1,122 @@
1
+ apiVersion: comet/v1alpha1
2
+ kind: Skill
3
+ metadata:
4
+ name: comet-classic
5
+ version: "1"
6
+ description: Comet 经典 full、hotfix、tweak 工作流的内部兼容编排
7
+ goal:
8
+ statement: 在不改变用户命令面的前提下稳定推进或恢复经典 Comet Run
9
+ inputs:
10
+ - name: classic-state
11
+ description: 已校验且与 Run 投影一致的 ClassicState
12
+ required: true
13
+ - name: evidence
14
+ description: Classic Evidence 收集器生成的结构化证据
15
+ required: true
16
+ outputs:
17
+ - name: run-state
18
+ description: 原子同步后的 Classic 与 Run 状态
19
+ required: true
20
+ success:
21
+ - 旧字段与 Run 字段保持一致
22
+ - 每个步骤只调用声明的公开 Comet Skill
23
+ - completed 状态通过 completion eval
24
+ orchestration:
25
+ mode: deterministic
26
+ entry: full.open
27
+ steps:
28
+ - id: full.open
29
+ action: { type: invoke_skill, ref: comet-open }
30
+ next: full.design.handoff
31
+ - id: full.design.handoff
32
+ action: { type: invoke_skill, ref: comet-design }
33
+ next: full.design.document
34
+ - id: full.design.document
35
+ action: { type: invoke_skill, ref: comet-design }
36
+ next: full.build.plan
37
+ - id: full.build.plan
38
+ action: { type: invoke_skill, ref: comet-build }
39
+ next: full.build.plan-ready
40
+ - id: full.build.plan-ready
41
+ action: { type: invoke_skill, ref: comet-build }
42
+ next: full.build.configure
43
+ - id: full.build.configure
44
+ action: { type: invoke_skill, ref: comet-build }
45
+ next: full.build.execute
46
+ - id: full.build.execute
47
+ action: { type: invoke_skill, ref: comet-build }
48
+ next: full.build.complete
49
+ - id: full.build.complete
50
+ action: { type: invoke_skill, ref: comet-build }
51
+ next: full.verify.run
52
+ - id: full.build.fix
53
+ action: { type: invoke_skill, ref: comet-build }
54
+ next: full.build.execute
55
+ - id: full.verify.run
56
+ action: { type: invoke_skill, ref: comet-verify }
57
+ next: full.verify.branch
58
+ - id: full.verify.branch
59
+ action: { type: invoke_skill, ref: comet-verify }
60
+ next: full.archive.confirm
61
+ - id: full.archive.confirm
62
+ action: { type: invoke_skill, ref: comet-archive }
63
+ next: full.archive.execute
64
+ - id: full.archive.execute
65
+ action: { type: invoke_skill, ref: comet-archive }
66
+ next: completed
67
+ - id: hotfix.open
68
+ action: { type: invoke_skill, ref: comet-hotfix }
69
+ next: hotfix.build.execute
70
+ - id: hotfix.build.execute
71
+ action: { type: invoke_skill, ref: comet-build }
72
+ next: hotfix.build.complete
73
+ - id: hotfix.build.complete
74
+ action: { type: invoke_skill, ref: comet-build }
75
+ next: hotfix.verify.run
76
+ - id: hotfix.verify.run
77
+ action: { type: invoke_skill, ref: comet-verify }
78
+ next: hotfix.verify.branch
79
+ - id: hotfix.verify.branch
80
+ action: { type: invoke_skill, ref: comet-verify }
81
+ next: hotfix.archive.confirm
82
+ - id: hotfix.archive.confirm
83
+ action: { type: invoke_skill, ref: comet-archive }
84
+ next: hotfix.archive.execute
85
+ - id: hotfix.archive.execute
86
+ action: { type: invoke_skill, ref: comet-archive }
87
+ next: completed
88
+ - id: tweak.open
89
+ action: { type: invoke_skill, ref: comet-tweak }
90
+ next: tweak.build.execute
91
+ - id: tweak.build.execute
92
+ action: { type: invoke_skill, ref: comet-build }
93
+ next: tweak.build.complete
94
+ - id: tweak.build.complete
95
+ action: { type: invoke_skill, ref: comet-build }
96
+ next: tweak.verify.run
97
+ - id: tweak.verify.run
98
+ action: { type: invoke_skill, ref: comet-verify }
99
+ next: tweak.verify.branch
100
+ - id: tweak.verify.branch
101
+ action: { type: invoke_skill, ref: comet-verify }
102
+ next: tweak.archive.confirm
103
+ - id: tweak.archive.confirm
104
+ action: { type: invoke_skill, ref: comet-archive }
105
+ next: tweak.archive.execute
106
+ - id: tweak.archive.execute
107
+ action: { type: invoke_skill, ref: comet-archive }
108
+ next: completed
109
+ - id: completed
110
+ action: { type: checkpoint }
111
+ completionEvals:
112
+ - classic-completed
113
+ skills:
114
+ - id: comet-open
115
+ - id: comet-design
116
+ - id: comet-build
117
+ - id: comet-verify
118
+ - id: comet-archive
119
+ - id: comet-hotfix
120
+ - id: comet-tweak
121
+ agents: []
122
+ tools: []
@@ -0,0 +1,118 @@
1
+ ---
2
+ name: comet-any
3
+ description: "Use when 用户想定制 Comet 五阶段 Skill、创建 workflow Skill、整理已有 Skill,或用 Workflow Node / Skill Binding / Output Schema 编排 Skill。"
4
+ ---
5
+
6
+ # Comet Any - Skill Creator
7
+
8
+ `/comet-any` 是 Comet 的 Skill 创建向导。用户只需要描述想要的工作流;本 Skill 负责读取真实 Skill、提出方案、等待确认、生成可验证的 Comet-native Skill Bundle,并通过内部 CLI 完成 eval、review、publish readiness 和安装预览。
9
+
10
+ 普通用户第一层只看到三种起点:
11
+
12
+ - `基于 Comet 现有 Skill 的五阶段定制`:覆盖 `open / design / build / verify / archive` 五阶段的 Skill 编排,但不修改 `/comet` 命令本身。
13
+ - `创建全新 workflow Skill`:从目标和候选 Skills 生成新的 `workflow-kernel`。
14
+ - `整理已有 Skill`:读取已有 Skill,补齐 Workflow Node、Skill Binding、Output Schema、Guardrail、Handoff、eval 和 readiness。
15
+
16
+ 后端 Bundle、Factory、composition 仍是内部审计词;不要把它们作为普通用户的第一屏概念。
17
+
18
+ ## 核心模型
19
+
20
+ 所有路径都必须编译到同一种 Workflow Contract:
21
+
22
+ - `Workflow Node`:流程中的可恢复节点,例如 `open`、`design`、`plan`、`execute`、`subagent-execute`、`review`、`verify`、`archive`。
23
+ - `Node Responsibility`:该 Node 在 Agent workflow 中承担的职责,用来解释它为什么存在、需要产出什么、能否替换。
24
+ - `Skill Binding`:某个 Node 的实现 Skill 或辅助 Skill。
25
+ - `Required Skill Call`:要求 Node 内必须调用某个 Skill,不替换 Node implementation。例如 `execute` 和 `subagent-execute` 必须调用 `elementui`,`review` 必须调用 `whitebox-code-standard`。
26
+ - `Output Schema`:Node 必须产出的文件、状态或 evidence。Output Schema 必须挂到具体 Workflow Node 才算生效;只定义在 `workflow.outputSchemas` 里不会触发 guard、eval 或 readiness。脚本、eval、readiness 只依赖挂到 Node 的 Output Schema,不依赖 Skill 名称。
27
+ - `Guardrail`:阻断或放行 Node 推进的检查。
28
+ - `Handoff`:子代理或跨 Node 交接时必须带回的 evidence。
29
+ - `workflow-protocol.json`:生成包的唯一运行事实源,kind 为 `comet-five-phase-overlay` 或 `workflow-kernel`。
30
+
31
+ ## 受保护边界
32
+
33
+ `comet-five-phase-overlay` 保留 Comet 主流程和 `.comet.yaml` 状态语义。普通模式下:
34
+
35
+ - `comet-five-phase-overlay` 的主状态只来自 `openspec/changes/<name>/.comet.yaml`;没有 active change 或多个 active changes 时必须阻塞并请用户选择。
36
+ - 不得创建 `.comet/runs/<workflow>/state.json` 作为 Comet overlay 主状态。Bundle 草稿、eval evidence 和 publish readiness 可以有自己的证据文件,但不能替代 `.comet.yaml`。
37
+ - `control` Node 不允许 override:`open`、`execute`、`verify`、`archive`。
38
+ - `producer` Node 可以 override:`design`、`plan`,但必须满足对应 Output Schema。
39
+ - `handoff` 和 `guardrail` Node 可以 require / augment。
40
+ - 用户坚持替换 control Node 时,改走高级 `workflow-kernel`,并要求重新声明 state、Output Schema 和 Guardrail。
41
+ - 所有 Node 都必须用 responsibility 说明职责,不使用内部坐标作为用户理解流程的方式。
42
+
43
+ ## 工作步骤
44
+
45
+ 1. 恢复现有状态:先运行 `comet creator guide --project . --json`,展示恢复摘要和下一步。
46
+ 2. 读取项目偏好:读取 `.comet/skill-preferences.yaml`,用 `comet creator candidates --json` 发现真实本地 Skill,再用 `comet skill show <name> --json` 读取候选的真实内容与 hash。不得只按名字推测能力。
47
+ 3. 生成方案:把用户目标表达为 Workflow Nodes、Skill Bindings、Output Schemas、Guardrails、Handoffs 和 Evidence。
48
+ 4. 展示确认页:说明每个 Node 的职责、绑定 Skill、Required Skill Call、Output Schema、可执行披露和 readiness 影响。确认页必须为每个新增 binding 或 schema 显示 enforcement:`guarded`、`handoff-guarded`、`evidence-only` 或 `advisory`。
49
+ 5. 等待用户确认:未确认前不得写 Bundle draft;存在 missing / ambiguous Skill 时必须暂停。
50
+ 6. 初始化后端状态:确认后调用 `comet creator init <name> --file <plan.json> --confirmed-proposal --json`。
51
+ 7. 运行创作管线并生成 Bundle:先运行 `comet creator authoring-plan <name> --depth quick|full --json` 取得 lane DAG。按 DAG 派发 lane——wave1(`script`、`reference`、`pause-points`)在支持子代理的平台可并发(否则按依赖顺序内联),wave2(`workflow-entry`、`skill-core`)在 script 契约之后,`skill-review` 作为汇聚 barrier。每个 lane 的产出用 `comet creator authoring-record <name> --lane <id> --file <out.json> --json` 记录(经 schema 校验;BLOCKED/NEEDS_CONTEXT 会被拒绝)。随后运行 `comet creator generate <name> --json`:把记录的内容叶子草稿(entry/node SKILL.md、decision-points、recovery)合并进包,而确定性脊梁(protocol/scripts/manifest)保持模板化,并渲染真实审查证据。产出 entry Skill、Node Skills、`reference/workflow-protocol.json`、六个 scripts、rules、hooks 与 `comet/eval.yaml`。
52
+ 8. 验证:展示 quick/full eval 工作量,运行或记录当前 draft hash 的 eval evidence;失败、skip 或证据 hash 过期时不得进入 ready。
53
+ 9. Review / readiness:读取 `comet publish review <name> --platform <reference-platform> --json`,展示 `Readiness:`、`Blockers:`、`Warnings:`、`Evidence:`。
54
+ 10. Publish / install preview:人工批准后才能 publish;安装前必须先运行 preview,并展示 `No files were written`。
55
+
56
+ ## 方案示例
57
+
58
+ 组件库和白盒审查场景应生成类似 plan:
59
+
60
+ ```json
61
+ {
62
+ "goal": "基于 Comet 现有 Skill 的五阶段定制,要求组件库和白盒审查。",
63
+ "skillCreatorIntent": "customize-comet",
64
+ "workflow": {
65
+ "kind": "comet-five-phase-overlay",
66
+ "name": "team-comet",
67
+ "goal": "要求组件库和白盒审查。",
68
+ "nodes": {
69
+ "execute": {
70
+ "requiredSkillCalls": [
71
+ {
72
+ "skill": "elementui",
73
+ "reason": "Use project component library during direct implementation."
74
+ }
75
+ ]
76
+ },
77
+ "subagent-execute": {
78
+ "requiredSkillCalls": [
79
+ {
80
+ "skill": "elementui",
81
+ "scope": "handoff"
82
+ }
83
+ ]
84
+ },
85
+ "review": {
86
+ "requiredSkillCalls": [
87
+ {
88
+ "skill": "whitebox-code-standard",
89
+ "scope": "review"
90
+ }
91
+ ]
92
+ }
93
+ }
94
+ }
95
+ }
96
+ ```
97
+
98
+ ## 硬性规则
99
+
100
+ - 必须先展示方案确认页,再生成。
101
+ - 确认页必须为每个新增 binding 或 schema 显示 enforcement:`guarded`、`handoff-guarded`、`evidence-only` 或 `advisory`。
102
+ - Required Skill Call 不替换 Node implementation。
103
+ - producer override 必须声明 `satisfies` 的 Output Schema。
104
+ - Output Schema 必须挂到具体 Workflow Node 才算生效;只定义在 `workflow.outputSchemas` 里不会触发 guard、eval 或 readiness。
105
+ - control Node 普通模式不得 override。
106
+ - eval、review、publish readiness 必须读取同一份 `workflow-protocol.json`。
107
+ - readiness blockers 必须阻止 publish:缺少当前 draft hash 的 eval evidence、人工 approval、required capability 或 executable disclosure 任一项都不能进入 ready。
108
+ - 子代理 Handoff 必须要求子代理加载 Required Skill Call 并回传 evidence。
109
+ - 脚本只读取 protocol 和 state,不把 Skill 名称当成校验依据。
110
+ - 安装前必须询问用户,不得自动安装。
111
+
112
+ ## 参考资料
113
+
114
+ - `comet-any/reference/authoring-protocol.json`
115
+ - `comet-any/reference/authored-zone-example.md`
116
+ - `comet-any/reference/bundle-authoring.md`
117
+ - `comet-any/reference/authoring-subagents.md`
118
+ - `comet-any/reference/eval-provider.md`