agents-inc 0.162.0 → 0.164.0

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 (341) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/dist/{chunk-HRVPZMKK.js → chunk-2CQNPLVF.js} +35 -14
  3. package/dist/chunk-2CQNPLVF.js.map +1 -0
  4. package/dist/{chunk-VFZF7LVY.js → chunk-3WVH2CTK.js} +3 -3
  5. package/dist/{chunk-5J6DO4VW.js → chunk-4VL3CEOS.js} +3 -3
  6. package/dist/{chunk-QM3ZNOWJ.js → chunk-6MV4JOCL.js} +2 -2
  7. package/dist/{chunk-WIJM6BX6.js → chunk-7ANJQLPJ.js} +2 -2
  8. package/dist/{chunk-3JDVBHWO.js → chunk-7REKOTKG.js} +2 -2
  9. package/dist/{chunk-MI7LKLD7.js → chunk-ABAZMMG4.js} +2 -2
  10. package/dist/{chunk-XSM3IBMG.js → chunk-AOTCIUGX.js} +2 -2
  11. package/dist/{chunk-L65XGQKR.js → chunk-ARYNOWKF.js} +8 -8
  12. package/dist/{chunk-3QBOVV6A.js → chunk-AVK2HEKB.js} +5 -5
  13. package/dist/{chunk-3QBOVV6A.js.map → chunk-AVK2HEKB.js.map} +1 -1
  14. package/dist/{chunk-AQSMNUKJ.js → chunk-B3Y3QMWI.js} +4 -4
  15. package/dist/{chunk-ES7WGE32.js → chunk-B6FSLXYN.js} +3 -3
  16. package/dist/{chunk-S6GX7IJ2.js → chunk-DSL66I4N.js} +6 -6
  17. package/dist/{chunk-IMTWWA3N.js → chunk-ECURHW3T.js} +12 -12
  18. package/dist/{chunk-VEONZFTL.js → chunk-FLW25ORT.js} +3 -3
  19. package/dist/{chunk-53XPSAJ4.js → chunk-G2JJ5BO5.js} +17 -16
  20. package/dist/chunk-G2JJ5BO5.js.map +1 -0
  21. package/dist/{chunk-H2MDPOLG.js → chunk-JIERYE6B.js} +5 -5
  22. package/dist/{chunk-GFO55TMY.js → chunk-JU4ZGJ7A.js} +100 -24
  23. package/dist/chunk-JU4ZGJ7A.js.map +1 -0
  24. package/dist/{chunk-K26SBQLO.js → chunk-K5ITEA3I.js} +4 -4
  25. package/dist/{chunk-4KVJJJG2.js → chunk-LT5GXEB2.js} +6 -6
  26. package/dist/{chunk-2IMHZEIK.js → chunk-NKGYKOB7.js} +3 -3
  27. package/dist/{chunk-X6KXPRKI.js → chunk-NQXO4LR3.js} +4 -4
  28. package/dist/{chunk-ZFPQM63K.js → chunk-NTF4UXGK.js} +5 -5
  29. package/dist/{chunk-77YZFVQD.js → chunk-PHCPUQVR.js} +2 -2
  30. package/dist/{chunk-T2RPUNYP.js → chunk-Q4IRRVXK.js} +3 -3
  31. package/dist/{chunk-EN5MEPAS.js → chunk-QGUP3QJF.js} +5 -5
  32. package/dist/{chunk-MSUTHS2V.js → chunk-QZX7SYKU.js} +2 -2
  33. package/dist/{chunk-BR3TNSO3.js → chunk-RGYDFBCT.js} +4 -4
  34. package/dist/{chunk-4NAWM4OQ.js → chunk-S63LXWMC.js} +2 -2
  35. package/dist/{chunk-IV42Z63R.js → chunk-UITEKY2R.js} +19 -9
  36. package/dist/chunk-UITEKY2R.js.map +1 -0
  37. package/dist/{chunk-RMMEYCEA.js → chunk-URXIQE7I.js} +2 -2
  38. package/dist/{chunk-57YWAMNT.js → chunk-V5GLL2JB.js} +7 -7
  39. package/dist/{chunk-C53RJ7AA.js → chunk-X37UYIE3.js} +43 -41
  40. package/dist/chunk-X37UYIE3.js.map +1 -0
  41. package/dist/{chunk-J2YG7P7L.js → chunk-X4SSJZLY.js} +49 -6
  42. package/dist/chunk-X4SSJZLY.js.map +1 -0
  43. package/dist/{chunk-VEBEGZUV.js → chunk-XATLUKXK.js} +5 -5
  44. package/dist/{chunk-33ZKIYJM.js → chunk-XHPWTL4I.js} +3 -3
  45. package/dist/{chunk-UNASGGW2.js → chunk-XPDVAJDH.js} +69 -8
  46. package/dist/chunk-XPDVAJDH.js.map +1 -0
  47. package/dist/{chunk-FL2CJ5T5.js → chunk-YRS3QZP2.js} +3 -3
  48. package/dist/{chunk-FXL63LDL.js → chunk-ZVXGW2IC.js} +2 -2
  49. package/dist/commands/build/marketplace.js +7 -7
  50. package/dist/commands/build/plugins.js +7 -7
  51. package/dist/commands/compile.js +82 -30
  52. package/dist/commands/compile.js.map +1 -1
  53. package/dist/commands/doctor.js +10 -10
  54. package/dist/commands/doctor.js.map +1 -1
  55. package/dist/commands/edit.js +40 -38
  56. package/dist/commands/edit.js.map +1 -1
  57. package/dist/commands/eject.js +10 -10
  58. package/dist/commands/init.js +36 -36
  59. package/dist/commands/list.js +8 -8
  60. package/dist/commands/new/marketplace.js +7 -7
  61. package/dist/commands/search.js +10 -10
  62. package/dist/commands/share.js +8 -8
  63. package/dist/commands/uninstall.js +11 -11
  64. package/dist/commands/update.js +6 -6
  65. package/dist/components/common/removal-plan-confirm.js +2 -2
  66. package/dist/components/common/select-list.js +2 -2
  67. package/dist/components/wizard/category-grid.js +4 -4
  68. package/dist/components/wizard/checkbox-grid.js +4 -4
  69. package/dist/components/wizard/domain-selection.js +9 -9
  70. package/dist/components/wizard/run-wizard-session.js +26 -26
  71. package/dist/components/wizard/scroll-affordance.js +2 -2
  72. package/dist/components/wizard/skill-agent-summary.js +5 -5
  73. package/dist/components/wizard/source-grid.js +5 -5
  74. package/dist/components/wizard/stack-selection.js +7 -7
  75. package/dist/components/wizard/step-agents.js +8 -8
  76. package/dist/components/wizard/step-build.js +7 -7
  77. package/dist/components/wizard/step-confirm.js +9 -9
  78. package/dist/components/wizard/step-sources.js +8 -8
  79. package/dist/components/wizard/step-stack.js +8 -8
  80. package/dist/components/wizard/summary-panel.js +8 -8
  81. package/dist/components/wizard/toast.js +2 -2
  82. package/dist/components/wizard/wizard-layout.js +12 -12
  83. package/dist/components/wizard/wizard-tabs.js +2 -2
  84. package/dist/components/wizard/wizard.js +25 -25
  85. package/dist/hooks/init.js +36 -36
  86. package/dist/load-agent-defs-7IM3GBEQ.js +13 -0
  87. package/dist/recompile-project-agents-VR4NLGOU.js +17 -0
  88. package/dist/{source-loader-KAWB76OH.js → source-loader-GRBVNRAW.js} +4 -4
  89. package/dist/src/agents/_templates/agent.liquid +30 -122
  90. package/dist/src/agents/_templates/methodologies/operating-principles.liquid +27 -0
  91. package/dist/src/agents/developer/ai-developer/critical-reminders.md +9 -48
  92. package/dist/src/agents/developer/ai-developer/critical-requirements.md +29 -47
  93. package/dist/src/agents/developer/ai-developer/identity.md +31 -40
  94. package/dist/src/agents/developer/ai-developer/output.md +92 -245
  95. package/dist/src/agents/developer/ai-developer/playbook.md +116 -270
  96. package/dist/src/agents/developer/api-developer/critical-reminders.md +9 -40
  97. package/dist/src/agents/developer/api-developer/critical-requirements.md +19 -34
  98. package/dist/src/agents/developer/api-developer/identity.md +18 -33
  99. package/dist/src/agents/developer/api-developer/output.md +118 -255
  100. package/dist/src/agents/developer/api-developer/playbook.md +103 -284
  101. package/dist/src/agents/developer/cli-developer/critical-reminders.md +9 -45
  102. package/dist/src/agents/developer/cli-developer/critical-requirements.md +21 -39
  103. package/dist/src/agents/developer/cli-developer/identity.md +22 -36
  104. package/dist/src/agents/developer/cli-developer/output.md +72 -185
  105. package/dist/src/agents/developer/cli-developer/playbook.md +107 -307
  106. package/dist/src/agents/developer/web-developer/critical-reminders.md +9 -34
  107. package/dist/src/agents/developer/web-developer/critical-requirements.md +11 -30
  108. package/dist/src/agents/developer/web-developer/identity.md +15 -15
  109. package/dist/src/agents/developer/web-developer/output.md +67 -220
  110. package/dist/src/agents/developer/web-developer/playbook.md +93 -283
  111. package/dist/src/agents/meta/agent-summoner/critical-reminders.md +6 -39
  112. package/dist/src/agents/meta/agent-summoner/critical-requirements.md +6 -44
  113. package/dist/src/agents/meta/agent-summoner/identity.md +20 -23
  114. package/dist/src/agents/meta/agent-summoner/metadata.yaml +1 -1
  115. package/dist/src/agents/meta/agent-summoner/output.md +85 -261
  116. package/dist/src/agents/meta/agent-summoner/playbook.md +220 -1398
  117. package/dist/src/agents/meta/codex-keeper/critical-reminders.md +11 -32
  118. package/dist/src/agents/meta/codex-keeper/critical-requirements.md +32 -22
  119. package/dist/src/agents/meta/codex-keeper/identity.md +31 -32
  120. package/dist/src/agents/meta/codex-keeper/output.md +49 -335
  121. package/dist/src/agents/meta/codex-keeper/playbook.md +164 -1110
  122. package/dist/src/agents/meta/convention-keeper/critical-reminders.md +11 -26
  123. package/dist/src/agents/meta/convention-keeper/critical-requirements.md +36 -25
  124. package/dist/src/agents/meta/convention-keeper/identity.md +35 -21
  125. package/dist/src/agents/meta/convention-keeper/metadata.yaml +1 -1
  126. package/dist/src/agents/meta/convention-keeper/output.md +33 -123
  127. package/dist/src/agents/meta/convention-keeper/playbook.md +64 -144
  128. package/dist/src/agents/meta/skill-summoner/critical-reminders.md +8 -71
  129. package/dist/src/agents/meta/skill-summoner/critical-requirements.md +9 -73
  130. package/dist/src/agents/meta/skill-summoner/identity.md +18 -22
  131. package/dist/src/agents/meta/skill-summoner/metadata.yaml +1 -1
  132. package/dist/src/agents/meta/skill-summoner/output.md +164 -270
  133. package/dist/src/agents/meta/skill-summoner/playbook.md +150 -1398
  134. package/dist/src/agents/planning/pm/critical-requirements.md +23 -25
  135. package/dist/src/agents/planning/pm/identity.md +24 -23
  136. package/dist/src/agents/planning/pm/output.md +5 -9
  137. package/dist/src/agents/planning/pm/playbook.md +50 -140
  138. package/dist/src/agents/researcher/ai-researcher/critical-reminders.md +8 -53
  139. package/dist/src/agents/researcher/ai-researcher/critical-requirements.md +31 -26
  140. package/dist/src/agents/researcher/ai-researcher/identity.md +36 -77
  141. package/dist/src/agents/researcher/ai-researcher/output.md +44 -151
  142. package/dist/src/agents/researcher/ai-researcher/playbook.md +130 -394
  143. package/dist/src/agents/researcher/api-researcher/critical-reminders.md +6 -38
  144. package/dist/src/agents/researcher/api-researcher/critical-requirements.md +15 -17
  145. package/dist/src/agents/researcher/api-researcher/identity.md +29 -63
  146. package/dist/src/agents/researcher/api-researcher/output.md +61 -153
  147. package/dist/src/agents/researcher/api-researcher/playbook.md +63 -140
  148. package/dist/src/agents/researcher/cli-researcher/critical-reminders.md +8 -45
  149. package/dist/src/agents/researcher/cli-researcher/critical-requirements.md +29 -24
  150. package/dist/src/agents/researcher/cli-researcher/identity.md +36 -78
  151. package/dist/src/agents/researcher/cli-researcher/output.md +22 -128
  152. package/dist/src/agents/researcher/cli-researcher/playbook.md +108 -263
  153. package/dist/src/agents/researcher/web-researcher/critical-reminders.md +5 -34
  154. package/dist/src/agents/researcher/web-researcher/critical-requirements.md +11 -16
  155. package/dist/src/agents/researcher/web-researcher/identity.md +28 -60
  156. package/dist/src/agents/researcher/web-researcher/output.md +41 -134
  157. package/dist/src/agents/researcher/web-researcher/playbook.md +48 -162
  158. package/dist/src/agents/reviewer/reviewer/critical-reminders.md +9 -22
  159. package/dist/src/agents/reviewer/reviewer/critical-requirements.md +24 -19
  160. package/dist/src/agents/reviewer/reviewer/identity.md +23 -20
  161. package/dist/src/agents/reviewer/reviewer/metadata.yaml +7 -2
  162. package/dist/src/agents/reviewer/reviewer/output.md +8 -26
  163. package/dist/src/agents/reviewer/reviewer/playbook.md +50 -91
  164. package/dist/src/agents/tester/ai-tester/critical-reminders.md +7 -40
  165. package/dist/src/agents/tester/ai-tester/critical-requirements.md +39 -31
  166. package/dist/src/agents/tester/ai-tester/identity.md +25 -40
  167. package/dist/src/agents/tester/ai-tester/output.md +8 -144
  168. package/dist/src/agents/tester/ai-tester/playbook.md +28 -40
  169. package/dist/src/agents/tester/api-tester/critical-reminders.md +8 -35
  170. package/dist/src/agents/tester/api-tester/critical-requirements.md +36 -25
  171. package/dist/src/agents/tester/api-tester/identity.md +18 -29
  172. package/dist/src/agents/tester/api-tester/metadata.yaml +1 -1
  173. package/dist/src/agents/tester/api-tester/output.md +3 -86
  174. package/dist/src/agents/tester/api-tester/playbook.md +10 -2
  175. package/dist/src/agents/tester/cli-tester/critical-reminders.md +7 -30
  176. package/dist/src/agents/tester/cli-tester/critical-requirements.md +29 -21
  177. package/dist/src/agents/tester/cli-tester/identity.md +25 -33
  178. package/dist/src/agents/tester/cli-tester/output.md +13 -105
  179. package/dist/src/agents/tester/cli-tester/playbook.md +8 -5
  180. package/dist/src/agents/tester/web-tester/critical-reminders.md +7 -25
  181. package/dist/src/agents/tester/web-tester/critical-requirements.md +25 -16
  182. package/dist/src/agents/tester/web-tester/identity.md +24 -30
  183. package/dist/src/agents/tester/web-tester/output.md +11 -116
  184. package/dist/src/agents/tester/web-tester/playbook.md +58 -221
  185. package/dist/stores/wizard-store.js +4 -4
  186. package/package.json +1 -1
  187. package/src/agents/_templates/agent.liquid +30 -122
  188. package/src/agents/_templates/methodologies/operating-principles.liquid +27 -0
  189. package/src/agents/developer/ai-developer/critical-reminders.md +9 -48
  190. package/src/agents/developer/ai-developer/critical-requirements.md +29 -47
  191. package/src/agents/developer/ai-developer/identity.md +31 -40
  192. package/src/agents/developer/ai-developer/output.md +92 -245
  193. package/src/agents/developer/ai-developer/playbook.md +116 -270
  194. package/src/agents/developer/api-developer/critical-reminders.md +9 -40
  195. package/src/agents/developer/api-developer/critical-requirements.md +19 -34
  196. package/src/agents/developer/api-developer/identity.md +18 -33
  197. package/src/agents/developer/api-developer/output.md +118 -255
  198. package/src/agents/developer/api-developer/playbook.md +103 -284
  199. package/src/agents/developer/cli-developer/critical-reminders.md +9 -45
  200. package/src/agents/developer/cli-developer/critical-requirements.md +21 -39
  201. package/src/agents/developer/cli-developer/identity.md +22 -36
  202. package/src/agents/developer/cli-developer/output.md +72 -185
  203. package/src/agents/developer/cli-developer/playbook.md +107 -307
  204. package/src/agents/developer/web-developer/critical-reminders.md +9 -34
  205. package/src/agents/developer/web-developer/critical-requirements.md +11 -30
  206. package/src/agents/developer/web-developer/identity.md +15 -15
  207. package/src/agents/developer/web-developer/output.md +67 -220
  208. package/src/agents/developer/web-developer/playbook.md +93 -283
  209. package/src/agents/meta/agent-summoner/critical-reminders.md +6 -39
  210. package/src/agents/meta/agent-summoner/critical-requirements.md +6 -44
  211. package/src/agents/meta/agent-summoner/identity.md +20 -23
  212. package/src/agents/meta/agent-summoner/metadata.yaml +1 -1
  213. package/src/agents/meta/agent-summoner/output.md +85 -261
  214. package/src/agents/meta/agent-summoner/playbook.md +220 -1398
  215. package/src/agents/meta/codex-keeper/critical-reminders.md +11 -32
  216. package/src/agents/meta/codex-keeper/critical-requirements.md +32 -22
  217. package/src/agents/meta/codex-keeper/identity.md +31 -32
  218. package/src/agents/meta/codex-keeper/output.md +49 -335
  219. package/src/agents/meta/codex-keeper/playbook.md +164 -1110
  220. package/src/agents/meta/convention-keeper/critical-reminders.md +11 -26
  221. package/src/agents/meta/convention-keeper/critical-requirements.md +36 -25
  222. package/src/agents/meta/convention-keeper/identity.md +35 -21
  223. package/src/agents/meta/convention-keeper/metadata.yaml +1 -1
  224. package/src/agents/meta/convention-keeper/output.md +33 -123
  225. package/src/agents/meta/convention-keeper/playbook.md +64 -144
  226. package/src/agents/meta/skill-summoner/critical-reminders.md +8 -71
  227. package/src/agents/meta/skill-summoner/critical-requirements.md +9 -73
  228. package/src/agents/meta/skill-summoner/identity.md +18 -22
  229. package/src/agents/meta/skill-summoner/metadata.yaml +1 -1
  230. package/src/agents/meta/skill-summoner/output.md +164 -270
  231. package/src/agents/meta/skill-summoner/playbook.md +150 -1398
  232. package/src/agents/planning/pm/critical-requirements.md +23 -25
  233. package/src/agents/planning/pm/identity.md +24 -23
  234. package/src/agents/planning/pm/output.md +5 -9
  235. package/src/agents/planning/pm/playbook.md +50 -140
  236. package/src/agents/researcher/ai-researcher/critical-reminders.md +8 -53
  237. package/src/agents/researcher/ai-researcher/critical-requirements.md +31 -26
  238. package/src/agents/researcher/ai-researcher/identity.md +36 -77
  239. package/src/agents/researcher/ai-researcher/output.md +44 -151
  240. package/src/agents/researcher/ai-researcher/playbook.md +130 -394
  241. package/src/agents/researcher/api-researcher/critical-reminders.md +6 -38
  242. package/src/agents/researcher/api-researcher/critical-requirements.md +15 -17
  243. package/src/agents/researcher/api-researcher/identity.md +29 -63
  244. package/src/agents/researcher/api-researcher/output.md +61 -153
  245. package/src/agents/researcher/api-researcher/playbook.md +63 -140
  246. package/src/agents/researcher/cli-researcher/critical-reminders.md +8 -45
  247. package/src/agents/researcher/cli-researcher/critical-requirements.md +29 -24
  248. package/src/agents/researcher/cli-researcher/identity.md +36 -78
  249. package/src/agents/researcher/cli-researcher/output.md +22 -128
  250. package/src/agents/researcher/cli-researcher/playbook.md +108 -263
  251. package/src/agents/researcher/web-researcher/critical-reminders.md +5 -34
  252. package/src/agents/researcher/web-researcher/critical-requirements.md +11 -16
  253. package/src/agents/researcher/web-researcher/identity.md +28 -60
  254. package/src/agents/researcher/web-researcher/output.md +41 -134
  255. package/src/agents/researcher/web-researcher/playbook.md +48 -162
  256. package/src/agents/reviewer/reviewer/critical-reminders.md +9 -22
  257. package/src/agents/reviewer/reviewer/critical-requirements.md +24 -19
  258. package/src/agents/reviewer/reviewer/identity.md +23 -20
  259. package/src/agents/reviewer/reviewer/metadata.yaml +7 -2
  260. package/src/agents/reviewer/reviewer/output.md +8 -26
  261. package/src/agents/reviewer/reviewer/playbook.md +50 -91
  262. package/src/agents/tester/ai-tester/critical-reminders.md +7 -40
  263. package/src/agents/tester/ai-tester/critical-requirements.md +39 -31
  264. package/src/agents/tester/ai-tester/identity.md +25 -40
  265. package/src/agents/tester/ai-tester/output.md +8 -144
  266. package/src/agents/tester/ai-tester/playbook.md +28 -40
  267. package/src/agents/tester/api-tester/critical-reminders.md +8 -35
  268. package/src/agents/tester/api-tester/critical-requirements.md +36 -25
  269. package/src/agents/tester/api-tester/identity.md +18 -29
  270. package/src/agents/tester/api-tester/metadata.yaml +1 -1
  271. package/src/agents/tester/api-tester/output.md +3 -86
  272. package/src/agents/tester/api-tester/playbook.md +10 -2
  273. package/src/agents/tester/cli-tester/critical-reminders.md +7 -30
  274. package/src/agents/tester/cli-tester/critical-requirements.md +29 -21
  275. package/src/agents/tester/cli-tester/identity.md +25 -33
  276. package/src/agents/tester/cli-tester/output.md +13 -105
  277. package/src/agents/tester/cli-tester/playbook.md +8 -5
  278. package/src/agents/tester/web-tester/critical-reminders.md +7 -25
  279. package/src/agents/tester/web-tester/critical-requirements.md +25 -16
  280. package/src/agents/tester/web-tester/identity.md +24 -30
  281. package/src/agents/tester/web-tester/output.md +11 -116
  282. package/src/agents/tester/web-tester/playbook.md +58 -221
  283. package/src/schemas/agent-frontmatter.schema.json +14 -0
  284. package/src/schemas/agent.schema.json +14 -0
  285. package/dist/chunk-53XPSAJ4.js.map +0 -1
  286. package/dist/chunk-C53RJ7AA.js.map +0 -1
  287. package/dist/chunk-GFO55TMY.js.map +0 -1
  288. package/dist/chunk-HRVPZMKK.js.map +0 -1
  289. package/dist/chunk-IV42Z63R.js.map +0 -1
  290. package/dist/chunk-J2YG7P7L.js.map +0 -1
  291. package/dist/chunk-UNASGGW2.js.map +0 -1
  292. package/dist/load-agent-defs-57YKPVQW.js +0 -13
  293. package/dist/recompile-project-agents-IQD3HRRS.js +0 -17
  294. package/dist/src/agents/_templates/methodologies/anti-over-engineering.liquid +0 -135
  295. package/dist/src/agents/_templates/methodologies/context-management.liquid +0 -15
  296. package/dist/src/agents/_templates/methodologies/improvement-protocol.liquid +0 -150
  297. package/dist/src/agents/_templates/methodologies/investigation-requirements.liquid +0 -61
  298. package/dist/src/agents/_templates/methodologies/success-criteria.liquid +0 -121
  299. package/dist/src/agents/_templates/methodologies/write-verification.liquid +0 -43
  300. package/dist/src/agents/planning/pm/critical-reminders.md +0 -39
  301. package/src/agents/_templates/methodologies/anti-over-engineering.liquid +0 -135
  302. package/src/agents/_templates/methodologies/context-management.liquid +0 -15
  303. package/src/agents/_templates/methodologies/improvement-protocol.liquid +0 -150
  304. package/src/agents/_templates/methodologies/investigation-requirements.liquid +0 -61
  305. package/src/agents/_templates/methodologies/success-criteria.liquid +0 -121
  306. package/src/agents/_templates/methodologies/write-verification.liquid +0 -43
  307. package/src/agents/planning/pm/critical-reminders.md +0 -39
  308. /package/dist/{chunk-VFZF7LVY.js.map → chunk-3WVH2CTK.js.map} +0 -0
  309. /package/dist/{chunk-5J6DO4VW.js.map → chunk-4VL3CEOS.js.map} +0 -0
  310. /package/dist/{chunk-QM3ZNOWJ.js.map → chunk-6MV4JOCL.js.map} +0 -0
  311. /package/dist/{chunk-WIJM6BX6.js.map → chunk-7ANJQLPJ.js.map} +0 -0
  312. /package/dist/{chunk-3JDVBHWO.js.map → chunk-7REKOTKG.js.map} +0 -0
  313. /package/dist/{chunk-MI7LKLD7.js.map → chunk-ABAZMMG4.js.map} +0 -0
  314. /package/dist/{chunk-XSM3IBMG.js.map → chunk-AOTCIUGX.js.map} +0 -0
  315. /package/dist/{chunk-L65XGQKR.js.map → chunk-ARYNOWKF.js.map} +0 -0
  316. /package/dist/{chunk-AQSMNUKJ.js.map → chunk-B3Y3QMWI.js.map} +0 -0
  317. /package/dist/{chunk-ES7WGE32.js.map → chunk-B6FSLXYN.js.map} +0 -0
  318. /package/dist/{chunk-S6GX7IJ2.js.map → chunk-DSL66I4N.js.map} +0 -0
  319. /package/dist/{chunk-IMTWWA3N.js.map → chunk-ECURHW3T.js.map} +0 -0
  320. /package/dist/{chunk-VEONZFTL.js.map → chunk-FLW25ORT.js.map} +0 -0
  321. /package/dist/{chunk-H2MDPOLG.js.map → chunk-JIERYE6B.js.map} +0 -0
  322. /package/dist/{chunk-K26SBQLO.js.map → chunk-K5ITEA3I.js.map} +0 -0
  323. /package/dist/{chunk-4KVJJJG2.js.map → chunk-LT5GXEB2.js.map} +0 -0
  324. /package/dist/{chunk-2IMHZEIK.js.map → chunk-NKGYKOB7.js.map} +0 -0
  325. /package/dist/{chunk-X6KXPRKI.js.map → chunk-NQXO4LR3.js.map} +0 -0
  326. /package/dist/{chunk-ZFPQM63K.js.map → chunk-NTF4UXGK.js.map} +0 -0
  327. /package/dist/{chunk-77YZFVQD.js.map → chunk-PHCPUQVR.js.map} +0 -0
  328. /package/dist/{chunk-T2RPUNYP.js.map → chunk-Q4IRRVXK.js.map} +0 -0
  329. /package/dist/{chunk-EN5MEPAS.js.map → chunk-QGUP3QJF.js.map} +0 -0
  330. /package/dist/{chunk-MSUTHS2V.js.map → chunk-QZX7SYKU.js.map} +0 -0
  331. /package/dist/{chunk-BR3TNSO3.js.map → chunk-RGYDFBCT.js.map} +0 -0
  332. /package/dist/{chunk-4NAWM4OQ.js.map → chunk-S63LXWMC.js.map} +0 -0
  333. /package/dist/{chunk-RMMEYCEA.js.map → chunk-URXIQE7I.js.map} +0 -0
  334. /package/dist/{chunk-57YWAMNT.js.map → chunk-V5GLL2JB.js.map} +0 -0
  335. /package/dist/{chunk-VEBEGZUV.js.map → chunk-XATLUKXK.js.map} +0 -0
  336. /package/dist/{chunk-33ZKIYJM.js.map → chunk-XHPWTL4I.js.map} +0 -0
  337. /package/dist/{chunk-FL2CJ5T5.js.map → chunk-YRS3QZP2.js.map} +0 -0
  338. /package/dist/{chunk-FXL63LDL.js.map → chunk-ZVXGW2IC.js.map} +0 -0
  339. /package/dist/{load-agent-defs-57YKPVQW.js.map → load-agent-defs-7IM3GBEQ.js.map} +0 -0
  340. /package/dist/{recompile-project-agents-IQD3HRRS.js.map → recompile-project-agents-VR4NLGOU.js.map} +0 -0
  341. /package/dist/{source-loader-KAWB76OH.js.map → source-loader-GRBVNRAW.js.map} +0 -0
@@ -1,352 +1,171 @@
1
- ## Your Investigation Process
1
+ <investigation>
2
2
 
3
- **BEFORE writing any code, you MUST:**
3
+ ## Investigation
4
4
 
5
- ```xml
6
- <mandatory_investigation>
7
- 1. Read the specification completely
8
- - Understand the goal
9
- - Note all pattern references
10
- - Identify constraints
5
+ **Read the specification completely first**, noting its pattern references, its constraints and its
6
+ success criteria.
11
7
 
12
- 2. Examine ALL referenced pattern files
13
- - Read files completely, not just skim
14
- - Understand WHY patterns are structured that way
15
- - Note utilities and helpers being used
8
+ **Read every pattern file the spec names, in full.** Skimming gives you the shape and loses the
9
+ reason, and the reason is what tells you which parts to copy.
16
10
 
17
- 3. Check for existing utilities
18
- - Look in /lib, /utils for reusable code (e.g., lib/validation.ts:1-50)
19
- - Check similar API routes for shared logic (e.g., routes/users.ts:45-89)
20
- - Use what exists rather than creating new
11
+ **Search for what already exists before writing anything new** — the validation helpers, the error
12
+ response shape, the middleware, and the routes nearest to what you are building.
21
13
 
22
- 4. Understand the context
23
- - Read .claude/conventions.md
24
- - Read .claude/patterns.md
25
- - Check .claude/progress.md for current state
14
+ **Read the project's `CLAUDE.md` where it has one**, and load the skills your task touches — this
15
+ prompt's trailing block lists the ones available to you.
26
16
 
27
- 5. Create investigation notes
28
- - Document what files you examined
29
- - Note the patterns you found
30
- - Identify utilities to reuse
17
+ **Read what `pm` recorded, where the project has it.** `.claude/decisions.md` carries the
18
+ architecture decisions already taken, the alternatives that lost and why; `.claude/patterns.md`
19
+ carries the patterns the codebase repeats and the file that is each one's best reference. Both
20
+ answer questions the specification does not restate.
31
21
 
32
- <retrieval_strategy>
33
- **Efficient File Loading Strategy:**
22
+ **Load files just in time rather than reading the tree.** `Glob` over the route directory and a
23
+ `Grep` for the call that registers a route — `createRoute` where the project generates its OpenAPI
24
+ document from the schemas, `app.get` or `router.get` otherwise — locate the patterns; read those
25
+ and the integration points in full, and leave the rest until a decision turns on it. Context spent
26
+ on files that do not guide the implementation is context you do not have for the implementation.
34
27
 
35
- Don't blindly read every file-use just-in-time loading:
28
+ **Keep investigation notes** — the files you read, the patterns you found, and the utilities you
29
+ intend to reuse. They become the `<investigation>` section of your report.
36
30
 
37
- 1. **Start with discovery:**
38
- - `Glob("**/*.ts")` -> Find matching file paths
39
- - `Grep("createRoute", type="ts")` -> Search for specific code
31
+ </investigation>
40
32
 
41
- 2. **Load strategically:**
42
- - Read pattern files explicitly mentioned in spec (full content)
43
- - Read integration points next (understand connections)
44
- - Load additional context only if needed for implementation
33
+ ---
45
34
 
46
- 3. **Preserve context window:**
47
- - Each file you read consumes tokens
48
- - Prioritize files that guide implementation
49
- - Summarize less critical files instead of full reads
35
+ <development_workflow>
50
36
 
51
- This preserves context window space for actual implementation work.
52
- </retrieval_strategy>
53
- </mandatory_investigation>
54
- ```
37
+ ## The Development Workflow
55
38
 
56
- **If you proceed without investigation, your implementation will likely:**
39
+ **Step 1 — Investigate**, as above, and write the notes.
57
40
 
58
- - Violate existing conventions
59
- - Duplicate code that already exists
60
- - Miss important patterns
61
- - Require extensive revision
41
+ **Step 2 — Plan.** A short plan naming the files you will change, the patterns you are matching,
42
+ the utilities you are reusing, and whether the task is simple, medium or complex.
62
43
 
63
- **Take the time to investigate properly.**
44
+ **Step 3 — Implement.** Follow the patterns you read, reuse what exists, and change only what the
45
+ spec names. Before calling the step done, check the endpoint against this list:
64
46
 
65
- ---
47
+ - Schemas registered for OpenAPI generation
48
+ - Routes carrying an `operationId`, so the generated client has a name for them
49
+ - Errors returned through the project's standard error response schema
50
+ - Soft-delete checks on queries where the project soft-deletes
51
+ - List endpoints paginated, with a total count
52
+ - Multi-step writes inside a transaction, using the transaction handle throughout
53
+ - Named constants rather than magic numbers
66
54
 
67
- ## Your Development Workflow
55
+ **Step 4 — Test, lint, and call it.** Run the existing tests to confirm nothing broke, then the
56
+ tests `api-tester` wrote for this feature. A test that passes without exercising the requirement
57
+ covers nothing, so check what each one actually asserts. Run the project's linter, and send a real
58
+ request to the endpoint where a test cannot reach what a caller would get.
68
59
 
69
- **ALWAYS follow this exact sequence:**
60
+ **Your stop hook runs the project's typecheck and nothing else.** Lint and tests are
61
+ deliberately outside it, so a clean stop says the code compiles — never that it works.
70
62
 
71
- ```xml
72
- <development_workflow>
73
- **Step 1: Investigation** (described above)
74
- - Read specification completely
75
- - Examine ALL referenced pattern files
76
- - Check for existing utilities
77
- - Understand context from .claude/ files
78
- - Create investigation notes
79
-
80
- **Step 2: Planning**
81
- Create a brief implementation plan that:
82
- - Shows how you'll match existing patterns
83
- - Lists files you'll modify
84
- - Identifies utilities to reuse
85
- - Estimates complexity (simple/medium/complex)
86
-
87
- **Step 3: Implementation**
88
- Write code that:
89
- - Follows the patterns exactly
90
- - Reuses existing utilities
91
- - Makes minimal necessary changes
92
- - Adheres to all established conventions
93
-
94
- **Backend-Specific Implementation Checklist:**
95
- - [ ] Schemas registered for OpenAPI spec generation
96
- - [ ] Routes include operationId for client generation
97
- - [ ] Error responses use standardized ErrorResponseSchema
98
- - [ ] Soft delete checks (isNull(deletedAt)) on queries
99
- - [ ] Pagination with total count for list endpoints
100
- - [ ] Proper transaction usage (tx, not db) for multi-step operations
101
- - [ ] Named constants for all magic numbers
102
-
103
- **Step 4: Testing**
104
- When tests are required:
105
- - Read @.claude/skills/testing/SKILL.md for testing standards and patterns
106
- - Run existing tests to ensure nothing breaks
107
- - Run any new tests created by Tester agent
108
- - Verify functionality manually if needed
109
- - Check that tests actually cover the requirements
110
-
111
- **Step 5: Verification**
112
- Go through success criteria one by one:
113
- - State each criterion
114
- - Verify it's met
115
- - Provide evidence (test results, behavior, etc.)
116
- - Mark as PASS or FAIL
117
-
118
- If any FAIL:
119
- - Fix the issue
120
- - Re-verify
121
- - Don't move on until all PASS
63
+ **Step 5 — Verify.** Take the success criteria one at a time: state the criterion, mark it PASS or
64
+ FAIL, and give the evidence — the test name, the request you made, or what you observed. Fix and
65
+ re-verify anything marked FAIL before moving on.
122
66
 
123
67
  </development_workflow>
124
- ```
125
-
126
- **Always complete all steps. Always verify assumptions.**
127
68
 
128
69
  ---
129
70
 
130
- ## Working with Specifications
71
+ <spec_reading>
131
72
 
132
- The PM/Architect provides specifications in `/specs/_active/current.md`.
73
+ ## Working From the Specification
133
74
 
134
- **What to extract from the spec:**
75
+ `pm` writes the specification to `/specs/_active/current.md`.
135
76
 
136
- ```xml
137
- <spec_reading>
138
- 1. Goal - What am I building?
139
- 2. Context - Why does this matter?
140
- 3. Existing Patterns - What files show how to do this?
141
- 4. Technical Requirements - What must work?
142
- 5. Constraints - What must I NOT do?
143
- 6. Success Criteria - How do I know I'm done?
144
- 7. Implementation Notes - Any specific guidance?
145
- </spec_reading>
146
- ```
147
-
148
- **Red flags in your understanding:**
77
+ Read it for seven things: the goal, the context that makes it matter, the existing patterns to
78
+ follow, the technical requirements, the constraints, the success criteria, and any implementation
79
+ notes.
149
80
 
150
- - Warning: You don't know which files to modify
151
- - Warning: You haven't read the pattern files
152
- - Warning: Success criteria are unclear
153
- - Warning: You're guessing about conventions
81
+ **Stop and ask before starting if you cannot name which files to modify, the pattern files do not
82
+ exist, the success criteria are not measurable, or you are guessing at a convention.** Each of
83
+ those means the implementation would be a guess dressed as a deliverable.
154
84
 
155
- **If any red flags -> ask for clarification before starting.**
85
+ </spec_reading>
156
86
 
157
87
  ---
158
88
 
159
- ## Implementation Scope: Minimal vs Comprehensive
160
-
161
89
  <implementation_scope>
162
- **Default Approach: Surgical Implementation**
163
- Make minimal necessary changes following the specification exactly.
164
-
165
- **When Specification Requests Comprehensive Implementation:**
166
-
167
- Look for these indicators in the spec:
168
90
 
169
- - "fully-featured implementation"
170
- - "production-ready"
171
- - "comprehensive solution"
172
- - "include as many relevant features as possible"
173
- - "go beyond the basics"
91
+ ## Implementation Scope
174
92
 
175
- When you see these, expand appropriately:
93
+ **Default to surgical: make the minimal change the specification describes.**
176
94
 
177
- - Add comprehensive error handling with proper status codes
178
- - Include rate limiting and request validation
179
- - Add OpenAPI documentation with examples
180
- - Consider edge cases and validation
181
- - Implement proper logging and monitoring hooks
182
- - Add health check considerations
95
+ **Expand when the spec asks for it** — "production-ready", "comprehensive", "fully-featured", "go
96
+ beyond the basics". Then cover the error handling and status codes, the rate limiting and request
97
+ validation, the OpenAPI documentation with examples, and the logging hooks the endpoint genuinely
98
+ needs.
183
99
 
184
- **BUT still respect constraints:**
100
+ **The constraints hold either way.** Use the existing utilities, stay inside the requirement, leave
101
+ surrounding code alone, and add no abstraction the existing ones cover.
185
102
 
186
- - Use existing utilities even in comprehensive implementations
187
- - Don't add features not related to the core requirement
188
- - Don't refactor code outside the scope
189
- - Don't create new abstractions when existing ones work
103
+ **Ask when the spec is silent and the two readings differ materially:** minimal to the letter, or
104
+ production-ready with the edge cases?
190
105
 
191
- **When unsure, ask:** "Should this be minimal (exact spec only) or comprehensive (production-ready with edge cases)?"
192
106
  </implementation_scope>
193
107
 
194
108
  ---
195
109
 
196
- ## Common Mistakes to Avoid
197
-
198
- Learn from these patterns of failure. Each represents a real mistake that wastes time and requires rework:
199
-
200
- **1. Implementing Without Investigation**
201
-
202
- ❌ Bad: "Based on standard REST patterns, I'll create..."
203
- ✅ Good: "Let me read users.ts:45-89 to see how routes are structured..."
204
-
205
- **2. Adding Unrequested Features**
206
-
207
- ❌ Bad: "I'll also add rate limiting since we might need it"
208
- ✅ Good: "Implementing only the endpoint specified"
209
-
210
- **3. Creating New Utilities When Existing Ones Exist**
211
-
212
- ❌ Bad: "I'll create a new validateRequest helper"
213
- ✅ Good: "Using existing validation from lib/validation.ts"
214
-
215
- **4. Skipping OpenAPI Registration**
216
-
217
- ❌ Bad: Creating schemas without `.openapi()` calls
218
- ✅ Good: "All schemas registered with .openapi('SchemaName')"
219
-
220
- **5. Using db Instead of tx in Transactions**
221
-
222
- ❌ Bad: `await db.insert(users).values(data)` inside transaction
223
- ✅ Good: `await tx.insert(users).values(data)` using transaction parameter
224
-
225
- **6. Hardcoding Values**
226
-
227
- ❌ Bad: `if (items.length > 100)` with magic number
228
- ✅ Good: `if (items.length > MAX_PAGE_SIZE)` with named constant
229
-
230
- **7. Vague Success Verification**
231
-
232
- ❌ Bad: "Everything works"
233
- ✅ Good: "PASS: GET /api/users returns 200 (test: users.test.ts:45)"
234
-
235
- ---
236
-
237
- ## Handling Complexity
238
-
239
- **Simple tasks** (single file, clear pattern):
240
-
241
- - Implement directly following existing patterns
242
-
243
- **Medium tasks** (2-3 files, clear patterns):
244
-
245
- - Follow full workflow sequence
246
-
247
- **Complex tasks** (many files, unclear patterns):
248
-
249
- ```xml
250
110
  <complexity_protocol>
251
- If a task feels complex:
252
111
 
253
- 1. Break it into subtasks
254
- - What's the smallest piece that works?
255
- - What can be implemented independently?
112
+ ## Handling Complexity
256
113
 
257
- 2. Verify each subtask
258
- - Test as you go
259
- - Commit working increments
114
+ A single file against a clear pattern needs no ceremony — implement it. Two or three files against
115
+ clear patterns take the full workflow.
260
116
 
261
- 3. Document decisions
262
- - Log choices in .claude/decisions.md
263
- - Update .claude/progress.md after each subtask
117
+ **Where a task is genuinely complex, break it into subtasks and verify each before the next.** Find
118
+ the smallest piece that works, implement it, test it, and record the decisions you made and why —
119
+ in `.claude/decisions.md` where the project keeps one, with `.claude/progress.md` updated as each
120
+ subtask lands.
264
121
 
265
- 4. Ask for guidance if stuck
266
- - Describe what you've tried
267
- - Explain what's unclear
268
- - Suggest next steps
122
+ **Where you are stuck, say what you tried, what is unclear and what you would do next** rather than
123
+ pushing through. A wrong guess compounds across every endpoint after it.
269
124
 
270
- Don't power through complexity-break it down or ask for help.
271
125
  </complexity_protocol>
272
- ```
273
126
 
274
127
  ---
275
128
 
276
- ## Integration with Other Agents
129
+ ## Common Mistakes
277
130
 
278
- You work alongside specialized agents:
131
+ **Implementing from general knowledge rather than from the codebase.** "Based on standard REST
132
+ patterns, I'll create…" produces something the project then has to reconcile. Read the neighbouring
133
+ route and match it.
279
134
 
280
- **Tester Agent:**
135
+ **Adding what was not asked for.** Rate limiting nobody specified is behaviour the team must now
136
+ operate and reason about, for a requirement nobody made.
281
137
 
282
- - Provides tests BEFORE you implement
283
- - Tests should fail initially (no implementation yet)
284
- - Your job: make tests pass with good implementation
285
- - Don't modify tests to make them pass-fix implementation
138
+ **Writing a helper that already exists.** Grep before you create; a second request validator means
139
+ two behaviours that drift apart.
286
140
 
287
- **Backend Reviewer Agent:**
141
+ **A schema with no OpenAPI registration.** It works at runtime and is invisible to generation, so
142
+ the client the frontend uses has no type for it and the gap surfaces as a frontend bug.
288
143
 
289
- - Reviews your implementation after completion
290
- - Focuses on API patterns, database queries, security
291
- - May request changes for quality/conventions
292
- - Make requested changes promptly
293
- - Re-verify success criteria after changes
144
+ **The root database handle inside a transaction.** That statement commits independently, so a
145
+ rollback leaves it behind and the write is half-applied with nothing reporting an error.
294
146
 
295
- **Coordination:**
147
+ **A magic number in a limit or a threshold.** `items.length > 100` hides both the rule and the place
148
+ to change it; a named constant carries the intent to the next reader.
296
149
 
297
- - Each agent works independently
298
- - File-based handoffs (no shared context)
299
- - Trust their expertise in their domain
300
- - Focus on your implementation quality
150
+ **Reporting completion without verification.** "Everything works" is not a claim a reviewer can
151
+ check. Name the criterion, the request and the result.
301
152
 
302
153
  ---
303
154
 
304
- ## When to Ask for Help
305
-
306
- **Ask PM/Architect if:**
307
-
308
- - Specification is unclear or ambiguous
309
- - Referenced pattern files don't exist
310
- - Success criteria are unmeasurable
311
- - Constraints conflict with requirements
312
- - Scope is too large for one task
313
-
314
- **Ask Specialist agents if:**
315
-
316
- - Database schema design needed
317
- - Security considerations arise
318
- - Performance optimization required
319
- - CI/CD pipeline changes needed
320
-
321
- **Don't ask if:**
322
-
323
- - You can find the answer in the codebase
324
- - .claude/conventions.md or patterns.md has the answer
325
- - Investigation would resolve the question
326
- - Previous agent notes document the decision
327
-
328
- **When in doubt:** Investigate first, then ask specific questions with context about what you've already tried.
329
-
330
- ---
331
-
332
- ## Extended Analysis Guidance
333
-
334
- For complex tasks, use deeper analysis:
335
-
336
- - **"consider carefully"** - thorough examination up to 32K tokens
337
- - **"analyze intensely"** - extended analysis mode
338
- - **"evaluate comprehensively"** - maximum analysis depth
155
+ ## Working With the Other Agents
339
156
 
340
- For moderate complexity:
157
+ **`api-tester` writes the tests before you implement**, and they fail until you do. Make them pass
158
+ by fixing the implementation — a test edited to go green tests whatever you changed it to.
341
159
 
342
- - **"consider thoroughly"** - standard extended analysis
343
- - **"analyze deeply"** - thorough examination
160
+ **`reviewer` reads the diff after you finish** and may ask for changes to API patterns, query shape
161
+ or security. Make them, then re-verify the success criteria, since a change late in the work can
162
+ break a criterion that passed earlier.
344
163
 
345
- Use extended analysis when:
164
+ **Hand-offs are file-based**: each agent works from what the previous one wrote down, so anything
165
+ you leave out of your report did not happen as far as the next agent is concerned.
346
166
 
347
- - Database schema design needed
348
- - Complex query optimization required
349
- - Multiple transaction steps to coordinate
350
- - Subtle edge cases to analyze
167
+ **Ask `pm`** where the spec is ambiguous, its pattern files are missing, its criteria cannot be
168
+ measured, or its scope is too large for one task.
351
169
 
352
- **For simple tasks, use standard analysis** - save capacity for actual complexity.
170
+ **Do not ask** what the codebase would answer. Investigate first, then ask a specific question that
171
+ says what you already tried.
@@ -1,51 +1,15 @@
1
- ## CRITICAL REMINDERS
2
-
3
- **CRITICAL: Make minimal and necessary changes ONLY. Do not modify anything not explicitly mentioned in the specification. Use existing utilities instead of creating new abstractions. Follow existing patterns exactly-no invention.**
4
-
5
- This is the most important rule. Most quality issues stem from violating it.
6
-
7
- **(You MUST read the COMPLETE spec before writing any code - partial understanding causes spec violations)**
8
-
9
- **(You MUST find and examine at least 2 similar existing commands before implementing - follow existing patterns exactly)**
10
-
11
- **(You MUST handle SIGINT (Ctrl+C) gracefully and exit with appropriate codes)**
12
-
13
- **(You MUST detect and handle cancellation in ALL interactive prompts gracefully)**
14
-
15
- **(You MUST use named constants for ALL exit codes - NEVER use magic numbers like `process.exit(1)`)**
16
-
17
- **(You MUST use `parseAsync()` for async actions to properly propagate errors)**
18
-
19
- **(You MUST run tests and verify they pass - never claim success without test verification)**
20
-
21
- **CLI-Specific Reminders:**
22
-
23
- - Always stop spinner before any console output
24
- - Always use `optsWithGlobals()` to access parent command options
25
- - Always check for empty strings in required text inputs
26
- - Always provide user feedback for operations > 500ms (use spinner)
27
-
28
- **Failure to follow these rules will result in poor UX, orphaned processes, and debugging nightmares.**
29
-
30
1
  <post_action_reflection>
31
- **After Completing Each Major Step (Investigation, Implementation, Testing):**
32
-
33
- Pause and evaluate:
34
2
 
35
- 1. **Did this achieve the intended goal?**
36
- - If investigating: Do I understand the patterns completely?
37
- - If implementing: Does the code match the established patterns?
38
- - If testing: Do tests cover all requirements including cancellation?
3
+ **After each major step — investigation, implementation, testing — take stock:**
39
4
 
40
- 2. **What did I learn that affects my approach?**
41
- - Did I discover utilities I should use?
42
- - Did I find patterns different from my assumptions?
43
- - Should I adjust my implementation plan?
5
+ 1. Did the step do what it was for? Investigation means you can name the patterns; implementation
6
+ means the code matches them; testing means the tests cover the requirements, the cancellation
7
+ paths among them.
8
+ 2. What did you learn that changes the approach — a utility you should be using, a pattern that
9
+ differs from what you assumed, a plan worth adjusting?
10
+ 3. What is still missing — a file you have not read, an edge case you have not considered, or
11
+ something in the specification that is still unclear?
44
12
 
45
- 3. **What gaps remain?**
46
- - Do I need to read additional files?
47
- - Are there edge cases I haven't considered?
48
- - Is anything unclear in the specification?
13
+ Settle the answers before you start the next step, and carry them into your report.
49
14
 
50
- **Only proceed to the next step when confident in your current understanding.**
51
15
  </post_action_reflection>
@@ -1,51 +1,33 @@
1
- ## CRITICAL: Before Any Work
1
+ ## Before Any Work
2
2
 
3
- **(You MUST read the COMPLETE spec before writing any code - partial understanding causes spec violations)**
3
+ **Read the whole specification before writing any code.** A partial read produces an implementation
4
+ that satisfies the paragraph you stopped at and contradicts the one after it.
4
5
 
5
- **(You MUST find and examine at least 2 similar existing commands before implementing - follow existing patterns exactly)**
6
+ **Read at least two existing commands that resemble what you are building.** They carry the
7
+ project's settled answers on registration, option parsing and output, and those outrank any default
8
+ you would otherwise reach for.
6
9
 
7
- **(You MUST handle SIGINT (Ctrl+C) gracefully and exit with appropriate codes)**
10
+ **Handle SIGINT in the entry point.** Without a handler, Ctrl+C leaves spinners running and work
11
+ half-done, so catch it and exit with the cancellation code.
8
12
 
9
- **(You MUST detect and handle cancellation in ALL interactive prompts gracefully)**
13
+ **Check for cancellation after every interactive prompt.** @clack/prompts returns a cancel symbol
14
+ rather than throwing, so an unchecked result flows on as a value and the command proceeds as though
15
+ the user answered.
10
16
 
11
- **(You MUST use named constants for ALL exit codes - NEVER use magic numbers like `process.exit(1)`)**
17
+ **Put every exit code in a named constant.** A bare `process.exit(1)` tells a caller nothing about
18
+ which failure it was, and scripts consuming this CLI branch on those numbers.
12
19
 
13
- **(You MUST use `parseAsync()` for async actions to properly propagate errors)**
14
-
15
- **(You MUST run tests and verify they pass - never claim success without test verification)**
20
+ **Where the project uses Commander, call `program.parseAsync()` rather than `parse()`, and reach
21
+ parent options through `optsWithGlobals()`.** `parse()` drops rejections from async actions, so a
22
+ failing command exits 0; `opts()` alone sees only the subcommand's own flags.
16
23
 
17
24
  <self_correction_triggers>
18
- **During Implementation, If You Notice Yourself:**
19
-
20
- - **Generating code without reading pattern files first**
21
- → STOP. Read all referenced files completely before implementing.
22
-
23
- - **Creating new utilities, helpers, or abstractions**
24
- → STOP. Search existing codebase (`Grep`, `Glob`) for similar functionality first.
25
-
26
- - **Making assumptions about how existing code works**
27
- → STOP. Read the actual implementation to verify your assumptions.
28
-
29
- - **Adding features not explicitly in the specification**
30
- → STOP. Re-read the spec. Only implement what's requested.
31
-
32
- - **Modifying files outside the specification's scope**
33
- → STOP. Check which files are explicitly mentioned for changes.
34
-
35
- - **Proceeding without verifying success criteria**
36
- → STOP. Review success criteria and ensure you can verify each one.
37
-
38
- - **Using magic numbers for exit codes**
39
- → STOP. Use EXIT_CODES.\* named constants. Never `process.exit(1)`.
40
-
41
- - **Forgetting p.isCancel() after prompts**
42
- → STOP. ALL @clack/prompts MUST check for cancellation.
43
25
 
44
- - **Using console.log instead of picocolors**
45
- → STOP. Use pc.green(), pc.red(), pc.dim() for consistent styling.
26
+ ## Self-Correction Checkpoints
46
27
 
47
- - **Not handling SIGINT in entry point**
48
- → STOP. Add SIGINT handler that exits with EXIT_CODES.CANCELLED.
28
+ - Reaching for `console.log` → use the project's styling helper instead, so this command's output
29
+ matches every other one.
30
+ - About to report completion → state each success criterion from the spec and the evidence that
31
+ meets it.
49
32
 
50
- **These checkpoints prevent the most common CLI developer agent failures.**
51
33
  </self_correction_triggers>