zero-workspace 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (507) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/README.md +187 -0
  3. package/config/component-versions.json +16 -0
  4. package/config/scenarioCapabilities.json +29 -0
  5. package/config/version-notes.yaml +244 -0
  6. package/dist/adapters/OutputAdapter.d.ts +79 -0
  7. package/dist/adapters/OutputAdapter.d.ts.map +1 -0
  8. package/dist/adapters/OutputAdapter.js +124 -0
  9. package/dist/adapters/OutputAdapter.js.map +1 -0
  10. package/dist/cli/check-node-version.d.ts +3 -0
  11. package/dist/cli/check-node-version.d.ts.map +1 -0
  12. package/dist/cli/check-node-version.js +153 -0
  13. package/dist/cli/check-node-version.js.map +1 -0
  14. package/dist/cli/plugins.d.ts +41 -0
  15. package/dist/cli/plugins.d.ts.map +1 -0
  16. package/dist/cli/plugins.js +742 -0
  17. package/dist/cli/plugins.js.map +1 -0
  18. package/dist/cli/rebuild.d.ts +63 -0
  19. package/dist/cli/rebuild.d.ts.map +1 -0
  20. package/dist/cli/rebuild.js +989 -0
  21. package/dist/cli/rebuild.js.map +1 -0
  22. package/dist/cli/repair.d.ts +7 -0
  23. package/dist/cli/repair.d.ts.map +1 -0
  24. package/dist/cli/repair.js +925 -0
  25. package/dist/cli/repair.js.map +1 -0
  26. package/dist/cli/setup.d.ts +7 -0
  27. package/dist/cli/setup.d.ts.map +1 -0
  28. package/dist/cli/setup.js +452 -0
  29. package/dist/cli/setup.js.map +1 -0
  30. package/dist/cli/update.d.ts +10 -0
  31. package/dist/cli/update.d.ts.map +1 -0
  32. package/dist/cli/update.js +426 -0
  33. package/dist/cli/update.js.map +1 -0
  34. package/dist/cli/webui.d.ts +6 -0
  35. package/dist/cli/webui.d.ts.map +1 -0
  36. package/dist/cli/webui.js +210 -0
  37. package/dist/cli/webui.js.map +1 -0
  38. package/dist/http/index.d.ts +3 -0
  39. package/dist/http/index.d.ts.map +1 -0
  40. package/dist/http/index.js +15 -0
  41. package/dist/http/index.js.map +1 -0
  42. package/dist/http/middleware/errorHandler.d.ts +16 -0
  43. package/dist/http/middleware/errorHandler.d.ts.map +1 -0
  44. package/dist/http/middleware/errorHandler.js +79 -0
  45. package/dist/http/middleware/errorHandler.js.map +1 -0
  46. package/dist/http/routes/admin.d.ts +3 -0
  47. package/dist/http/routes/admin.d.ts.map +1 -0
  48. package/dist/http/routes/admin.js +730 -0
  49. package/dist/http/routes/admin.js.map +1 -0
  50. package/dist/http/routes/backup.d.ts +3 -0
  51. package/dist/http/routes/backup.d.ts.map +1 -0
  52. package/dist/http/routes/backup.js +172 -0
  53. package/dist/http/routes/backup.js.map +1 -0
  54. package/dist/http/routes/config.d.ts +3 -0
  55. package/dist/http/routes/config.d.ts.map +1 -0
  56. package/dist/http/routes/config.js +157 -0
  57. package/dist/http/routes/config.js.map +1 -0
  58. package/dist/http/routes/context.d.ts +3 -0
  59. package/dist/http/routes/context.d.ts.map +1 -0
  60. package/dist/http/routes/context.js +82 -0
  61. package/dist/http/routes/context.js.map +1 -0
  62. package/dist/http/routes/log.d.ts +3 -0
  63. package/dist/http/routes/log.d.ts.map +1 -0
  64. package/dist/http/routes/log.js +105 -0
  65. package/dist/http/routes/log.js.map +1 -0
  66. package/dist/http/routes/memo.d.ts +6 -0
  67. package/dist/http/routes/memo.d.ts.map +1 -0
  68. package/dist/http/routes/memo.js +29 -0
  69. package/dist/http/routes/memo.js.map +1 -0
  70. package/dist/http/routes/node.d.ts +3 -0
  71. package/dist/http/routes/node.d.ts.map +1 -0
  72. package/dist/http/routes/node.js +251 -0
  73. package/dist/http/routes/node.js.map +1 -0
  74. package/dist/http/routes/state.d.ts +3 -0
  75. package/dist/http/routes/state.d.ts.map +1 -0
  76. package/dist/http/routes/state.js +48 -0
  77. package/dist/http/routes/state.js.map +1 -0
  78. package/dist/http/routes/workspace.d.ts +3 -0
  79. package/dist/http/routes/workspace.d.ts.map +1 -0
  80. package/dist/http/routes/workspace.js +249 -0
  81. package/dist/http/routes/workspace.js.map +1 -0
  82. package/dist/http/server.d.ts +10 -0
  83. package/dist/http/server.d.ts.map +1 -0
  84. package/dist/http/server.js +284 -0
  85. package/dist/http/server.js.map +1 -0
  86. package/dist/http/services.d.ts +93 -0
  87. package/dist/http/services.d.ts.map +1 -0
  88. package/dist/http/services.js +297 -0
  89. package/dist/http/services.js.map +1 -0
  90. package/dist/index.d.ts +3 -0
  91. package/dist/index.d.ts.map +1 -0
  92. package/dist/index.js +1073 -0
  93. package/dist/index.js.map +1 -0
  94. package/dist/prompts/guidanceContent.d.ts +18 -0
  95. package/dist/prompts/guidanceContent.d.ts.map +1 -0
  96. package/dist/prompts/guidanceContent.js +814 -0
  97. package/dist/prompts/guidanceContent.js.map +1 -0
  98. package/dist/prompts/index.d.ts +2 -0
  99. package/dist/prompts/index.d.ts.map +1 -0
  100. package/dist/prompts/index.js +4 -0
  101. package/dist/prompts/index.js.map +1 -0
  102. package/dist/prompts/instructions.d.ts +56 -0
  103. package/dist/prompts/instructions.d.ts.map +1 -0
  104. package/dist/prompts/instructions.js +1343 -0
  105. package/dist/prompts/instructions.js.map +1 -0
  106. package/dist/services/BackupService.d.ts +104 -0
  107. package/dist/services/BackupService.d.ts.map +1 -0
  108. package/dist/services/BackupService.js +549 -0
  109. package/dist/services/BackupService.js.map +1 -0
  110. package/dist/services/CapabilityService.d.ts +38 -0
  111. package/dist/services/CapabilityService.d.ts.map +1 -0
  112. package/dist/services/CapabilityService.js +256 -0
  113. package/dist/services/CapabilityService.js.map +1 -0
  114. package/dist/services/ConfigService.d.ts +35 -0
  115. package/dist/services/ConfigService.d.ts.map +1 -0
  116. package/dist/services/ConfigService.js +105 -0
  117. package/dist/services/ConfigService.js.map +1 -0
  118. package/dist/services/ContextService.d.ts +65 -0
  119. package/dist/services/ContextService.d.ts.map +1 -0
  120. package/dist/services/ContextService.js +503 -0
  121. package/dist/services/ContextService.js.map +1 -0
  122. package/dist/services/DetectionService.d.ts +76 -0
  123. package/dist/services/DetectionService.d.ts.map +1 -0
  124. package/dist/services/DetectionService.js +262 -0
  125. package/dist/services/DetectionService.js.map +1 -0
  126. package/dist/services/DispatchService.d.ts +267 -0
  127. package/dist/services/DispatchService.d.ts.map +1 -0
  128. package/dist/services/DispatchService.js +1357 -0
  129. package/dist/services/DispatchService.js.map +1 -0
  130. package/dist/services/EventService.d.ts +81 -0
  131. package/dist/services/EventService.d.ts.map +1 -0
  132. package/dist/services/EventService.js +187 -0
  133. package/dist/services/EventService.js.map +1 -0
  134. package/dist/services/GuidanceService.d.ts +64 -0
  135. package/dist/services/GuidanceService.d.ts.map +1 -0
  136. package/dist/services/GuidanceService.js +259 -0
  137. package/dist/services/GuidanceService.js.map +1 -0
  138. package/dist/services/HealthService.d.ts +43 -0
  139. package/dist/services/HealthService.d.ts.map +1 -0
  140. package/dist/services/HealthService.js +276 -0
  141. package/dist/services/HealthService.js.map +1 -0
  142. package/dist/services/InstallationService.d.ts +62 -0
  143. package/dist/services/InstallationService.d.ts.map +1 -0
  144. package/dist/services/InstallationService.js +204 -0
  145. package/dist/services/InstallationService.js.map +1 -0
  146. package/dist/services/LogService.d.ts +35 -0
  147. package/dist/services/LogService.d.ts.map +1 -0
  148. package/dist/services/LogService.js +189 -0
  149. package/dist/services/LogService.js.map +1 -0
  150. package/dist/services/MemoService.d.ts +39 -0
  151. package/dist/services/MemoService.d.ts.map +1 -0
  152. package/dist/services/MemoService.js +288 -0
  153. package/dist/services/MemoService.js.map +1 -0
  154. package/dist/services/NodeService.d.ts +90 -0
  155. package/dist/services/NodeService.d.ts.map +1 -0
  156. package/dist/services/NodeService.js +958 -0
  157. package/dist/services/NodeService.js.map +1 -0
  158. package/dist/services/OpenSpecParser.d.ts +43 -0
  159. package/dist/services/OpenSpecParser.d.ts.map +1 -0
  160. package/dist/services/OpenSpecParser.js +191 -0
  161. package/dist/services/OpenSpecParser.js.map +1 -0
  162. package/dist/services/ReferenceService.d.ts +35 -0
  163. package/dist/services/ReferenceService.d.ts.map +1 -0
  164. package/dist/services/ReferenceService.js +195 -0
  165. package/dist/services/ReferenceService.js.map +1 -0
  166. package/dist/services/RepairService.d.ts +36 -0
  167. package/dist/services/RepairService.d.ts.map +1 -0
  168. package/dist/services/RepairService.js +429 -0
  169. package/dist/services/RepairService.js.map +1 -0
  170. package/dist/services/SearchService.d.ts +34 -0
  171. package/dist/services/SearchService.d.ts.map +1 -0
  172. package/dist/services/SearchService.js +293 -0
  173. package/dist/services/SearchService.js.map +1 -0
  174. package/dist/services/SessionService.d.ts +136 -0
  175. package/dist/services/SessionService.d.ts.map +1 -0
  176. package/dist/services/SessionService.js +297 -0
  177. package/dist/services/SessionService.js.map +1 -0
  178. package/dist/services/StateService.d.ts +97 -0
  179. package/dist/services/StateService.d.ts.map +1 -0
  180. package/dist/services/StateService.js +846 -0
  181. package/dist/services/StateService.js.map +1 -0
  182. package/dist/services/TutorialService.d.ts +114 -0
  183. package/dist/services/TutorialService.d.ts.map +1 -0
  184. package/dist/services/TutorialService.js +1262 -0
  185. package/dist/services/TutorialService.js.map +1 -0
  186. package/dist/services/WorkspaceService.d.ts +273 -0
  187. package/dist/services/WorkspaceService.d.ts.map +1 -0
  188. package/dist/services/WorkspaceService.js +1764 -0
  189. package/dist/services/WorkspaceService.js.map +1 -0
  190. package/dist/services/index.d.ts +15 -0
  191. package/dist/services/index.d.ts.map +1 -0
  192. package/dist/services/index.js +14 -0
  193. package/dist/services/index.js.map +1 -0
  194. package/dist/storage/FileSystemAdapter.d.ts +223 -0
  195. package/dist/storage/FileSystemAdapter.d.ts.map +1 -0
  196. package/dist/storage/FileSystemAdapter.js +384 -0
  197. package/dist/storage/FileSystemAdapter.js.map +1 -0
  198. package/dist/storage/JsonStorage.d.ts +158 -0
  199. package/dist/storage/JsonStorage.d.ts.map +1 -0
  200. package/dist/storage/JsonStorage.js +613 -0
  201. package/dist/storage/JsonStorage.js.map +1 -0
  202. package/dist/storage/MarkdownStorage.d.ts +178 -0
  203. package/dist/storage/MarkdownStorage.d.ts.map +1 -0
  204. package/dist/storage/MarkdownStorage.js +918 -0
  205. package/dist/storage/MarkdownStorage.js.map +1 -0
  206. package/dist/storage/SessionBindingStorage.d.ts +69 -0
  207. package/dist/storage/SessionBindingStorage.d.ts.map +1 -0
  208. package/dist/storage/SessionBindingStorage.js +131 -0
  209. package/dist/storage/SessionBindingStorage.js.map +1 -0
  210. package/dist/storage/index.d.ts +6 -0
  211. package/dist/storage/index.d.ts.map +1 -0
  212. package/dist/storage/index.js +6 -0
  213. package/dist/storage/index.js.map +1 -0
  214. package/dist/tools/capability.d.ts +18 -0
  215. package/dist/tools/capability.d.ts.map +1 -0
  216. package/dist/tools/capability.js +73 -0
  217. package/dist/tools/capability.js.map +1 -0
  218. package/dist/tools/config.d.ts +14 -0
  219. package/dist/tools/config.d.ts.map +1 -0
  220. package/dist/tools/config.js +61 -0
  221. package/dist/tools/config.js.map +1 -0
  222. package/dist/tools/context.d.ts +22 -0
  223. package/dist/tools/context.d.ts.map +1 -0
  224. package/dist/tools/context.js +139 -0
  225. package/dist/tools/context.js.map +1 -0
  226. package/dist/tools/dispatch.d.ts +41 -0
  227. package/dist/tools/dispatch.d.ts.map +1 -0
  228. package/dist/tools/dispatch.js +380 -0
  229. package/dist/tools/dispatch.js.map +1 -0
  230. package/dist/tools/help.d.ts +44 -0
  231. package/dist/tools/help.d.ts.map +1 -0
  232. package/dist/tools/help.js +227 -0
  233. package/dist/tools/help.js.map +1 -0
  234. package/dist/tools/import.d.ts +17 -0
  235. package/dist/tools/import.d.ts.map +1 -0
  236. package/dist/tools/import.js +96 -0
  237. package/dist/tools/import.js.map +1 -0
  238. package/dist/tools/index.d.ts +12 -0
  239. package/dist/tools/index.d.ts.map +1 -0
  240. package/dist/tools/index.js +13 -0
  241. package/dist/tools/index.js.map +1 -0
  242. package/dist/tools/log.d.ts +21 -0
  243. package/dist/tools/log.d.ts.map +1 -0
  244. package/dist/tools/log.js +93 -0
  245. package/dist/tools/log.js.map +1 -0
  246. package/dist/tools/memo.d.ts +26 -0
  247. package/dist/tools/memo.d.ts.map +1 -0
  248. package/dist/tools/memo.js +188 -0
  249. package/dist/tools/memo.js.map +1 -0
  250. package/dist/tools/node.d.ts +34 -0
  251. package/dist/tools/node.d.ts.map +1 -0
  252. package/dist/tools/node.js +328 -0
  253. package/dist/tools/node.js.map +1 -0
  254. package/dist/tools/search.d.ts +14 -0
  255. package/dist/tools/search.d.ts.map +1 -0
  256. package/dist/tools/search.js +95 -0
  257. package/dist/tools/search.js.map +1 -0
  258. package/dist/tools/session.d.ts +22 -0
  259. package/dist/tools/session.d.ts.map +1 -0
  260. package/dist/tools/session.js +127 -0
  261. package/dist/tools/session.js.map +1 -0
  262. package/dist/tools/state.d.ts +10 -0
  263. package/dist/tools/state.d.ts.map +1 -0
  264. package/dist/tools/state.js +79 -0
  265. package/dist/tools/state.js.map +1 -0
  266. package/dist/tools/workspace.d.ts +38 -0
  267. package/dist/tools/workspace.d.ts.map +1 -0
  268. package/dist/tools/workspace.js +240 -0
  269. package/dist/tools/workspace.js.map +1 -0
  270. package/dist/types/capability.d.ts +36 -0
  271. package/dist/types/capability.d.ts.map +1 -0
  272. package/dist/types/capability.js +3 -0
  273. package/dist/types/capability.js.map +1 -0
  274. package/dist/types/confirmation.d.ts +35 -0
  275. package/dist/types/confirmation.d.ts.map +1 -0
  276. package/dist/types/confirmation.js +3 -0
  277. package/dist/types/confirmation.js.map +1 -0
  278. package/dist/types/context.d.ts +174 -0
  279. package/dist/types/context.d.ts.map +1 -0
  280. package/dist/types/context.js +3 -0
  281. package/dist/types/context.js.map +1 -0
  282. package/dist/types/errors.d.ts +81 -0
  283. package/dist/types/errors.d.ts.map +1 -0
  284. package/dist/types/errors.js +154 -0
  285. package/dist/types/errors.js.map +1 -0
  286. package/dist/types/guidance.d.ts +162 -0
  287. package/dist/types/guidance.d.ts.map +1 -0
  288. package/dist/types/guidance.js +4 -0
  289. package/dist/types/guidance.js.map +1 -0
  290. package/dist/types/health.d.ts +61 -0
  291. package/dist/types/health.d.ts.map +1 -0
  292. package/dist/types/health.js +3 -0
  293. package/dist/types/health.js.map +1 -0
  294. package/dist/types/index.d.ts +10 -0
  295. package/dist/types/index.d.ts.map +1 -0
  296. package/dist/types/index.js +11 -0
  297. package/dist/types/index.js.map +1 -0
  298. package/dist/types/memo.d.ts +132 -0
  299. package/dist/types/memo.d.ts.map +1 -0
  300. package/dist/types/memo.js +3 -0
  301. package/dist/types/memo.js.map +1 -0
  302. package/dist/types/node.d.ts +316 -0
  303. package/dist/types/node.d.ts.map +1 -0
  304. package/dist/types/node.js +3 -0
  305. package/dist/types/node.js.map +1 -0
  306. package/dist/types/repair.d.ts +62 -0
  307. package/dist/types/repair.d.ts.map +1 -0
  308. package/dist/types/repair.js +4 -0
  309. package/dist/types/repair.js.map +1 -0
  310. package/dist/types/search.d.ts +58 -0
  311. package/dist/types/search.d.ts.map +1 -0
  312. package/dist/types/search.js +3 -0
  313. package/dist/types/search.js.map +1 -0
  314. package/dist/types/settings.d.ts +109 -0
  315. package/dist/types/settings.d.ts.map +1 -0
  316. package/dist/types/settings.js +30 -0
  317. package/dist/types/settings.js.map +1 -0
  318. package/dist/types/workspace.d.ts +357 -0
  319. package/dist/types/workspace.d.ts.map +1 -0
  320. package/dist/types/workspace.js +3 -0
  321. package/dist/types/workspace.js.map +1 -0
  322. package/dist/utils/contentValidation.d.ts +47 -0
  323. package/dist/utils/contentValidation.d.ts.map +1 -0
  324. package/dist/utils/contentValidation.js +93 -0
  325. package/dist/utils/contentValidation.js.map +1 -0
  326. package/dist/utils/devLog.d.ts +43 -0
  327. package/dist/utils/devLog.d.ts.map +1 -0
  328. package/dist/utils/devLog.js +94 -0
  329. package/dist/utils/devLog.js.map +1 -0
  330. package/dist/utils/errorLogger.d.ts +27 -0
  331. package/dist/utils/errorLogger.d.ts.map +1 -0
  332. package/dist/utils/errorLogger.js +105 -0
  333. package/dist/utils/errorLogger.js.map +1 -0
  334. package/dist/utils/git.d.ts +123 -0
  335. package/dist/utils/git.d.ts.map +1 -0
  336. package/dist/utils/git.js +400 -0
  337. package/dist/utils/git.js.map +1 -0
  338. package/dist/utils/hash.d.ts +32 -0
  339. package/dist/utils/hash.d.ts.map +1 -0
  340. package/dist/utils/hash.js +37 -0
  341. package/dist/utils/hash.js.map +1 -0
  342. package/dist/utils/id.d.ts +54 -0
  343. package/dist/utils/id.d.ts.map +1 -0
  344. package/dist/utils/id.js +96 -0
  345. package/dist/utils/id.js.map +1 -0
  346. package/dist/utils/index.d.ts +8 -0
  347. package/dist/utils/index.d.ts.map +1 -0
  348. package/dist/utils/index.js +9 -0
  349. package/dist/utils/index.js.map +1 -0
  350. package/dist/utils/logger.d.ts +42 -0
  351. package/dist/utils/logger.d.ts.map +1 -0
  352. package/dist/utils/logger.js +228 -0
  353. package/dist/utils/logger.js.map +1 -0
  354. package/dist/utils/manualChangeFormatter.d.ts +8 -0
  355. package/dist/utils/manualChangeFormatter.d.ts.map +1 -0
  356. package/dist/utils/manualChangeFormatter.js +21 -0
  357. package/dist/utils/manualChangeFormatter.js.map +1 -0
  358. package/dist/utils/paramValidator.d.ts +35 -0
  359. package/dist/utils/paramValidator.d.ts.map +1 -0
  360. package/dist/utils/paramValidator.js +214 -0
  361. package/dist/utils/paramValidator.js.map +1 -0
  362. package/dist/utils/port.d.ts +7 -0
  363. package/dist/utils/port.d.ts.map +1 -0
  364. package/dist/utils/port.js +28 -0
  365. package/dist/utils/port.js.map +1 -0
  366. package/dist/utils/processManager.d.ts +53 -0
  367. package/dist/utils/processManager.d.ts.map +1 -0
  368. package/dist/utils/processManager.js +267 -0
  369. package/dist/utils/processManager.js.map +1 -0
  370. package/dist/utils/sessionLogger.d.ts +28 -0
  371. package/dist/utils/sessionLogger.d.ts.map +1 -0
  372. package/dist/utils/sessionLogger.js +142 -0
  373. package/dist/utils/sessionLogger.js.map +1 -0
  374. package/dist/utils/time.d.ts +15 -0
  375. package/dist/utils/time.d.ts.map +1 -0
  376. package/dist/utils/time.js +32 -0
  377. package/dist/utils/time.js.map +1 -0
  378. package/dist/utils/validation.d.ts +23 -0
  379. package/dist/utils/validation.d.ts.map +1 -0
  380. package/dist/utils/validation.js +88 -0
  381. package/dist/utils/validation.js.map +1 -0
  382. package/docs//346/227/245/345/277/227/347/263/273/347/273/237.md +389 -0
  383. package/docs//347/224/250/346/210/267/346/211/213/345/206/214.md +1446 -0
  384. package/docs//347/224/250/346/210/267/346/211/213/345/206/214/344/270/216/346/212/200/346/234/257/346/214/207/345/215/227.md +873 -0
  385. package/package.json +94 -0
  386. package/plugin/README.md +141 -0
  387. package/plugin/agents/zero-executor.md +114 -0
  388. package/plugin/agents/zero-reviewer.md +133 -0
  389. package/plugin/docs/diagnostic-guide.md +128 -0
  390. package/plugin/hooks/hooks.json.deprecated +70 -0
  391. package/plugin/scripts/cursor-hook-entry.cjs +217 -0
  392. package/plugin/scripts/hook-entry.cjs +663 -0
  393. package/plugin/scripts/openspec-import.cjs +714 -0
  394. package/plugin/scripts/shared/binding.cjs +98 -0
  395. package/plugin/scripts/shared/config.cjs +65 -0
  396. package/plugin/scripts/shared/context.cjs +120 -0
  397. package/plugin/scripts/shared/index.cjs +34 -0
  398. package/plugin/scripts/shared/logger.cjs +196 -0
  399. package/plugin/scripts/shared/reminder.cjs +261 -0
  400. package/plugin/scripts/shared/utils.cjs +62 -0
  401. package/plugin/scripts/shared/workspace.cjs +322 -0
  402. package/plugin/skills/aligning-intent/SKILL.md +275 -0
  403. package/plugin/skills/analyzing-measurements/SKILL.md +223 -0
  404. package/plugin/skills/bootstrapping-workspace/SKILL.md +260 -0
  405. package/plugin/skills/designing-solutions/SKILL.md +363 -0
  406. package/plugin/skills/diagnosing-issues/SKILL.md +219 -0
  407. package/plugin/skills/discovering-context/SKILL.md +283 -0
  408. package/plugin/skills/dispatching-parent/SKILL.md +399 -0
  409. package/plugin/skills/executing-task/SKILL.md +340 -0
  410. package/plugin/skills/memo-create/SKILL.md +222 -0
  411. package/plugin/skills/planning-verification/SKILL.md +245 -0
  412. package/plugin/skills/preparing-dispatch/SKILL.md +299 -0
  413. package/plugin/skills/researching-tech/SKILL.md +223 -0
  414. package/plugin/skills/reviewing-quality/SKILL.md +354 -0
  415. package/plugin/skills/reviewing-spec/SKILL.md +333 -0
  416. package/plugin/skills/starting-info-flow/SKILL.md +196 -0
  417. package/web/README.md +5 -0
  418. package/web/dist/assets/DocsView-Bls_Vjsr.css +1 -0
  419. package/web/dist/assets/DocsView-Cxc0B63r.js +1447 -0
  420. package/web/dist/assets/HomeView-C7df9thb.js +9 -0
  421. package/web/dist/assets/HomeView-ufUdnfHk.css +1 -0
  422. package/web/dist/assets/MarkdownContent-DXp6CtSP.js +308 -0
  423. package/web/dist/assets/MarkdownContent-NFqiOBLH.css +1 -0
  424. package/web/dist/assets/NotFoundView-BYX1oZAn.css +1 -0
  425. package/web/dist/assets/NotFoundView-zrc0lT9q.js +1 -0
  426. package/web/dist/assets/WorkspaceView-BckqgNcX.js +27 -0
  427. package/web/dist/assets/WorkspaceView-J1dgpYMx.css +1 -0
  428. package/web/dist/assets/WsConfirmDialog-C1CvL4my.css +1 -0
  429. package/web/dist/assets/WsConfirmDialog-gLEP7uBD.js +4 -0
  430. package/web/dist/assets/arc-DPkKTkUT.js +1 -0
  431. package/web/dist/assets/architectureDiagram-VXUJARFQ-CEGpqUlZ.js +36 -0
  432. package/web/dist/assets/blockDiagram-VD42YOAC-Bv-mqdQH.js +122 -0
  433. package/web/dist/assets/c4Diagram-YG6GDRKO-DRyPatZ_.js +10 -0
  434. package/web/dist/assets/channel-B84mKLDZ.js +1 -0
  435. package/web/dist/assets/chunk-4BX2VUAB-c7DivX0u.js +1 -0
  436. package/web/dist/assets/chunk-55IACEB6-CGKTaLlo.js +1 -0
  437. package/web/dist/assets/chunk-B4BG7PRW-Czhx5Q_P.js +165 -0
  438. package/web/dist/assets/chunk-DI55MBZ5-CQVA7hcZ.js +220 -0
  439. package/web/dist/assets/chunk-FMBD7UC4-hEiPmi7V.js +15 -0
  440. package/web/dist/assets/chunk-QN33PNHL-rL6yYI-E.js +1 -0
  441. package/web/dist/assets/chunk-QZHKN3VN-BRyHBBzq.js +1 -0
  442. package/web/dist/assets/chunk-TZMSLE5B-D4PXmTz9.js +1 -0
  443. package/web/dist/assets/classDiagram-2ON5EDUG-CNn53ohi.js +1 -0
  444. package/web/dist/assets/classDiagram-v2-WZHVMYZB-CNn53ohi.js +1 -0
  445. package/web/dist/assets/cose-bilkent-S5V4N54A-BAREnRga.js +1 -0
  446. package/web/dist/assets/cytoscape.esm-BnkdMOzK.js +321 -0
  447. package/web/dist/assets/dagre-6UL2VRFP-DaYzb3MT.js +4 -0
  448. package/web/dist/assets/defaultLocale-C4B-KCzX.js +1 -0
  449. package/web/dist/assets/diagram-PSM6KHXK-BFltDqvd.js +24 -0
  450. package/web/dist/assets/diagram-QEK2KX5R-CR4VU2La.js +43 -0
  451. package/web/dist/assets/diagram-S2PKOQOG-0UfIeT-1.js +24 -0
  452. package/web/dist/assets/erDiagram-Q2GNP2WA-Bo17Xmng.js +60 -0
  453. package/web/dist/assets/flowDiagram-NV44I4VS-CzqhQp8s.js +162 -0
  454. package/web/dist/assets/ganttDiagram-JELNMOA3-TXwXtUcq.js +267 -0
  455. package/web/dist/assets/gitGraphDiagram-NY62KEGX-CoFQTy9O.js +65 -0
  456. package/web/dist/assets/graph-CIQcRIVd.js +1 -0
  457. package/web/dist/assets/index-BgLd_o_M.css +1 -0
  458. package/web/dist/assets/index-Cd_J3fZn.js +30 -0
  459. package/web/dist/assets/infoDiagram-WHAUD3N6-Dq0xXfVu.js +2 -0
  460. package/web/dist/assets/init-Gi6I4Gst.js +1 -0
  461. package/web/dist/assets/journeyDiagram-XKPGCS4Q-jIg5BOfC.js +139 -0
  462. package/web/dist/assets/kanban-definition-3W4ZIXB7-D2giu6aZ.js +89 -0
  463. package/web/dist/assets/katex-XbL3y5x-.js +261 -0
  464. package/web/dist/assets/layout-Bm-XCM-8.js +1 -0
  465. package/web/dist/assets/linear-FbekP9OZ.js +1 -0
  466. package/web/dist/assets/min-BrRCpYmF.js +1 -0
  467. package/web/dist/assets/mindmap-definition-VGOIOE7T-o-4ubbY9.js +68 -0
  468. package/web/dist/assets/noto-emoji-0-400-normal-BTQbhB77.woff +0 -0
  469. package/web/dist/assets/noto-emoji-0-400-normal-DHdy6Uhy.woff2 +0 -0
  470. package/web/dist/assets/noto-emoji-1-400-normal-0IvkdXBB.woff +0 -0
  471. package/web/dist/assets/noto-emoji-1-400-normal-BY9OovbM.woff2 +0 -0
  472. package/web/dist/assets/noto-emoji-10-400-normal-D9w4QCof.woff2 +0 -0
  473. package/web/dist/assets/noto-emoji-10-400-normal-DtCumcZR.woff +0 -0
  474. package/web/dist/assets/noto-emoji-11-400-normal-BboTlyvx.woff +0 -0
  475. package/web/dist/assets/noto-emoji-12-400-normal-BB5pgBKj.woff2 +0 -0
  476. package/web/dist/assets/noto-emoji-12-400-normal-g186qhiA.woff +0 -0
  477. package/web/dist/assets/noto-emoji-2-400-normal-BKCR1azW.woff2 +0 -0
  478. package/web/dist/assets/noto-emoji-2-400-normal-BYH0KhDr.woff +0 -0
  479. package/web/dist/assets/noto-emoji-3-400-normal-CnPTUeEK.woff +0 -0
  480. package/web/dist/assets/noto-emoji-3-400-normal-TrTb2VQM.woff2 +0 -0
  481. package/web/dist/assets/noto-emoji-4-400-normal-BxD0KVdj.woff +0 -0
  482. package/web/dist/assets/noto-emoji-4-400-normal-s_n9EyG1.woff2 +0 -0
  483. package/web/dist/assets/noto-emoji-5-400-normal-C190AIxR.woff +0 -0
  484. package/web/dist/assets/noto-emoji-5-400-normal-Ctfx4xc6.woff2 +0 -0
  485. package/web/dist/assets/noto-emoji-6-400-normal-DlXlXWt7.woff +0 -0
  486. package/web/dist/assets/noto-emoji-6-400-normal-NzsjD754.woff2 +0 -0
  487. package/web/dist/assets/noto-emoji-7-400-normal-BHP8KeA6.woff2 +0 -0
  488. package/web/dist/assets/noto-emoji-7-400-normal-CtuKhtAZ.woff +0 -0
  489. package/web/dist/assets/noto-emoji-8-400-normal-DR49ZFe7.woff +0 -0
  490. package/web/dist/assets/noto-emoji-8-400-normal-Dvmkf6b2.woff2 +0 -0
  491. package/web/dist/assets/noto-emoji-9-400-normal-BeHJQ2iK.woff2 +0 -0
  492. package/web/dist/assets/noto-emoji-9-400-normal-BlXmCgeQ.woff +0 -0
  493. package/web/dist/assets/ordinal-Cboi1Yqb.js +1 -0
  494. package/web/dist/assets/pieDiagram-ADFJNKIX-C45wSpld.js +30 -0
  495. package/web/dist/assets/quadrantDiagram-AYHSOK5B-tv-_fe-W.js +7 -0
  496. package/web/dist/assets/reduce-CoLNNlNb.js +1 -0
  497. package/web/dist/assets/requirementDiagram-UZGBJVZJ-Dn6PDfkL.js +64 -0
  498. package/web/dist/assets/sankeyDiagram-TZEHDZUN-CbXTZAsG.js +10 -0
  499. package/web/dist/assets/sequenceDiagram-WL72ISMW-B-o1CUJ5.js +145 -0
  500. package/web/dist/assets/stateDiagram-FKZM4ZOC-hzrupXQi.js +1 -0
  501. package/web/dist/assets/stateDiagram-v2-4FDKWEC3-DN-c2M96.js +1 -0
  502. package/web/dist/assets/timeline-definition-IT6M3QCI-R5SP9GDo.js +61 -0
  503. package/web/dist/assets/treemap-KMMF4GRG-Pg9KlUOt.js +128 -0
  504. package/web/dist/assets/xychartDiagram-PRI3JC2R-C3vbJhd1.js +7 -0
  505. package/web/dist/favicon.svg +13 -0
  506. package/web/dist/index.html +17 -0
  507. package//351/205/215/347/275/256/346/226/271/345/274/217.md +330 -0
@@ -0,0 +1,275 @@
1
+ ---
2
+ name: aligning-intent
3
+ description: Use when starting new tasks or when requirements are unclear. Clarifies user intent through structured questioning, eliminates ambiguity, confirms verifiable acceptance criteria.
4
+ ---
5
+
6
+ # Aligning Intent
7
+
8
+ ## Overview
9
+
10
+ 通过自然协作对话,将模糊想法转化为清晰需求。先快速扫描项目现状,再逐个提问澄清意图,最终输出可验证的验收标准。
11
+
12
+ ## Announcement (MANDATORY)
13
+
14
+ Before executing this skill, you MUST announce to the user:
15
+
16
+ 「我将使用 **意图对齐** 技能来澄清需求、消除歧义、确认验收标准。」
17
+
18
+ This creates a commitment checkpoint. Proceed only after announcing.
19
+
20
+ ## Core Thinking
21
+
22
+ **Scan then Ask**: 先快速扫描项目,再提出精准问题。避免问出"代码里已有答案"的问题。
23
+
24
+ **Clarify**: Use structured questioning to eliminate ambiguity in requirements, transform user intent into verifiable acceptance criteria.
25
+
26
+ **Be Flexible**: 如果用户回答揭示新问题,随时回退重新澄清。流程是指导,不是枷锁。
27
+
28
+ **Recording**: Conversation output is invisible to users. You MUST record to workspace node. Standard: "If context is wiped now, can you recall discussion details from conclusion alone?"
29
+
30
+ **⚠️ READ-ONLY**: This is an information gathering skill. **NEVER modify any code or files.** Only ask questions, analyze, and record findings.
31
+
32
+ ## Typical Actions
33
+
34
+ - Ask user: Pose clarifying questions for ambiguous points
35
+ - Confirm acceptance criteria: Transform expectations into WHEN/THEN format
36
+ - Confidence check: MUST ask if below 80%
37
+
38
+ ## SOP
39
+
40
+ ### 1. Quick Scan (快速扫描)
41
+
42
+ 在提问前,先了解项目现状(避免问出"代码里已有答案"的问题):
43
+
44
+ - **项目结构**: README、目录结构、入口文件
45
+ - **相关模块**: 与用户需求相关的现有代码
46
+ - **近期变更**: 最近 commits,了解项目动态
47
+ - **已有实现**: 是否已有类似功能可复用
48
+
49
+ **Output**: 初步印象 + 相关发现(记录到 log)
50
+
51
+ **⏸️ 扫描后再问**: 基于扫描结果,提出更精准的问题。
52
+
53
+ ### 2. Identify Ambiguous Points (识别歧义,基于扫描)
54
+
55
+ Check for unclear items in user input:
56
+
57
+ - **Subjective descriptions**: Adjectives, adverbs ("fast", "beautiful", "lots")
58
+ - **Incomplete lists**: Vague words like "etc.", "such as"
59
+ - **Hidden assumptions**: Unstated preconditions
60
+ - **Missing info**: Key elements not mentioned (error handling, edge cases)
61
+
62
+ **Output**: List of ambiguous points
63
+
64
+ ### 3. Structured Questioning
65
+
66
+ Generate clarifying questions for identified ambiguities:
67
+
68
+ - **Quantify**: "fast response" → "What response time in ms?"
69
+ - **Complete**: "support images, videos, etc." → "What other formats?"
70
+ - **Confirm assumptions**: "after user login..." → "Are all features login-required?"
71
+ - **Edge cases**: "data import" → "How to handle failures? Size limit?"
72
+
73
+ **Principles**:
74
+ - **One question at a time** (preferred) - Deep exploration before moving to next topic
75
+ - Exception: Simple confirmations can be 2-3 together
76
+ - Priority: Core features > Edge cases > Non-functional requirements
77
+ - Questions should be specific and answerable
78
+
79
+ **Question types** (in order of preference):
80
+ 1. **Multiple choice** - "A、B 还是 C?" (easiest to answer)
81
+ 2. **Yes/No confirmation** - "是 X 吗?"
82
+ 3. **Bounded open** - "限制是多少?(如 100, 1000, 不限)"
83
+ 4. **Open-ended** - Only when above don't fit
84
+
85
+ **Output**: List of clarifying questions
86
+
87
+ ### 4. Confirm Acceptance Criteria
88
+
89
+ Transform user expectations into verifiable WHEN/THEN format:
90
+
91
+ ```markdown
92
+ | WHEN (Condition) | THEN (Result) |
93
+ |------------------|---------------|
94
+ | User clicks export | CSV generated within 3s with download prompt |
95
+ | Data exceeds 100k rows | Warning shown, batch export |
96
+ | Network request fails | Error message shown with retry button |
97
+ ```
98
+
99
+ **Requirements**:
100
+ - Each criterion independently testable
101
+ - THEN part observable and quantifiable
102
+ - Cover normal, edge, and error scenarios
103
+
104
+ **Output**: Acceptance criteria table
105
+
106
+ ### 5. Confidence Check
107
+
108
+ Evaluate understanding confidence:
109
+
110
+ - **≥85%**: Proceed to next phase
111
+ - **<85%**: MUST ask user
112
+
113
+ **Confidence scoring**:
114
+ - Core features clear: +30%
115
+ - Acceptance criteria complete: +30%
116
+ - Technical path clear: +20%
117
+ - Edge cases clear: +20%
118
+
119
+ **If confidence <85%**:
120
+ 1. Identify uncertain points
121
+ 2. Generate targeted questions
122
+ 3. Wait for user response, re-evaluate
123
+
124
+ **Output**: Confidence % + uncertain points list (if any)
125
+
126
+ ### 6. Record to Workspace (MANDATORY)
127
+
128
+ After user confirms, MUST record to workspace node:
129
+
130
+ **Recording locations**:
131
+ | Content | Location | Tool |
132
+ |---------|----------|------|
133
+ | Key conclusions (brief) | conclusion | node_update |
134
+ | QA process, acceptance criteria table | notes | node_update |
135
+ | Long analysis (>200 lines) | MEMO | memo_create + node_reference |
136
+
137
+ **NEVER hardcode MEMO IDs** in text like "见 MEMO#xxx". Use `node_reference` to link.
138
+
139
+ **Conclusion template** (brief, keywords):
140
+ ```
141
+ [核心需求] + [关键约束] + [置信度X%]
142
+ ```
143
+
144
+ **Notes template** (detailed):
145
+ ```
146
+ **用户原话**: > "..."
147
+ **问答过程**:
148
+ - Q: ... → A: ...
149
+ **验收标准**:
150
+ | WHEN | THEN |
151
+ |------|------|
152
+ | ... | ... |
153
+ **待确认**: ...
154
+ ```
155
+
156
+ **Output**: node_update called with conclusion + notes
157
+
158
+ ### 7. Present to User (MANDATORY)
159
+
160
+ After recording, MUST present acceptance criteria to user for final confirmation:
161
+
162
+ 1. **Output summary**: Show acceptance criteria using Output Template
163
+ 2. **Wait for confirmation**: Ask user if criteria are complete and correct
164
+ 3. **NEVER proceed directly**: Do NOT start implementation without user approval
165
+
166
+ **Output**: Acceptance criteria presented, user confirmation received
167
+
168
+ ## Key Principles
169
+
170
+ - **Scan before ask** - 先看项目,再问问题,避免问出代码里已有答案的问题
171
+ - **One question at a time** - 一次一个问题,深入探索后再问下一个
172
+ - **Multiple choice preferred** - 选择题比开放题更容易回答
173
+ - **Quantify everything** - 所有模糊词必须量化("快" → "多少ms")
174
+ - **Be flexible** - 随时回退澄清,流程是指导不是枷锁
175
+
176
+ ## Checklist
177
+
178
+ ### Quick Scan
179
+ - [ ] **Project structure**: README、入口文件已扫描
180
+ - [ ] **Related modules**: 相关现有代码已了解
181
+ - [ ] **Existing solutions**: 已检查是否有可复用实现
182
+
183
+ ### Core Elements
184
+ - [ ] **User intent**: What problem does user really want to solve?
185
+ - [ ] **Success criteria**: How to judge requirement is met?
186
+ - [ ] **Use cases**: When will this feature be used?
187
+ - [ ] **Expected result**: What does user expect to see?
188
+
189
+ ### Boundaries & Constraints
190
+ - [ ] **Input limits**: Data types, formats, size limits
191
+ - [ ] **Error handling**: How to handle errors, timeouts, edge cases
192
+ - [ ] **Performance**: Response time, concurrency, data volume
193
+ - [ ] **Compatibility**: Environments, browsers, devices to support
194
+
195
+ ### Acceptance Criteria
196
+ - [ ] **Normal scenarios**: At least 3 WHEN/THEN
197
+ - [ ] **Edge cases**: Empty data, oversized, special characters
198
+ - [ ] **Error scenarios**: Network failure, permission denied, timeout
199
+
200
+ ### Recording (MANDATORY)
201
+ - [ ] **Conclusion written**: Brief summary in node conclusion
202
+ - [ ] **Notes written**: QA process + acceptance criteria in node notes
203
+ - [ ] **MEMO linked**: Long content in MEMO, linked via node_reference (not hardcoded ID)
204
+ - [ ] **Wipe test**: If context wiped now, can recall details from recorded content?
205
+
206
+ ## Output Template (for conversation)
207
+
208
+ ```markdown
209
+ ### Requirement Summary
210
+ [One sentence describing user intent, ≤50 words]
211
+
212
+ ### User Story
213
+ As a [role], I want [feature], so that [value]
214
+
215
+ ### Acceptance Criteria
216
+ | WHEN (Condition) | THEN (Result) |
217
+ |------------------|---------------|
218
+ | [Trigger 1] | [Expected result 1, observable, quantifiable] |
219
+ | [Trigger 2] | [Expected result 2] |
220
+ | [Error condition] | [Error handling] |
221
+
222
+ ### Confidence
223
+ - Current: [XX%]
224
+ - Uncertain points:
225
+ - [ ] [Question 1]
226
+ - [ ] [Question 2]
227
+ ```
228
+
229
+ ## Mandatory Rules
230
+
231
+ 1. **NEVER assume**: MUST explicitly ask about anything uncertain
232
+ 2. **MUST quantify**: Transform all subjective descriptions to quantifiable metrics
233
+ 3. **MUST cover errors**: Not just normal flow, but error handling too
234
+ 4. **NEVER skip confidence check**: <80% MUST ask, proceeding with doubts is serious error
235
+ 5. **MUST get user confirmation**: Final acceptance criteria MUST be explicitly approved
236
+ 6. **NEVER modify code**: 意图对齐阶段禁止 Write/Edit/Update,只能问问题和记录
237
+ 7. **MUST ask questions**: 意图对齐的核心是向用户提问,不是自己分析代码得出结论
238
+
239
+ ## Red Flags
240
+
241
+ When these appear, you may be skipping intent alignment:
242
+
243
+ 1. **Skip quick scan** - 不看项目直接提问,问出"代码里已有答案"的问题
244
+ 2. **Start implementing immediately** - User describes need, you start coding
245
+ 3. **Assume understanding correct** - No confirmation with user
246
+ 4. **Ignore vague words** - See "fast", "simple", "etc." without asking
247
+ 5. **Skip acceptance criteria** - No WHEN/THEN transformation
248
+ 6. **Inflated confidence** - Self-assess ≥80% but obvious doubts exist
249
+ 7. **Code analysis instead of asking** - 用代码分析代替向用户提问 ⚠️ 严重错误
250
+ 8. **Write/Edit in intent alignment** - 在意图对齐节点中修改代码 ⚠️ 严重错误
251
+ 9. **No questions asked** - 整个过程没有问用户任何问题
252
+ 10. **Question bombardment** - 一次问 5+ 个问题,用户难以逐一回答
253
+
254
+ ## Anti-Patterns
255
+
256
+ | Pattern | Wrong | Right |
257
+ |---------|-------|-------|
258
+ | **Assumption filling** | User says "fast", assume 100ms | Ask: "What response time?" |
259
+ | **Premature promise** | "OK, I'll implement it" | "Let me confirm a few things..." |
260
+ | **Pass on vague** | User says "images etc.", start coding | Ask: "What else does 'etc.' include?" |
261
+ | **Skip edge cases** | Only consider happy path | MUST clarify error handling |
262
+ | **Overconfident** | Start without asking | 5 min confirmation saves 5 hours rework |
263
+ | **Question dump** | Ask 5 questions at once | One question at a time, explore deeply |
264
+ | **Open-ended first** | "What do you want?" | "A, B, or C?" - choices are easier |
265
+
266
+ ## Common Rationalizations
267
+
268
+ | Excuse | Why Wrong | Correct Action |
269
+ |--------|-----------|----------------|
270
+ | "User should know what they want" | Users often unclear on details | Help with structured questions |
271
+ | "Too many questions annoy users" | Rework wastes more time | One question at a time is less annoying |
272
+ | "This is simple, no confirmation needed" | "Simple" requirements hide assumptions | Simple also needs acceptance criteria |
273
+ | "I'll make a draft for user to see" | Wrong first version anchors direction | Align intent first, then implement |
274
+ | "Time is tight, just do it" | Rework takes 10x alignment time | 15 min alignment > 3 hour rework |
275
+ | "Asking one by one is too slow" | Batch questions get shallow answers | Deep exploration finds hidden requirements |
@@ -0,0 +1,223 @@
1
+ ---
2
+ name: analyzing-measurements
3
+ description: Use when optimizing performance or establishing metrics. Establishes performance baselines, measures and compares data, verifies optimization effects.
4
+ ---
5
+
6
+ # Analyzing Measurements
7
+
8
+ ## Announcement (MANDATORY)
9
+
10
+ Before executing this skill, you MUST announce to the user:
11
+
12
+ 「我将使用 **度量分析** 技能来建立性能基准、对比数据、验证优化效果。」
13
+
14
+ This creates a commitment checkpoint. Proceed only after announcing.
15
+
16
+ ## Core Thinking
17
+
18
+ **Measure** - You can't improve what you don't measure.
19
+
20
+ **Recording**: Conversation output is invisible to users. You MUST record to workspace node. Standard: "If context is wiped now, can you recall discussion details from conclusion alone?"
21
+
22
+ **Progressive Recording**: Measurement data is precious. After each measurement run, immediately `log_append` the results. Data loss means re-running tests.
23
+
24
+ ## Typical Actions
25
+
26
+ - Establish baseline
27
+ - Compare data
28
+ - Verify improvements
29
+
30
+ ## SOP
31
+
32
+ ### 1. Define Metrics
33
+
34
+ Determine what to measure.
35
+
36
+ **Common metrics**:
37
+ - **Frontend**: FPS, First Paint, TTI, LCP, Bundle size
38
+ - **API**: Response time (P50/P95/P99), QPS, Error rate
39
+ - **System**: CPU usage, Memory, Disk I/O, Network
40
+ - **Business**: Conversion rate, Retention, Success rate
41
+
42
+ **Output**: Metric list with target values
43
+
44
+ ### 2. Establish Test Environment
45
+
46
+ Ensure reproducible results.
47
+
48
+ **Key factors**:
49
+ - **Hardware**: CPU, Memory, Disk specs
50
+ - **Software**: OS, Runtime version, Dependencies
51
+ - **Network**: Bandwidth, Latency
52
+ - **Data scale**: Test data volume, Concurrent users
53
+
54
+ **Output**: Test environment documentation
55
+
56
+ ### 3. Get Baseline
57
+
58
+ Execute tests, record current values.
59
+
60
+ **Execution points**:
61
+ - Choose appropriate tools (wrk, k6, Lighthouse, Chrome DevTools)
62
+ - Run multiple times, take average
63
+ - Record environment conditions
64
+ - Document measurement methodology
65
+
66
+ **Output**: Baseline data table
67
+
68
+ **⚠️ Checkpoint**: After getting baseline, immediately `log_append` the baseline data. This is your reference point.
69
+
70
+ ### 4. Post-Optimization Comparison
71
+
72
+ After optimization, measure again and compare.
73
+
74
+ **Comparison points**:
75
+ - Use same test environment
76
+ - Use same methodology
77
+ - Calculate improvement rate
78
+ - Verify no regression in other metrics
79
+
80
+ **Output**: Before/After comparison table
81
+
82
+ ### 5. Record to Workspace (MANDATORY)
83
+
84
+ After measurement, MUST record to workspace node:
85
+
86
+ **Recording locations**:
87
+ | Content | Location | Tool |
88
+ |---------|----------|------|
89
+ | Key conclusions (brief) | conclusion | node_update |
90
+ | Metrics, baseline, results | notes | node_update |
91
+ | Full measurement data (>200 lines) | MEMO | memo_create + node_reference |
92
+
93
+ **NEVER hardcode MEMO IDs** in text like "见 MEMO#xxx". Use `node_reference` to link.
94
+
95
+ **Reference rules** (measurement tasks SHOULD include):
96
+ - Measurement tool and version
97
+ - Environment specs (for reproducibility)
98
+ - Data source/test case reference
99
+ - Core principle: reproducible measurements need documented conditions
100
+
101
+ **Conclusion template** (brief):
102
+ ```
103
+ [度量目标] + [基线值] + [结果] + [结论]
104
+ ```
105
+
106
+ **Notes template** (detailed):
107
+ ```
108
+ **Objective**: [what measured]
109
+ **Environment**: [hardware, software, data scale]
110
+ **Metrics**: [name] (target: [value])
111
+ **Baseline**: [value] ([method])
112
+ **After**: [value] ([change %])
113
+ **Analysis**: [explanation]
114
+ **Conclusion**: [target met? next steps?]
115
+ ```
116
+
117
+ **Output**: node_update called with conclusion + notes
118
+
119
+ ### 6. Present to User (MANDATORY)
120
+
121
+ After recording, MUST present measurement results to user:
122
+
123
+ 1. **Output summary**: Show results using Output Template
124
+ 2. **Wait for confirmation**: Ask user if analysis is correct and next steps are acceptable
125
+ 3. **NEVER proceed directly**: Do NOT start optimization without user acknowledgment
126
+
127
+ **Output**: Results presented, user confirmation received
128
+
129
+ ## Checklist
130
+
131
+ ### Pre-Measurement
132
+ - [ ] Metrics defined with targets
133
+ - [ ] Test environment documented
134
+ - [ ] Measurement tools selected
135
+ - [ ] Baseline established
136
+
137
+ ### Post-Optimization
138
+ - [ ] Same environment used
139
+ - [ ] Same methodology applied
140
+ - [ ] Improvement calculated
141
+ - [ ] No regression verified
142
+
143
+ ### Recording (MANDATORY)
144
+ - [ ] **Conclusion written**: Brief summary in node conclusion
145
+ - [ ] **Notes written**: Metrics, baseline, results in node notes
146
+ - [ ] **MEMO linked**: Long content in MEMO, linked via node_reference (not hardcoded ID)
147
+ - [ ] **Wipe test**: If context wiped now, can recall details from recorded content?
148
+
149
+ ### Long Content Protection
150
+ - [ ] **Baseline logged**: Used `log_append` immediately after baseline measurement
151
+ - [ ] **Environment documented**: Tool versions and specs recorded
152
+ - [ ] **Data preserved**: Raw measurement data saved before analysis
153
+
154
+ ## Output Template
155
+
156
+ ```markdown
157
+ ### Measurement Summary
158
+ **Objective**: [What to optimize]
159
+ **Key Metric**: [Primary metric]
160
+ **Result**: [X% improvement / No improvement]
161
+
162
+ ### Environment
163
+ - **Hardware**: [Specs]
164
+ - **Software**: [Versions]
165
+ - **Data scale**: [Volume]
166
+
167
+ ### Baseline (Before)
168
+ | Metric | Value | Target |
169
+ |--------|-------|--------|
170
+ | [Metric 1] | [Value] | [Target] |
171
+ | [Metric 2] | [Value] | [Target] |
172
+
173
+ ### After Optimization
174
+ | Metric | Before | After | Change |
175
+ |--------|--------|-------|--------|
176
+ | [Metric 1] | [Value] | [Value] | [+/-X%] |
177
+ | [Metric 2] | [Value] | [Value] | [+/-X%] |
178
+
179
+ ### Analysis
180
+ [Explanation of results]
181
+
182
+ ### Conclusion
183
+ - Target achieved: [Yes/No]
184
+ - Further optimization needed: [Yes/No]
185
+ ```
186
+
187
+ ## Red Flags
188
+
189
+ 1. **No baseline** - Optimize without measuring current state
190
+ 2. **Different environments** - Compare results from different conditions
191
+ 3. **Single run** - Draw conclusions from one measurement
192
+ 4. **Ignore other metrics** - Optimize one metric, break others
193
+ 5. **Silent execution** - Complete measurement, then immediately start optimization without showing user
194
+ 6. **Lost baseline** - Forget to log baseline before optimization
195
+ 7. **Undocumented environment** - Can't reproduce measurement conditions
196
+
197
+ ## Mandatory Rules
198
+
199
+ 1. **MUST establish baseline first** - NEVER optimize without measuring current state
200
+ 2. **MUST use same environment** - All measurements in identical conditions, no exceptions
201
+ 3. **MUST run multiple times** - Single run data is NEVER conclusive
202
+ 4. **MUST check for regressions** - Improving one metric while breaking others is unacceptable
203
+ 5. **NEVER report without evidence** - Every claim needs numbers with methodology
204
+ 6. **MUST present before proceed** - After measurement, NEVER start optimization directly. Present results, wait for user confirmation
205
+
206
+ ## Anti-Patterns
207
+
208
+ | Pattern | Wrong | Right |
209
+ |---------|-------|-------|
210
+ | **Guess performance** | "Feels faster" | Measure with numbers |
211
+ | **Premature optimization** | Optimize without profiling | Measure first, optimize bottleneck |
212
+ | **Cherry-pick results** | Report best run only | Average multiple runs |
213
+ | **Tunnel vision** | Only check target metric | Verify no regression |
214
+
215
+ ## Common Rationalizations
216
+
217
+ | Excuse | Why Wrong | Correct Action |
218
+ |--------|-----------|----------------|
219
+ | "It obviously improved" | Perception is not measurement | Show before/after numbers |
220
+ | "One test run is enough" | Variance makes single runs unreliable | Run 3+ times, take average |
221
+ | "Environment doesn't matter" | Different conditions = incomparable results | Document and match environment |
222
+ | "We're in a hurry, skip baseline" | No baseline = no proof of improvement | 10 min baseline saves hours of debate |
223
+ | "Target metric improved, we're done" | May have broken other metrics | ALWAYS check for regressions |