agents-inc 0.149.2 → 0.150.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 (572) hide show
  1. package/CHANGELOG.md +2277 -0
  2. package/LICENSE +21 -0
  3. package/README.md +136 -19
  4. package/assets/demo.gif +0 -0
  5. package/assets/demo.tape +266 -0
  6. package/assets/logo.svg +75 -0
  7. package/dist/chunk-2RSNKBXC.js +84 -0
  8. package/dist/chunk-2RSNKBXC.js.map +1 -0
  9. package/dist/chunk-3LIU2ZEF.js +1355 -0
  10. package/dist/chunk-3LIU2ZEF.js.map +1 -0
  11. package/dist/chunk-4GL2F5AB.js +222 -0
  12. package/dist/chunk-4GL2F5AB.js.map +1 -0
  13. package/dist/chunk-4LPJZNT7.js +382 -0
  14. package/dist/chunk-4LPJZNT7.js.map +1 -0
  15. package/dist/chunk-5K5RBRTD.js +62 -0
  16. package/dist/chunk-5K5RBRTD.js.map +1 -0
  17. package/dist/chunk-6I6RZHYP.js +789 -0
  18. package/dist/chunk-6I6RZHYP.js.map +1 -0
  19. package/dist/chunk-7URSGJLE.js +430 -0
  20. package/dist/chunk-7URSGJLE.js.map +1 -0
  21. package/dist/chunk-C55DN7GE.js +35 -0
  22. package/dist/chunk-C55DN7GE.js.map +1 -0
  23. package/dist/chunk-CDMHSHBN.js +68 -0
  24. package/dist/chunk-CDMHSHBN.js.map +1 -0
  25. package/dist/chunk-CFQT72MJ.js +92 -0
  26. package/dist/chunk-CFQT72MJ.js.map +1 -0
  27. package/dist/chunk-DAG2ULNF.js +125 -0
  28. package/dist/chunk-DAG2ULNF.js.map +1 -0
  29. package/dist/chunk-DDG4F3FE.js +181 -0
  30. package/dist/chunk-DDG4F3FE.js.map +1 -0
  31. package/dist/chunk-DIBCRIMR.js +36 -0
  32. package/dist/chunk-DIBCRIMR.js.map +1 -0
  33. package/dist/chunk-DJAZE4PD.js +10929 -0
  34. package/dist/chunk-DJAZE4PD.js.map +1 -0
  35. package/dist/chunk-DUVWGO6E.js +54 -0
  36. package/dist/chunk-DUVWGO6E.js.map +1 -0
  37. package/dist/chunk-E4FT2KFV.js +174 -0
  38. package/dist/chunk-E4FT2KFV.js.map +1 -0
  39. package/dist/chunk-EKWAUOQB.js +96 -0
  40. package/dist/chunk-EKWAUOQB.js.map +1 -0
  41. package/dist/chunk-EN2GCPW7.js +300 -0
  42. package/dist/chunk-EN2GCPW7.js.map +1 -0
  43. package/dist/chunk-ES3NJZON.js +31 -0
  44. package/dist/chunk-ES3NJZON.js.map +1 -0
  45. package/dist/chunk-F3756A5B.js +20 -0
  46. package/dist/chunk-F3756A5B.js.map +1 -0
  47. package/dist/chunk-FWT3CBLL.js +51 -0
  48. package/dist/chunk-FWT3CBLL.js.map +1 -0
  49. package/dist/chunk-FYPUUYSG.js +31 -0
  50. package/dist/chunk-FYPUUYSG.js.map +1 -0
  51. package/dist/chunk-GRPSDKIS.js +112 -0
  52. package/dist/chunk-GRPSDKIS.js.map +1 -0
  53. package/dist/chunk-GYG5SE2D.js +81 -0
  54. package/dist/chunk-GYG5SE2D.js.map +1 -0
  55. package/dist/chunk-HIPGKIT3.js +287 -0
  56. package/dist/chunk-HIPGKIT3.js.map +1 -0
  57. package/dist/chunk-I3XKEGHM.js +16383 -0
  58. package/dist/chunk-I3XKEGHM.js.map +1 -0
  59. package/dist/chunk-IHO75PMZ.js +40 -0
  60. package/dist/chunk-IHO75PMZ.js.map +1 -0
  61. package/dist/chunk-IOJR5TOY.js +47 -0
  62. package/dist/chunk-IOJR5TOY.js.map +1 -0
  63. package/dist/chunk-K3OU6TGX.js +77 -0
  64. package/dist/chunk-K3OU6TGX.js.map +1 -0
  65. package/dist/chunk-KH7MOIM5.js +6010 -0
  66. package/dist/chunk-KH7MOIM5.js.map +1 -0
  67. package/dist/chunk-KIR7VYQD.js +63 -0
  68. package/dist/chunk-KIR7VYQD.js.map +1 -0
  69. package/dist/chunk-KOPEM3Q7.js +27 -0
  70. package/dist/chunk-KOPEM3Q7.js.map +1 -0
  71. package/dist/chunk-KSZ6PCY4.js +43 -0
  72. package/dist/chunk-KSZ6PCY4.js.map +1 -0
  73. package/dist/chunk-LRYNF3J7.js +111 -0
  74. package/dist/chunk-LRYNF3J7.js.map +1 -0
  75. package/dist/chunk-LYYXX2W5.js +87 -0
  76. package/dist/chunk-LYYXX2W5.js.map +1 -0
  77. package/dist/chunk-MC5DUZ3V.js +1135 -0
  78. package/dist/chunk-MC5DUZ3V.js.map +1 -0
  79. package/dist/chunk-N4IZ6GBO.js +300 -0
  80. package/dist/chunk-N4IZ6GBO.js.map +1 -0
  81. package/dist/chunk-NIKUMXE7.js +24 -0
  82. package/dist/chunk-NIKUMXE7.js.map +1 -0
  83. package/dist/chunk-NUIZ6ZUO.js +42 -0
  84. package/dist/chunk-NUIZ6ZUO.js.map +1 -0
  85. package/dist/chunk-O5ASLZ2K.js +270 -0
  86. package/dist/chunk-O5ASLZ2K.js.map +1 -0
  87. package/dist/chunk-OA5SUEQD.js +181 -0
  88. package/dist/chunk-OA5SUEQD.js.map +1 -0
  89. package/dist/chunk-OZZGXBCN.js +15 -0
  90. package/dist/chunk-OZZGXBCN.js.map +1 -0
  91. package/dist/chunk-P3PN5SVI.js +27 -0
  92. package/dist/chunk-P3PN5SVI.js.map +1 -0
  93. package/dist/chunk-P56WJ5FA.js +50 -0
  94. package/dist/chunk-P56WJ5FA.js.map +1 -0
  95. package/dist/chunk-PG4G4IIK.js +24 -0
  96. package/dist/chunk-PG4G4IIK.js.map +1 -0
  97. package/dist/chunk-QQLRX4KI.js +41 -0
  98. package/dist/chunk-QQLRX4KI.js.map +1 -0
  99. package/dist/chunk-RBHYLCUB.js +31 -0
  100. package/dist/chunk-RBHYLCUB.js.map +1 -0
  101. package/dist/chunk-RJN7W2C7.js +349 -0
  102. package/dist/chunk-RJN7W2C7.js.map +1 -0
  103. package/dist/chunk-RP7R73JO.js +179 -0
  104. package/dist/chunk-RP7R73JO.js.map +1 -0
  105. package/dist/chunk-SYUOXSPU.js +510 -0
  106. package/dist/chunk-SYUOXSPU.js.map +1 -0
  107. package/dist/chunk-THKIOI32.js +939 -0
  108. package/dist/chunk-THKIOI32.js.map +1 -0
  109. package/dist/chunk-UZRISDBZ.js +28 -0
  110. package/dist/chunk-UZRISDBZ.js.map +1 -0
  111. package/dist/chunk-V7QOSGQA.js +298 -0
  112. package/dist/chunk-V7QOSGQA.js.map +1 -0
  113. package/dist/chunk-VEP23B5W.js +27 -0
  114. package/dist/chunk-VEP23B5W.js.map +1 -0
  115. package/dist/chunk-VG2TVBFN.js +52 -0
  116. package/dist/chunk-VG2TVBFN.js.map +1 -0
  117. package/dist/chunk-VIFZ6NFH.js +27 -0
  118. package/dist/chunk-VIFZ6NFH.js.map +1 -0
  119. package/dist/chunk-XA57SX4T.js +115 -0
  120. package/dist/chunk-XA57SX4T.js.map +1 -0
  121. package/dist/chunk-YKKIJHZB.js +339 -0
  122. package/dist/chunk-YKKIJHZB.js.map +1 -0
  123. package/dist/chunk-YU2VGX5R.js +4205 -0
  124. package/dist/chunk-YU2VGX5R.js.map +1 -0
  125. package/dist/chunk-ZDLTLNU2.js +258 -0
  126. package/dist/chunk-ZDLTLNU2.js.map +1 -0
  127. package/dist/chunk-ZHTXPFDK.js +128 -0
  128. package/dist/chunk-ZHTXPFDK.js.map +1 -0
  129. package/dist/chunk-ZKJAJWK6.js +253 -0
  130. package/dist/chunk-ZKJAJWK6.js.map +1 -0
  131. package/dist/commands/build/marketplace.js +250 -0
  132. package/dist/commands/build/marketplace.js.map +1 -0
  133. package/dist/commands/build/plugins.js +176 -0
  134. package/dist/commands/build/plugins.js.map +1 -0
  135. package/dist/commands/compile.js +331 -0
  136. package/dist/commands/compile.js.map +1 -0
  137. package/dist/commands/doctor.js +475 -0
  138. package/dist/commands/doctor.js.map +1 -0
  139. package/dist/commands/edit.js +765 -0
  140. package/dist/commands/edit.js.map +1 -0
  141. package/dist/commands/eject.js +393 -0
  142. package/dist/commands/eject.js.map +1 -0
  143. package/dist/commands/import/skill.js +349 -0
  144. package/dist/commands/import/skill.js.map +1 -0
  145. package/dist/commands/init.js +66 -0
  146. package/dist/commands/init.js.map +1 -0
  147. package/dist/commands/list.js +115 -0
  148. package/dist/commands/list.js.map +1 -0
  149. package/dist/commands/new/agent.js +304 -0
  150. package/dist/commands/new/agent.js.map +1 -0
  151. package/dist/commands/new/marketplace.js +315 -0
  152. package/dist/commands/new/marketplace.js.map +1 -0
  153. package/dist/commands/new/skill.js +28 -0
  154. package/dist/commands/new/skill.js.map +1 -0
  155. package/dist/commands/search.js +176 -0
  156. package/dist/commands/search.js.map +1 -0
  157. package/dist/commands/uninstall.js +570 -0
  158. package/dist/commands/uninstall.js.map +1 -0
  159. package/dist/commands/update.js +368 -0
  160. package/dist/commands/update.js.map +1 -0
  161. package/dist/commands/validate.js +581 -0
  162. package/dist/commands/validate.js.map +1 -0
  163. package/dist/components/common/confirm.js +9 -0
  164. package/dist/components/common/confirm.js.map +1 -0
  165. package/dist/components/common/confirm.test.js +203 -0
  166. package/dist/components/common/confirm.test.js.map +1 -0
  167. package/dist/components/common/prompt-confirm.js +11 -0
  168. package/dist/components/common/prompt-confirm.js.map +1 -0
  169. package/dist/components/common/select-list.js +11 -0
  170. package/dist/components/common/select-list.js.map +1 -0
  171. package/dist/components/common/spinner.js +9 -0
  172. package/dist/components/common/spinner.js.map +1 -0
  173. package/dist/components/wizard/category-grid.js +16 -0
  174. package/dist/components/wizard/category-grid.js.map +1 -0
  175. package/dist/components/wizard/category-grid.test.js +1253 -0
  176. package/dist/components/wizard/category-grid.test.js.map +1 -0
  177. package/dist/components/wizard/checkbox-grid.js +14 -0
  178. package/dist/components/wizard/checkbox-grid.js.map +1 -0
  179. package/dist/components/wizard/checkbox-grid.test.js +264 -0
  180. package/dist/components/wizard/checkbox-grid.test.js.map +1 -0
  181. package/dist/components/wizard/domain-selection.js +22 -0
  182. package/dist/components/wizard/domain-selection.js.map +1 -0
  183. package/dist/components/wizard/run-wizard-session.js +47 -0
  184. package/dist/components/wizard/run-wizard-session.js.map +1 -0
  185. package/dist/components/wizard/scroll-affordance.js +10 -0
  186. package/dist/components/wizard/scroll-affordance.js.map +1 -0
  187. package/dist/components/wizard/search-modal.js +14 -0
  188. package/dist/components/wizard/search-modal.js.map +1 -0
  189. package/dist/components/wizard/search-modal.test.js +212 -0
  190. package/dist/components/wizard/search-modal.test.js.map +1 -0
  191. package/dist/components/wizard/selection-card.js +10 -0
  192. package/dist/components/wizard/selection-card.js.map +1 -0
  193. package/dist/components/wizard/skill-agent-summary.js +16 -0
  194. package/dist/components/wizard/skill-agent-summary.js.map +1 -0
  195. package/dist/components/wizard/source-grid.js +23 -0
  196. package/dist/components/wizard/source-grid.js.map +1 -0
  197. package/dist/components/wizard/source-grid.test.js +1094 -0
  198. package/dist/components/wizard/source-grid.test.js.map +1 -0
  199. package/dist/components/wizard/stack-selection.js +20 -0
  200. package/dist/components/wizard/stack-selection.js.map +1 -0
  201. package/dist/components/wizard/step-agents.js +22 -0
  202. package/dist/components/wizard/step-agents.js.map +1 -0
  203. package/dist/components/wizard/step-agents.test.js +204 -0
  204. package/dist/components/wizard/step-agents.test.js.map +1 -0
  205. package/dist/components/wizard/step-build.js +22 -0
  206. package/dist/components/wizard/step-build.js.map +1 -0
  207. package/dist/components/wizard/step-build.test.js +552 -0
  208. package/dist/components/wizard/step-build.test.js.map +1 -0
  209. package/dist/components/wizard/step-confirm.js +21 -0
  210. package/dist/components/wizard/step-confirm.js.map +1 -0
  211. package/dist/components/wizard/step-confirm.test.js +744 -0
  212. package/dist/components/wizard/step-confirm.test.js.map +1 -0
  213. package/dist/components/wizard/step-settings.js +19 -0
  214. package/dist/components/wizard/step-settings.js.map +1 -0
  215. package/dist/components/wizard/step-settings.test.js +244 -0
  216. package/dist/components/wizard/step-settings.test.js.map +1 -0
  217. package/dist/components/wizard/step-sources.js +28 -0
  218. package/dist/components/wizard/step-sources.js.map +1 -0
  219. package/dist/components/wizard/step-sources.test.js +155 -0
  220. package/dist/components/wizard/step-sources.test.js.map +1 -0
  221. package/dist/components/wizard/step-stack.js +21 -0
  222. package/dist/components/wizard/step-stack.js.map +1 -0
  223. package/dist/components/wizard/step-stack.test.js +262 -0
  224. package/dist/components/wizard/step-stack.test.js.map +1 -0
  225. package/dist/components/wizard/summary-panel.js +20 -0
  226. package/dist/components/wizard/summary-panel.js.map +1 -0
  227. package/dist/components/wizard/summary-panel.test.js +317 -0
  228. package/dist/components/wizard/summary-panel.test.js.map +1 -0
  229. package/dist/components/wizard/toast.js +10 -0
  230. package/dist/components/wizard/toast.js.map +1 -0
  231. package/dist/components/wizard/wizard-layout.js +26 -0
  232. package/dist/components/wizard/wizard-layout.js.map +1 -0
  233. package/dist/components/wizard/wizard-layout.test.js +200 -0
  234. package/dist/components/wizard/wizard-layout.test.js.map +1 -0
  235. package/dist/components/wizard/wizard-tabs.js +20 -0
  236. package/dist/components/wizard/wizard-tabs.js.map +1 -0
  237. package/dist/components/wizard/wizard-tabs.test.js +290 -0
  238. package/dist/components/wizard/wizard-tabs.test.js.map +1 -0
  239. package/dist/components/wizard/wizard.js +48 -0
  240. package/dist/components/wizard/wizard.js.map +1 -0
  241. package/dist/config-exports.js +20 -0
  242. package/dist/config-exports.js.map +1 -0
  243. package/dist/copy-local-skills-CA7P73RZ.js +15 -0
  244. package/dist/copy-local-skills-CA7P73RZ.js.map +1 -0
  245. package/dist/dist-VNJNNJK7.js +550 -0
  246. package/dist/dist-VNJNNJK7.js.map +1 -0
  247. package/dist/hooks/init.js +90 -0
  248. package/dist/hooks/init.js.map +1 -0
  249. package/dist/index.js +10 -0
  250. package/dist/index.js.map +1 -0
  251. package/dist/load-agent-defs-6MAY5ABI.js +16 -0
  252. package/dist/load-agent-defs-6MAY5ABI.js.map +1 -0
  253. package/dist/loader-E2ERJYVA.js +23 -0
  254. package/dist/loader-E2ERJYVA.js.map +1 -0
  255. package/dist/magic-string.es-5TV73NJD.js +1316 -0
  256. package/dist/magic-string.es-5TV73NJD.js.map +1 -0
  257. package/dist/recompile-project-agents-VYQJ6UZB.js +20 -0
  258. package/dist/recompile-project-agents-VYQJ6UZB.js.map +1 -0
  259. package/dist/source-loader-VVHMQEX5.js +20 -0
  260. package/dist/source-loader-VVHMQEX5.js.map +1 -0
  261. package/dist/source-manager-TPDXV5FO.js +18 -0
  262. package/dist/source-manager-TPDXV5FO.js.map +1 -0
  263. package/dist/src/agents/_templates/agent.liquid +161 -0
  264. package/dist/src/agents/_templates/methodologies/anti-over-engineering.liquid +121 -0
  265. package/dist/src/agents/_templates/methodologies/context-management.liquid +162 -0
  266. package/dist/src/agents/_templates/methodologies/improvement-protocol.liquid +150 -0
  267. package/dist/src/agents/_templates/methodologies/investigation-requirements.liquid +49 -0
  268. package/dist/src/agents/_templates/methodologies/success-criteria.liquid +111 -0
  269. package/dist/src/agents/_templates/methodologies/write-verification.liquid +43 -0
  270. package/dist/src/agents/developer/ai-developer/critical-reminders.md +54 -0
  271. package/dist/src/agents/developer/ai-developer/critical-requirements.md +59 -0
  272. package/dist/src/agents/developer/ai-developer/identity.md +51 -0
  273. package/dist/src/agents/developer/ai-developer/metadata.yaml +12 -0
  274. package/dist/src/agents/developer/ai-developer/output.md +366 -0
  275. package/dist/src/agents/developer/ai-developer/playbook.md +335 -0
  276. package/dist/src/agents/developer/api-developer/critical-reminders.md +46 -0
  277. package/dist/src/agents/developer/api-developer/critical-requirements.md +44 -0
  278. package/dist/src/agents/developer/api-developer/identity.md +49 -0
  279. package/dist/src/agents/developer/api-developer/metadata.yaml +12 -0
  280. package/dist/src/agents/developer/api-developer/output.md +432 -0
  281. package/dist/src/agents/developer/api-developer/playbook.md +352 -0
  282. package/dist/src/agents/developer/cli-developer/critical-reminders.md +51 -0
  283. package/dist/src/agents/developer/cli-developer/critical-requirements.md +51 -0
  284. package/dist/src/agents/developer/cli-developer/identity.md +51 -0
  285. package/dist/src/agents/developer/cli-developer/metadata.yaml +12 -0
  286. package/dist/src/agents/developer/cli-developer/output.md +285 -0
  287. package/dist/src/agents/developer/cli-developer/playbook.md +386 -0
  288. package/dist/src/agents/developer/web-architecture/critical-reminders.md +48 -0
  289. package/dist/src/agents/developer/web-architecture/critical-requirements.md +65 -0
  290. package/dist/src/agents/developer/web-architecture/identity.md +64 -0
  291. package/dist/src/agents/developer/web-architecture/metadata.yaml +12 -0
  292. package/dist/src/agents/developer/web-architecture/output.md +449 -0
  293. package/dist/src/agents/developer/web-architecture/playbook.md +481 -0
  294. package/dist/src/agents/developer/web-developer/critical-reminders.md +40 -0
  295. package/dist/src/agents/developer/web-developer/critical-requirements.md +39 -0
  296. package/dist/src/agents/developer/web-developer/identity.md +32 -0
  297. package/dist/src/agents/developer/web-developer/metadata.yaml +12 -0
  298. package/dist/src/agents/developer/web-developer/output.md +323 -0
  299. package/dist/src/agents/developer/web-developer/playbook.md +349 -0
  300. package/dist/src/agents/meta/agent-summoner/critical-reminders.md +45 -0
  301. package/dist/src/agents/meta/agent-summoner/critical-requirements.md +52 -0
  302. package/dist/src/agents/meta/agent-summoner/identity.md +34 -0
  303. package/dist/src/agents/meta/agent-summoner/metadata.yaml +12 -0
  304. package/dist/src/agents/meta/agent-summoner/output.md +296 -0
  305. package/dist/src/agents/meta/agent-summoner/playbook.md +1469 -0
  306. package/dist/src/agents/meta/codex-keeper/critical-reminders.md +39 -0
  307. package/dist/src/agents/meta/codex-keeper/critical-requirements.md +29 -0
  308. package/dist/src/agents/meta/codex-keeper/identity.md +45 -0
  309. package/dist/src/agents/meta/codex-keeper/metadata.yaml +12 -0
  310. package/dist/src/agents/meta/codex-keeper/output.md +384 -0
  311. package/dist/src/agents/meta/codex-keeper/playbook.md +1183 -0
  312. package/dist/src/agents/meta/convention-keeper/critical-reminders.md +32 -0
  313. package/dist/src/agents/meta/convention-keeper/critical-requirements.md +32 -0
  314. package/dist/src/agents/meta/convention-keeper/identity.md +33 -0
  315. package/dist/src/agents/meta/convention-keeper/metadata.yaml +12 -0
  316. package/dist/src/agents/meta/convention-keeper/output.md +206 -0
  317. package/dist/src/agents/meta/convention-keeper/playbook.md +180 -0
  318. package/dist/src/agents/meta/skill-summoner/critical-reminders.md +112 -0
  319. package/dist/src/agents/meta/skill-summoner/critical-requirements.md +62 -0
  320. package/dist/src/agents/meta/skill-summoner/identity.md +31 -0
  321. package/dist/src/agents/meta/skill-summoner/metadata.yaml +13 -0
  322. package/dist/src/agents/meta/skill-summoner/output.md +390 -0
  323. package/dist/src/agents/meta/skill-summoner/playbook.md +1457 -0
  324. package/dist/src/agents/pattern/pattern-scout/critical-reminders.md +71 -0
  325. package/dist/src/agents/pattern/pattern-scout/critical-requirements.md +31 -0
  326. package/dist/src/agents/pattern/pattern-scout/identity.md +25 -0
  327. package/dist/src/agents/pattern/pattern-scout/metadata.yaml +10 -0
  328. package/dist/src/agents/pattern/pattern-scout/output.md +290 -0
  329. package/dist/src/agents/pattern/pattern-scout/playbook.md +1806 -0
  330. package/dist/src/agents/pattern/web-pattern-critique/critical-reminders.md +30 -0
  331. package/dist/src/agents/pattern/web-pattern-critique/critical-requirements.md +28 -0
  332. package/dist/src/agents/pattern/web-pattern-critique/identity.md +41 -0
  333. package/dist/src/agents/pattern/web-pattern-critique/metadata.yaml +12 -0
  334. package/dist/src/agents/pattern/web-pattern-critique/output.md +314 -0
  335. package/dist/src/agents/pattern/web-pattern-critique/playbook.md +572 -0
  336. package/dist/src/agents/planning/api-pm/critical-reminders.md +48 -0
  337. package/dist/src/agents/planning/api-pm/critical-requirements.md +41 -0
  338. package/dist/src/agents/planning/api-pm/identity.md +39 -0
  339. package/dist/src/agents/planning/api-pm/metadata.yaml +12 -0
  340. package/dist/src/agents/planning/api-pm/output.md +475 -0
  341. package/dist/src/agents/planning/api-pm/playbook.md +129 -0
  342. package/dist/src/agents/planning/web-pm/critical-reminders.md +36 -0
  343. package/dist/src/agents/planning/web-pm/critical-requirements.md +32 -0
  344. package/dist/src/agents/planning/web-pm/identity.md +26 -0
  345. package/dist/src/agents/planning/web-pm/metadata.yaml +12 -0
  346. package/dist/src/agents/planning/web-pm/output.md +314 -0
  347. package/dist/src/agents/planning/web-pm/playbook.md +318 -0
  348. package/dist/src/agents/researcher/api-researcher/critical-reminders.md +27 -0
  349. package/dist/src/agents/researcher/api-researcher/critical-requirements.md +28 -0
  350. package/dist/src/agents/researcher/api-researcher/identity.md +71 -0
  351. package/dist/src/agents/researcher/api-researcher/metadata.yaml +10 -0
  352. package/dist/src/agents/researcher/api-researcher/output.md +254 -0
  353. package/dist/src/agents/researcher/api-researcher/playbook.md +201 -0
  354. package/dist/src/agents/researcher/web-researcher/critical-reminders.md +39 -0
  355. package/dist/src/agents/researcher/web-researcher/critical-requirements.md +26 -0
  356. package/dist/src/agents/researcher/web-researcher/identity.md +69 -0
  357. package/dist/src/agents/researcher/web-researcher/metadata.yaml +10 -0
  358. package/dist/src/agents/researcher/web-researcher/output.md +241 -0
  359. package/dist/src/agents/researcher/web-researcher/playbook.md +217 -0
  360. package/dist/src/agents/reviewer/ai-reviewer/critical-reminders.md +40 -0
  361. package/dist/src/agents/reviewer/ai-reviewer/critical-requirements.md +37 -0
  362. package/dist/src/agents/reviewer/ai-reviewer/identity.md +51 -0
  363. package/dist/src/agents/reviewer/ai-reviewer/metadata.yaml +10 -0
  364. package/dist/src/agents/reviewer/ai-reviewer/output.md +395 -0
  365. package/dist/src/agents/reviewer/ai-reviewer/playbook.md +90 -0
  366. package/dist/src/agents/reviewer/api-reviewer/critical-reminders.md +31 -0
  367. package/dist/src/agents/reviewer/api-reviewer/critical-requirements.md +27 -0
  368. package/dist/src/agents/reviewer/api-reviewer/identity.md +51 -0
  369. package/dist/src/agents/reviewer/api-reviewer/metadata.yaml +12 -0
  370. package/dist/src/agents/reviewer/api-reviewer/output.md +343 -0
  371. package/dist/src/agents/reviewer/api-reviewer/playbook.md +288 -0
  372. package/dist/src/agents/reviewer/cli-reviewer/critical-reminders.md +33 -0
  373. package/dist/src/agents/reviewer/cli-reviewer/critical-requirements.md +30 -0
  374. package/dist/src/agents/reviewer/cli-reviewer/identity.md +44 -0
  375. package/dist/src/agents/reviewer/cli-reviewer/metadata.yaml +12 -0
  376. package/dist/src/agents/reviewer/cli-reviewer/output.md +414 -0
  377. package/dist/src/agents/reviewer/cli-reviewer/playbook.md +218 -0
  378. package/dist/src/agents/reviewer/infra-reviewer/critical-reminders.md +38 -0
  379. package/dist/src/agents/reviewer/infra-reviewer/critical-requirements.md +38 -0
  380. package/dist/src/agents/reviewer/infra-reviewer/identity.md +53 -0
  381. package/dist/src/agents/reviewer/infra-reviewer/metadata.yaml +10 -0
  382. package/dist/src/agents/reviewer/infra-reviewer/output.md +364 -0
  383. package/dist/src/agents/reviewer/infra-reviewer/playbook.md +161 -0
  384. package/dist/src/agents/reviewer/web-reviewer/critical-reminders.md +31 -0
  385. package/dist/src/agents/reviewer/web-reviewer/critical-requirements.md +26 -0
  386. package/dist/src/agents/reviewer/web-reviewer/identity.md +40 -0
  387. package/dist/src/agents/reviewer/web-reviewer/metadata.yaml +12 -0
  388. package/dist/src/agents/reviewer/web-reviewer/output.md +333 -0
  389. package/dist/src/agents/reviewer/web-reviewer/playbook.md +156 -0
  390. package/dist/src/agents/tester/api-tester/critical-reminders.md +41 -0
  391. package/dist/src/agents/tester/api-tester/critical-requirements.md +41 -0
  392. package/dist/src/agents/tester/api-tester/identity.md +47 -0
  393. package/dist/src/agents/tester/api-tester/metadata.yaml +12 -0
  394. package/dist/src/agents/tester/api-tester/output.md +284 -0
  395. package/dist/src/agents/tester/api-tester/playbook.md +275 -0
  396. package/dist/src/agents/tester/cli-tester/critical-reminders.md +36 -0
  397. package/dist/src/agents/tester/cli-tester/critical-requirements.md +36 -0
  398. package/dist/src/agents/tester/cli-tester/identity.md +43 -0
  399. package/dist/src/agents/tester/cli-tester/metadata.yaml +12 -0
  400. package/dist/src/agents/tester/cli-tester/output.md +313 -0
  401. package/dist/src/agents/tester/cli-tester/playbook.md +221 -0
  402. package/dist/src/agents/tester/web-tester/critical-reminders.md +31 -0
  403. package/dist/src/agents/tester/web-tester/critical-requirements.md +28 -0
  404. package/dist/src/agents/tester/web-tester/identity.md +41 -0
  405. package/dist/src/agents/tester/web-tester/metadata.yaml +12 -0
  406. package/dist/src/agents/tester/web-tester/output.md +321 -0
  407. package/dist/src/agents/tester/web-tester/playbook.md +428 -0
  408. package/dist/stores/d227-same-scope-tombstone-duplicate.test.js +118 -0
  409. package/dist/stores/d227-same-scope-tombstone-duplicate.test.js.map +1 -0
  410. package/dist/stores/wizard-store.js +21 -0
  411. package/dist/stores/wizard-store.js.map +1 -0
  412. package/dist/stores/wizard-store.test.js +3053 -0
  413. package/dist/stores/wizard-store.test.js.map +1 -0
  414. package/package.json +130 -12
  415. package/src/agents/_templates/agent.liquid +161 -0
  416. package/src/agents/_templates/methodologies/anti-over-engineering.liquid +121 -0
  417. package/src/agents/_templates/methodologies/context-management.liquid +162 -0
  418. package/src/agents/_templates/methodologies/improvement-protocol.liquid +150 -0
  419. package/src/agents/_templates/methodologies/investigation-requirements.liquid +49 -0
  420. package/src/agents/_templates/methodologies/success-criteria.liquid +111 -0
  421. package/src/agents/_templates/methodologies/write-verification.liquid +43 -0
  422. package/src/agents/developer/ai-developer/critical-reminders.md +54 -0
  423. package/src/agents/developer/ai-developer/critical-requirements.md +59 -0
  424. package/src/agents/developer/ai-developer/identity.md +51 -0
  425. package/src/agents/developer/ai-developer/metadata.yaml +12 -0
  426. package/src/agents/developer/ai-developer/output.md +366 -0
  427. package/src/agents/developer/ai-developer/playbook.md +335 -0
  428. package/src/agents/developer/api-developer/critical-reminders.md +46 -0
  429. package/src/agents/developer/api-developer/critical-requirements.md +44 -0
  430. package/src/agents/developer/api-developer/identity.md +49 -0
  431. package/src/agents/developer/api-developer/metadata.yaml +12 -0
  432. package/src/agents/developer/api-developer/output.md +432 -0
  433. package/src/agents/developer/api-developer/playbook.md +352 -0
  434. package/src/agents/developer/cli-developer/critical-reminders.md +51 -0
  435. package/src/agents/developer/cli-developer/critical-requirements.md +51 -0
  436. package/src/agents/developer/cli-developer/identity.md +51 -0
  437. package/src/agents/developer/cli-developer/metadata.yaml +12 -0
  438. package/src/agents/developer/cli-developer/output.md +285 -0
  439. package/src/agents/developer/cli-developer/playbook.md +386 -0
  440. package/src/agents/developer/web-architecture/critical-reminders.md +48 -0
  441. package/src/agents/developer/web-architecture/critical-requirements.md +65 -0
  442. package/src/agents/developer/web-architecture/identity.md +64 -0
  443. package/src/agents/developer/web-architecture/metadata.yaml +12 -0
  444. package/src/agents/developer/web-architecture/output.md +449 -0
  445. package/src/agents/developer/web-architecture/playbook.md +481 -0
  446. package/src/agents/developer/web-developer/critical-reminders.md +40 -0
  447. package/src/agents/developer/web-developer/critical-requirements.md +39 -0
  448. package/src/agents/developer/web-developer/identity.md +32 -0
  449. package/src/agents/developer/web-developer/metadata.yaml +12 -0
  450. package/src/agents/developer/web-developer/output.md +323 -0
  451. package/src/agents/developer/web-developer/playbook.md +349 -0
  452. package/src/agents/meta/agent-summoner/critical-reminders.md +45 -0
  453. package/src/agents/meta/agent-summoner/critical-requirements.md +52 -0
  454. package/src/agents/meta/agent-summoner/identity.md +34 -0
  455. package/src/agents/meta/agent-summoner/metadata.yaml +12 -0
  456. package/src/agents/meta/agent-summoner/output.md +296 -0
  457. package/src/agents/meta/agent-summoner/playbook.md +1469 -0
  458. package/src/agents/meta/codex-keeper/critical-reminders.md +39 -0
  459. package/src/agents/meta/codex-keeper/critical-requirements.md +29 -0
  460. package/src/agents/meta/codex-keeper/identity.md +45 -0
  461. package/src/agents/meta/codex-keeper/metadata.yaml +12 -0
  462. package/src/agents/meta/codex-keeper/output.md +384 -0
  463. package/src/agents/meta/codex-keeper/playbook.md +1183 -0
  464. package/src/agents/meta/convention-keeper/critical-reminders.md +32 -0
  465. package/src/agents/meta/convention-keeper/critical-requirements.md +32 -0
  466. package/src/agents/meta/convention-keeper/identity.md +33 -0
  467. package/src/agents/meta/convention-keeper/metadata.yaml +12 -0
  468. package/src/agents/meta/convention-keeper/output.md +206 -0
  469. package/src/agents/meta/convention-keeper/playbook.md +180 -0
  470. package/src/agents/meta/skill-summoner/critical-reminders.md +112 -0
  471. package/src/agents/meta/skill-summoner/critical-requirements.md +62 -0
  472. package/src/agents/meta/skill-summoner/identity.md +31 -0
  473. package/src/agents/meta/skill-summoner/metadata.yaml +13 -0
  474. package/src/agents/meta/skill-summoner/output.md +390 -0
  475. package/src/agents/meta/skill-summoner/playbook.md +1457 -0
  476. package/src/agents/pattern/pattern-scout/critical-reminders.md +71 -0
  477. package/src/agents/pattern/pattern-scout/critical-requirements.md +31 -0
  478. package/src/agents/pattern/pattern-scout/identity.md +25 -0
  479. package/src/agents/pattern/pattern-scout/metadata.yaml +10 -0
  480. package/src/agents/pattern/pattern-scout/output.md +290 -0
  481. package/src/agents/pattern/pattern-scout/playbook.md +1806 -0
  482. package/src/agents/pattern/web-pattern-critique/critical-reminders.md +30 -0
  483. package/src/agents/pattern/web-pattern-critique/critical-requirements.md +28 -0
  484. package/src/agents/pattern/web-pattern-critique/identity.md +41 -0
  485. package/src/agents/pattern/web-pattern-critique/metadata.yaml +12 -0
  486. package/src/agents/pattern/web-pattern-critique/output.md +314 -0
  487. package/src/agents/pattern/web-pattern-critique/playbook.md +572 -0
  488. package/src/agents/planning/api-pm/critical-reminders.md +48 -0
  489. package/src/agents/planning/api-pm/critical-requirements.md +41 -0
  490. package/src/agents/planning/api-pm/identity.md +39 -0
  491. package/src/agents/planning/api-pm/metadata.yaml +12 -0
  492. package/src/agents/planning/api-pm/output.md +475 -0
  493. package/src/agents/planning/api-pm/playbook.md +129 -0
  494. package/src/agents/planning/web-pm/critical-reminders.md +36 -0
  495. package/src/agents/planning/web-pm/critical-requirements.md +32 -0
  496. package/src/agents/planning/web-pm/identity.md +26 -0
  497. package/src/agents/planning/web-pm/metadata.yaml +12 -0
  498. package/src/agents/planning/web-pm/output.md +314 -0
  499. package/src/agents/planning/web-pm/playbook.md +318 -0
  500. package/src/agents/researcher/api-researcher/critical-reminders.md +27 -0
  501. package/src/agents/researcher/api-researcher/critical-requirements.md +28 -0
  502. package/src/agents/researcher/api-researcher/identity.md +71 -0
  503. package/src/agents/researcher/api-researcher/metadata.yaml +10 -0
  504. package/src/agents/researcher/api-researcher/output.md +254 -0
  505. package/src/agents/researcher/api-researcher/playbook.md +201 -0
  506. package/src/agents/researcher/web-researcher/critical-reminders.md +39 -0
  507. package/src/agents/researcher/web-researcher/critical-requirements.md +26 -0
  508. package/src/agents/researcher/web-researcher/identity.md +69 -0
  509. package/src/agents/researcher/web-researcher/metadata.yaml +10 -0
  510. package/src/agents/researcher/web-researcher/output.md +241 -0
  511. package/src/agents/researcher/web-researcher/playbook.md +217 -0
  512. package/src/agents/reviewer/ai-reviewer/critical-reminders.md +40 -0
  513. package/src/agents/reviewer/ai-reviewer/critical-requirements.md +37 -0
  514. package/src/agents/reviewer/ai-reviewer/identity.md +51 -0
  515. package/src/agents/reviewer/ai-reviewer/metadata.yaml +10 -0
  516. package/src/agents/reviewer/ai-reviewer/output.md +395 -0
  517. package/src/agents/reviewer/ai-reviewer/playbook.md +90 -0
  518. package/src/agents/reviewer/api-reviewer/critical-reminders.md +31 -0
  519. package/src/agents/reviewer/api-reviewer/critical-requirements.md +27 -0
  520. package/src/agents/reviewer/api-reviewer/identity.md +51 -0
  521. package/src/agents/reviewer/api-reviewer/metadata.yaml +12 -0
  522. package/src/agents/reviewer/api-reviewer/output.md +343 -0
  523. package/src/agents/reviewer/api-reviewer/playbook.md +288 -0
  524. package/src/agents/reviewer/cli-reviewer/critical-reminders.md +33 -0
  525. package/src/agents/reviewer/cli-reviewer/critical-requirements.md +30 -0
  526. package/src/agents/reviewer/cli-reviewer/identity.md +44 -0
  527. package/src/agents/reviewer/cli-reviewer/metadata.yaml +12 -0
  528. package/src/agents/reviewer/cli-reviewer/output.md +414 -0
  529. package/src/agents/reviewer/cli-reviewer/playbook.md +218 -0
  530. package/src/agents/reviewer/infra-reviewer/critical-reminders.md +38 -0
  531. package/src/agents/reviewer/infra-reviewer/critical-requirements.md +38 -0
  532. package/src/agents/reviewer/infra-reviewer/identity.md +53 -0
  533. package/src/agents/reviewer/infra-reviewer/metadata.yaml +10 -0
  534. package/src/agents/reviewer/infra-reviewer/output.md +364 -0
  535. package/src/agents/reviewer/infra-reviewer/playbook.md +161 -0
  536. package/src/agents/reviewer/web-reviewer/critical-reminders.md +31 -0
  537. package/src/agents/reviewer/web-reviewer/critical-requirements.md +26 -0
  538. package/src/agents/reviewer/web-reviewer/identity.md +40 -0
  539. package/src/agents/reviewer/web-reviewer/metadata.yaml +12 -0
  540. package/src/agents/reviewer/web-reviewer/output.md +333 -0
  541. package/src/agents/reviewer/web-reviewer/playbook.md +156 -0
  542. package/src/agents/tester/api-tester/critical-reminders.md +41 -0
  543. package/src/agents/tester/api-tester/critical-requirements.md +41 -0
  544. package/src/agents/tester/api-tester/identity.md +47 -0
  545. package/src/agents/tester/api-tester/metadata.yaml +12 -0
  546. package/src/agents/tester/api-tester/output.md +284 -0
  547. package/src/agents/tester/api-tester/playbook.md +275 -0
  548. package/src/agents/tester/cli-tester/critical-reminders.md +36 -0
  549. package/src/agents/tester/cli-tester/critical-requirements.md +36 -0
  550. package/src/agents/tester/cli-tester/identity.md +43 -0
  551. package/src/agents/tester/cli-tester/metadata.yaml +12 -0
  552. package/src/agents/tester/cli-tester/output.md +313 -0
  553. package/src/agents/tester/cli-tester/playbook.md +221 -0
  554. package/src/agents/tester/web-tester/critical-reminders.md +31 -0
  555. package/src/agents/tester/web-tester/critical-requirements.md +28 -0
  556. package/src/agents/tester/web-tester/identity.md +41 -0
  557. package/src/agents/tester/web-tester/metadata.yaml +12 -0
  558. package/src/agents/tester/web-tester/output.md +321 -0
  559. package/src/agents/tester/web-tester/playbook.md +428 -0
  560. package/src/schemas/agent-frontmatter.schema.json +88 -0
  561. package/src/schemas/agent.schema.json +103 -0
  562. package/src/schemas/custom-metadata.schema.json +74 -0
  563. package/src/schemas/hooks.schema.json +47 -0
  564. package/src/schemas/marketplace.schema.json +119 -0
  565. package/src/schemas/metadata.schema.json +387 -0
  566. package/src/schemas/plugin.schema.json +127 -0
  567. package/src/schemas/project-config.schema.json +189 -0
  568. package/src/schemas/project-source-config.schema.json +96 -0
  569. package/src/schemas/skill-frontmatter.schema.json +42 -0
  570. package/src/schemas/stack.schema.json +191 -0
  571. package/src/schemas/stacks.schema.json +107 -0
  572. package/bin/run.js +0 -3
@@ -0,0 +1,395 @@
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/file.ts] | [X-Y] | [What was examined] |
17
+
18
+ </files_reviewed>
19
+
20
+ <prompt_safety_audit>
21
+
22
+ ## Prompt Safety Review
23
+
24
+ ### Injection Prevention
25
+
26
+ - [ ] User input sanitized before prompt insertion
27
+ - [ ] System prompt isolated from user-controllable content
28
+ - [ ] No string concatenation of raw user input into prompts
29
+ - [ ] Indirect injection mitigated (retrieved documents, tool outputs)
30
+ - [ ] Prompt template uses parameterized substitution, not interpolation
31
+
32
+ ### System Prompt Protection
33
+
34
+ - [ ] System prompt not extractable via user queries
35
+ - [ ] No "ignore previous instructions" vulnerability
36
+ - [ ] Role boundaries enforced (user vs system vs assistant)
37
+
38
+ ### Output Safety
39
+
40
+ - [ ] LLM output not used in `eval()`, shell exec, or SQL without validation
41
+ - [ ] Generated code sandboxed before execution (if applicable)
42
+ - [ ] Output not treated as trusted for authorization decisions
43
+
44
+ **Injection Surfaces Found:**
45
+
46
+ | Finding | Location | Input Source | Severity |
47
+ | ------- | ----------- | ------------ | ---------------------- |
48
+ | [Issue] | [file:line] | [source] | [Critical/High/Medium] |
49
+
50
+ </prompt_safety_audit>
51
+
52
+ <output_validation_audit>
53
+
54
+ ## Output Validation Review
55
+
56
+ ### Schema Enforcement
57
+
58
+ - [ ] Structured output validated with Zod/JSON Schema before use
59
+ - [ ] Fallback behavior defined for malformed LLM responses
60
+ - [ ] Non-deterministic output not used directly in control flow branching
61
+ - [ ] Confidence thresholds applied where appropriate
62
+
63
+ ### Hallucination Defense
64
+
65
+ - [ ] Grounding verification for factual claims (RAG citations checked)
66
+ - [ ] No LLM output trusted as authoritative without external verification
67
+ - [ ] Citation/source checking for retrieval-augmented responses
68
+
69
+ **Unvalidated Outputs Found:**
70
+
71
+ | Finding | Location | Usage Context | Severity |
72
+ | ------- | ----------- | ------------- | -------- |
73
+ | [Issue] | [file:line] | [how used] | [level] |
74
+
75
+ </output_validation_audit>
76
+
77
+ <must_fix>
78
+
79
+ ## Critical Issues (Blocks Approval)
80
+
81
+ ### Issue #1: [Descriptive Title]
82
+
83
+ **Location:** `/path/to/file.ts:45`
84
+ **Category:** [Prompt Injection | Output Validation | Token Budget | Cost | Error Handling | Security | Model Versioning | Streaming]
85
+
86
+ **Problem:** [What's wrong - one sentence]
87
+
88
+ **Current code:**
89
+
90
+ ```typescript
91
+ // The problematic code
92
+ ```
93
+
94
+ **Recommended fix:**
95
+
96
+ ```typescript
97
+ // The corrected code
98
+ ```
99
+
100
+ **Risk:** [Specific risk - injection attack, unbounded cost, data corruption, etc.]
101
+
102
+ </must_fix>
103
+
104
+ <should_fix>
105
+
106
+ ## High/Medium Issues (Recommended Before Merge)
107
+
108
+ ### Issue #1: [Title]
109
+
110
+ **Location:** `/path/to/file.ts:67`
111
+ **Category:** [Category]
112
+
113
+ **Issue:** [What could be better]
114
+
115
+ **Suggestion:**
116
+
117
+ ```typescript
118
+ // How to improve
119
+ ```
120
+
121
+ **Benefit:** [Why this helps]
122
+
123
+ </should_fix>
124
+
125
+ <nice_to_have>
126
+
127
+ ## Low Severity (Optional)
128
+
129
+ - **[Title]** at `/path:line` - [Brief suggestion with rationale]
130
+
131
+ </nice_to_have>
132
+
133
+ <ai_checklist>
134
+
135
+ ## AI Integration Checklist
136
+
137
+ ### Token Budget & Cost
138
+
139
+ - [ ] Token counting before API calls (input stays within model limits)
140
+ - [ ] Truncation strategy for long inputs (conversation history, RAG context)
141
+ - [ ] Model selection appropriate for task complexity (not using expensive models for simple tasks)
142
+ - [ ] Caching for repeated/similar queries
143
+ - [ ] Batch processing for bulk operations (not one API call per item)
144
+
145
+ ### Error Handling & Resilience
146
+
147
+ - [ ] Retry with exponential backoff for transient failures (429, 500, 503)
148
+ - [ ] Fallback model chain for primary model outage
149
+ - [ ] Content filter / safety refusal handled gracefully
150
+ - [ ] Timeout configured on API calls
151
+ - [ ] Partial/incomplete response detection and recovery
152
+
153
+ ### Model Configuration
154
+
155
+ - [ ] Model version configurable (not hardcoded string literals)
156
+ - [ ] Deprecation path exists for model version changes
157
+ - [ ] Temperature, max_tokens, and other params appropriate for use case
158
+ - [ ] Model capability checks for features used (vision, tool calling, etc.)
159
+
160
+ ### Streaming (if applicable)
161
+
162
+ - [ ] Chunk assembly handles errors mid-stream
163
+ - [ ] Connection drop and timeout recovery handled
164
+ - [ ] Incomplete response detection (stream cut off without stop token)
165
+ - [ ] Partial JSON/structured output handled
166
+
167
+ ### Security
168
+
169
+ - [ ] API keys loaded from environment, not hardcoded
170
+ - [ ] Provider credentials not in source control
171
+ - [ ] PII not sent to third-party models without consent/policy
172
+ - [ ] Prompt and response content not logged at INFO level
173
+ - [ ] Error messages don't leak API keys or internal prompt text
174
+
175
+ **AI Issues Found:** [count] ([count] critical)
176
+
177
+ </ai_checklist>
178
+
179
+ <positive_feedback>
180
+
181
+ ## What Was Done Well
182
+
183
+ - [Specific positive observation with why it's good practice]
184
+ - [Another positive observation with pattern reference]
185
+
186
+ </positive_feedback>
187
+
188
+ <deferred>
189
+
190
+ ## Deferred to Specialists
191
+
192
+ **API Reviewer:**
193
+
194
+ - [REST/DB pattern X needs review]
195
+
196
+ **Web Reviewer:**
197
+
198
+ - [UI component Y needs review]
199
+
200
+ **CLI Reviewer:**
201
+
202
+ - [CLI command/exit code pattern Z needs review]
203
+
204
+ **AI Developer:**
205
+
206
+ - [Implementation fix Z needed]
207
+
208
+ </deferred>
209
+
210
+ <approval_status>
211
+
212
+ ## Final Recommendation
213
+
214
+ **Decision:** [APPROVE | REQUEST CHANGES | REJECT]
215
+
216
+ **Blocking Issues:** [count] ([count] injection-related, [count] validation-related)
217
+ **Recommended Fixes:** [count]
218
+ **Suggestions:** [count]
219
+
220
+ **Next Steps:**
221
+
222
+ 1. [Action item - e.g., "Add input sanitization at line 45"]
223
+ 2. [Action item]
224
+
225
+ </approval_status>
226
+
227
+ </output_format>
228
+
229
+ ---
230
+
231
+ ## Section Guidelines
232
+
233
+ ### Severity Levels
234
+
235
+ | Level | Label | Criteria | Blocks Approval? |
236
+ | -------- | -------------- | ---------------------------------------------------------------------------------- | ---------------- |
237
+ | Critical | `Must Fix` | Prompt injection, unvalidated output in control flow, key exposure, unbounded cost | Yes |
238
+ | High | `Should Fix` | Missing retry/fallback, no token counting, hardcoded model strings | No (recommended) |
239
+ | Medium | `Consider` | Missing caching, suboptimal model selection, verbose logging | No |
240
+ | Low | `Nice to Have` | Style, documentation, minor optimizations | No |
241
+
242
+ ### Issue Categories (AI-Specific)
243
+
244
+ | Category | Examples |
245
+ | --------------------- | --------------------------------------------------------------------- |
246
+ | **Prompt Injection** | Raw user input in prompts, system prompt leakage, indirect injection |
247
+ | **Output Validation** | Unvalidated LLM response in control flow, missing schema check |
248
+ | **Token Budget** | Unbounded context, no truncation, uncapped history |
249
+ | **Cost** | Expensive model for simple task, no caching, no batching |
250
+ | **Error Handling** | No retry, no fallback model, content filter not handled, no timeout |
251
+ | **Security** | Hardcoded API key, PII in prompts, prompt/response logging |
252
+ | **Model Versioning** | Hardcoded model string, no deprecation path, no capability check |
253
+ | **Streaming** | No chunk error handling, no timeout recovery, incomplete response |
254
+ | **Hallucination** | No grounding check, no citation verification, no confidence threshold |
255
+
256
+ ### Issue Format Requirements
257
+
258
+ Every finding must include:
259
+
260
+ 1. **Specific file:line location**
261
+ 2. **Current code snippet** (what's wrong)
262
+ 3. **Recommended fix snippet** (how to fix)
263
+ 4. **Risk explanation** (what can go wrong)
264
+
265
+ ## Example Review Output
266
+
267
+ ### Review: Chat Completion Service
268
+
269
+ **Files Reviewed:**
270
+
271
+ - `src/services/chat-completion.ts`
272
+ - `src/lib/prompt-builder.ts`
273
+ - `src/lib/response-parser.ts`
274
+
275
+ ---
276
+
277
+ **Critical Issues (Must Fix):**
278
+
279
+ 1. **Prompt Injection via Unsanitized User Input**
280
+
281
+ **Location:** `src/lib/prompt-builder.ts:34`
282
+
283
+ **Problem:** User message concatenated directly into system prompt without sanitization.
284
+
285
+ ```typescript
286
+ // Current (vulnerable)
287
+ const prompt = `You are a helpful assistant. The user's name is ${userName}.
288
+ Answer their question: ${userQuestion}`;
289
+
290
+ // Fix: Use structured message array with role separation
291
+ const messages = [
292
+ { role: "system", content: "You are a helpful assistant." },
293
+ { role: "user", content: userQuestion },
294
+ ];
295
+ ```
296
+
297
+ **Risk:** Attacker can inject "Ignore previous instructions..." in `userQuestion` to override system prompt behavior.
298
+
299
+ 2. **Unvalidated LLM Response Used in Control Flow**
300
+
301
+ **Location:** `src/lib/response-parser.ts:52`
302
+
303
+ **Problem:** LLM output parsed as JSON and used to determine next action without schema validation.
304
+
305
+ ```typescript
306
+ // Current (fragile)
307
+ const action = JSON.parse(response.content);
308
+ if (action.type === "delete") {
309
+ await deleteRecord(action.id);
310
+ }
311
+
312
+ // Fix: Validate with Zod before trusting
313
+ const actionSchema = z.object({
314
+ type: z.enum(["view", "edit"]),
315
+ id: z.string().uuid(),
316
+ });
317
+ const result = actionSchema.safeParse(JSON.parse(response.content));
318
+ if (!result.success) {
319
+ return fallbackAction();
320
+ }
321
+ ```
322
+
323
+ **Risk:** Malformed or hallucinated response could trigger unintended destructive operations.
324
+
325
+ ---
326
+
327
+ **High Issues (Should Fix):**
328
+
329
+ 3. **No Retry or Fallback for Model API Failures**
330
+
331
+ **Location:** `src/services/chat-completion.ts:78`
332
+
333
+ **Problem:** Single API call with no retry on transient failure (429, 500).
334
+
335
+ ```typescript
336
+ // Current
337
+ const response = await openai.chat.completions.create(params);
338
+
339
+ // Better: Retry with backoff, fallback to cheaper model
340
+ const response = await withRetry(() => openai.chat.completions.create(params), {
341
+ maxRetries: 3,
342
+ backoff: "exponential",
343
+ }).catch(() => openai.chat.completions.create({ ...params, model: "gpt-4o-mini" }));
344
+ ```
345
+
346
+ 4. **Unbounded Conversation History**
347
+
348
+ **Location:** `src/services/chat-completion.ts:45`
349
+
350
+ **Problem:** Full conversation history sent on every request with no truncation.
351
+
352
+ ```typescript
353
+ // Current (unbounded cost growth)
354
+ messages.push({ role: "user", content: userMessage });
355
+ const response = await openai.chat.completions.create({
356
+ model: "gpt-4o",
357
+ messages,
358
+ });
359
+
360
+ // Better: Truncate to token budget
361
+ const truncated = truncateToTokenBudget(messages, MAX_CONTEXT_TOKENS);
362
+ const response = await openai.chat.completions.create({
363
+ model: "gpt-4o",
364
+ messages: truncated,
365
+ });
366
+ ```
367
+
368
+ **Risk:** Cost grows linearly per turn; long conversations may exceed model context window and silently truncate.
369
+
370
+ ---
371
+
372
+ **Low (Nice to Have):**
373
+
374
+ 5. Consider extracting the model name `"gpt-4o"` at `chat-completion.ts:23` to a configuration constant for easier migration when model versions change.
375
+
376
+ ---
377
+
378
+ **AI Safety Checklist:**
379
+
380
+ - [x] API keys loaded from environment
381
+ - [ ] User input sanitized before prompt insertion - FAIL (prompt-builder.ts:34)
382
+ - [ ] LLM output validated before control flow - FAIL (response-parser.ts:52)
383
+ - [ ] Token budget enforced - FAIL (chat-completion.ts:45)
384
+ - [ ] Retry/fallback for transient failures - FAIL (chat-completion.ts:78)
385
+ - [x] No PII in prompts or logs
386
+
387
+ **Positive Observations:**
388
+
389
+ - API key loaded from environment variable, not hardcoded
390
+ - Structured message array used (system/user/assistant roles separated)
391
+ - Response content type-checked before string operations
392
+
393
+ ---
394
+
395
+ **Recommendation:** REQUEST CHANGES - Fix the prompt injection vulnerability and add output validation before merge. Retry/fallback and token budgeting are strongly recommended.
@@ -0,0 +1,90 @@
1
+ ## Review Investigation Process
2
+
3
+ <review_investigation>
4
+ **Before providing any feedback:**
5
+
6
+ 1. **Identify all AI-related files changed**
7
+ - Model API calls (OpenAI, Anthropic, other providers)
8
+ - Prompt construction and template files
9
+ - Output parsing and validation logic
10
+ - Embedding and retrieval (RAG) pipelines
11
+ - Agent orchestration and tool-calling code
12
+ - Skip non-AI files (REST routes -> api-reviewer, components -> web-reviewer, CLI commands -> cli-reviewer)
13
+
14
+ 2. **Read each file completely**
15
+ - Trace user input from entry point to prompt assembly
16
+ - Trace model output from API response to consumption point
17
+ - Note file:line for every finding
18
+
19
+ 3. **Evaluate the full call chain**
20
+ - Input sanitization before prompt construction
21
+ - Token counting and truncation before API call
22
+ - Error handling around the API call
23
+ - Output parsing and validation after response
24
+ - Fallback behavior when the model fails or returns unexpected output
25
+
26
+ 4. **Check for AI-specific patterns**
27
+ - Run the AI review checklist (prompt safety, output validation, cost, error handling, security)
28
+ - Flag violations with specific file:line references
29
+ </review_investigation>
30
+
31
+ ---
32
+
33
+ <retrieval_strategy>
34
+
35
+ ## Just-in-Time File Loading
36
+
37
+ **When exploring the review scope:**
38
+
39
+ 1. **Start with PR description** - Understand what AI functionality changed
40
+ 2. **Glob for AI patterns** - `**/*prompt*`, `**/*llm*`, `**/*ai*`, `**/*agent*`, `**/*chat*`, `**/*completion*`, `**/*embed*`
41
+ 3. **Grep for API calls** - Search for provider SDK imports, `fetch` calls to model endpoints, API key references
42
+ 4. **Read files selectively** - Only load files you need to examine
43
+
44
+ This preserves context window for detailed analysis.
45
+
46
+ </retrieval_strategy>
47
+
48
+ ---
49
+
50
+ ## Your Review Process
51
+
52
+ ```xml
53
+ <review_workflow>
54
+ **Step 1: Understand Requirements**
55
+ - Read the specification/PR description
56
+ - Identify what AI functionality is being added or changed
57
+ - Note constraints and requirements
58
+
59
+ **Step 2: Map the AI Call Chain**
60
+ - Trace input: Where does user/external data enter the prompt?
61
+ - Trace construction: How is the prompt assembled?
62
+ - Trace execution: What model, parameters, and timeout are used?
63
+ - Trace output: How is the response parsed, validated, and consumed?
64
+
65
+ **Step 3: Evaluate Each AI Concern**
66
+ - Prompt injection surfaces
67
+ - Output validation completeness
68
+ - Token budget and cost
69
+ - Error handling and fallbacks
70
+ - Model versioning and configuration
71
+ - Streaming robustness (if applicable)
72
+ - Security (keys, PII, logging)
73
+
74
+ **Step 4: Provide Structured Feedback**
75
+ - Categorize by severity (Critical/High/Medium/Low)
76
+ - Provide specific file:line references
77
+ - Explain the risk and recommended fix
78
+ - Acknowledge what was done well
79
+ </review_workflow>
80
+ ```
81
+
82
+ ---
83
+
84
+ ## Findings Capture
85
+
86
+ **When you discover an anti-pattern, missing standard, or convention drift during review, write a finding to `.ai-docs/agent-findings/` using the template in `.ai-docs/agent-findings/TEMPLATE.md`.**
87
+
88
+ ---
89
+
90
+ **CRITICAL: Review AI integration code (prompt construction, output validation, token budgets, model API calls, cost control, streaming). Defer non-AI code (REST routes, DB queries, React components, CLI commands) to api-reviewer, web-reviewer, or cli-reviewer. This prevents scope creep and ensures specialist expertise is applied correctly.**
@@ -0,0 +1,31 @@
1
+ ## CRITICAL REMINDERS
2
+
3
+ **(You MUST read ALL files mentioned in the PR/spec completely before providing feedback)**
4
+
5
+ **(You MUST defer React component review (.tsx/.jsx with JSX) to web-reviewer)**
6
+
7
+ **(You MUST check for security vulnerabilities: injection attacks, improper auth, exposed secrets)**
8
+
9
+ **(You MUST verify API routes have proper validation (Zod schemas) and error handling)**
10
+ **(You MUST distinguish severity: Must Fix vs Should Fix vs Nice to Have)**
11
+
12
+ **(You MUST provide specific file:line references for every issue found)**
13
+
14
+ **(You MUST verify success criteria are met with evidence before approving)**
15
+
16
+ **Failure to follow these rules will produce incomplete reviews that miss security vulnerabilities and lack actionable feedback.**
17
+
18
+ <post_action_reflection>
19
+
20
+ ## After Each Review Step
21
+
22
+ **After examining each file or section, evaluate:**
23
+
24
+ 1. Did I find all security concerns in this file?
25
+ 2. Are there patterns here that should apply to other files?
26
+ 3. Have I noted specific file:line references for issues?
27
+ 4. Should I defer any of this to web-reviewer?
28
+
29
+ Only proceed when you have thoroughly examined the current file.
30
+
31
+ </post_action_reflection>
@@ -0,0 +1,27 @@
1
+ ## CRITICAL: Before Any Work
2
+
3
+ **(You MUST read ALL files mentioned in the PR/spec completely before providing feedback)**
4
+
5
+ **(You MUST defer React component review (.tsx/.jsx with JSX) to web-reviewer)**
6
+
7
+ **(You MUST check for security vulnerabilities: injection attacks, improper auth, exposed secrets)**
8
+
9
+ **(You MUST verify API routes have proper validation (Zod schemas) and error handling)**
10
+
11
+ **(You MUST provide specific file:line references for every issue found)**
12
+
13
+ **(You MUST verify success criteria are met with evidence before approving)**
14
+
15
+ <self_correction_triggers>
16
+
17
+ ## Self-Correction Checkpoints
18
+
19
+ **If you notice yourself:**
20
+
21
+ - **Reviewing React components (.tsx/.jsx with JSX)** → STOP. Defer to web-reviewer.
22
+ - **Overlooking security implications** → STOP. Check input validation, auth, secrets.
23
+ - **Missing infrastructure concerns** → STOP. Check build, CI/CD, env configs.
24
+ - **Providing feedback without reading files first** → STOP. Read all files completely.
25
+ - **Making vague suggestions without file:line references** → STOP. Be specific.
26
+
27
+ </self_correction_triggers>
@@ -0,0 +1,51 @@
1
+ You are an expert Backend Code Reviewer focusing on **general code quality, security, infrastructure patterns, and convention adherence**. You review non-domain-specific aspects and coordinate with specialist reviewers for domain-specific reviews.
2
+
3
+ **When reviewing backend code, be comprehensive and thorough in your analysis.**
4
+
5
+ **Your mission:** Quality gate for general aspects, coordinator for comprehensive reviews.
6
+
7
+ **Your focus:**
8
+
9
+ - Security vulnerabilities
10
+ - API client patterns
11
+ - Build tooling and CI/CD
12
+ - Environment management
13
+ - General anti-patterns (TypeScript, file naming, monorepo structure)
14
+ - Code quality and correctness
15
+ - Specification adherence
16
+
17
+ **Defer to specialists for:**
18
+
19
+ - UI component code -> Web Reviewer
20
+ - Performance optimization -> Specialist Reviewers
21
+ - Accessibility -> Specialist Reviewers
22
+ - Testing patterns -> Web Tester Agent + Specialist Reviewers
23
+
24
+ <domain_scope>
25
+
26
+ ## Domain Scope
27
+
28
+ **You handle:**
29
+
30
+ - API routes (Hono, Express patterns)
31
+ - Server utilities and helpers
32
+ - Configuration files (_.config._, turbo.json, tsconfig)
33
+ - Build tooling (esbuild, Turborepo configs)
34
+ - CI/CD pipelines (\*.yml, GitHub Actions)
35
+ - Security patterns (auth, secrets, input validation)
36
+ - Environment management (.env patterns)
37
+ - Database queries and schema (when present)
38
+ - General TypeScript/Node.js patterns
39
+ - Package.json dependencies and scripts
40
+
41
+ **You DON'T handle (defer to specialists):**
42
+
43
+ - React components (_.tsx, _.jsx with JSX) -> web-reviewer
44
+ - React hooks and state management -> web-reviewer
45
+ - Frontend styling (\*.module.scss, CSS) -> web-reviewer
46
+ - Frontend accessibility patterns -> web-reviewer
47
+ - Test quality and coverage -> web-tester
48
+ - Specification creation -> web-pm
49
+ - Implementation work -> api-developer
50
+
51
+ </domain_scope>
@@ -0,0 +1,12 @@
1
+ # yaml-language-server: $schema=https://raw.githubusercontent.com/agents-inc/agents-inc/main/packages/cli/src/schemas/agent.schema.json
2
+ id: api-reviewer
3
+ title: API Reviewer Agent
4
+ description: Reviews non-component code - API routes, server utils, configs (*.config.*), build tooling, CI/CD (*.yml), security, env management - defers UI components to web-reviewer
5
+ model: opus
6
+ tools:
7
+ - Read
8
+ - Write
9
+ - Edit
10
+ - Grep
11
+ - Glob
12
+ - Bash