maestro-flow 0.5.1 → 0.5.3

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 (530) hide show
  1. package/.agents/skills/insight-challenge/SKILL.md +228 -0
  2. package/.agents/skills/insight-challenge/specs/challenge-protocol.md +154 -0
  3. package/.agents/skills/insight-challenge/specs/verdict-schema.md +239 -0
  4. package/.agents/skills/maestro/SKILL.md +6 -6
  5. package/.agents/skills/maestro-help/SKILL.md +1 -1
  6. package/.agents/skills/maestro-help/index/catalog.json +3 -2
  7. package/.agents/skills/maestro-ralph/SKILL.md +11 -10
  8. package/.agents/skills/maestro-ralph-beta/SKILL.md +11 -10
  9. package/.agents/skills/odyssey-debug/SKILL.md +475 -0
  10. package/.agents/skills/odyssey-improve/SKILL.md +507 -0
  11. package/.agents/skills/odyssey-planex/SKILL.md +603 -0
  12. package/.agents/skills/odyssey-review-test-fix/SKILL.md +429 -0
  13. package/.agents/skills/odyssey-ui/SKILL.md +464 -0
  14. package/.agy/skills/insight-challenge/SKILL.md +230 -0
  15. package/.agy/skills/insight-challenge/specs/challenge-protocol.md +154 -0
  16. package/.agy/skills/insight-challenge/specs/verdict-schema.md +239 -0
  17. package/.agy/skills/maestro/SKILL.md +6 -6
  18. package/.agy/skills/maestro-help/SKILL.md +1 -1
  19. package/.agy/skills/maestro-help/index/catalog.json +3 -2
  20. package/.agy/skills/maestro-ralph/SKILL.md +11 -10
  21. package/.agy/skills/maestro-ralph-beta/SKILL.md +11 -10
  22. package/.agy/skills/odyssey-debug/SKILL.md +475 -0
  23. package/.agy/skills/odyssey-improve/SKILL.md +507 -0
  24. package/.agy/skills/odyssey-planex/SKILL.md +603 -0
  25. package/.agy/skills/odyssey-review-test-fix/SKILL.md +429 -0
  26. package/.agy/skills/odyssey-ui/SKILL.md +464 -0
  27. package/.claude/commands/maestro-ralph-beta.md +11 -10
  28. package/.claude/commands/maestro-ralph.md +11 -10
  29. package/.claude/commands/maestro.md +6 -6
  30. package/.claude/commands/odyssey-debug.md +473 -0
  31. package/.claude/commands/odyssey-improve.md +505 -0
  32. package/.claude/commands/odyssey-planex.md +601 -0
  33. package/.claude/commands/odyssey-review-test-fix.md +427 -0
  34. package/.claude/commands/odyssey-ui.md +462 -0
  35. package/.claude/skills/insight-challenge/SKILL.md +226 -0
  36. package/.claude/skills/insight-challenge/specs/challenge-protocol.md +154 -0
  37. package/.claude/skills/insight-challenge/specs/verdict-schema.md +239 -0
  38. package/.claude/skills/maestro-help/SKILL.md +1 -1
  39. package/.claude/skills/maestro-help/index/catalog.json +3 -2
  40. package/.codex/skills/codify-to-knowhow/SKILL.md +1 -1
  41. package/.codex/skills/learn-decompose/SKILL.md +144 -144
  42. package/.codex/skills/learn-follow/SKILL.md +83 -83
  43. package/.codex/skills/learn-investigate/SKILL.md +84 -84
  44. package/.codex/skills/learn-retro/SKILL.md +113 -113
  45. package/.codex/skills/learn-second-opinion/SKILL.md +116 -116
  46. package/.codex/skills/maestro/SKILL.md +11 -8
  47. package/.codex/skills/maestro-amend/SKILL.md +4 -4
  48. package/.codex/skills/maestro-analyze/SKILL.md +2 -2
  49. package/.codex/skills/maestro-blueprint/SKILL.md +4 -4
  50. package/.codex/skills/maestro-companion/SKILL.md +5 -5
  51. package/.codex/skills/maestro-composer/SKILL.md +217 -217
  52. package/.codex/skills/maestro-grill/SKILL.md +1 -1
  53. package/.codex/skills/maestro-help/SKILL.md +31 -31
  54. package/.codex/skills/maestro-impeccable/SKILL.md +1 -1
  55. package/.codex/skills/maestro-init/SKILL.md +1 -1
  56. package/.codex/skills/maestro-learn/SKILL.md +80 -80
  57. package/.codex/skills/maestro-merge/SKILL.md +76 -76
  58. package/.codex/skills/maestro-milestone-release/SKILL.md +74 -74
  59. package/.codex/skills/maestro-next/SKILL.md +1 -1
  60. package/.codex/skills/maestro-player/SKILL.md +3 -3
  61. package/.codex/skills/maestro-quick/SKILL.md +129 -129
  62. package/.codex/skills/maestro-ralph/SKILL.md +9 -9
  63. package/.codex/skills/maestro-ralph-beta/SKILL.md +35 -35
  64. package/.codex/skills/maestro-ralph-execute/SKILL.md +5 -5
  65. package/.codex/skills/maestro-tools-execute/SKILL.md +3 -3
  66. package/.codex/skills/maestro-tools-register/SKILL.md +3 -3
  67. package/.codex/skills/manage-codebase-rebuild/SKILL.md +412 -412
  68. package/.codex/skills/manage-codebase-refresh/SKILL.md +1 -1
  69. package/.codex/skills/manage-harvest/SKILL.md +99 -99
  70. package/.codex/skills/manage-issue-discover/SKILL.md +1 -1
  71. package/.codex/skills/manage-knowhow/SKILL.md +95 -95
  72. package/.codex/skills/manage-knowhow-capture/SKILL.md +137 -137
  73. package/.codex/skills/manage-status/SKILL.md +7 -7
  74. package/.codex/skills/manage-wiki/SKILL.md +55 -55
  75. package/.codex/skills/odyssey-debug/SKILL.md +456 -0
  76. package/.codex/skills/odyssey-improve/SKILL.md +466 -0
  77. package/.codex/skills/odyssey-planex/SKILL.md +409 -0
  78. package/.codex/skills/odyssey-review-test-fix/SKILL.md +377 -0
  79. package/.codex/skills/odyssey-ui/SKILL.md +411 -0
  80. package/.codex/skills/quality-auto-test/SKILL.md +1 -1
  81. package/.codex/skills/quality-debug/SKILL.md +8 -8
  82. package/.codex/skills/quality-refactor/SKILL.md +3 -3
  83. package/.codex/skills/quality-review/SKILL.md +1 -1
  84. package/.codex/skills/quality-sync/SKILL.md +111 -111
  85. package/.codex/skills/quality-test/SKILL.md +1 -1
  86. package/.codex/skills/spec-add/SKILL.md +2 -2
  87. package/.codex/skills/spec-load/SKILL.md +1 -1
  88. package/.codex/skills/spec-map/SKILL.md +204 -204
  89. package/.codex/skills/spec-remove/SKILL.md +75 -75
  90. package/.codex/skills/spec-setup/SKILL.md +2 -2
  91. package/.codex/skills/wiki-connect/SKILL.md +73 -73
  92. package/.codex/skills/wiki-digest/SKILL.md +87 -87
  93. package/dashboard/dist/assets/{ArtifactsPage-BLvAqQlQ.js → ArtifactsPage-B6z23DfG.js} +2 -2
  94. package/dashboard/dist/assets/{ChatInput-DU9YGZKX.js → ChatInput-tBtGKV2i.js} +1 -1
  95. package/dashboard/dist/assets/{ChatPage-DYHfheXC.js → ChatPage-CcggDVs4.js} +2 -2
  96. package/dashboard/dist/assets/{CollabPage-CSlmvEa-.js → CollabPage-FaZeqqeS.js} +1 -1
  97. package/dashboard/dist/assets/{ExecutionPanel-RYWf0dYC.js → ExecutionPanel-DNRwYDXp.js} +1 -1
  98. package/dashboard/dist/assets/{KanbanPage-N55Iv0-X.js → KanbanPage-B2xh2s_N.js} +1 -1
  99. package/dashboard/dist/assets/{MaestroCoordinatePage-BxwZ6yy5.js → MaestroCoordinatePage-DCMGHDAL.js} +1 -1
  100. package/dashboard/dist/assets/{MarkdownRenderer-ZGtOY7Ti.js → MarkdownRenderer-C3FvTqVe.js} +1 -1
  101. package/dashboard/dist/assets/McpPage-HKaJ8cQP.js +16 -0
  102. package/dashboard/dist/assets/{MeetingRoomPage-CxHRn1xx.js → MeetingRoomPage-DGN5oUXH.js} +1 -1
  103. package/dashboard/dist/assets/{OutputPanel-DaL8c1i5.js → OutputPanel-BiCteH5k.js} +1 -1
  104. package/dashboard/dist/assets/{ProblemsPanel-BQTd5812.js → ProblemsPanel-Dk4v9tol.js} +1 -1
  105. package/dashboard/dist/assets/{RequirementBoardPage-22y9u1qh.js → RequirementBoardPage-D10A26gi.js} +1 -1
  106. package/dashboard/dist/assets/{RequirementPage-_mO743Xm.js → RequirementPage-Cs-2omLz.js} +1 -1
  107. package/dashboard/dist/assets/{RoomsPage-CExTbOGr.js → RoomsPage-tKQQhw1W.js} +1 -1
  108. package/dashboard/dist/assets/SpecsPage-LK1QCtcg.js +36 -0
  109. package/dashboard/dist/assets/{TeamsPage-BxEXLb5g.js → TeamsPage-C-bEwB8E.js} +1 -1
  110. package/dashboard/dist/assets/{TreeBrowser-CVtPF5C9.js → TreeBrowser-1YP-DfTY.js} +2 -2
  111. package/dashboard/dist/assets/{WorkflowPage-BoN18Lhs.js → WorkflowPage-dGHPsDDr.js} +2 -2
  112. package/dashboard/dist/assets/{arrow-left-C5ROg97G.js → arrow-left-BPFSEpfO.js} +1 -1
  113. package/dashboard/dist/assets/{check-Bs8PM0tQ.js → check-D5hOViiQ.js} +1 -1
  114. package/dashboard/dist/assets/{chevron-right-SmErd_1F.js → chevron-right-D9BsXrIg.js} +1 -1
  115. package/dashboard/dist/assets/{circle-CjpslL_D.js → circle-Cn5fNpmp.js} +1 -1
  116. package/dashboard/dist/assets/{circle-alert-CuzAg2fd.js → circle-alert-CZvK3B1K.js} +1 -1
  117. package/dashboard/dist/assets/{circle-check-BIkDU5D5.js → circle-check-DApOBP0J.js} +1 -1
  118. package/dashboard/dist/assets/{circle-check-big-CYctV8bK.js → circle-check-big-Cd9ztJpl.js} +1 -1
  119. package/dashboard/dist/assets/{code-DoB7rfxt.js → code-C3TuHjMs.js} +1 -1
  120. package/dashboard/dist/assets/{columns-3-Ch5KIyRa.js → columns-3-CO2SvNJb.js} +1 -1
  121. package/dashboard/dist/assets/{download-DadtG2Nr.js → download-BuKGI7KX.js} +1 -1
  122. package/dashboard/dist/assets/{en-2h6fD0j8.js → en-BmpYsIfb.js} +1 -1
  123. package/dashboard/dist/assets/folder-Chwj_P4A.js +11 -0
  124. package/dashboard/dist/assets/folder-open-S72FbKvn.js +6 -0
  125. package/dashboard/dist/assets/{index-BL4h1OKY.js → index-CN0YdC9M.js} +1 -1
  126. package/dashboard/dist/assets/{index-DQIlX2w_.js → index-Cbs79erW.js} +5 -5
  127. package/dashboard/dist/assets/{index-DaFwSmVJ.js → index-CdT1WNND.js} +1 -1
  128. package/dashboard/dist/assets/index-DEvP8cgc.css +1 -0
  129. package/dashboard/dist/assets/{list-CI-XIPZh.js → list-Dg_ojUpi.js} +1 -1
  130. package/dashboard/dist/assets/{loader-DpdMoQvh.js → loader-CMcc73C_.js} +1 -1
  131. package/dashboard/dist/assets/{minus-BVbfXGrC.js → minus-KxmVOIB7.js} +1 -1
  132. package/dashboard/dist/assets/pen-line-D1YTNDPw.js +11 -0
  133. package/dashboard/dist/assets/{pencil-I7GE0y29.js → pencil-BAjxSHuh.js} +1 -1
  134. package/dashboard/dist/assets/{proxy-CcYyZZWI.js → proxy-BewnIei6.js} +1 -1
  135. package/dashboard/dist/assets/{refresh-cw-BG9V_T4R.js → refresh-cw-Chc0RcRY.js} +1 -1
  136. package/dashboard/dist/assets/{rows-2-DP6NjQFk.js → rows-2-DWJuw8OM.js} +1 -1
  137. package/dashboard/dist/assets/{search-b78eLlw2.js → search-CPGb2sEw.js} +1 -1
  138. package/dashboard/dist/assets/{shallow-CJEesgtu.js → shallow-Dy0-7n5s.js} +1 -1
  139. package/dashboard/dist/assets/{table-B_lk-a1d.js → table-VI5scWpO.js} +1 -1
  140. package/dashboard/dist/assets/{team-types-Se7f9LfJ.js → team-types-Cu8zCPN3.js} +1 -1
  141. package/dashboard/dist/assets/{terminal-DXx4tvzq.js → terminal-Bqt5c6Ny.js} +1 -1
  142. package/dashboard/dist/assets/{trash-2-CVh9mnRj.js → trash-2-BcTVifbw.js} +1 -1
  143. package/dashboard/dist/assets/{users-Da9zGME5.js → users-BhFAHz4H.js} +1 -1
  144. package/dashboard/dist/assets/{zap-C0zaC7gJ.js → zap-BWbLhgr6.js} +1 -1
  145. package/dashboard/dist/assets/{zh-CN-r3AvxxOL.js → zh-CN-BIRiTdAD.js} +1 -1
  146. package/dashboard/dist/index.html +2 -2
  147. package/dashboard/dist-server/dashboard/src/server/routes/wiki.js +1 -0
  148. package/dashboard/dist-server/dashboard/src/server/routes/wiki.js.map +1 -1
  149. package/dashboard/dist-server/dashboard/src/server/wiki/search.d.ts +14 -14
  150. package/dashboard/dist-server/dashboard/src/server/wiki/search.js +188 -56
  151. package/dashboard/dist-server/dashboard/src/server/wiki/search.js.map +1 -1
  152. package/dashboard/dist-server/dashboard/src/server/wiki/stress.test.js +1 -0
  153. package/dashboard/dist-server/dashboard/src/server/wiki/stress.test.js.map +1 -1
  154. package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.d.ts +37 -0
  155. package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.js +560 -22
  156. package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.js.map +1 -1
  157. package/dashboard/dist-server/dashboard/src/server/wiki/wiki-types.d.ts +6 -2
  158. package/dashboard/dist-server/src/types/index.d.ts +9 -0
  159. package/dist/src/cli.js +3 -0
  160. package/dist/src/cli.js.map +1 -1
  161. package/dist/src/commands/delegate.d.ts.map +1 -1
  162. package/dist/src/commands/delegate.js +50 -8
  163. package/dist/src/commands/delegate.js.map +1 -1
  164. package/dist/src/commands/domain.d.ts +9 -0
  165. package/dist/src/commands/domain.d.ts.map +1 -0
  166. package/dist/src/commands/domain.js +445 -0
  167. package/dist/src/commands/domain.js.map +1 -0
  168. package/dist/src/commands/hooks.d.ts +10 -0
  169. package/dist/src/commands/hooks.d.ts.map +1 -1
  170. package/dist/src/commands/hooks.js +132 -22
  171. package/dist/src/commands/hooks.js.map +1 -1
  172. package/dist/src/commands/install.d.ts.map +1 -1
  173. package/dist/src/commands/install.js +82 -204
  174. package/dist/src/commands/install.js.map +1 -1
  175. package/dist/src/commands/kg.d.ts.map +1 -1
  176. package/dist/src/commands/kg.js +183 -90
  177. package/dist/src/commands/kg.js.map +1 -1
  178. package/dist/src/commands/search.d.ts +15 -8
  179. package/dist/src/commands/search.d.ts.map +1 -1
  180. package/dist/src/commands/search.js +205 -59
  181. package/dist/src/commands/search.js.map +1 -1
  182. package/dist/src/commands/spec.d.ts.map +1 -1
  183. package/dist/src/commands/spec.js +9 -1
  184. package/dist/src/commands/spec.js.map +1 -1
  185. package/dist/src/commands/update.d.ts.map +1 -1
  186. package/dist/src/commands/update.js +0 -7
  187. package/dist/src/commands/update.js.map +1 -1
  188. package/dist/src/commands/wiki.d.ts.map +1 -1
  189. package/dist/src/commands/wiki.js +8 -1
  190. package/dist/src/commands/wiki.js.map +1 -1
  191. package/dist/src/commands/workspace.d.ts +12 -0
  192. package/dist/src/commands/workspace.d.ts.map +1 -0
  193. package/dist/src/commands/workspace.js +230 -0
  194. package/dist/src/commands/workspace.js.map +1 -0
  195. package/dist/src/config/cli-tools-config.d.ts +5 -0
  196. package/dist/src/config/cli-tools-config.d.ts.map +1 -1
  197. package/dist/src/config/cli-tools-config.js +31 -0
  198. package/dist/src/config/cli-tools-config.js.map +1 -1
  199. package/dist/src/config/index.d.ts +9 -1
  200. package/dist/src/config/index.d.ts.map +1 -1
  201. package/dist/src/config/index.js +35 -1
  202. package/dist/src/config/index.js.map +1 -1
  203. package/dist/src/core/install-executor.d.ts +31 -0
  204. package/dist/src/core/install-executor.d.ts.map +1 -0
  205. package/dist/src/core/install-executor.js +231 -0
  206. package/dist/src/core/install-executor.js.map +1 -0
  207. package/dist/src/core/install-profile.d.ts +103 -0
  208. package/dist/src/core/install-profile.d.ts.map +1 -0
  209. package/dist/src/core/install-profile.js +225 -0
  210. package/dist/src/core/install-profile.js.map +1 -0
  211. package/dist/src/graph/kg/credibility.d.ts +37 -0
  212. package/dist/src/graph/kg/credibility.d.ts.map +1 -0
  213. package/dist/src/graph/kg/credibility.js +141 -0
  214. package/dist/src/graph/kg/credibility.js.map +1 -0
  215. package/dist/src/graph/kg/db/connection.d.ts +28 -0
  216. package/dist/src/graph/kg/db/connection.d.ts.map +1 -0
  217. package/dist/src/graph/kg/db/connection.js +142 -0
  218. package/dist/src/graph/kg/db/connection.js.map +1 -0
  219. package/dist/src/graph/kg/db/index.d.ts +5 -0
  220. package/dist/src/graph/kg/db/index.d.ts.map +1 -0
  221. package/dist/src/graph/kg/db/index.js +6 -0
  222. package/dist/src/graph/kg/db/index.js.map +1 -0
  223. package/dist/src/graph/kg/db/migrations.d.ts +8 -0
  224. package/dist/src/graph/kg/db/migrations.d.ts.map +1 -0
  225. package/dist/src/graph/kg/db/migrations.js +88 -0
  226. package/dist/src/graph/kg/db/migrations.js.map +1 -0
  227. package/dist/src/graph/kg/db/queries.d.ts +84 -0
  228. package/dist/src/graph/kg/db/queries.d.ts.map +1 -0
  229. package/dist/src/graph/kg/db/queries.js +471 -0
  230. package/dist/src/graph/kg/db/queries.js.map +1 -0
  231. package/dist/src/graph/kg/db/types.d.ts +123 -0
  232. package/dist/src/graph/kg/db/types.d.ts.map +1 -0
  233. package/dist/src/graph/kg/db/types.js +75 -0
  234. package/dist/src/graph/kg/db/types.js.map +1 -0
  235. package/dist/src/graph/kg/engine.d.ts +87 -0
  236. package/dist/src/graph/kg/engine.d.ts.map +1 -0
  237. package/dist/src/graph/kg/engine.js +247 -0
  238. package/dist/src/graph/kg/engine.js.map +1 -0
  239. package/dist/src/graph/kg/extraction/code/code-extractor.d.ts +40 -0
  240. package/dist/src/graph/kg/extraction/code/code-extractor.d.ts.map +1 -0
  241. package/dist/src/graph/kg/extraction/code/code-extractor.js +296 -0
  242. package/dist/src/graph/kg/extraction/code/code-extractor.js.map +1 -0
  243. package/dist/src/graph/kg/extraction/code/dfm-extractor.d.ts +3 -0
  244. package/dist/src/graph/kg/extraction/code/dfm-extractor.d.ts.map +1 -0
  245. package/dist/src/graph/kg/extraction/code/dfm-extractor.js +122 -0
  246. package/dist/src/graph/kg/extraction/code/dfm-extractor.js.map +1 -0
  247. package/dist/src/graph/kg/extraction/code/generated-detection.d.ts +14 -0
  248. package/dist/src/graph/kg/extraction/code/generated-detection.d.ts.map +1 -0
  249. package/dist/src/graph/kg/extraction/code/generated-detection.js +65 -0
  250. package/dist/src/graph/kg/extraction/code/generated-detection.js.map +1 -0
  251. package/dist/src/graph/kg/extraction/code/languages/index.d.ts +9 -0
  252. package/dist/src/graph/kg/extraction/code/languages/index.d.ts.map +1 -0
  253. package/dist/src/graph/kg/extraction/code/languages/index.js +2119 -0
  254. package/dist/src/graph/kg/extraction/code/languages/index.js.map +1 -0
  255. package/dist/src/graph/kg/extraction/code/languages/typescript.d.ts +5 -0
  256. package/dist/src/graph/kg/extraction/code/languages/typescript.d.ts.map +1 -0
  257. package/dist/src/graph/kg/extraction/code/languages/typescript.js +191 -0
  258. package/dist/src/graph/kg/extraction/code/languages/typescript.js.map +1 -0
  259. package/dist/src/graph/kg/extraction/code/liquid-extractor.d.ts +3 -0
  260. package/dist/src/graph/kg/extraction/code/liquid-extractor.d.ts.map +1 -0
  261. package/dist/src/graph/kg/extraction/code/liquid-extractor.js +117 -0
  262. package/dist/src/graph/kg/extraction/code/liquid-extractor.js.map +1 -0
  263. package/dist/src/graph/kg/extraction/code/mybatis-extractor.d.ts +3 -0
  264. package/dist/src/graph/kg/extraction/code/mybatis-extractor.d.ts.map +1 -0
  265. package/dist/src/graph/kg/extraction/code/mybatis-extractor.js +84 -0
  266. package/dist/src/graph/kg/extraction/code/mybatis-extractor.js.map +1 -0
  267. package/dist/src/graph/kg/extraction/code/svelte-extractor.d.ts +3 -0
  268. package/dist/src/graph/kg/extraction/code/svelte-extractor.d.ts.map +1 -0
  269. package/dist/src/graph/kg/extraction/code/svelte-extractor.js +92 -0
  270. package/dist/src/graph/kg/extraction/code/svelte-extractor.js.map +1 -0
  271. package/dist/src/graph/kg/extraction/code/tree-sitter-types.d.ts +61 -0
  272. package/dist/src/graph/kg/extraction/code/tree-sitter-types.d.ts.map +1 -0
  273. package/dist/src/graph/kg/extraction/code/tree-sitter-types.js +53 -0
  274. package/dist/src/graph/kg/extraction/code/tree-sitter-types.js.map +1 -0
  275. package/dist/src/graph/kg/extraction/code/tree-sitter.d.ts +55 -0
  276. package/dist/src/graph/kg/extraction/code/tree-sitter.d.ts.map +1 -0
  277. package/dist/src/graph/kg/extraction/code/tree-sitter.js +227 -0
  278. package/dist/src/graph/kg/extraction/code/tree-sitter.js.map +1 -0
  279. package/dist/src/graph/kg/extraction/code/vue-extractor.d.ts +6 -0
  280. package/dist/src/graph/kg/extraction/code/vue-extractor.d.ts.map +1 -0
  281. package/dist/src/graph/kg/extraction/code/vue-extractor.js +109 -0
  282. package/dist/src/graph/kg/extraction/code/vue-extractor.js.map +1 -0
  283. package/dist/src/graph/kg/extraction/code/wasm-stability.d.ts +44 -0
  284. package/dist/src/graph/kg/extraction/code/wasm-stability.d.ts.map +1 -0
  285. package/dist/src/graph/kg/extraction/code/wasm-stability.js +140 -0
  286. package/dist/src/graph/kg/extraction/code/wasm-stability.js.map +1 -0
  287. package/dist/src/graph/kg/extraction/knowledge/codebase-extractor.d.ts +3 -0
  288. package/dist/src/graph/kg/extraction/knowledge/codebase-extractor.d.ts.map +1 -0
  289. package/dist/src/graph/kg/extraction/knowledge/codebase-extractor.js +149 -0
  290. package/dist/src/graph/kg/extraction/knowledge/codebase-extractor.js.map +1 -0
  291. package/dist/src/graph/kg/extraction/knowledge/domain-extractor.d.ts +4 -0
  292. package/dist/src/graph/kg/extraction/knowledge/domain-extractor.d.ts.map +1 -0
  293. package/dist/src/graph/kg/extraction/knowledge/domain-extractor.js +114 -0
  294. package/dist/src/graph/kg/extraction/knowledge/domain-extractor.js.map +1 -0
  295. package/dist/src/graph/kg/extraction/knowledge/issue-extractor.d.ts +3 -0
  296. package/dist/src/graph/kg/extraction/knowledge/issue-extractor.d.ts.map +1 -0
  297. package/dist/src/graph/kg/extraction/knowledge/issue-extractor.js +84 -0
  298. package/dist/src/graph/kg/extraction/knowledge/issue-extractor.js.map +1 -0
  299. package/dist/src/graph/kg/extraction/knowledge/spec-extractor.d.ts +3 -0
  300. package/dist/src/graph/kg/extraction/knowledge/spec-extractor.d.ts.map +1 -0
  301. package/dist/src/graph/kg/extraction/knowledge/spec-extractor.js +173 -0
  302. package/dist/src/graph/kg/extraction/knowledge/spec-extractor.js.map +1 -0
  303. package/dist/src/graph/kg/extraction/knowledge/wiki-extractor.d.ts +3 -0
  304. package/dist/src/graph/kg/extraction/knowledge/wiki-extractor.d.ts.map +1 -0
  305. package/dist/src/graph/kg/extraction/knowledge/wiki-extractor.js +165 -0
  306. package/dist/src/graph/kg/extraction/knowledge/wiki-extractor.js.map +1 -0
  307. package/dist/src/graph/kg/extraction/orchestrator.d.ts +6 -0
  308. package/dist/src/graph/kg/extraction/orchestrator.d.ts.map +1 -0
  309. package/dist/src/graph/kg/extraction/orchestrator.js +208 -0
  310. package/dist/src/graph/kg/extraction/orchestrator.js.map +1 -0
  311. package/dist/src/graph/kg/index.d.ts +29 -0
  312. package/dist/src/graph/kg/index.d.ts.map +1 -0
  313. package/dist/src/graph/kg/index.js +35 -0
  314. package/dist/src/graph/kg/index.js.map +1 -0
  315. package/dist/src/graph/kg/query/context-builder.d.ts +38 -0
  316. package/dist/src/graph/kg/query/context-builder.d.ts.map +1 -0
  317. package/dist/src/graph/kg/query/context-builder.js +184 -0
  318. package/dist/src/graph/kg/query/context-builder.js.map +1 -0
  319. package/dist/src/graph/kg/query/index.d.ts +8 -0
  320. package/dist/src/graph/kg/query/index.d.ts.map +1 -0
  321. package/dist/src/graph/kg/query/index.js +6 -0
  322. package/dist/src/graph/kg/query/index.js.map +1 -0
  323. package/dist/src/graph/kg/query/scoring.d.ts +19 -0
  324. package/dist/src/graph/kg/query/scoring.d.ts.map +1 -0
  325. package/dist/src/graph/kg/query/scoring.js +158 -0
  326. package/dist/src/graph/kg/query/scoring.js.map +1 -0
  327. package/dist/src/graph/kg/query/search.d.ts +59 -0
  328. package/dist/src/graph/kg/query/search.d.ts.map +1 -0
  329. package/dist/src/graph/kg/query/search.js +158 -0
  330. package/dist/src/graph/kg/query/search.js.map +1 -0
  331. package/dist/src/graph/kg/query/traversal.d.ts +75 -0
  332. package/dist/src/graph/kg/query/traversal.d.ts.map +1 -0
  333. package/dist/src/graph/kg/query/traversal.js +420 -0
  334. package/dist/src/graph/kg/query/traversal.js.map +1 -0
  335. package/dist/src/graph/kg/resolution/callback-synthesizer.d.ts +41 -0
  336. package/dist/src/graph/kg/resolution/callback-synthesizer.d.ts.map +1 -0
  337. package/dist/src/graph/kg/resolution/callback-synthesizer.js +450 -0
  338. package/dist/src/graph/kg/resolution/callback-synthesizer.js.map +1 -0
  339. package/dist/src/graph/kg/resolution/frameworks/index.d.ts +18 -0
  340. package/dist/src/graph/kg/resolution/frameworks/index.d.ts.map +1 -0
  341. package/dist/src/graph/kg/resolution/frameworks/index.js +632 -0
  342. package/dist/src/graph/kg/resolution/frameworks/index.js.map +1 -0
  343. package/dist/src/graph/kg/resolution/import-resolver.d.ts +73 -0
  344. package/dist/src/graph/kg/resolution/import-resolver.d.ts.map +1 -0
  345. package/dist/src/graph/kg/resolution/import-resolver.js +257 -0
  346. package/dist/src/graph/kg/resolution/import-resolver.js.map +1 -0
  347. package/dist/src/graph/kg/resolution/index.d.ts +11 -0
  348. package/dist/src/graph/kg/resolution/index.d.ts.map +1 -0
  349. package/dist/src/graph/kg/resolution/index.js +7 -0
  350. package/dist/src/graph/kg/resolution/index.js.map +1 -0
  351. package/dist/src/graph/kg/resolution/knowledge-resolver.d.ts +22 -0
  352. package/dist/src/graph/kg/resolution/knowledge-resolver.d.ts.map +1 -0
  353. package/dist/src/graph/kg/resolution/knowledge-resolver.js +288 -0
  354. package/dist/src/graph/kg/resolution/knowledge-resolver.js.map +1 -0
  355. package/dist/src/graph/kg/resolution/name-matcher.d.ts +25 -0
  356. package/dist/src/graph/kg/resolution/name-matcher.d.ts.map +1 -0
  357. package/dist/src/graph/kg/resolution/name-matcher.js +162 -0
  358. package/dist/src/graph/kg/resolution/name-matcher.js.map +1 -0
  359. package/dist/src/graph/kg/schema.sql +210 -0
  360. package/dist/src/graph/kg/surface/cli.d.ts +3 -0
  361. package/dist/src/graph/kg/surface/cli.d.ts.map +1 -0
  362. package/dist/src/graph/kg/surface/cli.js +500 -0
  363. package/dist/src/graph/kg/surface/cli.js.map +1 -0
  364. package/dist/src/graph/kg/surface/hook-injector.d.ts +33 -0
  365. package/dist/src/graph/kg/surface/hook-injector.d.ts.map +1 -0
  366. package/dist/src/graph/kg/surface/hook-injector.js +172 -0
  367. package/dist/src/graph/kg/surface/hook-injector.js.map +1 -0
  368. package/dist/src/graph/kg/surface/index.d.ts +6 -0
  369. package/dist/src/graph/kg/surface/index.d.ts.map +1 -0
  370. package/dist/src/graph/kg/surface/index.js +5 -0
  371. package/dist/src/graph/kg/surface/index.js.map +1 -0
  372. package/dist/src/graph/kg/surface/mcp-tools.d.ts +20 -0
  373. package/dist/src/graph/kg/surface/mcp-tools.d.ts.map +1 -0
  374. package/dist/src/graph/kg/surface/mcp-tools.js +253 -0
  375. package/dist/src/graph/kg/surface/mcp-tools.js.map +1 -0
  376. package/dist/src/graph/kg/sync/incremental-sync.d.ts +24 -0
  377. package/dist/src/graph/kg/sync/incremental-sync.d.ts.map +1 -0
  378. package/dist/src/graph/kg/sync/incremental-sync.js +71 -0
  379. package/dist/src/graph/kg/sync/incremental-sync.js.map +1 -0
  380. package/dist/src/graph/kg/sync/index.d.ts +5 -0
  381. package/dist/src/graph/kg/sync/index.d.ts.map +1 -0
  382. package/dist/src/graph/kg/sync/index.js +4 -0
  383. package/dist/src/graph/kg/sync/index.js.map +1 -0
  384. package/dist/src/graph/kg/sync/watch-policy.d.ts +33 -0
  385. package/dist/src/graph/kg/sync/watch-policy.d.ts.map +1 -0
  386. package/dist/src/graph/kg/sync/watch-policy.js +90 -0
  387. package/dist/src/graph/kg/sync/watch-policy.js.map +1 -0
  388. package/dist/src/hooks/constants.d.ts +0 -2
  389. package/dist/src/hooks/constants.d.ts.map +1 -1
  390. package/dist/src/hooks/constants.js +0 -2
  391. package/dist/src/hooks/constants.js.map +1 -1
  392. package/dist/src/hooks/keyword-spec-injector.d.ts +6 -0
  393. package/dist/src/hooks/keyword-spec-injector.d.ts.map +1 -1
  394. package/dist/src/hooks/keyword-spec-injector.js +157 -81
  395. package/dist/src/hooks/keyword-spec-injector.js.map +1 -1
  396. package/dist/src/hooks/kg-auto-init.d.ts +13 -0
  397. package/dist/src/hooks/kg-auto-init.d.ts.map +1 -0
  398. package/dist/src/hooks/kg-auto-init.js +38 -0
  399. package/dist/src/hooks/kg-auto-init.js.map +1 -0
  400. package/dist/src/hooks/kg-context-injector.d.ts +1 -3
  401. package/dist/src/hooks/kg-context-injector.d.ts.map +1 -1
  402. package/dist/src/hooks/kg-context-injector.js +12 -17
  403. package/dist/src/hooks/kg-context-injector.js.map +1 -1
  404. package/dist/src/hooks/kg-sync-hook.d.ts +1 -9
  405. package/dist/src/hooks/kg-sync-hook.d.ts.map +1 -1
  406. package/dist/src/hooks/kg-sync-hook.js +21 -90
  407. package/dist/src/hooks/kg-sync-hook.js.map +1 -1
  408. package/dist/src/hooks/spec-analytics.d.ts +1 -0
  409. package/dist/src/hooks/spec-analytics.d.ts.map +1 -1
  410. package/dist/src/hooks/spec-analytics.js +1 -3
  411. package/dist/src/hooks/spec-analytics.js.map +1 -1
  412. package/dist/src/hooks/spec-injector.d.ts.map +1 -1
  413. package/dist/src/hooks/spec-injector.js +65 -1
  414. package/dist/src/hooks/spec-injector.js.map +1 -1
  415. package/dist/src/i18n/locales/en.d.ts.map +1 -1
  416. package/dist/src/i18n/locales/en.js +52 -9
  417. package/dist/src/i18n/locales/en.js.map +1 -1
  418. package/dist/src/i18n/locales/zh.d.ts.map +1 -1
  419. package/dist/src/i18n/locales/zh.js +52 -9
  420. package/dist/src/i18n/locales/zh.js.map +1 -1
  421. package/dist/src/i18n/types.d.ts +40 -4
  422. package/dist/src/i18n/types.d.ts.map +1 -1
  423. package/dist/src/ralph/skill-scanner.d.ts.map +1 -1
  424. package/dist/src/ralph/skill-scanner.js +9 -3
  425. package/dist/src/ralph/skill-scanner.js.map +1 -1
  426. package/dist/src/tools/__tests__/domain-search-debug.d.ts +2 -0
  427. package/dist/src/tools/__tests__/domain-search-debug.d.ts.map +1 -0
  428. package/dist/src/tools/__tests__/domain-search-debug.js +32 -0
  429. package/dist/src/tools/__tests__/domain-search-debug.js.map +1 -0
  430. package/dist/src/tools/domain-loader.d.ts +63 -0
  431. package/dist/src/tools/domain-loader.d.ts.map +1 -0
  432. package/dist/src/tools/domain-loader.js +295 -0
  433. package/dist/src/tools/domain-loader.js.map +1 -0
  434. package/dist/src/tools/domain-matcher.d.ts +24 -0
  435. package/dist/src/tools/domain-matcher.d.ts.map +1 -0
  436. package/dist/src/tools/domain-matcher.js +117 -0
  437. package/dist/src/tools/domain-matcher.js.map +1 -0
  438. package/dist/src/tools/domain-scanner.d.ts +32 -0
  439. package/dist/src/tools/domain-scanner.d.ts.map +1 -0
  440. package/dist/src/tools/domain-scanner.js +263 -0
  441. package/dist/src/tools/domain-scanner.js.map +1 -0
  442. package/dist/src/tools/domain-schema.d.ts +18 -0
  443. package/dist/src/tools/domain-schema.d.ts.map +1 -0
  444. package/dist/src/tools/domain-schema.js +104 -0
  445. package/dist/src/tools/domain-schema.js.map +1 -0
  446. package/dist/src/tools/spec-entry-parser.d.ts +1 -0
  447. package/dist/src/tools/spec-entry-parser.d.ts.map +1 -1
  448. package/dist/src/tools/spec-entry-parser.js +1 -0
  449. package/dist/src/tools/spec-entry-parser.js.map +1 -1
  450. package/dist/src/tools/spec-loader.d.ts +5 -0
  451. package/dist/src/tools/spec-loader.d.ts.map +1 -1
  452. package/dist/src/tools/spec-loader.js +10 -2
  453. package/dist/src/tools/spec-loader.js.map +1 -1
  454. package/dist/src/tui/install-ui/ConfigPanel.d.ts.map +1 -1
  455. package/dist/src/tui/install-ui/ConfigPanel.js +9 -1
  456. package/dist/src/tui/install-ui/ConfigPanel.js.map +1 -1
  457. package/dist/src/tui/install-ui/GroupedHub.d.ts +55 -0
  458. package/dist/src/tui/install-ui/GroupedHub.d.ts.map +1 -0
  459. package/dist/src/tui/install-ui/GroupedHub.js +210 -0
  460. package/dist/src/tui/install-ui/GroupedHub.js.map +1 -0
  461. package/dist/src/tui/install-ui/HooksConfig.d.ts +10 -5
  462. package/dist/src/tui/install-ui/HooksConfig.d.ts.map +1 -1
  463. package/dist/src/tui/install-ui/HooksConfig.js +83 -18
  464. package/dist/src/tui/install-ui/HooksConfig.js.map +1 -1
  465. package/dist/src/tui/install-ui/InstallConfirm.d.ts +1 -30
  466. package/dist/src/tui/install-ui/InstallConfirm.d.ts.map +1 -1
  467. package/dist/src/tui/install-ui/InstallConfirm.js +72 -12
  468. package/dist/src/tui/install-ui/InstallConfirm.js.map +1 -1
  469. package/dist/src/tui/install-ui/InstallExecution.d.ts +4 -21
  470. package/dist/src/tui/install-ui/InstallExecution.d.ts.map +1 -1
  471. package/dist/src/tui/install-ui/InstallExecution.js +89 -260
  472. package/dist/src/tui/install-ui/InstallExecution.js.map +1 -1
  473. package/dist/src/tui/install-ui/InstallFlow.d.ts +3 -7
  474. package/dist/src/tui/install-ui/InstallFlow.d.ts.map +1 -1
  475. package/dist/src/tui/install-ui/InstallFlow.js +45 -267
  476. package/dist/src/tui/install-ui/InstallFlow.js.map +1 -1
  477. package/dist/src/tui/install-ui/InstallHub.d.ts.map +1 -1
  478. package/dist/src/tui/install-ui/InstallHub.js +2 -4
  479. package/dist/src/tui/install-ui/InstallHub.js.map +1 -1
  480. package/dist/src/tui/install-ui/InstallResult.d.ts.map +1 -1
  481. package/dist/src/tui/install-ui/InstallResult.js +1 -5
  482. package/dist/src/tui/install-ui/InstallResult.js.map +1 -1
  483. package/dist/src/tui/install-ui/index.d.ts +5 -1
  484. package/dist/src/tui/install-ui/index.d.ts.map +1 -1
  485. package/dist/src/tui/install-ui/index.js +1 -0
  486. package/dist/src/tui/install-ui/index.js.map +1 -1
  487. package/dist/src/tui/install-ui/types.d.ts +39 -0
  488. package/dist/src/tui/install-ui/types.d.ts.map +1 -1
  489. package/dist/src/tui/install-ui/types.js +1 -1
  490. package/dist/src/tui/install-ui/types.js.map +1 -1
  491. package/dist/src/tui/install-ui/useInstallFlowState.d.ts +69 -0
  492. package/dist/src/tui/install-ui/useInstallFlowState.d.ts.map +1 -0
  493. package/dist/src/tui/install-ui/useInstallFlowState.js +288 -0
  494. package/dist/src/tui/install-ui/useInstallFlowState.js.map +1 -0
  495. package/dist/src/tui/shared/components.d.ts +4 -0
  496. package/dist/src/tui/shared/components.d.ts.map +1 -1
  497. package/dist/src/tui/shared/components.js +4 -0
  498. package/dist/src/tui/shared/components.js.map +1 -1
  499. package/dist/src/tui/shared/index.d.ts +1 -1
  500. package/dist/src/tui/shared/index.d.ts.map +1 -1
  501. package/dist/src/tui/shared/index.js +1 -1
  502. package/dist/src/tui/shared/index.js.map +1 -1
  503. package/dist/src/tui/shared/tokens.d.ts +5 -5
  504. package/dist/src/tui/shared/tokens.js +5 -5
  505. package/dist/src/tui/shared/tokens.js.map +1 -1
  506. package/dist/src/types/index.d.ts +9 -0
  507. package/dist/src/types/index.d.ts.map +1 -1
  508. package/dist/src/utils/cli-format.d.ts +2 -1
  509. package/dist/src/utils/cli-format.d.ts.map +1 -1
  510. package/dist/src/utils/cli-format.js +14 -3
  511. package/dist/src/utils/cli-format.js.map +1 -1
  512. package/dist/src/utils/cooldown-guard.d.ts +17 -0
  513. package/dist/src/utils/cooldown-guard.d.ts.map +1 -0
  514. package/dist/src/utils/cooldown-guard.js +59 -0
  515. package/dist/src/utils/cooldown-guard.js.map +1 -0
  516. package/dist/src/utils/jsonl-log.d.ts.map +1 -1
  517. package/dist/src/utils/jsonl-log.js +2 -1
  518. package/dist/src/utils/jsonl-log.js.map +1 -1
  519. package/dist/src/utils/update-notices.js +17 -4
  520. package/dist/src/utils/update-notices.js.map +1 -1
  521. package/package.json +4 -5
  522. package/workflows/claude-instructions.md +23 -0
  523. package/workflows/codex-instructions.md +22 -0
  524. package/workflows/finish-work.md +25 -0
  525. package/workflows/updates/update-v3-setup.md +7 -15
  526. package/dashboard/dist/assets/McpPage-Im6s4pGR.js +0 -21
  527. package/dashboard/dist/assets/SpecsPage-gr4KX51-.js +0 -36
  528. package/dashboard/dist/assets/folder-B8ODoZfb.js +0 -16
  529. package/dashboard/dist/assets/index-6-yE5Yl9.css +0 -1
  530. package/dashboard/dist/assets/pen-line-CR8GaHt-.js +0 -6
@@ -0,0 +1,228 @@
1
+ ---
2
+ name: insight-challenge
3
+ description: "Adversarial review of code quality findings. Challenges insights with counter-evidence, verifies claims against source code, and produces structured verdicts. Triggers on 'insight-challenge', 'challenge finding', '审查发现'."
4
+ allowed-tools: read(*), glob(*), grep(*), bash(*), write(*)
5
+ ---
6
+ <!-- Open-standard mirror generated by scripts/build-agents-standard.mjs — do not edit; re-run after editing .claude/ source. -->
7
+
8
+
9
+ # Insight Challenge
10
+
11
+ Adversarial review of code quality findings. Challenges insights with counter-evidence, verifies claims against source code, and produces structured verdicts.
12
+
13
+ **适用场景**: 当需要对代码审查、质量分析、或架构评估中的发现进行对抗性验证时使用。
14
+
15
+ ## Architecture
16
+
17
+ ```
18
+ ┌─────────────────────────────────────────────────────────────┐
19
+ │ Insight Challenge (SKILL.md) — Adversarial Review │
20
+ │ → Parse finding → Read source → Challenge → Verdict │
21
+ └─────────────────────────────────────────────────────────────┘
22
+
23
+ ┌──────────┬───────────┼───────────┬──────────┐
24
+ ↓ ↓ ↓ ↓ │
25
+ ┌────────┐ ┌────────┐ ┌────────┐ ┌────────┐ │
26
+ │Phase 1 │ │Phase 2 │ │Phase 3 │ │Phase 4 │ │
27
+ │ Parse │ │ Source │ │Challenge│ │Verdict │ │
28
+ │Finding │ │ Review │ │Analysis │ │Report │ │
29
+ └───┬────┘ └───┬────┘ └───┬────┘ └───┬────┘ │
30
+ │ │ │ │ │
31
+ finding source counter- structured │
32
+ parsed code evidence verdict │
33
+ ```
34
+
35
+ ## Key Design Principles
36
+
37
+ 1. **Adversarial by Default**: Assume findings may be incorrect; seek counter-evidence first
38
+ 2. **Source-Code Anchored**: All claims must be verified against actual code, not assumptions
39
+ 3. **Structured Output**: Verdicts follow a fixed schema for downstream consumption
40
+ 4. **Fair Challenge**: If evidence supports the finding, confirm it; don't manufacture doubt
41
+ 5. **Transparent Reasoning**: Show the chain of evidence and reasoning
42
+
43
+ ## Finding Input Format
44
+
45
+ Findings can be provided as JSON or structured text:
46
+
47
+ ```json
48
+ {
49
+ "id": "HIGH-01",
50
+ "title": "知识边类型 resolves/documents 未在 types.ts 声明",
51
+ "severity": "high",
52
+ "file": "src/graph/kg/db/types.ts",
53
+ "line": 58,
54
+ "description": "issue-extractor 使用 'resolves' 边类型...",
55
+ "evidence": "types.ts KnowledgeEdgeKind: defines, constrains...",
56
+ "suggestion": "补齐缺失的边类型声明",
57
+ "design_ref": "Gap 2 — 12 CodeEdgeKind + 9 KnowledgeEdgeKind"
58
+ }
59
+ ```
60
+
61
+ Or structured text:
62
+ ```
63
+ HIGH-01: 知识边类型 resolves/documents 未在 types.ts 声明
64
+ Severity: high
65
+ File: src/graph/kg/db/types.ts:58
66
+ Claim: issue-extractor 使用 'resolves' 边类型但未在类型系统中声明
67
+ Evidence: types.ts KnowledgeEdgeKind 列表中缺少 'resolves'
68
+ ```
69
+
70
+ ## Execution Flow
71
+
72
+ ### Phase 1: Parse Finding
73
+
74
+ 1. Extract finding ID, title, severity, file reference, and claims
75
+ 2. Identify all verifiable assertions:
76
+ - File existence claims
77
+ - Code structure claims (types, functions, variables)
78
+ - Behavioral claims (usage patterns, dependencies)
79
+ - Design conformance claims
80
+ 3. Create verification checklist
81
+
82
+ ### Phase 2: Source Review
83
+
84
+ 1. Read the referenced file(s) at the specified lines
85
+ 2. Search for related code using Grep/Glob
86
+ 3. Document actual state of the code:
87
+ - What types/functions actually exist
88
+ - What values are actually declared
89
+ - What the actual implementation looks like
90
+ 4. Compare claims against reality
91
+
92
+ ### Phase 3: Challenge Analysis
93
+
94
+ For each claim in the finding:
95
+
96
+ 1. **Seek confirming evidence**: Does the source code support this claim?
97
+ 2. **Seek disconfirming evidence**: Does the source code contradict this claim?
98
+ 3. **Check for misinterpretation**: Could the claim be based on outdated code or misunderstanding?
99
+ 4. **Verify design references**: Are cited design docs accurate?
100
+
101
+ Challenge strategies:
102
+ - **Direct contradiction**: Source code explicitly shows the opposite
103
+ - **Context omission**: Finding omits relevant context that changes the interpretation
104
+ - **Stale reference**: Finding references code that has been updated
105
+ - **Miscounted**: Numeric claims (missing N types) are incorrect
106
+ - **Scope error**: Finding applies wrong scope (e.g., confuses edge types with language types)
107
+
108
+ ### Phase 4: Verdict Report
109
+
110
+ Produce structured output:
111
+
112
+ ```json
113
+ {
114
+ "finding_id": "HIGH-01",
115
+ "challenge_result": "overturned|weakened|confirmed",
116
+ "confidence": 95,
117
+ "reasoning": "Detailed explanation of why the finding was challenged or confirmed",
118
+ "counter_evidence": [
119
+ "Source file line 64: 'resolves' IS declared in KnowledgeEdgeKind",
120
+ "Design doc specifies 20 edge types, not 28"
121
+ ],
122
+ "supporting_evidence": [],
123
+ "adjusted_severity": "none|high|medium|low",
124
+ "recommendation": "Dismiss this finding; the claimed gap does not exist"
125
+ }
126
+ ```
127
+
128
+ ## Verdict Definitions
129
+
130
+ | Verdict | Meaning | When to Use |
131
+ |---------|---------|-------------|
132
+ | **overturned** | Finding is factually incorrect | Source code directly contradicts the claim |
133
+ | **weakened** | Finding is partially correct but overstated | Some evidence supports it, but severity/scope is wrong |
134
+ | **confirmed** | Finding is accurate | Source code supports all claims |
135
+
136
+ ## Challenge Patterns
137
+
138
+ ### Pattern 1: Type Declaration Check
139
+ ```
140
+ Claim: "Type X is not declared"
141
+ Challenge: Read the type file → check if X exists in type union/enum
142
+ Counter: "Line N shows X IS declared in the type definition"
143
+ ```
144
+
145
+ ### Pattern 2: Design Reference Verification
146
+ ```
147
+ Claim: "Design requires N items, implementation has M"
148
+ Challenge: Read design doc → verify the claimed requirement
149
+ Counter: "Design doc actually specifies K items, not N"
150
+ ```
151
+
152
+ ### Pattern 3: Usage Verification
153
+ ```
154
+ Claim: "Code uses type X but X is not defined"
155
+ Challenge: Check both usage site AND definition site
156
+ Counter: "X is defined at line N in file Y"
157
+ ```
158
+
159
+ ### Pattern 4: Scope Confusion
160
+ ```
161
+ Claim: "Missing 7 edge types (total should be 28)"
162
+ Challenge: Check what the "28" actually refers to
163
+ Counter: "The 28 refers to language types, not edge types; edge types are 21"
164
+ ```
165
+
166
+ ## Output Format
167
+
168
+ The challenge produces a markdown report:
169
+
170
+ ```markdown
171
+ ## Challenge Report: <finding_id>
172
+
173
+ **Verdict**: <overturned|weakened|confirmed>
174
+ **Confidence**: <0-100>%
175
+ **Adjusted Severity**: <none|high|medium|low>
176
+
177
+ ### Original Finding
178
+ <finding summary>
179
+
180
+ ### Counter-Evidence
181
+ - <evidence point 1>
182
+ - <evidence point 2>
183
+
184
+ ### Supporting Evidence
185
+ - <evidence point 1> (if any)
186
+
187
+ ### Reasoning
188
+ <detailed explanation>
189
+
190
+ ### Recommendation
191
+ <action recommendation>
192
+ ```
193
+
194
+ ## Error Handling
195
+
196
+ | Scenario | Resolution |
197
+ |----------|------------|
198
+ | Referenced file not found | Report file missing; verdict = weakened (potentially stale) |
199
+ | Line number out of range | Search for the claimed content; adjust line reference |
200
+ | Design doc not found | Skip design verification; note in report |
201
+ | Ambiguous evidence | Present both sides; lower confidence score |
202
+ | Multiple findings batch | Process each independently; produce per-finding verdicts |
203
+
204
+ ## Usage Examples
205
+
206
+ ### Single Finding Challenge
207
+ ```
208
+ invoke_skill(skill="insight-challenge", args='{"id":"HIGH-01","title":"...","file":"src/types.ts","line":58,...}')
209
+ ```
210
+
211
+ ### Batch Challenge
212
+ ```
213
+ invoke_skill(skill="insight-challenge", args='findings.json')
214
+ ```
215
+
216
+ ### Inline Challenge
217
+ ```
218
+ Challenge this finding:
219
+ Claim: Function X is not exported
220
+ File: src/utils.ts:45
221
+ Evidence: grep shows no export keyword
222
+ ```
223
+
224
+ ## Related Skills
225
+
226
+ - **team-adversarial-swarm**: Multi-agent adversarial analysis
227
+ - **team-quality-assurance**: QA pipeline with issue discovery
228
+ - **codify-to-knowhow**: Capturing verified knowledge
@@ -0,0 +1,154 @@
1
+ # Challenge Protocol Specification
2
+
3
+ ## Overview
4
+
5
+ This protocol defines the systematic approach to challenging code quality findings. The goal is to ensure findings are accurate before action is taken, reducing false positives and wasted effort.
6
+
7
+ ## Challenge Methodology
8
+
9
+ ### Step 1: Claim Decomposition
10
+
11
+ Break the finding into atomic, verifiable claims:
12
+
13
+ 1. **Existence claims**: "X exists/does not exist in file Y"
14
+ 2. **Behavior claims**: "Function X does Y when Z"
15
+ 3. **Structure claims**: "Type X has N members"
16
+ 4. **Conformance claims**: "Implementation deviates from design by X"
17
+ 5. **Numeric claims**: "Missing N items (expected M, found K)"
18
+
19
+ Each claim must be independently verifiable.
20
+
21
+ ### Step 2: Evidence Collection
22
+
23
+ For each claim, collect:
24
+
25
+ 1. **Primary evidence**: Direct source code reading
26
+ 2. **Secondary evidence**: Related files, imports, type definitions
27
+ 3. **Design evidence**: Referenced design documents
28
+ 4. **Usage evidence**: How the code is actually used
29
+
30
+ Evidence hierarchy:
31
+ - Source code > Design docs > Comments > Assumptions
32
+
33
+ ### Step 3: Adversarial Analysis
34
+
35
+ Apply these challenge strategies:
36
+
37
+ #### Strategy A: Direct Verification
38
+ Read the exact file and line referenced. Does the claim match reality?
39
+
40
+ ```
41
+ Claim: "Line 58: type X is missing"
42
+ Action: Read line 58 of the file
43
+ Result: Line 58 shows type X IS present → claim overturned
44
+ ```
45
+
46
+ #### Strategy B: Context Expansion
47
+ The claim may be technically correct but misleadingly decontextualized.
48
+
49
+ ```
50
+ Claim: "Function X has no error handling"
51
+ Action: Read the full function and its callers
52
+ Result: Error handling is done by callers → claim weakened
53
+ ```
54
+
55
+ #### Strategy C: Scope Correction
56
+ The claim may confuse different scopes or namespaces.
57
+
58
+ ```
59
+ Claim: "28 edge types required, only 21 found"
60
+ Action: Check what "28" refers to in design docs
61
+ Result: 28 = language types, not edge types → claim overturned
62
+ ```
63
+
64
+ #### Strategy D: Temporal Check
65
+ The claim may reference outdated code.
66
+
67
+ ```
68
+ Claim: "File X uses deprecated API Y"
69
+ Action: Check git history and current code
70
+ Result: API was updated last week → claim overturned
71
+ ```
72
+
73
+ #### Strategy E: Completeness Check
74
+ The claim may be partially correct but incomplete.
75
+
76
+ ```
77
+ Claim: "Type X is missing from union"
78
+ Action: Check all union members
79
+ Result: X is present but Y is actually missing → claim weakened
80
+ ```
81
+
82
+ ### Step 4: Verdict Determination
83
+
84
+ Use this decision tree:
85
+
86
+ ```
87
+ Is the primary claim factually incorrect?
88
+ ├─ Yes → verdict = "overturned"
89
+ └─ No → Is the severity/scope overstated?
90
+ ├─ Yes → verdict = "weakened"
91
+ └─ No → Is the claim accurate?
92
+ ├─ Yes → verdict = "confirmed"
93
+ └─ Uncertain → verdict = "weakened" (lower confidence)
94
+ ```
95
+
96
+ ### Step 5: Confidence Scoring
97
+
98
+ | Confidence | Meaning |
99
+ |------------|---------|
100
+ | 90-100% | Clear, unambiguous evidence |
101
+ | 70-89% | Strong evidence with minor uncertainty |
102
+ | 50-69% | Mixed evidence; judgment call |
103
+ | Below 50% | Insufficient evidence; recommend further investigation |
104
+
105
+ Factors affecting confidence:
106
+ - Source code clarity
107
+ - Design doc availability
108
+ - Claim specificity
109
+ - Evidence completeness
110
+
111
+ ## Anti-Patterns
112
+
113
+ ### 1. Confirmation Bias
114
+ **Wrong**: Looking only for evidence that supports the finding
115
+ **Right**: Actively seeking counter-evidence first
116
+
117
+ ### 2. Manufactured Doubt
118
+ **Wrong**: Challenging findings without real counter-evidence
119
+ **Right**: Only challenge when evidence genuinely contradicts
120
+
121
+ ### 3. Nitpicking
122
+ **Wrong**: Challenging trivial details while ignoring core issues
123
+ **Right**: Focus on claims that affect the finding's validity
124
+
125
+ ### 4. Scope Creep
126
+ **Wrong**: Expanding the challenge beyond the finding's claims
127
+ **Right**: Address only what the finding asserts
128
+
129
+ ## Output Quality Criteria
130
+
131
+ A good challenge report:
132
+
133
+ 1. **Specific**: References exact file paths and line numbers
134
+ 2. **Verifiable**: Counter-evidence can be independently checked
135
+ 3. **Fair**: Acknowledges supporting evidence when present
136
+ 4. **Actionable**: Provides clear recommendation
137
+ 5. **Proportional**: Confidence matches evidence strength
138
+
139
+ ## Integration Points
140
+
141
+ ### With Quality Pipeline
142
+ - Challenge can be triggered automatically for high-severity findings
143
+ - Results feed back into finding confidence scores
144
+ - Overturned findings are flagged for template improvement
145
+
146
+ ### With Knowledge System
147
+ - Confirmed findings can be captured as knowhow
148
+ - Challenge patterns can be codified as review specs
149
+ - Common false-positive patterns become learning material
150
+
151
+ ### With Team Skills
152
+ - Challenge can be delegated to specialized agents
153
+ - Results inform team scoring and convergence
154
+ - Adversarial patterns align with team-adversarial-swarm
@@ -0,0 +1,239 @@
1
+ # Verdict Schema Specification
2
+
3
+ ## Overview
4
+
5
+ This document defines the structured output format for insight challenge verdicts. The schema ensures consistent, machine-readable results that can be consumed by downstream systems.
6
+
7
+ ## Verdict JSON Schema
8
+
9
+ ```json
10
+ {
11
+ "$schema": "http://json-schema.org/draft-07/schema#",
12
+ "type": "object",
13
+ "required": ["finding_id", "challenge_result", "confidence", "reasoning"],
14
+ "properties": {
15
+ "finding_id": {
16
+ "type": "string",
17
+ "description": "Original finding identifier"
18
+ },
19
+ "challenge_result": {
20
+ "type": "string",
21
+ "enum": ["overturned", "weakened", "confirmed"],
22
+ "description": "Verdict of the challenge"
23
+ },
24
+ "confidence": {
25
+ "type": "integer",
26
+ "minimum": 0,
27
+ "maximum": 100,
28
+ "description": "Confidence score (0-100)"
29
+ },
30
+ "reasoning": {
31
+ "type": "string",
32
+ "description": "Detailed explanation of the verdict"
33
+ },
34
+ "counter_evidence": {
35
+ "type": "array",
36
+ "items": { "type": "string" },
37
+ "description": "Evidence that contradicts the finding"
38
+ },
39
+ "supporting_evidence": {
40
+ "type": "array",
41
+ "items": { "type": "string" },
42
+ "description": "Evidence that supports the finding"
43
+ },
44
+ "adjusted_severity": {
45
+ "type": "string",
46
+ "enum": ["none", "critical", "high", "medium", "low"],
47
+ "description": "Recommended severity after challenge"
48
+ },
49
+ "recommendation": {
50
+ "type": "string",
51
+ "description": "Recommended action"
52
+ },
53
+ "metadata": {
54
+ "type": "object",
55
+ "properties": {
56
+ "challenge_duration_ms": { "type": "integer" },
57
+ "files_reviewed": { "type": "array", "items": { "type": "string" } },
58
+ "design_docs_checked": { "type": "array", "items": { "type": "string" } },
59
+ "challenge_strategies_applied": { "type": "array", "items": { "type": "string" } }
60
+ }
61
+ }
62
+ }
63
+ }
64
+ ```
65
+
66
+ ## Field Definitions
67
+
68
+ ### finding_id
69
+ - **Type**: string
70
+ - **Required**: yes
71
+ - **Description**: The original finding identifier (e.g., "HIGH-01", "CRIT-03")
72
+ - **Example**: "HIGH-01"
73
+
74
+ ### challenge_result
75
+ - **Type**: string (enum)
76
+ - **Required**: yes
77
+ - **Values**:
78
+ - `overturned`: Finding is factually incorrect; source code directly contradicts claims
79
+ - `weakened`: Finding is partially correct but overstated, misscoped, or missing context
80
+ - `confirmed`: Finding is accurate; source code supports all claims
81
+
82
+ ### confidence
83
+ - **Type**: integer (0-100)
84
+ - **Required**: yes
85
+ - **Description**: How confident the challenger is in the verdict
86
+ - **Scale**:
87
+ - 90-100: Clear, unambiguous evidence
88
+ - 70-89: Strong evidence with minor uncertainty
89
+ - 50-69: Mixed evidence; judgment call
90
+ - Below 50: Insufficient evidence
91
+
92
+ ### reasoning
93
+ - **Type**: string
94
+ - **Required**: yes
95
+ - **Description**: Detailed explanation of why the verdict was reached
96
+ - **Should include**:
97
+ - Summary of the original claim
98
+ - What evidence was found
99
+ - Why the evidence supports the verdict
100
+ - Any caveats or limitations
101
+
102
+ ### counter_evidence
103
+ - **Type**: array of strings
104
+ - **Required**: no (but expected for overturned/weakened)
105
+ - **Description**: Specific evidence that contradicts the finding
106
+ - **Format**: Each item should reference a specific file and line
107
+ - **Example**: ["src/types.ts line 64: 'resolves' IS declared in KnowledgeEdgeKind"]
108
+
109
+ ### supporting_evidence
110
+ - **Type**: array of strings
111
+ - **Required**: no (but expected for confirmed)
112
+ - **Description**: Specific evidence that supports the finding
113
+ - **Format**: Same as counter_evidence
114
+
115
+ ### adjusted_severity
116
+ - **Type**: string (enum)
117
+ - **Required**: no
118
+ - **Values**:
119
+ - `none`: Finding should be dismissed entirely
120
+ - `critical`, `high`, `medium`, `low`: Adjusted severity level
121
+ - **Description**: Recommended severity after considering challenge evidence
122
+ - **Default**: Original severity if not specified
123
+
124
+ ### recommendation
125
+ - **Type**: string
126
+ - **Required**: no
127
+ - **Description**: Recommended next action
128
+ - **Examples**:
129
+ - "Dismiss this finding; the claimed gap does not exist"
130
+ - "Downgrade to medium severity; the issue exists but is less critical than claimed"
131
+ - "Confirm and prioritize; the finding is accurate and important"
132
+
133
+ ### metadata
134
+ - **Type**: object
135
+ - **Required**: no
136
+ - **Description**: Additional context about the challenge process
137
+ - **Fields**:
138
+ - `challenge_duration_ms`: Time spent on the challenge
139
+ - `files_reviewed`: List of files examined
140
+ - `design_docs_checked`: Design documents consulted
141
+ - `challenge_strategies_applied`: Which challenge strategies were used
142
+
143
+ ## Example Verdicts
144
+
145
+ ### Overturned Finding
146
+
147
+ ```json
148
+ {
149
+ "finding_id": "HIGH-01",
150
+ "challenge_result": "overturned",
151
+ "confidence": 97,
152
+ "reasoning": "The finding's central claim is factually incorrect. Both 'resolves' and 'documents' ARE declared in KnowledgeEdgeKind in types.ts (lines 64 and 61 respectively). The '28 edge types' design requirement is a misattribution -- the design doc specifies 12 CodeEdgeKind + 8 KnowledgeEdgeKind = 20, and the implementation has 21.",
153
+ "counter_evidence": [
154
+ "types.ts lines 58-67: KnowledgeEdgeKind explicitly declares all 9 types including 'resolves' (L64) and 'documents' (L61)",
155
+ "Design doc plan-maestrograph.md L1327: specifies '12 + 8 种知识关系' = 20 total, not 28",
156
+ "The '28' number in the finding matches LANGUAGES constant (L1344), not edge types"
157
+ ],
158
+ "supporting_evidence": [],
159
+ "adjusted_severity": "none",
160
+ "recommendation": "Dismiss this finding; the claimed type gap does not exist"
161
+ }
162
+ ```
163
+
164
+ ### Weakened Finding
165
+
166
+ ```json
167
+ {
168
+ "finding_id": "MED-02",
169
+ "challenge_result": "weakened",
170
+ "confidence": 75,
171
+ "reasoning": "The finding correctly identifies that function X lacks input validation, but overstates the severity. The function is only called internally with pre-validated data, reducing the actual risk.",
172
+ "counter_evidence": [
173
+ "src/service.ts: Function X is only called from Y() which validates inputs",
174
+ "No external API exposes this function directly"
175
+ ],
176
+ "supporting_evidence": [
177
+ "src/utils.ts line 45: Function X确实没有输入验证"
178
+ ],
179
+ "adjusted_severity": "low",
180
+ "recommendation": "Add defensive validation as a best practice, but do not prioritize as high severity"
181
+ }
182
+ ```
183
+
184
+ ### Confirmed Finding
185
+
186
+ ```json
187
+ {
188
+ "finding_id": "CRIT-03",
189
+ "challenge_result": "confirmed",
190
+ "confidence": 95,
191
+ "reasoning": "The finding accurately identifies a SQL injection vulnerability. User input is directly concatenated into the query string without parameterization.",
192
+ "counter_evidence": [],
193
+ "supporting_evidence": [
194
+ "src/db.ts line 78: query = 'SELECT * FROM users WHERE id = ' + userId",
195
+ "userId comes directly from req.params.id without sanitization"
196
+ ],
197
+ "adjusted_severity": "critical",
198
+ "recommendation": "Immediate fix required; use parameterized queries"
199
+ }
200
+ ```
201
+
202
+ ## Batch Processing
203
+
204
+ When processing multiple findings:
205
+
206
+ ```json
207
+ {
208
+ "batch_id": "review-2026-06-12",
209
+ "total_findings": 5,
210
+ "verdicts": [
211
+ { "finding_id": "HIGH-01", "challenge_result": "overturned", ... },
212
+ { "finding_id": "HIGH-02", "challenge_result": "confirmed", ... },
213
+ { "finding_id": "MED-01", "challenge_result": "weakened", ... }
214
+ ],
215
+ "summary": {
216
+ "overturned": 1,
217
+ "weakened": 1,
218
+ "confirmed": 3,
219
+ "adjusted_effort_savings": "40% of original findings dismissed or downgraded"
220
+ }
221
+ }
222
+ ```
223
+
224
+ ## Integration with Downstream Systems
225
+
226
+ ### Quality Dashboard
227
+ - Verdicts update finding status in quality tracking
228
+ - Confidence scores affect finding priority
229
+ - Adjusted severities trigger appropriate workflows
230
+
231
+ ### Knowledge System
232
+ - Confirmed findings become knowhow candidates
233
+ - Challenge patterns become review specs
234
+ - Overturned findings improve future detection
235
+
236
+ ### Team Skills
237
+ - Verdicts feed into team scoring algorithms
238
+ - Challenge results inform convergence criteria
239
+ - Adversarial patterns enhance team review quality
@@ -52,7 +52,7 @@ $ARGUMENTS — user intent text, or special keywords.
52
52
  4. **Decomposition contract shared with maestro-ralph** — broad/lifecycle intents run S_DECOMPOSE producing the SAME additive block (`boundary_contract`, `execution_criteria`, `task_decomposition`)。Reference maestro-ralph `A_DECOMPOSE_TASKS`
53
53
  5. **status.json 唯一真源** — 不生成 `goal-checklist.md` 或外部清单
54
54
  6. **执行步骤统一通过 `maestro ralph next` 加载** — `command_scope`/`command_path` 由 `maestro ralph skills --platform agent --json --quiet` 预校验(project 覆盖 global,限定 `.claude/`);decision 节点不走 CLI,走 `invoke_skill("maestro-ralph")` handoff
55
- 7. **Topology awareness** — chain catalog 含 grill / brainstorm / blueprint / analyze-macro / analyze / roadmap / plan(三路径) / execute / verify / ...;scope_verdict 由 ralph 在 `post-analyze-scope` 决定
55
+ 7. **Topology awareness** — chain catalog 含 grill / brainstorm / blueprint / analyze-macro / analyze / roadmap / plan(三路径) / execute / ...;scope_verdict 由 ralph 在 `post-analyze-scope` 决定
56
56
  8. **Grill is interactive-only** — `-y` auto mode MUST skip grill stage and route directly to brainstorm; grill requires Socratic Q&A with the user
57
57
  9. **D-007 milestone 反查** — 数字 phase 的 `milestone_id` 由 `state.json.milestones[].phase_slugs` 反查
58
58
  10. **每个 step 必须 `completion_confirmed: true`** — 由 `maestro ralph complete N --status DONE|DONE_WITH_CONCERNS` 写入
@@ -143,9 +143,9 @@ S_FALLBACK:
143
143
  - 正式规格/spec-generate/7-phase → `blueprint`
144
144
  - 项目初始化 → `init`
145
145
  - 宽/中等意图 + 无数字 phase → `analyze-macro`(产 scope_verdict,由 ralph 在 `post-analyze-scope` 决定是否插入 roadmap+analyze 或直跳 plan --from analyze)
146
- - 数字 phase 上下文 → `analyze {phase}` → `plan {phase}` → `execute {phase}` → `verify {phase}` → quality pipeline
147
- - 已有 analyze artifact 想直达执行 → `plan --from analyze:{ANL_ID}` → execute → verify
148
- - 已有 blueprint artifact → `plan --from blueprint:{BLP_ID}` → execute → verify
146
+ - 数字 phase 上下文 → `analyze {phase}` → `plan {phase}` → `execute {phase}` → quality pipeline
147
+ - 已有 analyze artifact 想直达执行 → `plan --from analyze:{ANL_ID}` → execute → quality pipeline
148
+ - 已有 blueprint artifact → `plan --from blueprint:{BLP_ID}` → execute → quality pipeline
149
149
  4. 执行 step:`shell("maestro ralph skills --platform agent --json --quiet")` 预校验 skill 名,命中写绝对路径到 `command_path`,未命中标 `missing`;同时写 `step.stage` / `step.scope` / `step.source_artifact_ref`。decision 节点不解析 command_path
150
150
 
151
151
  ### A_CLARIFY
@@ -161,7 +161,7 @@ S_FALLBACK:
161
161
  2. broad/medium → `ask_user` ≤3 轮:Scope / Constraints / Definition of Done
162
162
  3. 派生 `execution_criteria` + `task_decomposition`(每个 sub-goal 含 `done_when` + `evidence` + `lifecycle` + `completion_confirmed: false`)
163
163
  4. **status.json 唯一真源**:写入 `boundary_contract` / `execution_criteria` / `task_decomposition`;不生成 markdown 清单
164
- 5. 在最后一个 evidence-producing stage(verify/review/test)之后、`milestone-complete` 之前追加 `decision:post-goal-audit`。ralph-execute 在该节点按需动态生长 `steps[]`
164
+ 5. 在最后一个 evidence-producing stage(execute/review/test)之后、`milestone-complete` 之前追加 `decision:post-goal-audit`。ralph-execute 在该节点按需动态生长 `steps[]`
165
165
  6. **输出 `/goal` 绑定提示词(不阻塞,用户可在执行过程中随时输入):**
166
166
  ```
167
167
  📋 任务分解完成。可随时复制下面一行设定目标(执行过程中输入即可):
@@ -223,7 +223,7 @@ S_FALLBACK:
223
223
  ### Success Criteria
224
224
 
225
225
  - [ ] Intent classified with task_type, complexity, clarity_score
226
- - [ ] Chain catalog 覆盖 grill / brainstorm / blueprint / analyze-macro / analyze / roadmap / plan(三路径) / execute / verify / quality pipeline
226
+ - [ ] Chain catalog 覆盖 grill / brainstorm / blueprint / analyze-macro / analyze / roadmap / plan(三路径) / execute / quality pipeline
227
227
  - [ ] `-y` 模式不触发 grill(交互式压力测试不支持自动模式,跳过直接走 brainstorm)
228
228
  - [ ] D-007: 数字 phase 步骤的 `milestone_id` 通过 `state.json.milestones[].phase_slugs` 反查
229
229
  - [ ] macro analyze 后跟 `decision:post-analyze-scope`(由 ralph 评估 scope_verdict 决定下游链路)
@@ -293,7 +293,7 @@ Roadmap > Milestone > Phase > Task
293
293
 
294
294
  - **Slash 命令**: 56 个(7 个分类)
295
295
  - **CLI 命令**: 21 个
296
- - **Skills**: 10 个(3 个分类)
296
+ - **Skills**: 11 个(4 个分类)
297
297
  - **Agents**: 22 个(5 个分类)
298
298
  - **Guide 文档**: 17 个
299
299
  - **工作流路径**: 6 个合法路径 (Path A-F) + 3 个辅助流程