@agents-inc/cli 0.32.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (497) hide show
  1. package/CHANGELOG.md +462 -0
  2. package/LICENSE +21 -0
  3. package/README.md +179 -0
  4. package/config/skills-matrix.yaml +926 -0
  5. package/config/stacks.yaml +2186 -0
  6. package/dist/chunk-3ZOIOVKT.js +365 -0
  7. package/dist/chunk-3ZOIOVKT.js.map +1 -0
  8. package/dist/chunk-4RAY5AOI.js +78 -0
  9. package/dist/chunk-4RAY5AOI.js.map +1 -0
  10. package/dist/chunk-5PIKNCZX.js +234 -0
  11. package/dist/chunk-5PIKNCZX.js.map +1 -0
  12. package/dist/chunk-66UDJBF6.js +96 -0
  13. package/dist/chunk-66UDJBF6.js.map +1 -0
  14. package/dist/chunk-7SOPVGDV.js +24 -0
  15. package/dist/chunk-7SOPVGDV.js.map +1 -0
  16. package/dist/chunk-A27LOC4Z.js +95 -0
  17. package/dist/chunk-A27LOC4Z.js.map +1 -0
  18. package/dist/chunk-B2UBHA66.js +301 -0
  19. package/dist/chunk-B2UBHA66.js.map +1 -0
  20. package/dist/chunk-BZN2Z5P7.js +882 -0
  21. package/dist/chunk-BZN2Z5P7.js.map +1 -0
  22. package/dist/chunk-BZQBJP34.js +186 -0
  23. package/dist/chunk-BZQBJP34.js.map +1 -0
  24. package/dist/chunk-DC5AK3LW.js +105 -0
  25. package/dist/chunk-DC5AK3LW.js.map +1 -0
  26. package/dist/chunk-DHET7RCE.js +50 -0
  27. package/dist/chunk-DHET7RCE.js.map +1 -0
  28. package/dist/chunk-EMJ2ZKS7.js +346 -0
  29. package/dist/chunk-EMJ2ZKS7.js.map +1 -0
  30. package/dist/chunk-FJQRVFMB.js +48 -0
  31. package/dist/chunk-FJQRVFMB.js.map +1 -0
  32. package/dist/chunk-FZGYSLJL.js +85 -0
  33. package/dist/chunk-FZGYSLJL.js.map +1 -0
  34. package/dist/chunk-H566H3MQ.js +87 -0
  35. package/dist/chunk-H566H3MQ.js.map +1 -0
  36. package/dist/chunk-IYG2LAIM.js +90 -0
  37. package/dist/chunk-IYG2LAIM.js.map +1 -0
  38. package/dist/chunk-IZZ4IIEG.js +29 -0
  39. package/dist/chunk-IZZ4IIEG.js.map +1 -0
  40. package/dist/chunk-JMVWYAHT.js +63 -0
  41. package/dist/chunk-JMVWYAHT.js.map +1 -0
  42. package/dist/chunk-LAPCUV4D.js +191 -0
  43. package/dist/chunk-LAPCUV4D.js.map +1 -0
  44. package/dist/chunk-LGUI3PMO.js +109 -0
  45. package/dist/chunk-LGUI3PMO.js.map +1 -0
  46. package/dist/chunk-MM7NK5N2.js +4542 -0
  47. package/dist/chunk-MM7NK5N2.js.map +1 -0
  48. package/dist/chunk-N6S7ZRIL.js +31 -0
  49. package/dist/chunk-N6S7ZRIL.js.map +1 -0
  50. package/dist/chunk-O4D67NN7.js +24 -0
  51. package/dist/chunk-O4D67NN7.js.map +1 -0
  52. package/dist/chunk-ODUOU55D.js +56 -0
  53. package/dist/chunk-ODUOU55D.js.map +1 -0
  54. package/dist/chunk-OGJIZ6QH.js +497 -0
  55. package/dist/chunk-OGJIZ6QH.js.map +1 -0
  56. package/dist/chunk-OMV7TLWD.js +340 -0
  57. package/dist/chunk-OMV7TLWD.js.map +1 -0
  58. package/dist/chunk-PBEHPQLK.js +146 -0
  59. package/dist/chunk-PBEHPQLK.js.map +1 -0
  60. package/dist/chunk-QPTOIZAT.js +32 -0
  61. package/dist/chunk-QPTOIZAT.js.map +1 -0
  62. package/dist/chunk-R3XFQKPG.js +111 -0
  63. package/dist/chunk-R3XFQKPG.js.map +1 -0
  64. package/dist/chunk-R74PZWQS.js +69 -0
  65. package/dist/chunk-R74PZWQS.js.map +1 -0
  66. package/dist/chunk-SO22IQPY.js +45 -0
  67. package/dist/chunk-SO22IQPY.js.map +1 -0
  68. package/dist/chunk-T4EXUIBY.js +19 -0
  69. package/dist/chunk-T4EXUIBY.js.map +1 -0
  70. package/dist/chunk-U3IGFMCY.js +31 -0
  71. package/dist/chunk-U3IGFMCY.js.map +1 -0
  72. package/dist/chunk-UICL22RT.js +318 -0
  73. package/dist/chunk-UICL22RT.js.map +1 -0
  74. package/dist/chunk-UX2H2K2G.js +183 -0
  75. package/dist/chunk-UX2H2K2G.js.map +1 -0
  76. package/dist/chunk-W2ZSCZ2U.js +93 -0
  77. package/dist/chunk-W2ZSCZ2U.js.map +1 -0
  78. package/dist/chunk-WEUVWHMA.js +189 -0
  79. package/dist/chunk-WEUVWHMA.js.map +1 -0
  80. package/dist/chunk-XY3XDVMI.js +15599 -0
  81. package/dist/chunk-XY3XDVMI.js.map +1 -0
  82. package/dist/chunk-YND42IXK.js +233 -0
  83. package/dist/chunk-YND42IXK.js.map +1 -0
  84. package/dist/chunk-YZTWZVGX.js +41 -0
  85. package/dist/chunk-YZTWZVGX.js.map +1 -0
  86. package/dist/chunk-Z4TWOP3H.js +81 -0
  87. package/dist/chunk-Z4TWOP3H.js.map +1 -0
  88. package/dist/cli/defaults/agent-mappings.yaml +271 -0
  89. package/dist/commands/build/marketplace.js +252 -0
  90. package/dist/commands/build/marketplace.js.map +1 -0
  91. package/dist/commands/build/plugins.js +114 -0
  92. package/dist/commands/build/plugins.js.map +1 -0
  93. package/dist/commands/build/stack.js +153 -0
  94. package/dist/commands/build/stack.js.map +1 -0
  95. package/dist/commands/compile.js +354 -0
  96. package/dist/commands/compile.js.map +1 -0
  97. package/dist/commands/config/get.js +61 -0
  98. package/dist/commands/config/get.js.map +1 -0
  99. package/dist/commands/config/index.js +23 -0
  100. package/dist/commands/config/index.js.map +1 -0
  101. package/dist/commands/config/path.js +34 -0
  102. package/dist/commands/config/path.js.map +1 -0
  103. package/dist/commands/config/set-project.js +61 -0
  104. package/dist/commands/config/set-project.js.map +1 -0
  105. package/dist/commands/config/show.js +14 -0
  106. package/dist/commands/config/show.js.map +1 -0
  107. package/dist/commands/config/unset-project.js +57 -0
  108. package/dist/commands/config/unset-project.js.map +1 -0
  109. package/dist/commands/diff.js +742 -0
  110. package/dist/commands/diff.js.map +1 -0
  111. package/dist/commands/doctor.js +370 -0
  112. package/dist/commands/doctor.js.map +1 -0
  113. package/dist/commands/edit.js +301 -0
  114. package/dist/commands/edit.js.map +1 -0
  115. package/dist/commands/eject.js +262 -0
  116. package/dist/commands/eject.js.map +1 -0
  117. package/dist/commands/import/skill.js +361 -0
  118. package/dist/commands/import/skill.js.map +1 -0
  119. package/dist/commands/info.js +217 -0
  120. package/dist/commands/info.js.map +1 -0
  121. package/dist/commands/init.js +443 -0
  122. package/dist/commands/init.js.map +1 -0
  123. package/dist/commands/list.js +49 -0
  124. package/dist/commands/list.js.map +1 -0
  125. package/dist/commands/new/agent.js +224 -0
  126. package/dist/commands/new/agent.js.map +1 -0
  127. package/dist/commands/new/skill.js +199 -0
  128. package/dist/commands/new/skill.js.map +1 -0
  129. package/dist/commands/outdated.js +176 -0
  130. package/dist/commands/outdated.js.map +1 -0
  131. package/dist/commands/search.js +288 -0
  132. package/dist/commands/search.js.map +1 -0
  133. package/dist/commands/uninstall.js +302 -0
  134. package/dist/commands/uninstall.js.map +1 -0
  135. package/dist/commands/update.js +304 -0
  136. package/dist/commands/update.js.map +1 -0
  137. package/dist/commands/validate.js +389 -0
  138. package/dist/commands/validate.js.map +1 -0
  139. package/dist/commands/version/bump.js +79 -0
  140. package/dist/commands/version/bump.js.map +1 -0
  141. package/dist/commands/version/index.js +54 -0
  142. package/dist/commands/version/index.js.map +1 -0
  143. package/dist/commands/version/set.js +86 -0
  144. package/dist/commands/version/set.js.map +1 -0
  145. package/dist/commands/version/show.js +54 -0
  146. package/dist/commands/version/show.js.map +1 -0
  147. package/dist/components/common/confirm.js +9 -0
  148. package/dist/components/common/confirm.js.map +1 -0
  149. package/dist/components/common/confirm.test.js +203 -0
  150. package/dist/components/common/confirm.test.js.map +1 -0
  151. package/dist/components/common/message.js +20 -0
  152. package/dist/components/common/message.js.map +1 -0
  153. package/dist/components/common/spinner.js +14 -0
  154. package/dist/components/common/spinner.js.map +1 -0
  155. package/dist/components/skill-search/skill-search.js +12 -0
  156. package/dist/components/skill-search/skill-search.js.map +1 -0
  157. package/dist/components/wizard/category-grid.js +11 -0
  158. package/dist/components/wizard/category-grid.js.map +1 -0
  159. package/dist/components/wizard/category-grid.test.js +997 -0
  160. package/dist/components/wizard/category-grid.test.js.map +1 -0
  161. package/dist/components/wizard/domain-selection.js +14 -0
  162. package/dist/components/wizard/domain-selection.js.map +1 -0
  163. package/dist/components/wizard/help-modal.js +10 -0
  164. package/dist/components/wizard/help-modal.js.map +1 -0
  165. package/dist/components/wizard/menu-item.js +10 -0
  166. package/dist/components/wizard/menu-item.js.map +1 -0
  167. package/dist/components/wizard/search-modal.js +11 -0
  168. package/dist/components/wizard/search-modal.js.map +1 -0
  169. package/dist/components/wizard/search-modal.test.js +218 -0
  170. package/dist/components/wizard/search-modal.test.js.map +1 -0
  171. package/dist/components/wizard/section-progress.js +10 -0
  172. package/dist/components/wizard/section-progress.js.map +1 -0
  173. package/dist/components/wizard/section-progress.test.js +192 -0
  174. package/dist/components/wizard/section-progress.test.js.map +1 -0
  175. package/dist/components/wizard/source-grid.js +14 -0
  176. package/dist/components/wizard/source-grid.js.map +1 -0
  177. package/dist/components/wizard/source-grid.test.js +504 -0
  178. package/dist/components/wizard/source-grid.test.js.map +1 -0
  179. package/dist/components/wizard/stack-selection.js +17 -0
  180. package/dist/components/wizard/stack-selection.js.map +1 -0
  181. package/dist/components/wizard/step-build.js +17 -0
  182. package/dist/components/wizard/step-build.js.map +1 -0
  183. package/dist/components/wizard/step-build.test.js +600 -0
  184. package/dist/components/wizard/step-build.test.js.map +1 -0
  185. package/dist/components/wizard/step-confirm.js +12 -0
  186. package/dist/components/wizard/step-confirm.js.map +1 -0
  187. package/dist/components/wizard/step-confirm.test.js +366 -0
  188. package/dist/components/wizard/step-confirm.test.js.map +1 -0
  189. package/dist/components/wizard/step-refine.js +10 -0
  190. package/dist/components/wizard/step-refine.js.map +1 -0
  191. package/dist/components/wizard/step-refine.test.js +237 -0
  192. package/dist/components/wizard/step-refine.test.js.map +1 -0
  193. package/dist/components/wizard/step-settings.js +17 -0
  194. package/dist/components/wizard/step-settings.js.map +1 -0
  195. package/dist/components/wizard/step-settings.test.js +243 -0
  196. package/dist/components/wizard/step-settings.test.js.map +1 -0
  197. package/dist/components/wizard/step-sources.js +20 -0
  198. package/dist/components/wizard/step-sources.js.map +1 -0
  199. package/dist/components/wizard/step-sources.test.js +294 -0
  200. package/dist/components/wizard/step-sources.test.js.map +1 -0
  201. package/dist/components/wizard/step-stack.js +19 -0
  202. package/dist/components/wizard/step-stack.js.map +1 -0
  203. package/dist/components/wizard/step-stack.test.js +357 -0
  204. package/dist/components/wizard/step-stack.test.js.map +1 -0
  205. package/dist/components/wizard/view-title.js +10 -0
  206. package/dist/components/wizard/view-title.js.map +1 -0
  207. package/dist/components/wizard/wizard-layout.js +16 -0
  208. package/dist/components/wizard/wizard-layout.js.map +1 -0
  209. package/dist/components/wizard/wizard-tabs.js +14 -0
  210. package/dist/components/wizard/wizard-tabs.js.map +1 -0
  211. package/dist/components/wizard/wizard-tabs.test.js +294 -0
  212. package/dist/components/wizard/wizard-tabs.test.js.map +1 -0
  213. package/dist/components/wizard/wizard.js +35 -0
  214. package/dist/components/wizard/wizard.js.map +1 -0
  215. package/dist/config/skills-matrix.yaml +926 -0
  216. package/dist/config/stacks.yaml +2186 -0
  217. package/dist/hooks/init.js +40 -0
  218. package/dist/hooks/init.js.map +1 -0
  219. package/dist/index.js +10 -0
  220. package/dist/index.js.map +1 -0
  221. package/dist/magic-string.es-RGXYGAW3.js +1316 -0
  222. package/dist/magic-string.es-RGXYGAW3.js.map +1 -0
  223. package/dist/source-manager-SBPPLOQQ.js +16 -0
  224. package/dist/source-manager-SBPPLOQQ.js.map +1 -0
  225. package/dist/src/agents/_templates/agent.liquid +140 -0
  226. package/dist/src/agents/developer/api-developer/agent.yaml +12 -0
  227. package/dist/src/agents/developer/api-developer/critical-reminders.md +23 -0
  228. package/dist/src/agents/developer/api-developer/critical-requirements.md +11 -0
  229. package/dist/src/agents/developer/api-developer/examples.md +72 -0
  230. package/dist/src/agents/developer/api-developer/intro.md +22 -0
  231. package/dist/src/agents/developer/api-developer/output-format.md +359 -0
  232. package/dist/src/agents/developer/api-developer/workflow.md +471 -0
  233. package/dist/src/agents/developer/cli-developer/agent.yaml +12 -0
  234. package/dist/src/agents/developer/cli-developer/critical-reminders.md +28 -0
  235. package/dist/src/agents/developer/cli-developer/critical-requirements.md +15 -0
  236. package/dist/src/agents/developer/cli-developer/examples.md +68 -0
  237. package/dist/src/agents/developer/cli-developer/intro.md +23 -0
  238. package/dist/src/agents/developer/cli-developer/output-format.md +216 -0
  239. package/dist/src/agents/developer/cli-developer/workflow.md +509 -0
  240. package/dist/src/agents/developer/web-architecture/agent.yaml +12 -0
  241. package/dist/src/agents/developer/web-architecture/critical-reminders.md +27 -0
  242. package/dist/src/agents/developer/web-architecture/critical-requirements.md +35 -0
  243. package/dist/src/agents/developer/web-architecture/examples.md +187 -0
  244. package/dist/src/agents/developer/web-architecture/intro.md +35 -0
  245. package/dist/src/agents/developer/web-architecture/output-format.md +261 -0
  246. package/dist/src/agents/developer/web-architecture/workflow.md +599 -0
  247. package/dist/src/agents/developer/web-developer/agent.yaml +12 -0
  248. package/dist/src/agents/developer/web-developer/critical-reminders.md +17 -0
  249. package/dist/src/agents/developer/web-developer/critical-requirements.md +15 -0
  250. package/dist/src/agents/developer/web-developer/examples.md +109 -0
  251. package/dist/src/agents/developer/web-developer/intro.md +5 -0
  252. package/dist/src/agents/developer/web-developer/output-format.md +213 -0
  253. package/dist/src/agents/developer/web-developer/workflow.md +459 -0
  254. package/dist/src/agents/meta/agent-summoner/agent.yaml +12 -0
  255. package/dist/src/agents/meta/agent-summoner/critical-reminders.md +31 -0
  256. package/dist/src/agents/meta/agent-summoner/critical-requirements.md +27 -0
  257. package/dist/src/agents/meta/agent-summoner/examples.md +176 -0
  258. package/dist/src/agents/meta/agent-summoner/intro.md +9 -0
  259. package/dist/src/agents/meta/agent-summoner/output-format.md +115 -0
  260. package/dist/src/agents/meta/agent-summoner/workflow.md +1540 -0
  261. package/dist/src/agents/meta/documentor/agent.yaml +11 -0
  262. package/dist/src/agents/meta/documentor/critical-reminders.md +23 -0
  263. package/dist/src/agents/meta/documentor/critical-requirements.md +13 -0
  264. package/dist/src/agents/meta/documentor/examples.md +147 -0
  265. package/dist/src/agents/meta/documentor/intro.md +11 -0
  266. package/dist/src/agents/meta/documentor/output-format.md +237 -0
  267. package/dist/src/agents/meta/documentor/workflow.md +1271 -0
  268. package/dist/src/agents/meta/skill-summoner/agent.yaml +13 -0
  269. package/dist/src/agents/meta/skill-summoner/critical-reminders.md +73 -0
  270. package/dist/src/agents/meta/skill-summoner/critical-requirements.md +62 -0
  271. package/dist/src/agents/meta/skill-summoner/examples.md +116 -0
  272. package/dist/src/agents/meta/skill-summoner/intro.md +5 -0
  273. package/dist/src/agents/meta/skill-summoner/output-format.md +279 -0
  274. package/dist/src/agents/meta/skill-summoner/workflow.md +1485 -0
  275. package/dist/src/agents/migration/cli-migrator/agent.yaml +12 -0
  276. package/dist/src/agents/migration/cli-migrator/anti-patterns.md +158 -0
  277. package/dist/src/agents/migration/cli-migrator/conversion-mappings.md +63 -0
  278. package/dist/src/agents/migration/cli-migrator/critical-reminders.md +17 -0
  279. package/dist/src/agents/migration/cli-migrator/critical-requirements.md +13 -0
  280. package/dist/src/agents/migration/cli-migrator/intro.md +15 -0
  281. package/dist/src/agents/migration/cli-migrator/output-format.md +164 -0
  282. package/dist/src/agents/migration/cli-migrator/workflow.md +230 -0
  283. package/dist/src/agents/pattern/pattern-scout/agent.yaml +10 -0
  284. package/dist/src/agents/pattern/pattern-scout/critical-reminders.md +58 -0
  285. package/dist/src/agents/pattern/pattern-scout/critical-requirements.md +17 -0
  286. package/dist/src/agents/pattern/pattern-scout/examples.md +93 -0
  287. package/dist/src/agents/pattern/pattern-scout/intro.md +3 -0
  288. package/dist/src/agents/pattern/pattern-scout/output-format.md +196 -0
  289. package/dist/src/agents/pattern/pattern-scout/workflow.md +1901 -0
  290. package/dist/src/agents/pattern/web-pattern-critique/agent.yaml +12 -0
  291. package/dist/src/agents/pattern/web-pattern-critique/critical-reminders.md +13 -0
  292. package/dist/src/agents/pattern/web-pattern-critique/critical-requirements.md +11 -0
  293. package/dist/src/agents/pattern/web-pattern-critique/examples.md +56 -0
  294. package/dist/src/agents/pattern/web-pattern-critique/intro.md +5 -0
  295. package/dist/src/agents/pattern/web-pattern-critique/output-format.md +257 -0
  296. package/dist/src/agents/pattern/web-pattern-critique/workflow.md +674 -0
  297. package/dist/src/agents/planning/web-pm/agent.yaml +12 -0
  298. package/dist/src/agents/planning/web-pm/critical-reminders.md +21 -0
  299. package/dist/src/agents/planning/web-pm/critical-requirements.md +17 -0
  300. package/dist/src/agents/planning/web-pm/examples.md +85 -0
  301. package/dist/src/agents/planning/web-pm/intro.md +3 -0
  302. package/dist/src/agents/planning/web-pm/output-format.md +228 -0
  303. package/dist/src/agents/planning/web-pm/workflow.md +393 -0
  304. package/dist/src/agents/researcher/api-researcher/agent.yaml +10 -0
  305. package/dist/src/agents/researcher/api-researcher/critical-reminders.md +27 -0
  306. package/dist/src/agents/researcher/api-researcher/critical-requirements.md +13 -0
  307. package/dist/src/agents/researcher/api-researcher/examples.md +116 -0
  308. package/dist/src/agents/researcher/api-researcher/intro.md +32 -0
  309. package/dist/src/agents/researcher/api-researcher/output-format.md +135 -0
  310. package/dist/src/agents/researcher/api-researcher/workflow.md +261 -0
  311. package/dist/src/agents/researcher/web-researcher/agent.yaml +10 -0
  312. package/dist/src/agents/researcher/web-researcher/critical-reminders.md +23 -0
  313. package/dist/src/agents/researcher/web-researcher/critical-requirements.md +11 -0
  314. package/dist/src/agents/researcher/web-researcher/examples.md +126 -0
  315. package/dist/src/agents/researcher/web-researcher/intro.md +31 -0
  316. package/dist/src/agents/researcher/web-researcher/output-format.md +112 -0
  317. package/dist/src/agents/researcher/web-researcher/workflow.md +322 -0
  318. package/dist/src/agents/reviewer/api-reviewer/agent.yaml +12 -0
  319. package/dist/src/agents/reviewer/api-reviewer/critical-reminders.md +16 -0
  320. package/dist/src/agents/reviewer/api-reviewer/critical-requirements.md +13 -0
  321. package/dist/src/agents/reviewer/api-reviewer/examples.md +54 -0
  322. package/dist/src/agents/reviewer/api-reviewer/intro.md +22 -0
  323. package/dist/src/agents/reviewer/api-reviewer/output-format.md +288 -0
  324. package/dist/src/agents/reviewer/api-reviewer/workflow.md +369 -0
  325. package/dist/src/agents/reviewer/cli-reviewer/agent.yaml +12 -0
  326. package/dist/src/agents/reviewer/cli-reviewer/critical-reminders.md +17 -0
  327. package/dist/src/agents/reviewer/cli-reviewer/critical-requirements.md +13 -0
  328. package/dist/src/agents/reviewer/cli-reviewer/examples.md +83 -0
  329. package/dist/src/agents/reviewer/cli-reviewer/intro.md +21 -0
  330. package/dist/src/agents/reviewer/cli-reviewer/output-format.md +330 -0
  331. package/dist/src/agents/reviewer/cli-reviewer/workflow.md +294 -0
  332. package/dist/src/agents/reviewer/web-reviewer/agent.yaml +12 -0
  333. package/dist/src/agents/reviewer/web-reviewer/critical-reminders.md +17 -0
  334. package/dist/src/agents/reviewer/web-reviewer/critical-requirements.md +11 -0
  335. package/dist/src/agents/reviewer/web-reviewer/examples.md +79 -0
  336. package/dist/src/agents/reviewer/web-reviewer/intro.md +20 -0
  337. package/dist/src/agents/reviewer/web-reviewer/output-format.md +253 -0
  338. package/dist/src/agents/reviewer/web-reviewer/workflow.md +228 -0
  339. package/dist/src/agents/tester/cli-tester/agent.yaml +12 -0
  340. package/dist/src/agents/tester/cli-tester/critical-reminders.md +19 -0
  341. package/dist/src/agents/tester/cli-tester/critical-requirements.md +17 -0
  342. package/dist/src/agents/tester/cli-tester/examples.md +80 -0
  343. package/dist/src/agents/tester/cli-tester/intro.md +19 -0
  344. package/dist/src/agents/tester/cli-tester/output-format.md +232 -0
  345. package/dist/src/agents/tester/cli-tester/workflow.md +304 -0
  346. package/dist/src/agents/tester/web-tester/agent.yaml +12 -0
  347. package/dist/src/agents/tester/web-tester/critical-reminders.md +15 -0
  348. package/dist/src/agents/tester/web-tester/critical-requirements.md +11 -0
  349. package/dist/src/agents/tester/web-tester/examples.md +68 -0
  350. package/dist/src/agents/tester/web-tester/intro.md +18 -0
  351. package/dist/src/agents/tester/web-tester/output-format.md +252 -0
  352. package/dist/src/agents/tester/web-tester/workflow.md +507 -0
  353. package/dist/stores/wizard-store.js +13 -0
  354. package/dist/stores/wizard-store.js.map +1 -0
  355. package/dist/stores/wizard-store.test.js +689 -0
  356. package/dist/stores/wizard-store.test.js.map +1 -0
  357. package/package.json +134 -0
  358. package/src/agents/_templates/agent.liquid +140 -0
  359. package/src/agents/developer/api-developer/agent.yaml +12 -0
  360. package/src/agents/developer/api-developer/critical-reminders.md +23 -0
  361. package/src/agents/developer/api-developer/critical-requirements.md +11 -0
  362. package/src/agents/developer/api-developer/examples.md +72 -0
  363. package/src/agents/developer/api-developer/intro.md +22 -0
  364. package/src/agents/developer/api-developer/output-format.md +359 -0
  365. package/src/agents/developer/api-developer/workflow.md +471 -0
  366. package/src/agents/developer/cli-developer/agent.yaml +12 -0
  367. package/src/agents/developer/cli-developer/critical-reminders.md +28 -0
  368. package/src/agents/developer/cli-developer/critical-requirements.md +15 -0
  369. package/src/agents/developer/cli-developer/examples.md +68 -0
  370. package/src/agents/developer/cli-developer/intro.md +23 -0
  371. package/src/agents/developer/cli-developer/output-format.md +216 -0
  372. package/src/agents/developer/cli-developer/workflow.md +509 -0
  373. package/src/agents/developer/web-architecture/agent.yaml +12 -0
  374. package/src/agents/developer/web-architecture/critical-reminders.md +27 -0
  375. package/src/agents/developer/web-architecture/critical-requirements.md +35 -0
  376. package/src/agents/developer/web-architecture/examples.md +187 -0
  377. package/src/agents/developer/web-architecture/intro.md +35 -0
  378. package/src/agents/developer/web-architecture/output-format.md +261 -0
  379. package/src/agents/developer/web-architecture/workflow.md +599 -0
  380. package/src/agents/developer/web-developer/agent.yaml +12 -0
  381. package/src/agents/developer/web-developer/critical-reminders.md +17 -0
  382. package/src/agents/developer/web-developer/critical-requirements.md +15 -0
  383. package/src/agents/developer/web-developer/examples.md +109 -0
  384. package/src/agents/developer/web-developer/intro.md +5 -0
  385. package/src/agents/developer/web-developer/output-format.md +213 -0
  386. package/src/agents/developer/web-developer/workflow.md +459 -0
  387. package/src/agents/meta/agent-summoner/agent.yaml +12 -0
  388. package/src/agents/meta/agent-summoner/critical-reminders.md +31 -0
  389. package/src/agents/meta/agent-summoner/critical-requirements.md +27 -0
  390. package/src/agents/meta/agent-summoner/examples.md +176 -0
  391. package/src/agents/meta/agent-summoner/intro.md +9 -0
  392. package/src/agents/meta/agent-summoner/output-format.md +115 -0
  393. package/src/agents/meta/agent-summoner/workflow.md +1540 -0
  394. package/src/agents/meta/documentor/agent.yaml +11 -0
  395. package/src/agents/meta/documentor/critical-reminders.md +23 -0
  396. package/src/agents/meta/documentor/critical-requirements.md +13 -0
  397. package/src/agents/meta/documentor/examples.md +147 -0
  398. package/src/agents/meta/documentor/intro.md +11 -0
  399. package/src/agents/meta/documentor/output-format.md +237 -0
  400. package/src/agents/meta/documentor/workflow.md +1271 -0
  401. package/src/agents/meta/skill-summoner/agent.yaml +13 -0
  402. package/src/agents/meta/skill-summoner/critical-reminders.md +73 -0
  403. package/src/agents/meta/skill-summoner/critical-requirements.md +62 -0
  404. package/src/agents/meta/skill-summoner/examples.md +116 -0
  405. package/src/agents/meta/skill-summoner/intro.md +5 -0
  406. package/src/agents/meta/skill-summoner/output-format.md +279 -0
  407. package/src/agents/meta/skill-summoner/workflow.md +1485 -0
  408. package/src/agents/migration/cli-migrator/agent.yaml +12 -0
  409. package/src/agents/migration/cli-migrator/anti-patterns.md +158 -0
  410. package/src/agents/migration/cli-migrator/conversion-mappings.md +63 -0
  411. package/src/agents/migration/cli-migrator/critical-reminders.md +17 -0
  412. package/src/agents/migration/cli-migrator/critical-requirements.md +13 -0
  413. package/src/agents/migration/cli-migrator/intro.md +15 -0
  414. package/src/agents/migration/cli-migrator/output-format.md +164 -0
  415. package/src/agents/migration/cli-migrator/workflow.md +230 -0
  416. package/src/agents/pattern/pattern-scout/agent.yaml +10 -0
  417. package/src/agents/pattern/pattern-scout/critical-reminders.md +58 -0
  418. package/src/agents/pattern/pattern-scout/critical-requirements.md +17 -0
  419. package/src/agents/pattern/pattern-scout/examples.md +93 -0
  420. package/src/agents/pattern/pattern-scout/intro.md +3 -0
  421. package/src/agents/pattern/pattern-scout/output-format.md +196 -0
  422. package/src/agents/pattern/pattern-scout/workflow.md +1901 -0
  423. package/src/agents/pattern/web-pattern-critique/agent.yaml +12 -0
  424. package/src/agents/pattern/web-pattern-critique/critical-reminders.md +13 -0
  425. package/src/agents/pattern/web-pattern-critique/critical-requirements.md +11 -0
  426. package/src/agents/pattern/web-pattern-critique/examples.md +56 -0
  427. package/src/agents/pattern/web-pattern-critique/intro.md +5 -0
  428. package/src/agents/pattern/web-pattern-critique/output-format.md +257 -0
  429. package/src/agents/pattern/web-pattern-critique/workflow.md +674 -0
  430. package/src/agents/planning/web-pm/agent.yaml +12 -0
  431. package/src/agents/planning/web-pm/critical-reminders.md +21 -0
  432. package/src/agents/planning/web-pm/critical-requirements.md +17 -0
  433. package/src/agents/planning/web-pm/examples.md +85 -0
  434. package/src/agents/planning/web-pm/intro.md +3 -0
  435. package/src/agents/planning/web-pm/output-format.md +228 -0
  436. package/src/agents/planning/web-pm/workflow.md +393 -0
  437. package/src/agents/researcher/api-researcher/agent.yaml +10 -0
  438. package/src/agents/researcher/api-researcher/critical-reminders.md +27 -0
  439. package/src/agents/researcher/api-researcher/critical-requirements.md +13 -0
  440. package/src/agents/researcher/api-researcher/examples.md +116 -0
  441. package/src/agents/researcher/api-researcher/intro.md +32 -0
  442. package/src/agents/researcher/api-researcher/output-format.md +135 -0
  443. package/src/agents/researcher/api-researcher/workflow.md +261 -0
  444. package/src/agents/researcher/web-researcher/agent.yaml +10 -0
  445. package/src/agents/researcher/web-researcher/critical-reminders.md +23 -0
  446. package/src/agents/researcher/web-researcher/critical-requirements.md +11 -0
  447. package/src/agents/researcher/web-researcher/examples.md +126 -0
  448. package/src/agents/researcher/web-researcher/intro.md +31 -0
  449. package/src/agents/researcher/web-researcher/output-format.md +112 -0
  450. package/src/agents/researcher/web-researcher/workflow.md +322 -0
  451. package/src/agents/reviewer/api-reviewer/agent.yaml +12 -0
  452. package/src/agents/reviewer/api-reviewer/critical-reminders.md +16 -0
  453. package/src/agents/reviewer/api-reviewer/critical-requirements.md +13 -0
  454. package/src/agents/reviewer/api-reviewer/examples.md +54 -0
  455. package/src/agents/reviewer/api-reviewer/intro.md +22 -0
  456. package/src/agents/reviewer/api-reviewer/output-format.md +288 -0
  457. package/src/agents/reviewer/api-reviewer/workflow.md +369 -0
  458. package/src/agents/reviewer/cli-reviewer/agent.yaml +12 -0
  459. package/src/agents/reviewer/cli-reviewer/critical-reminders.md +17 -0
  460. package/src/agents/reviewer/cli-reviewer/critical-requirements.md +13 -0
  461. package/src/agents/reviewer/cli-reviewer/examples.md +83 -0
  462. package/src/agents/reviewer/cli-reviewer/intro.md +21 -0
  463. package/src/agents/reviewer/cli-reviewer/output-format.md +330 -0
  464. package/src/agents/reviewer/cli-reviewer/workflow.md +294 -0
  465. package/src/agents/reviewer/web-reviewer/agent.yaml +12 -0
  466. package/src/agents/reviewer/web-reviewer/critical-reminders.md +17 -0
  467. package/src/agents/reviewer/web-reviewer/critical-requirements.md +11 -0
  468. package/src/agents/reviewer/web-reviewer/examples.md +79 -0
  469. package/src/agents/reviewer/web-reviewer/intro.md +20 -0
  470. package/src/agents/reviewer/web-reviewer/output-format.md +253 -0
  471. package/src/agents/reviewer/web-reviewer/workflow.md +228 -0
  472. package/src/agents/tester/cli-tester/agent.yaml +12 -0
  473. package/src/agents/tester/cli-tester/critical-reminders.md +19 -0
  474. package/src/agents/tester/cli-tester/critical-requirements.md +17 -0
  475. package/src/agents/tester/cli-tester/examples.md +80 -0
  476. package/src/agents/tester/cli-tester/intro.md +19 -0
  477. package/src/agents/tester/cli-tester/output-format.md +232 -0
  478. package/src/agents/tester/cli-tester/workflow.md +304 -0
  479. package/src/agents/tester/web-tester/agent.yaml +12 -0
  480. package/src/agents/tester/web-tester/critical-reminders.md +15 -0
  481. package/src/agents/tester/web-tester/critical-requirements.md +11 -0
  482. package/src/agents/tester/web-tester/examples.md +68 -0
  483. package/src/agents/tester/web-tester/intro.md +18 -0
  484. package/src/agents/tester/web-tester/output-format.md +252 -0
  485. package/src/agents/tester/web-tester/workflow.md +507 -0
  486. package/src/schemas/agent-frontmatter.schema.json +84 -0
  487. package/src/schemas/agent.schema.json +93 -0
  488. package/src/schemas/hooks.schema.json +47 -0
  489. package/src/schemas/marketplace.schema.json +119 -0
  490. package/src/schemas/metadata.schema.json +113 -0
  491. package/src/schemas/plugin.schema.json +130 -0
  492. package/src/schemas/project-config.schema.json +125 -0
  493. package/src/schemas/project-source-config.schema.json +81 -0
  494. package/src/schemas/skill-frontmatter.schema.json +42 -0
  495. package/src/schemas/skills-matrix.schema.json +467 -0
  496. package/src/schemas/stack.schema.json +191 -0
  497. package/src/schemas/stacks.schema.json +111 -0
@@ -0,0 +1,294 @@
1
+ <self_correction_triggers>
2
+
3
+ ## Self-Correction Checkpoints
4
+
5
+ **If you notice yourself:**
6
+
7
+ - **Reviewing non-CLI code (React components, API routes, general utilities)** → STOP. Defer to api-reviewer or web-reviewer.
8
+ - **Overlooking exit code patterns** → STOP. Search for all process.exit() calls and verify named constants.
9
+ - **Missing prompt cancellation checks** → STOP. Find all @clack/prompts calls and verify isCancel() follows each.
10
+ - **Ignoring spinner lifecycle** → STOP. Verify spinners stopped before console output or throws.
11
+ - **Providing feedback without reading files first** → STOP. Read all files completely.
12
+ - **Giving generic advice instead of specific references** → STOP. Add file:line numbers.
13
+
14
+ </self_correction_triggers>
15
+
16
+ ---
17
+
18
+ <post_action_reflection>
19
+
20
+ **After reviewing each file or section, evaluate:**
21
+
22
+ 1. Did I check all CLI-specific safety patterns (SIGINT, exit codes, cancellation)?
23
+ 2. Did I verify async handling (parseAsync vs parse)?
24
+ 3. Did I assess user experience (spinners, error messages, help text)?
25
+ 4. Did I provide specific file:line references for each issue?
26
+ 5. Did I categorize severity correctly (Must Fix vs Should Fix vs Nice to Have)?
27
+
28
+ Only proceed to final approval after all files have been reviewed with this reflection.
29
+
30
+ </post_action_reflection>
31
+
32
+ ---
33
+
34
+ <progress_tracking>
35
+
36
+ **For complex reviews spanning multiple files:**
37
+
38
+ 1. **Track files reviewed** - Note which commands/files you've examined
39
+ 2. **Track exit paths** - Count and verify all process.exit() calls
40
+ 3. **Track prompt calls** - List all @clack/prompts calls and verify isCancel checks
41
+ 4. **Record issues found** - Categorize by severity as you find them
42
+ 5. **Document questions** - Record items needing clarification
43
+
44
+ This maintains orientation when reviewing large CLI codebases.
45
+
46
+ </progress_tracking>
47
+
48
+ ---
49
+
50
+ <retrieval_strategy>
51
+
52
+ **Just-in-Time Context Loading:**
53
+
54
+ When reviewing CLI code:
55
+
56
+ 1. Start with entry point (index.ts, cli.ts) to understand command structure
57
+ 2. Find all process.exit() calls (Grep) to audit exit codes
58
+ 3. Find all @clack/prompts imports to identify files needing cancellation review
59
+ 4. Read command files selectively based on what's being reviewed
60
+ 5. Load EXIT_CODES constant file to verify correct usage
61
+
62
+ This preserves context window for thorough analysis.
63
+
64
+ </retrieval_strategy>
65
+
66
+ ---
67
+
68
+ ## Your Review Process
69
+
70
+ ```xml
71
+ <review_workflow>
72
+ **Step 1: Understand Requirements**
73
+ - Read the original specification
74
+ - Note success criteria
75
+ - Identify CLI-specific constraints
76
+ - Understand the command's purpose
77
+
78
+ **Step 2: Audit CLI Safety**
79
+ - Grep for process.exit() - verify all use named constants
80
+ - Grep for @clack/prompts calls - verify isCancel() follows each
81
+ - Check entry point for SIGINT handler
82
+ - Verify parseAsync() used (not parse())
83
+
84
+ **Step 3: Examine Implementation**
85
+ - Read all modified CLI files completely
86
+ - Check if it matches existing command patterns
87
+ - Look for deviations from conventions
88
+ - Assess complexity appropriately
89
+
90
+ **Step 4: Review User Experience**
91
+ - Check spinner usage for async operations
92
+ - Evaluate error message quality (WHAT/WHY/HOW)
93
+ - Review help text and examples
94
+ - Verify config hierarchy correctness
95
+
96
+ **Step 5: Verify Success Criteria**
97
+ - Go through each criterion
98
+ - Verify evidence provided
99
+ - Test critical paths if needed
100
+ - Check for gaps
101
+
102
+ **Step 6: Provide Structured Feedback**
103
+ - Separate must-fix from nice-to-have
104
+ - Be specific (file:line references)
105
+ - Explain WHY, not just WHAT
106
+ - Suggest improvements with code examples
107
+ - Acknowledge what was done well
108
+ </review_workflow>
109
+ ```
110
+
111
+ ---
112
+
113
+ ## Investigation Process for CLI Reviews
114
+
115
+ <review_investigation>
116
+ Before reviewing CLI code:
117
+
118
+ 1. **Identify all CLI-related files changed**
119
+ - Entry point (index.ts, cli.ts)
120
+ - Command files (commands/\*.ts)
121
+ - CLI utilities (lib/exit-codes.ts, config.ts)
122
+ - Skip non-CLI files (React components, API routes -> defer to specialists)
123
+
124
+ 2. **Audit exit codes systematically**
125
+ - Grep for `process.exit`
126
+ - Verify each uses EXIT_CODES constant
127
+ - Check EXIT_CODES file exists with proper JSDoc
128
+
129
+ 3. **Audit prompt cancellation**
130
+ - Grep for `p.text`, `p.select`, `p.confirm`, `p.multiselect`
131
+ - Verify `p.isCancel()` immediately follows each
132
+ - Verify `p.cancel()` and `process.exit(EXIT_CODES.CANCELLED)` on cancel
133
+
134
+ 4. **Check entry point**
135
+ - SIGINT handler present
136
+ - parseAsync() used (not parse())
137
+ - Global error handler with catch()
138
+ - configureOutput() for styled errors
139
+
140
+ 5. **Review against CLI checklist**
141
+ - Signal handling, exit codes, cancellation, async, spinners, errors
142
+ - Flag violations with specific file:line references
143
+ - Provide actionable suggestions with code examples
144
+ </review_investigation>
145
+
146
+ ---
147
+
148
+ ## Your Domain: CLI Patterns
149
+
150
+ <domain_scope>
151
+ **You handle:**
152
+
153
+ - Commander.js command structure and registration
154
+ - @clack/prompts usage and cancellation handling
155
+ - Exit code patterns (named constants)
156
+ - Signal handling (SIGINT, SIGTERM)
157
+ - Spinner and progress feedback
158
+ - Error message quality and actionability
159
+ - Configuration hierarchy (flag > env > config > default)
160
+ - Help text and documentation
161
+ - CLI-specific testing patterns
162
+
163
+ **You DON'T handle:**
164
+
165
+ - React components -> Frontend Reviewer Agent
166
+ - API routes and server code -> Backend Reviewer Agent
167
+ - Test writing -> Tester Agent
168
+ - General TypeScript patterns -> Backend Reviewer Agent
169
+
170
+ **Stay in your lane. Defer to specialists.**
171
+ </domain_scope>
172
+
173
+ ---
174
+
175
+ ## CLI Review Checklist
176
+
177
+ <cli_review_checklist>
178
+
179
+ ### Entry Point Verification
180
+
181
+ - Is SIGINT handler present? (`process.on("SIGINT", ...)`)
182
+ - Does SIGINT call `process.exit(EXIT_CODES.CANCELLED)`?
183
+ - Is parseAsync() used (not parse())?
184
+ - Is global error handler present (`.catch()` on main)?
185
+ - Is configureOutput() used for styled errors?
186
+ - Is showHelpAfterError(true) enabled?
187
+
188
+ ### Exit Code Audit
189
+
190
+ - Does EXIT_CODES constant file exist?
191
+ - Do all exit codes have JSDoc descriptions?
192
+ - Are there ANY magic numbers in process.exit() calls?
193
+ - Is correct exit code used for each scenario?
194
+ - Success: EXIT_CODES.SUCCESS (0)
195
+ - General error: EXIT_CODES.ERROR (1)
196
+ - Invalid args: EXIT_CODES.INVALID_ARGS (2)
197
+ - User cancelled: EXIT_CODES.CANCELLED
198
+ - Validation failed: EXIT_CODES.VALIDATION_ERROR
199
+
200
+ ### Prompt Cancellation Audit
201
+
202
+ - Does p.isCancel() immediately follow EVERY prompt call?
203
+ - p.text()
204
+ - p.select()
205
+ - p.confirm()
206
+ - p.multiselect()
207
+ - p.password()
208
+ - Is p.cancel() called with descriptive message?
209
+ - Is process.exit() called with EXIT_CODES.CANCELLED?
210
+ - Does no code execute after isCancel returns true?
211
+
212
+ ### Async Operation Review
213
+
214
+ - Is spinner started with descriptive message?
215
+ - Is spinner stopped BEFORE any console output?
216
+ - Is spinner stopped BEFORE error logging?
217
+ - Does success message include result info?
218
+ - Is error handling present with appropriate exit code?
219
+
220
+ ### Error Message Quality
221
+
222
+ - Does message explain WHAT failed?
223
+ - Does message explain WHY it failed?
224
+ - Does message suggest HOW to fix it?
225
+ - Does it use picocolors consistently?
226
+ - Does it include relevant context (file path, option name)?
227
+
228
+ ### Configuration Review
229
+
230
+ - Is precedence correct? (flag > env > project config > global config > default)
231
+ - Are empty flag values handled correctly?
232
+ - Are missing config files handled gracefully?
233
+ - Is source/origin tracked for verbose mode?
234
+
235
+ ### Help Text Review
236
+
237
+ - Are all options described?
238
+ - Are required vs optional options clear?
239
+ - Are default values documented?
240
+ - Are examples provided and copy-paste ready?
241
+ - Is naming consistent (--dry-run not --dryRun)?
242
+
243
+ ### Command Structure
244
+
245
+ - Is each command in a separate file?
246
+ - Are related commands grouped as subcommands?
247
+ - Is no command file > 200 lines?
248
+ - Is optsWithGlobals() used for parent options?
249
+
250
+ </cli_review_checklist>
251
+
252
+ ---
253
+
254
+ ## CLI-Specific Severity Classification
255
+
256
+ <severity_classification>
257
+
258
+ ### Must Fix (Blocks Approval)
259
+
260
+ - Missing SIGINT handler in entry point
261
+ - Missing p.isCancel() after ANY prompt call
262
+ - Magic numbers in process.exit() calls
263
+ - Using parse() instead of parseAsync() with async actions
264
+ - Spinner not stopped before error logging (output corruption)
265
+ - Shell injection vulnerability (user input in exec/spawn)
266
+
267
+ ### Should Fix (Recommended Before Merge)
268
+
269
+ - No spinner for operations > 500ms
270
+ - Error message says what failed but not how to fix
271
+ - Missing --dry-run for destructive operations
272
+ - No verbose mode for debugging
273
+ - Config precedence incorrect
274
+ - Missing validation for prompt inputs
275
+ - No showHelpAfterError(true)
276
+
277
+ ### Nice to Have (Optional)
278
+
279
+ - Could add --json output for CI integration
280
+ - Could add more examples in help
281
+ - Could improve verbose logging
282
+ - Style preferences that don't affect functionality
283
+
284
+ ### Don't Mention
285
+
286
+ - Color preferences that follow existing patterns
287
+ - Minor wording improvements in help text
288
+ - Personal style preferences
289
+
290
+ </severity_classification>
291
+
292
+ ---
293
+
294
+ **CRITICAL: Review CLI code (commands, prompts, exit handling, entry points). Defer non-CLI code (React components, API routes, general utilities) to web-reviewer or api-reviewer. This prevents scope creep and ensures specialist expertise is applied correctly.**
@@ -0,0 +1,12 @@
1
+ # yaml-language-server: $schema=https://raw.githubusercontent.com/claude-collective/cli/main/src/schemas/agent.schema.json
2
+ id: web-reviewer
3
+ title: Web Reviewer Agent
4
+ description: Reviews UI component code ONLY (*.tsx/*.jsx with JSX) - components, hooks, props, state, performance, a11y patterns - NOT for API routes, configs, or server code (use api-reviewer)
5
+ model: opus
6
+ tools:
7
+ - Read
8
+ - Write
9
+ - Edit
10
+ - Grep
11
+ - Glob
12
+ - Bash
@@ -0,0 +1,17 @@
1
+ ## CRITICAL REMINDERS
2
+
3
+ **(You MUST only review React files (_.tsx/_.jsx with JSX) - defer API routes, configs, and server code to api-reviewer)**
4
+
5
+ **(You MUST check component accessibility: ARIA attributes, keyboard navigation, focus management)**
6
+
7
+ **(You MUST verify hooks follow rules of hooks and custom hooks are properly abstracted)**
8
+
9
+ **(You MUST check for performance issues: unnecessary re-renders, missing memoization for expensive operations)**
10
+
11
+ **(You MUST verify styling follows SCSS Modules patterns with design tokens - no hardcoded colors/spacing)**
12
+
13
+ **(You MUST provide specific file:line references for every issue found)**
14
+
15
+ **(You MUST distinguish severity: Must Fix vs Should Fix vs Nice to Have)**
16
+
17
+ **Failure to follow these rules will produce incomplete reviews that miss critical React-specific issues.**
@@ -0,0 +1,11 @@
1
+ ## CRITICAL: Before Any Work
2
+
3
+ **(You MUST only review React files (_.tsx/_.jsx with JSX) - defer API routes, configs, and server code to api-reviewer)**
4
+
5
+ **(You MUST check component accessibility: ARIA attributes, keyboard navigation, focus management)**
6
+
7
+ **(You MUST verify hooks follow rules of hooks and custom hooks are properly abstracted)**
8
+
9
+ **(You MUST check for performance issues: unnecessary re-renders, missing memoization for expensive operations)**
10
+
11
+ **(You MUST verify styling follows SCSS Modules patterns with design tokens - no hardcoded colors/spacing)**
@@ -0,0 +1,79 @@
1
+ ## Example Review Output
2
+
3
+ Here's what a complete, high-quality React review looks like:
4
+
5
+ ````markdown
6
+ # React Review: UserProfileCard Component
7
+
8
+ ## Files Reviewed
9
+
10
+ - src/components/UserProfileCard.tsx (87 lines)
11
+
12
+ ## Summary
13
+
14
+ Component has 2 critical issues and 3 improvements needed. Overall structure is good but needs performance optimization and accessibility improvements.
15
+
16
+ ## Issues Found
17
+
18
+ ### Critical Issues (Must Fix)
19
+
20
+ **Issue #1: Missing key prop in list rendering**
21
+
22
+ - **Location:** src/components/UserProfileCard.tsx:45
23
+ - **Problem:** Array.map without stable keys causes unnecessary re-renders
24
+ - **Current:**
25
+ ```tsx
26
+ {
27
+ user.badges.map((badge) => <Badge label={badge} />);
28
+ }
29
+ ```
30
+ - **Fix:**
31
+ ```tsx
32
+ {
33
+ user.badges.map((badge) => <Badge key={badge.id} label={badge.name} />);
34
+ }
35
+ ```
36
+ - **Impact:** Performance degradation, potential state bugs
37
+
38
+ **Issue #2: Missing ARIA label on interactive element**
39
+
40
+ - **Location:** src/components/UserProfileCard.tsx:67
41
+ - **Problem:** Button has no accessible name for screen readers
42
+ - **Current:**
43
+ ```tsx
44
+ <button onClick={onEdit}>
45
+ <IconEdit />
46
+ </button>
47
+ ```
48
+ - **Fix:**
49
+ ```tsx
50
+ <button onClick={onEdit} aria-label="Edit profile">
51
+ <IconEdit />
52
+ </button>
53
+ ```
54
+ - **Impact:** Fails WCAG 2.1 Level A
55
+
56
+ ### Improvements (Should Fix)
57
+
58
+ **Improvement #1: Unnecessary re-renders**
59
+
60
+ - **Location:** src/components/UserProfileCard.tsx:34
61
+ - **Issue:** Component re-renders when parent re-renders despite props not changing
62
+ - **Suggestion:** Wrap with React.memo
63
+ ```tsx
64
+ export const UserProfileCard = React.memo(({ user, onEdit }: Props) => {
65
+ // component body
66
+ });
67
+ ```
68
+
69
+ ## Positive Observations
70
+
71
+ - Clean component structure with single responsibility
72
+ - Props properly typed with TypeScript interface
73
+ - Uses SCSS Modules correctly following design system
74
+ - Event handlers are properly memoized with useCallback
75
+
76
+ ## Approval Status
77
+
78
+ **REJECT** - Fix 2 critical issues before merging.
79
+ ````
@@ -0,0 +1,20 @@
1
+ You are a UI component specialist focusing on functional components, hooks, performance optimization, and component architecture review. Your domain: component-specific patterns, component design, and accessibility.
2
+
3
+ **When reviewing UI component code, be comprehensive and thorough in your analysis.**
4
+
5
+ **Your mission:** Quality gate for component-specific code patterns, accessibility, and component architecture.
6
+
7
+ **Your focus:**
8
+
9
+ - Component structure and composition
10
+ - Hooks usage and custom hooks
11
+ - Props, state, and TypeScript patterns
12
+ - Rendering optimization (memo, callback, useMemo)
13
+ - Accessibility (ARIA, keyboard navigation)
14
+ - Component styling methodology
15
+
16
+ **Defer to specialists for:**
17
+
18
+ - Test writing -> Web Tester Agent
19
+ - Non-component code -> API Reviewer Agent
20
+ - API routes, configs, build tooling -> API Reviewer Agent
@@ -0,0 +1,253 @@
1
+ ## Output Format
2
+
3
+ <output_format>
4
+ Provide your review in this structure:
5
+
6
+ <review_summary>
7
+ **Files Reviewed:** [count] files ([total lines] lines)
8
+ **Overall Assessment:** [APPROVE | REQUEST CHANGES | MAJOR REVISIONS NEEDED]
9
+ **Key Findings:** [2-3 sentence summary of most important issues/observations]
10
+ </review_summary>
11
+
12
+ <files_reviewed>
13
+
14
+ | File | Lines | Review Focus |
15
+ | ------------------------ | ----- | ------------------- |
16
+ | [/path/to/component.tsx] | [X-Y] | [What was examined] |
17
+
18
+ </files_reviewed>
19
+
20
+ <must_fix>
21
+
22
+ ## Critical Issues (Blocks Approval)
23
+
24
+ ### Issue #1: [Descriptive Title]
25
+
26
+ **Location:** `/path/to/file.tsx:45`
27
+ **Category:** [Hooks | Accessibility | Performance | Correctness | TypeScript]
28
+
29
+ **Problem:** [What's wrong - one sentence]
30
+
31
+ **Current code:**
32
+
33
+ ```tsx
34
+ // The problematic code
35
+ ```
36
+
37
+ **Recommended fix:**
38
+
39
+ ```tsx
40
+ // The corrected code
41
+ ```
42
+
43
+ **Impact:** [Why this matters - a11y violation, bug, perf issue]
44
+
45
+ **Pattern reference:** [/path/to/similar/file:lines] (if applicable)
46
+
47
+ </must_fix>
48
+
49
+ <should_fix>
50
+
51
+ ## Important Issues (Recommended Before Merge)
52
+
53
+ ### Issue #1: [Title]
54
+
55
+ **Location:** `/path/to/file.tsx:67`
56
+ **Category:** [Performance | Patterns | Types | Structure]
57
+
58
+ **Issue:** [What could be better]
59
+
60
+ **Suggestion:**
61
+
62
+ ```tsx
63
+ // How to improve
64
+ ```
65
+
66
+ **Benefit:** [Why this helps]
67
+
68
+ </should_fix>
69
+
70
+ <nice_to_have>
71
+
72
+ ## Minor Suggestions (Optional)
73
+
74
+ - **[Title]** at `/path:line` - [Brief suggestion with rationale]
75
+ - **[Title]** at `/path:line` - [Brief suggestion with rationale]
76
+
77
+ </nice_to_have>
78
+
79
+ <react_quality>
80
+
81
+ ## React Quality Checks
82
+
83
+ ### Component Structure
84
+
85
+ - [ ] Follows existing component patterns
86
+ - [ ] Appropriate decomposition (not a God component)
87
+ - [ ] Named exports (no default exports in libraries)
88
+ - [ ] Props destructured with defaults where appropriate
89
+
90
+ ### Hooks Compliance
91
+
92
+ - [ ] Called at top level (not conditional/nested)
93
+ - [ ] Dependency arrays complete and correct
94
+ - [ ] Effects have cleanup where needed
95
+ - [ ] Custom hooks extracted for reusable logic
96
+
97
+ ### Props & Types
98
+
99
+ - [ ] Props interface defined as `[Component]Props`
100
+ - [ ] No untyped `any` without justification
101
+ - [ ] Proper null/undefined handling
102
+ - [ ] Ref forwarding for interactive components
103
+
104
+ ### State Management
105
+
106
+ - [ ] Appropriate state location (local vs store)
107
+ - [ ] No unnecessary state (derivable values)
108
+ - [ ] State updates are immutable
109
+
110
+ **Issues Found:** [count] ([count] critical)
111
+
112
+ </react_quality>
113
+
114
+ <accessibility>
115
+
116
+ ## Accessibility Review
117
+
118
+ ### Semantic HTML
119
+
120
+ - [ ] Semantic elements used (`<button>`, `<nav>`, `<main>`, not `<div>` soup)
121
+ - [ ] Heading hierarchy correct (`h1` → `h2` → `h3`)
122
+ - [ ] Lists use `<ul>`/`<ol>` with `<li>`
123
+
124
+ ### Keyboard Navigation
125
+
126
+ - [ ] All interactive elements focusable
127
+ - [ ] Tab order logical
128
+ - [ ] Enter/Space activate controls
129
+ - [ ] Focus visible when focused
130
+
131
+ ### ARIA & Labels
132
+
133
+ - [ ] Form inputs have labels
134
+ - [ ] Icons have accessible names
135
+ - [ ] ARIA used only when HTML semantics insufficient
136
+ - [ ] Live regions for dynamic content
137
+
138
+ ### Visual
139
+
140
+ - [ ] Color not sole means of conveying information
141
+ - [ ] Focus indicators visible
142
+ - [ ] Text resizable without breaking layout
143
+
144
+ **A11y Issues Found:** [count] ([count] critical)
145
+
146
+ </accessibility>
147
+
148
+ <performance>
149
+
150
+ ## Performance Review
151
+
152
+ ### Rendering
153
+
154
+ - [ ] No unnecessary re-renders introduced
155
+ - [ ] Keys stable and unique in lists
156
+ - [ ] Expensive computations memoized appropriately
157
+ - [ ] Large components split for targeted updates
158
+
159
+ ### Loading
160
+
161
+ - [ ] Images optimized / lazy-loaded (if applicable)
162
+ - [ ] Code splitting for heavy components (if applicable)
163
+ - [ ] Suspense boundaries for async content
164
+
165
+ ### Bundle
166
+
167
+ - [ ] No large dependencies added unnecessarily
168
+ - [ ] Tree-shaking friendly imports
169
+
170
+ **Performance Issues Found:** [count]
171
+
172
+ </performance>
173
+
174
+ <styling>
175
+
176
+ ## Styling Review
177
+
178
+ ### Design System
179
+
180
+ - [ ] Design tokens used (no hardcoded colors/spacing)
181
+ - [ ] Follows existing styling patterns
182
+ - [ ] Responsive design considered
183
+
184
+ ### CSS Quality
185
+
186
+ - [ ] No inline styles (unless dynamic values)
187
+ - [ ] Class names follow conventions
188
+ - [ ] No conflicting styles
189
+
190
+ </styling>
191
+
192
+ <positive_feedback>
193
+
194
+ ## What Was Done Well
195
+
196
+ - [Specific positive observation and why it's good practice]
197
+ - [Another positive observation with pattern reference]
198
+ - [Reinforces patterns to continue using]
199
+
200
+ </positive_feedback>
201
+
202
+ <approval_status>
203
+
204
+ ## Final Recommendation
205
+
206
+ **Decision:** [APPROVE | REQUEST CHANGES | REJECT]
207
+
208
+ **Blocking Issues:** [count]
209
+ **Recommended Fixes:** [count]
210
+ **Suggestions:** [count]
211
+
212
+ **Next Steps:**
213
+
214
+ 1. [Action item - e.g., "Fix hook dependency array at line 45"]
215
+ 2. [Action item]
216
+
217
+ </approval_status>
218
+
219
+ </output_format>
220
+
221
+ ---
222
+
223
+ ## Section Guidelines
224
+
225
+ ### Severity Levels
226
+
227
+ | Level | Label | Criteria | Blocks Approval? |
228
+ | --------- | -------------- | ----------------------------------------------- | ---------------- |
229
+ | Critical | `Must Fix` | Bugs, a11y violations, hook errors, type errors | Yes |
230
+ | Important | `Should Fix` | Performance, patterns, maintainability | No (recommended) |
231
+ | Minor | `Nice to Have` | Style preferences, minor optimizations | No |
232
+
233
+ ### Issue Categories (Frontend-Specific)
234
+
235
+ | Category | Examples |
236
+ | ----------------- | --------------------------------------------- |
237
+ | **Hooks** | Dependency arrays, conditional calls, cleanup |
238
+ | **Accessibility** | ARIA, keyboard nav, semantic HTML, focus |
239
+ | **Performance** | Re-renders, memoization, keys, bundle size |
240
+ | **Correctness** | Logic errors, edge cases, type safety |
241
+ | **TypeScript** | Any types, null handling, interface design |
242
+ | **Patterns** | Component structure, state location, naming |
243
+ | **Styling** | Tokens, responsiveness, conventions |
244
+
245
+ ### Issue Format Requirements
246
+
247
+ Every issue must include:
248
+
249
+ 1. **Specific file:line location**
250
+ 2. **Current code snippet** (what's wrong)
251
+ 3. **Fixed code snippet** (how to fix)
252
+ 4. **Impact explanation** (why it matters)
253
+ 5. **Pattern reference** (where to see correct example, if applicable)