agents-inc 0.152.1 → 0.154.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 (442) hide show
  1. package/CHANGELOG.md +57 -0
  2. package/README.md +31 -35
  3. package/dist/{chunk-FVDKAVOL.js → chunk-2IMYK4WN.js} +18 -51
  4. package/dist/chunk-2IMYK4WN.js.map +1 -0
  5. package/dist/{chunk-PMM2MYMA.js → chunk-4VCWL2IG.js} +649 -357
  6. package/dist/chunk-4VCWL2IG.js.map +1 -0
  7. package/dist/{chunk-PZIZNMHK.js → chunk-5MFJ24VM.js} +237 -150
  8. package/dist/chunk-5MFJ24VM.js.map +1 -0
  9. package/dist/{chunk-KXYVJGJP.js → chunk-6CNRMCFM.js} +3 -2
  10. package/dist/{chunk-KXYVJGJP.js.map → chunk-6CNRMCFM.js.map} +1 -1
  11. package/dist/chunk-7VZV4O6B.js +40 -0
  12. package/dist/chunk-7VZV4O6B.js.map +1 -0
  13. package/dist/{chunk-SX5H6TSC.js → chunk-AKQ5QISO.js} +11 -8
  14. package/dist/chunk-AKQ5QISO.js.map +1 -0
  15. package/dist/{chunk-BNSRA6HL.js → chunk-AURY6RT6.js} +39 -176
  16. package/dist/chunk-AURY6RT6.js.map +1 -0
  17. package/dist/{chunk-LZ52XEPR.js → chunk-B66SC72V.js} +7 -6
  18. package/dist/chunk-B66SC72V.js.map +1 -0
  19. package/dist/{chunk-LASI35KT.js → chunk-BZ4CZBOM.js} +14 -28
  20. package/dist/chunk-BZ4CZBOM.js.map +1 -0
  21. package/dist/chunk-CBF4ZYV3.js +18540 -0
  22. package/dist/chunk-CBF4ZYV3.js.map +1 -0
  23. package/dist/{chunk-5GUOIJSG.js → chunk-CHNA5RVS.js} +3 -15
  24. package/dist/chunk-CHNA5RVS.js.map +1 -0
  25. package/dist/{chunk-LDP5ASDM.js → chunk-DRKSYJZ2.js} +2 -19
  26. package/dist/chunk-DRKSYJZ2.js.map +1 -0
  27. package/dist/chunk-FMYHWKGG.js +325 -0
  28. package/dist/chunk-FMYHWKGG.js.map +1 -0
  29. package/dist/{chunk-SKQWRUPX.js → chunk-GUDGCFSF.js} +59 -33
  30. package/dist/chunk-GUDGCFSF.js.map +1 -0
  31. package/dist/{chunk-WKTHWQKM.js → chunk-IPJOMAWC.js} +5070 -6305
  32. package/dist/chunk-IPJOMAWC.js.map +1 -0
  33. package/dist/chunk-IXEDSKMH.js +48 -0
  34. package/dist/chunk-IXEDSKMH.js.map +1 -0
  35. package/dist/{chunk-TUPYW2IQ.js → chunk-JC7DBPRD.js} +9 -12
  36. package/dist/chunk-JC7DBPRD.js.map +1 -0
  37. package/dist/{chunk-ZL7PFNHN.js → chunk-K3O3YQYG.js} +2 -2
  38. package/dist/{chunk-QRDTLVXG.js → chunk-LA3JPESW.js} +9 -22
  39. package/dist/chunk-LA3JPESW.js.map +1 -0
  40. package/dist/{chunk-MWG4VU64.js → chunk-MJFIO5SX.js} +50 -74
  41. package/dist/chunk-MJFIO5SX.js.map +1 -0
  42. package/dist/{chunk-L7SZXUBJ.js → chunk-NFH6SA62.js} +7 -6
  43. package/dist/{chunk-L7SZXUBJ.js.map → chunk-NFH6SA62.js.map} +1 -1
  44. package/dist/{chunk-GRVKW3CC.js → chunk-NKCY2ULI.js} +3 -2
  45. package/dist/{chunk-GRVKW3CC.js.map → chunk-NKCY2ULI.js.map} +1 -1
  46. package/dist/{chunk-TJJPWUMA.js → chunk-NSJ2S7R5.js} +3 -2
  47. package/dist/{chunk-TJJPWUMA.js.map → chunk-NSJ2S7R5.js.map} +1 -1
  48. package/dist/{chunk-Q2KG7UV3.js → chunk-OJJLYHM3.js} +2 -1
  49. package/dist/{chunk-Q2KG7UV3.js.map → chunk-OJJLYHM3.js.map} +1 -1
  50. package/dist/{chunk-MJ2KHG24.js → chunk-ONWEOS77.js} +6 -6
  51. package/dist/{chunk-MJ2KHG24.js.map → chunk-ONWEOS77.js.map} +1 -1
  52. package/dist/{chunk-NR3OZGL4.js → chunk-OZXAJNLA.js} +2 -1
  53. package/dist/{chunk-NR3OZGL4.js.map → chunk-OZXAJNLA.js.map} +1 -1
  54. package/dist/{chunk-QZZJFYUQ.js → chunk-PRJD5MMQ.js} +3 -3
  55. package/dist/chunk-PRJD5MMQ.js.map +1 -0
  56. package/dist/{chunk-MM7CTTAV.js → chunk-Q5FLW4JG.js} +2 -2
  57. package/dist/{chunk-MM7CTTAV.js.map → chunk-Q5FLW4JG.js.map} +1 -1
  58. package/dist/{chunk-5UWKOOIS.js → chunk-QQTYMW7N.js} +131 -209
  59. package/dist/chunk-QQTYMW7N.js.map +1 -0
  60. package/dist/{chunk-MVR3SYMN.js → chunk-QUDQTO3O.js} +4 -3
  61. package/dist/{chunk-MVR3SYMN.js.map → chunk-QUDQTO3O.js.map} +1 -1
  62. package/dist/{chunk-76ADG7LQ.js → chunk-R54KIGN2.js} +8 -22
  63. package/dist/chunk-R54KIGN2.js.map +1 -0
  64. package/dist/{chunk-XHUODHZ4.js → chunk-R7JV22QK.js} +22 -49
  65. package/dist/chunk-R7JV22QK.js.map +1 -0
  66. package/dist/{chunk-E5X6RJ4E.js → chunk-TUQF577Z.js} +56 -53
  67. package/dist/chunk-TUQF577Z.js.map +1 -0
  68. package/dist/{chunk-IHUY4M22.js → chunk-UW44KSYL.js} +4 -4
  69. package/dist/{chunk-DTSG5XZB.js → chunk-V3ENMW7G.js} +3 -3
  70. package/dist/chunk-VZRO7RYT.js +3694 -0
  71. package/dist/chunk-VZRO7RYT.js.map +1 -0
  72. package/dist/{chunk-MQ7FLIYS.js → chunk-WRRP47PY.js} +3 -2
  73. package/dist/{chunk-MQ7FLIYS.js.map → chunk-WRRP47PY.js.map} +1 -1
  74. package/dist/{chunk-RNJWAKMO.js → chunk-XGMOXMS4.js} +9 -8
  75. package/dist/chunk-XGMOXMS4.js.map +1 -0
  76. package/dist/{chunk-STMHDOZD.js → chunk-XMEIVWAS.js} +12 -9
  77. package/dist/chunk-XMEIVWAS.js.map +1 -0
  78. package/dist/{chunk-IUQBOCSU.js → chunk-ZBPEFQ4G.js} +2 -1
  79. package/dist/{chunk-IUQBOCSU.js.map → chunk-ZBPEFQ4G.js.map} +1 -1
  80. package/dist/chunk-ZU6DAR4S.js +223 -0
  81. package/dist/chunk-ZU6DAR4S.js.map +1 -0
  82. package/dist/commands/build/marketplace.js +115 -35
  83. package/dist/commands/build/marketplace.js.map +1 -1
  84. package/dist/commands/build/plugins.js +9 -10
  85. package/dist/commands/build/plugins.js.map +1 -1
  86. package/dist/commands/compile.js +135 -70
  87. package/dist/commands/compile.js.map +1 -1
  88. package/dist/commands/doctor.js +793 -64
  89. package/dist/commands/doctor.js.map +1 -1
  90. package/dist/commands/edit.js +231 -236
  91. package/dist/commands/edit.js.map +1 -1
  92. package/dist/commands/eject.js +24 -39
  93. package/dist/commands/eject.js.map +1 -1
  94. package/dist/commands/init.js +41 -46
  95. package/dist/commands/list.js +10 -12
  96. package/dist/commands/list.js.map +1 -1
  97. package/dist/commands/search.js +35 -88
  98. package/dist/commands/search.js.map +1 -1
  99. package/dist/commands/uninstall.js +212 -167
  100. package/dist/commands/uninstall.js.map +1 -1
  101. package/dist/commands/update.js +82 -332
  102. package/dist/commands/update.js.map +1 -1
  103. package/dist/components/common/confirm.js +1 -1
  104. package/dist/components/common/prompt-confirm.js +1 -1
  105. package/dist/components/common/select-list.js +2 -2
  106. package/dist/components/common/spinner.js +1 -1
  107. package/dist/components/wizard/category-grid.js +5 -6
  108. package/dist/components/wizard/checkbox-grid.js +5 -6
  109. package/dist/components/wizard/domain-selection.js +12 -13
  110. package/dist/components/wizard/run-wizard-session.js +30 -36
  111. package/dist/components/wizard/scroll-affordance.js +2 -2
  112. package/dist/components/wizard/skill-agent-summary.js +7 -7
  113. package/dist/components/wizard/source-grid.js +6 -11
  114. package/dist/components/wizard/stack-selection.js +9 -9
  115. package/dist/components/wizard/step-agents.js +12 -12
  116. package/dist/components/wizard/step-build.js +10 -11
  117. package/dist/components/wizard/step-confirm.js +11 -11
  118. package/dist/components/wizard/step-sources.js +11 -17
  119. package/dist/components/wizard/step-stack.js +10 -10
  120. package/dist/components/wizard/summary-panel.js +10 -10
  121. package/dist/components/wizard/toast.js +2 -2
  122. package/dist/components/wizard/wizard-layout.js +15 -16
  123. package/dist/components/wizard/wizard-tabs.js +6 -12
  124. package/dist/components/wizard/wizard.js +29 -35
  125. package/dist/config-exports.js +1 -1
  126. package/dist/copy-local-skills-WVHJFRPK.js +14 -0
  127. package/dist/hooks/init.js +49 -48
  128. package/dist/hooks/init.js.map +1 -1
  129. package/dist/index.js +3 -1
  130. package/dist/index.js.map +1 -1
  131. package/dist/load-agent-defs-5OT54J5M.js +15 -0
  132. package/dist/{loader-5JP4S7CJ.js → loader-JIZDTR4G.js} +7 -5
  133. package/dist/recompile-project-agents-VREEPBDV.js +20 -0
  134. package/dist/{source-loader-MZYCPL2S.js → source-loader-OE6EJFPU.js} +6 -6
  135. package/dist/src/agents/developer/ai-developer/identity.md +4 -4
  136. package/dist/src/agents/developer/ai-developer/playbook.md +1 -1
  137. package/dist/src/agents/developer/api-developer/identity.md +4 -4
  138. package/dist/src/agents/developer/api-developer/metadata.yaml +1 -1
  139. package/dist/src/agents/developer/cli-developer/identity.md +4 -4
  140. package/dist/src/agents/developer/web-developer/identity.md +2 -2
  141. package/dist/src/agents/developer/web-developer/metadata.yaml +1 -1
  142. package/dist/src/agents/meta/agent-summoner/identity.md +4 -5
  143. package/dist/src/agents/meta/agent-summoner/output.md +2 -2
  144. package/dist/src/agents/meta/agent-summoner/playbook.md +15 -16
  145. package/dist/src/agents/meta/codex-keeper/identity.md +4 -4
  146. package/dist/src/agents/meta/codex-keeper/playbook.md +1 -1
  147. package/dist/src/agents/meta/convention-keeper/identity.md +1 -1
  148. package/dist/src/agents/meta/skill-summoner/critical-reminders.md +0 -34
  149. package/dist/src/agents/meta/skill-summoner/critical-requirements.md +27 -3
  150. package/dist/src/agents/meta/skill-summoner/identity.md +2 -2
  151. package/{src/agents/planning/web-pm → dist/src/agents/planning/pm}/critical-reminders.md +10 -7
  152. package/dist/src/agents/planning/{web-pm → pm}/critical-requirements.md +8 -4
  153. package/dist/src/agents/planning/pm/identity.md +47 -0
  154. package/dist/src/agents/planning/pm/metadata.yaml +12 -0
  155. package/dist/src/agents/planning/{web-pm → pm}/output.md +7 -90
  156. package/dist/src/agents/planning/pm/playbook.md +185 -0
  157. package/dist/src/agents/researcher/ai-researcher/critical-reminders.md +58 -0
  158. package/dist/src/agents/researcher/ai-researcher/critical-requirements.md +40 -0
  159. package/dist/src/agents/researcher/ai-researcher/identity.md +86 -0
  160. package/dist/src/agents/researcher/ai-researcher/metadata.yaml +10 -0
  161. package/dist/src/agents/researcher/ai-researcher/output.md +363 -0
  162. package/dist/src/agents/researcher/ai-researcher/playbook.md +545 -0
  163. package/dist/src/agents/researcher/api-researcher/critical-reminders.md +16 -0
  164. package/dist/src/agents/researcher/api-researcher/identity.md +7 -7
  165. package/dist/src/agents/researcher/cli-researcher/critical-reminders.md +50 -0
  166. package/dist/src/agents/researcher/cli-researcher/critical-requirements.md +36 -0
  167. package/dist/src/agents/researcher/cli-researcher/identity.md +87 -0
  168. package/dist/src/agents/researcher/cli-researcher/metadata.yaml +10 -0
  169. package/dist/src/agents/researcher/cli-researcher/output.md +343 -0
  170. package/dist/src/agents/researcher/cli-researcher/playbook.md +370 -0
  171. package/dist/src/agents/researcher/web-researcher/identity.md +5 -6
  172. package/dist/src/agents/reviewer/reviewer/critical-reminders.md +29 -0
  173. package/dist/src/agents/reviewer/reviewer/critical-requirements.md +31 -0
  174. package/dist/src/agents/reviewer/reviewer/identity.md +41 -0
  175. package/dist/src/agents/reviewer/reviewer/metadata.yaml +12 -0
  176. package/dist/src/agents/reviewer/reviewer/output.md +202 -0
  177. package/dist/src/agents/reviewer/reviewer/playbook.md +141 -0
  178. package/dist/src/agents/tester/ai-tester/critical-reminders.md +48 -0
  179. package/dist/src/agents/tester/ai-tester/critical-requirements.md +49 -0
  180. package/dist/src/agents/tester/ai-tester/identity.md +62 -0
  181. package/dist/src/agents/tester/ai-tester/metadata.yaml +12 -0
  182. package/dist/src/agents/tester/ai-tester/output.md +375 -0
  183. package/dist/src/agents/tester/ai-tester/playbook.md +789 -0
  184. package/dist/src/agents/tester/api-tester/identity.md +3 -3
  185. package/dist/src/agents/tester/cli-tester/critical-reminders.md +3 -3
  186. package/dist/src/agents/tester/cli-tester/critical-requirements.md +2 -2
  187. package/dist/src/agents/tester/cli-tester/identity.md +3 -3
  188. package/dist/src/agents/tester/cli-tester/output.md +4 -4
  189. package/dist/src/agents/tester/cli-tester/playbook.md +3 -3
  190. package/dist/src/agents/tester/web-tester/identity.md +3 -3
  191. package/dist/stores/wizard-store.js +8 -6
  192. package/package.json +13 -2
  193. package/src/agents/developer/ai-developer/identity.md +4 -4
  194. package/src/agents/developer/ai-developer/playbook.md +1 -1
  195. package/src/agents/developer/api-developer/identity.md +4 -4
  196. package/src/agents/developer/api-developer/metadata.yaml +1 -1
  197. package/src/agents/developer/cli-developer/identity.md +4 -4
  198. package/src/agents/developer/web-developer/identity.md +2 -2
  199. package/src/agents/developer/web-developer/metadata.yaml +1 -1
  200. package/src/agents/meta/agent-summoner/identity.md +4 -5
  201. package/src/agents/meta/agent-summoner/output.md +2 -2
  202. package/src/agents/meta/agent-summoner/playbook.md +15 -16
  203. package/src/agents/meta/codex-keeper/identity.md +4 -4
  204. package/src/agents/meta/codex-keeper/playbook.md +1 -1
  205. package/src/agents/meta/convention-keeper/identity.md +1 -1
  206. package/src/agents/meta/skill-summoner/critical-reminders.md +0 -34
  207. package/src/agents/meta/skill-summoner/critical-requirements.md +27 -3
  208. package/src/agents/meta/skill-summoner/identity.md +2 -2
  209. package/{dist/src/agents/planning/web-pm → src/agents/planning/pm}/critical-reminders.md +10 -7
  210. package/src/agents/planning/{web-pm → pm}/critical-requirements.md +8 -4
  211. package/src/agents/planning/pm/identity.md +47 -0
  212. package/src/agents/planning/pm/metadata.yaml +12 -0
  213. package/src/agents/planning/{web-pm → pm}/output.md +7 -90
  214. package/src/agents/planning/pm/playbook.md +185 -0
  215. package/src/agents/researcher/ai-researcher/critical-reminders.md +58 -0
  216. package/src/agents/researcher/ai-researcher/critical-requirements.md +40 -0
  217. package/src/agents/researcher/ai-researcher/identity.md +86 -0
  218. package/src/agents/researcher/ai-researcher/metadata.yaml +10 -0
  219. package/src/agents/researcher/ai-researcher/output.md +363 -0
  220. package/src/agents/researcher/ai-researcher/playbook.md +545 -0
  221. package/src/agents/researcher/api-researcher/critical-reminders.md +16 -0
  222. package/src/agents/researcher/api-researcher/identity.md +7 -7
  223. package/src/agents/researcher/cli-researcher/critical-reminders.md +50 -0
  224. package/src/agents/researcher/cli-researcher/critical-requirements.md +36 -0
  225. package/src/agents/researcher/cli-researcher/identity.md +87 -0
  226. package/src/agents/researcher/cli-researcher/metadata.yaml +10 -0
  227. package/src/agents/researcher/cli-researcher/output.md +343 -0
  228. package/src/agents/researcher/cli-researcher/playbook.md +370 -0
  229. package/src/agents/researcher/web-researcher/identity.md +5 -6
  230. package/src/agents/reviewer/reviewer/critical-reminders.md +29 -0
  231. package/src/agents/reviewer/reviewer/critical-requirements.md +31 -0
  232. package/src/agents/reviewer/reviewer/identity.md +41 -0
  233. package/src/agents/reviewer/reviewer/metadata.yaml +12 -0
  234. package/src/agents/reviewer/reviewer/output.md +202 -0
  235. package/src/agents/reviewer/reviewer/playbook.md +141 -0
  236. package/src/agents/tester/ai-tester/critical-reminders.md +48 -0
  237. package/src/agents/tester/ai-tester/critical-requirements.md +49 -0
  238. package/src/agents/tester/ai-tester/identity.md +62 -0
  239. package/src/agents/tester/ai-tester/metadata.yaml +12 -0
  240. package/src/agents/tester/ai-tester/output.md +375 -0
  241. package/src/agents/tester/ai-tester/playbook.md +789 -0
  242. package/src/agents/tester/api-tester/identity.md +3 -3
  243. package/src/agents/tester/cli-tester/critical-reminders.md +3 -3
  244. package/src/agents/tester/cli-tester/critical-requirements.md +2 -2
  245. package/src/agents/tester/cli-tester/identity.md +3 -3
  246. package/src/agents/tester/cli-tester/output.md +4 -4
  247. package/src/agents/tester/cli-tester/playbook.md +3 -3
  248. package/src/agents/tester/web-tester/identity.md +3 -3
  249. package/src/schemas/metadata.schema.json +31 -2
  250. package/src/schemas/plugin.schema.json +3 -0
  251. package/src/schemas/project-config.schema.json +61 -15
  252. package/src/schemas/project-source-config.schema.json +0 -47
  253. package/dist/chunk-5GUOIJSG.js.map +0 -1
  254. package/dist/chunk-5UWKOOIS.js.map +0 -1
  255. package/dist/chunk-76ADG7LQ.js.map +0 -1
  256. package/dist/chunk-BNSRA6HL.js.map +0 -1
  257. package/dist/chunk-E5X6RJ4E.js.map +0 -1
  258. package/dist/chunk-EEPELKOM.js +0 -5938
  259. package/dist/chunk-EEPELKOM.js.map +0 -1
  260. package/dist/chunk-F7T5AFFN.js +0 -20
  261. package/dist/chunk-F7T5AFFN.js.map +0 -1
  262. package/dist/chunk-FVDKAVOL.js.map +0 -1
  263. package/dist/chunk-KFB5CRXZ.js +0 -377
  264. package/dist/chunk-KFB5CRXZ.js.map +0 -1
  265. package/dist/chunk-KR65TPKC.js +0 -664
  266. package/dist/chunk-KR65TPKC.js.map +0 -1
  267. package/dist/chunk-LASI35KT.js.map +0 -1
  268. package/dist/chunk-LDP5ASDM.js.map +0 -1
  269. package/dist/chunk-LZ52XEPR.js.map +0 -1
  270. package/dist/chunk-M7HO7NBK.js +0 -88
  271. package/dist/chunk-M7HO7NBK.js.map +0 -1
  272. package/dist/chunk-MWG4VU64.js.map +0 -1
  273. package/dist/chunk-ODNDXQH2.js +0 -77
  274. package/dist/chunk-ODNDXQH2.js.map +0 -1
  275. package/dist/chunk-P44SXVH3.js +0 -80
  276. package/dist/chunk-P44SXVH3.js.map +0 -1
  277. package/dist/chunk-PMM2MYMA.js.map +0 -1
  278. package/dist/chunk-PZIZNMHK.js.map +0 -1
  279. package/dist/chunk-Q45ZU6HD.js +0 -37
  280. package/dist/chunk-Q45ZU6HD.js.map +0 -1
  281. package/dist/chunk-QRDTLVXG.js.map +0 -1
  282. package/dist/chunk-QZZJFYUQ.js.map +0 -1
  283. package/dist/chunk-R5NOI2LP.js +0 -170
  284. package/dist/chunk-R5NOI2LP.js.map +0 -1
  285. package/dist/chunk-RNJWAKMO.js.map +0 -1
  286. package/dist/chunk-SBHBBZKF.js +0 -284
  287. package/dist/chunk-SBHBBZKF.js.map +0 -1
  288. package/dist/chunk-SKQWRUPX.js.map +0 -1
  289. package/dist/chunk-STMHDOZD.js.map +0 -1
  290. package/dist/chunk-SX5H6TSC.js.map +0 -1
  291. package/dist/chunk-TUPYW2IQ.js.map +0 -1
  292. package/dist/chunk-UBEDZ4FD.js +0 -4198
  293. package/dist/chunk-UBEDZ4FD.js.map +0 -1
  294. package/dist/chunk-VY6MNOXL.js +0 -20
  295. package/dist/chunk-VY6MNOXL.js.map +0 -1
  296. package/dist/chunk-WBCPLH66.js +0 -42
  297. package/dist/chunk-WBCPLH66.js.map +0 -1
  298. package/dist/chunk-WKTHWQKM.js.map +0 -1
  299. package/dist/chunk-XHUODHZ4.js.map +0 -1
  300. package/dist/chunk-ZPPHXXAP.js +0 -252
  301. package/dist/chunk-ZPPHXXAP.js.map +0 -1
  302. package/dist/commands/import/skill.js +0 -344
  303. package/dist/commands/import/skill.js.map +0 -1
  304. package/dist/commands/new/agent.js +0 -300
  305. package/dist/commands/new/agent.js.map +0 -1
  306. package/dist/commands/new/marketplace.js +0 -310
  307. package/dist/commands/new/marketplace.js.map +0 -1
  308. package/dist/commands/new/skill.js +0 -26
  309. package/dist/commands/validate.js +0 -575
  310. package/dist/commands/validate.js.map +0 -1
  311. package/dist/components/wizard/search-modal.js +0 -13
  312. package/dist/components/wizard/selection-card.js +0 -9
  313. package/dist/components/wizard/step-settings.js +0 -18
  314. package/dist/copy-local-skills-6EMVN7RB.js +0 -14
  315. package/dist/load-agent-defs-BWOUVEAR.js +0 -15
  316. package/dist/load-agent-defs-BWOUVEAR.js.map +0 -1
  317. package/dist/loader-5JP4S7CJ.js.map +0 -1
  318. package/dist/recompile-project-agents-6DL45TDI.js +0 -19
  319. package/dist/recompile-project-agents-6DL45TDI.js.map +0 -1
  320. package/dist/source-loader-MZYCPL2S.js.map +0 -1
  321. package/dist/src/agents/developer/web-architecture/critical-reminders.md +0 -48
  322. package/dist/src/agents/developer/web-architecture/critical-requirements.md +0 -65
  323. package/dist/src/agents/developer/web-architecture/identity.md +0 -64
  324. package/dist/src/agents/developer/web-architecture/metadata.yaml +0 -12
  325. package/dist/src/agents/developer/web-architecture/output.md +0 -449
  326. package/dist/src/agents/developer/web-architecture/playbook.md +0 -481
  327. package/dist/src/agents/pattern/pattern-scout/critical-reminders.md +0 -71
  328. package/dist/src/agents/pattern/pattern-scout/critical-requirements.md +0 -31
  329. package/dist/src/agents/pattern/pattern-scout/identity.md +0 -25
  330. package/dist/src/agents/pattern/pattern-scout/metadata.yaml +0 -10
  331. package/dist/src/agents/pattern/pattern-scout/output.md +0 -290
  332. package/dist/src/agents/pattern/pattern-scout/playbook.md +0 -1806
  333. package/dist/src/agents/pattern/web-pattern-critique/critical-reminders.md +0 -30
  334. package/dist/src/agents/pattern/web-pattern-critique/critical-requirements.md +0 -28
  335. package/dist/src/agents/pattern/web-pattern-critique/identity.md +0 -41
  336. package/dist/src/agents/pattern/web-pattern-critique/metadata.yaml +0 -12
  337. package/dist/src/agents/pattern/web-pattern-critique/output.md +0 -314
  338. package/dist/src/agents/pattern/web-pattern-critique/playbook.md +0 -572
  339. package/dist/src/agents/planning/api-pm/critical-reminders.md +0 -48
  340. package/dist/src/agents/planning/api-pm/critical-requirements.md +0 -41
  341. package/dist/src/agents/planning/api-pm/identity.md +0 -39
  342. package/dist/src/agents/planning/api-pm/metadata.yaml +0 -12
  343. package/dist/src/agents/planning/api-pm/output.md +0 -475
  344. package/dist/src/agents/planning/api-pm/playbook.md +0 -129
  345. package/dist/src/agents/planning/web-pm/identity.md +0 -26
  346. package/dist/src/agents/planning/web-pm/metadata.yaml +0 -12
  347. package/dist/src/agents/planning/web-pm/playbook.md +0 -318
  348. package/dist/src/agents/reviewer/ai-reviewer/critical-reminders.md +0 -40
  349. package/dist/src/agents/reviewer/ai-reviewer/critical-requirements.md +0 -37
  350. package/dist/src/agents/reviewer/ai-reviewer/identity.md +0 -51
  351. package/dist/src/agents/reviewer/ai-reviewer/metadata.yaml +0 -10
  352. package/dist/src/agents/reviewer/ai-reviewer/output.md +0 -395
  353. package/dist/src/agents/reviewer/ai-reviewer/playbook.md +0 -90
  354. package/dist/src/agents/reviewer/api-reviewer/critical-reminders.md +0 -31
  355. package/dist/src/agents/reviewer/api-reviewer/critical-requirements.md +0 -27
  356. package/dist/src/agents/reviewer/api-reviewer/identity.md +0 -51
  357. package/dist/src/agents/reviewer/api-reviewer/metadata.yaml +0 -12
  358. package/dist/src/agents/reviewer/api-reviewer/output.md +0 -343
  359. package/dist/src/agents/reviewer/api-reviewer/playbook.md +0 -288
  360. package/dist/src/agents/reviewer/cli-reviewer/critical-reminders.md +0 -33
  361. package/dist/src/agents/reviewer/cli-reviewer/critical-requirements.md +0 -30
  362. package/dist/src/agents/reviewer/cli-reviewer/identity.md +0 -44
  363. package/dist/src/agents/reviewer/cli-reviewer/metadata.yaml +0 -12
  364. package/dist/src/agents/reviewer/cli-reviewer/output.md +0 -414
  365. package/dist/src/agents/reviewer/cli-reviewer/playbook.md +0 -218
  366. package/dist/src/agents/reviewer/infra-reviewer/critical-reminders.md +0 -38
  367. package/dist/src/agents/reviewer/infra-reviewer/critical-requirements.md +0 -38
  368. package/dist/src/agents/reviewer/infra-reviewer/identity.md +0 -53
  369. package/dist/src/agents/reviewer/infra-reviewer/metadata.yaml +0 -10
  370. package/dist/src/agents/reviewer/infra-reviewer/output.md +0 -364
  371. package/dist/src/agents/reviewer/infra-reviewer/playbook.md +0 -161
  372. package/dist/src/agents/reviewer/web-reviewer/critical-reminders.md +0 -31
  373. package/dist/src/agents/reviewer/web-reviewer/critical-requirements.md +0 -26
  374. package/dist/src/agents/reviewer/web-reviewer/identity.md +0 -40
  375. package/dist/src/agents/reviewer/web-reviewer/metadata.yaml +0 -12
  376. package/dist/src/agents/reviewer/web-reviewer/output.md +0 -333
  377. package/dist/src/agents/reviewer/web-reviewer/playbook.md +0 -156
  378. package/src/agents/developer/web-architecture/critical-reminders.md +0 -48
  379. package/src/agents/developer/web-architecture/critical-requirements.md +0 -65
  380. package/src/agents/developer/web-architecture/identity.md +0 -64
  381. package/src/agents/developer/web-architecture/metadata.yaml +0 -12
  382. package/src/agents/developer/web-architecture/output.md +0 -449
  383. package/src/agents/developer/web-architecture/playbook.md +0 -481
  384. package/src/agents/pattern/pattern-scout/critical-reminders.md +0 -71
  385. package/src/agents/pattern/pattern-scout/critical-requirements.md +0 -31
  386. package/src/agents/pattern/pattern-scout/identity.md +0 -25
  387. package/src/agents/pattern/pattern-scout/metadata.yaml +0 -10
  388. package/src/agents/pattern/pattern-scout/output.md +0 -290
  389. package/src/agents/pattern/pattern-scout/playbook.md +0 -1806
  390. package/src/agents/pattern/web-pattern-critique/critical-reminders.md +0 -30
  391. package/src/agents/pattern/web-pattern-critique/critical-requirements.md +0 -28
  392. package/src/agents/pattern/web-pattern-critique/identity.md +0 -41
  393. package/src/agents/pattern/web-pattern-critique/metadata.yaml +0 -12
  394. package/src/agents/pattern/web-pattern-critique/output.md +0 -314
  395. package/src/agents/pattern/web-pattern-critique/playbook.md +0 -572
  396. package/src/agents/planning/api-pm/critical-reminders.md +0 -48
  397. package/src/agents/planning/api-pm/critical-requirements.md +0 -41
  398. package/src/agents/planning/api-pm/identity.md +0 -39
  399. package/src/agents/planning/api-pm/metadata.yaml +0 -12
  400. package/src/agents/planning/api-pm/output.md +0 -475
  401. package/src/agents/planning/api-pm/playbook.md +0 -129
  402. package/src/agents/planning/web-pm/identity.md +0 -26
  403. package/src/agents/planning/web-pm/metadata.yaml +0 -12
  404. package/src/agents/planning/web-pm/playbook.md +0 -318
  405. package/src/agents/reviewer/ai-reviewer/critical-reminders.md +0 -40
  406. package/src/agents/reviewer/ai-reviewer/critical-requirements.md +0 -37
  407. package/src/agents/reviewer/ai-reviewer/identity.md +0 -51
  408. package/src/agents/reviewer/ai-reviewer/metadata.yaml +0 -10
  409. package/src/agents/reviewer/ai-reviewer/output.md +0 -395
  410. package/src/agents/reviewer/ai-reviewer/playbook.md +0 -90
  411. package/src/agents/reviewer/api-reviewer/critical-reminders.md +0 -31
  412. package/src/agents/reviewer/api-reviewer/critical-requirements.md +0 -27
  413. package/src/agents/reviewer/api-reviewer/identity.md +0 -51
  414. package/src/agents/reviewer/api-reviewer/metadata.yaml +0 -12
  415. package/src/agents/reviewer/api-reviewer/output.md +0 -343
  416. package/src/agents/reviewer/api-reviewer/playbook.md +0 -288
  417. package/src/agents/reviewer/cli-reviewer/critical-reminders.md +0 -33
  418. package/src/agents/reviewer/cli-reviewer/critical-requirements.md +0 -30
  419. package/src/agents/reviewer/cli-reviewer/identity.md +0 -44
  420. package/src/agents/reviewer/cli-reviewer/metadata.yaml +0 -12
  421. package/src/agents/reviewer/cli-reviewer/output.md +0 -414
  422. package/src/agents/reviewer/cli-reviewer/playbook.md +0 -218
  423. package/src/agents/reviewer/infra-reviewer/critical-reminders.md +0 -38
  424. package/src/agents/reviewer/infra-reviewer/critical-requirements.md +0 -38
  425. package/src/agents/reviewer/infra-reviewer/identity.md +0 -53
  426. package/src/agents/reviewer/infra-reviewer/metadata.yaml +0 -10
  427. package/src/agents/reviewer/infra-reviewer/output.md +0 -364
  428. package/src/agents/reviewer/infra-reviewer/playbook.md +0 -161
  429. package/src/agents/reviewer/web-reviewer/critical-reminders.md +0 -31
  430. package/src/agents/reviewer/web-reviewer/critical-requirements.md +0 -26
  431. package/src/agents/reviewer/web-reviewer/identity.md +0 -40
  432. package/src/agents/reviewer/web-reviewer/metadata.yaml +0 -12
  433. package/src/agents/reviewer/web-reviewer/output.md +0 -333
  434. package/src/agents/reviewer/web-reviewer/playbook.md +0 -156
  435. /package/dist/{chunk-ZL7PFNHN.js.map → chunk-K3O3YQYG.js.map} +0 -0
  436. /package/dist/{chunk-IHUY4M22.js.map → chunk-UW44KSYL.js.map} +0 -0
  437. /package/dist/{chunk-DTSG5XZB.js.map → chunk-V3ENMW7G.js.map} +0 -0
  438. /package/dist/{commands/new/skill.js.map → copy-local-skills-WVHJFRPK.js.map} +0 -0
  439. /package/dist/{components/wizard/search-modal.js.map → load-agent-defs-5OT54J5M.js.map} +0 -0
  440. /package/dist/{components/wizard/selection-card.js.map → loader-JIZDTR4G.js.map} +0 -0
  441. /package/dist/{components/wizard/step-settings.js.map → recompile-project-agents-VREEPBDV.js.map} +0 -0
  442. /package/dist/{copy-local-skills-6EMVN7RB.js.map → source-loader-OE6EJFPU.js.map} +0 -0
@@ -1,12 +0,0 @@
1
- # yaml-language-server: $schema=https://raw.githubusercontent.com/agents-inc/agents-inc/main/packages/cli/src/schemas/agent.schema.json
2
- id: api-pm
3
- title: API PM and Architect Agent
4
- description: Creates detailed backend implementation specs - API contract design, database schema, middleware ordering, auth flow architecture, error handling strategy - invoke BEFORE api-developer for any backend feature
5
- model: opus
6
- tools:
7
- - Read
8
- - Write
9
- - Edit
10
- - Grep
11
- - Glob
12
- - Bash
@@ -1,475 +0,0 @@
1
- ## Output Format
2
-
3
- <output_format>
4
- Provide your specification in this structure:
5
-
6
- <goal>
7
- [Clear, concise description of the backend capability being specified — one sentence]
8
-
9
- **User Story:** As a [consumer type — frontend, service, external client], I need [API capability] so that [benefit].
10
- </goal>
11
-
12
- <context>
13
-
14
- ## Why This Matters
15
-
16
- **Business Problem:** [What backend capability is missing]
17
- **Consumer Impact:** [How downstream consumers — frontend, other services — are affected]
18
- **Priority:** [Critical | High | Medium | Low]
19
-
20
- ## Current State
21
-
22
- - [What exists now — with file references to existing routes, schemas, middleware]
23
- - [Current technical limitation or gap]
24
-
25
- ## Desired State
26
-
27
- - [What will exist after implementation]
28
- - [How the API surface changes]
29
-
30
- </context>
31
-
32
- <existing_patterns>
33
-
34
- ## Pattern Files to Reference
35
-
36
- **Before implementing, api-developer MUST read these files:**
37
-
38
- | Priority | File | Lines | Pattern Demonstrated |
39
- | -------- | ---------------------------- | ----- | ----------------------------------- |
40
- | 1 | [/path/to/similar/route.ts] | [X-Y] | [Route structure, middleware chain] |
41
- | 2 | [/path/to/similar/schema.ts] | [X-Y] | [Table definition, relationships] |
42
- | 3 | [/path/to/middleware.ts] | [X-Y] | [Auth/validation pattern to reuse] |
43
-
44
- **Why these patterns:**
45
-
46
- - [Pattern 1]: [Why this is the right route reference]
47
- - [Pattern 2]: [Why this schema matches our needs]
48
-
49
- </existing_patterns>
50
-
51
- <api_contract>
52
-
53
- ## API Contract
54
-
55
- ### [METHOD] [/api/path]
56
-
57
- **Auth:** [middleware name + permission/role | public]
58
- **Rate Limit:** [limit | none]
59
-
60
- **Request:**
61
-
62
- | Parameter | Location | Type | Required | Description |
63
- | --------- | ----------------- | ------ | -------- | ------------ |
64
- | [name] | [path/query/body] | [type] | [yes/no] | [what it is] |
65
-
66
- **Success Response:** [status code]
67
-
68
- ```
69
- {
70
- // Response shape with field types and descriptions
71
- }
72
- ```
73
-
74
- **Error Responses:**
75
-
76
- | Status | Condition | Response Body |
77
- | ------ | -------------------- | ----------------------------------- |
78
- | 400 | [Validation failure] | `{ error: string, details: [...] }` |
79
- | 401 | [Auth failure] | `{ error: string }` |
80
- | 403 | [Permission failure] | `{ error: string }` |
81
- | 404 | [Resource not found] | `{ error: string }` |
82
-
83
- ### [Next endpoint...]
84
-
85
- </api_contract>
86
-
87
- <database_schema>
88
-
89
- ## Database Schema
90
-
91
- ### Table: [table_name]
92
-
93
- **Pattern Source:** [/path/to/similar/schema.ts:lines]
94
-
95
- | Column | Type | Constraints | Purpose |
96
- | --------- | --------- | ----------------------------- | ------------------ |
97
- | id | uuid | PK, default gen_random_uuid() | Primary identifier |
98
- | [name] | [type] | [nullable, unique, FK, etc.] | [Why needed] |
99
- | createdAt | timestamp | NOT NULL, default now() | Audit trail |
100
- | updatedAt | timestamp | NOT NULL, default now() | Audit trail |
101
- | deletedAt | timestamp | nullable | Soft delete |
102
-
103
- **Relationships:**
104
-
105
- - [one-to-many / many-to-many] with [other_table] via [FK / join table]
106
-
107
- **Indexes:**
108
-
109
- | Columns | Type | Purpose |
110
- | ------------ | ------------------ | --------------------------- |
111
- | [col1, col2] | [btree/unique/gin] | [Query optimization reason] |
112
-
113
- **Migration Strategy:**
114
-
115
- - Reversible: [Yes / No — why not]
116
- - Data migration needed: [Yes — describe / No]
117
- - Downtime required: [Yes — why / No]
118
-
119
- </database_schema>
120
-
121
- <middleware_requirements>
122
-
123
- ## Middleware Requirements
124
-
125
- **Request Pipeline Order:**
126
-
127
- 1. [Rate limiting — if applicable]
128
- 2. [Auth middleware — which one]
129
- 3. [Input validation — schema reference]
130
- 4. [Business logic handler]
131
- 5. [Response serialization]
132
-
133
- **New Middleware Needed:** [None — reuse existing | Description of what's needed and why existing won't work]
134
-
135
- **Existing Middleware to Reuse:**
136
-
137
- - [middleware name] from [/path:lines] — [purpose]
138
-
139
- </middleware_requirements>
140
-
141
- <technical_requirements>
142
-
143
- ## Requirements
144
-
145
- ### Must Have (MVP)
146
-
147
- 1. [Requirement — specific and measurable]
148
- 2. [Requirement — specific and measurable]
149
-
150
- ### Should Have (If Time Permits)
151
-
152
- 1. [Enhancement]
153
-
154
- ### Must NOT Have (Explicitly Out of Scope)
155
-
156
- 1. [Feature excluded] — [Why excluded]
157
- 2. [Feature excluded] — [Why excluded]
158
-
159
- </technical_requirements>
160
-
161
- <constraints>
162
-
163
- ## Constraints
164
-
165
- ### Scope Boundaries
166
-
167
- **Files to Modify:**
168
-
169
- - [/path/to/route.ts] — [What changes]
170
- - [/path/to/schema.ts] — [What changes]
171
-
172
- **Files to Create:**
173
-
174
- - [/path/to/new-route.ts] — [Purpose]
175
-
176
- **Files NOT to Touch:**
177
-
178
- - [/path/to/file.ts] — [Why off-limits]
179
-
180
- ### Technical Constraints
181
-
182
- - [Constraint — e.g., "Must use existing validation middleware"]
183
- - [Constraint — e.g., "Must maintain backward compatibility with v1 API"]
184
- - [Constraint — e.g., "No new ORM dependencies"]
185
-
186
- ### Dependencies
187
-
188
- - **Requires:** [Other features/services this depends on]
189
- - **Blocks:** [Features/services waiting on this]
190
-
191
- </constraints>
192
-
193
- <success_criteria>
194
-
195
- ## Success Criteria
196
-
197
- ### Functional Requirements
198
-
199
- | Criterion | How to Verify |
200
- | ---------------------------------- | ---------------------------- |
201
- | [Endpoint returns X when Y] | [curl command / test name] |
202
- | [Schema constraint enforced] | [SQL check / migration test] |
203
- | [Auth rejects unauthorized access] | [401/403 test scenario] |
204
-
205
- ### Technical Requirements
206
-
207
- | Criterion | How to Verify |
208
- | -------------------------------- | ------------------------------ |
209
- | [Tests pass] | [test command] |
210
- | [No type errors] | `tsc --noEmit` |
211
- | [Follows existing patterns] | [Reference pattern file] |
212
- | [No modifications outside scope] | `git diff -- [excluded paths]` |
213
-
214
- ### Non-Functional Requirements
215
-
216
- | Criterion | How to Verify |
217
- | ------------------------------- | ---------------------------------- |
218
- | [Response time < X ms] | [Performance test / manual timing] |
219
- | [Handles N concurrent requests] | [Load test scenario] |
220
-
221
- </success_criteria>
222
-
223
- <implementation_notes>
224
-
225
- ## Role-Specific Guidance
226
-
227
- ### For api-developer
228
-
229
- **Investigation Phase:**
230
-
231
- 1. Read all pattern files listed above (priority order)
232
- 2. Understand the route/middleware/schema patterns before implementing
233
- 3. Check for existing utilities in /lib, /utils
234
-
235
- **Implementation Order:**
236
-
237
- 1. [First step — usually schema/migration]
238
- 2. [Second step — core route handlers]
239
- 3. [Third step — middleware integration]
240
-
241
- **Key Decisions Already Made:**
242
-
243
- - [Decision] — [Rationale]
244
-
245
- ### For api-tester
246
-
247
- **Test Coverage Requirements:**
248
-
249
- - Happy path: [Specific endpoint scenarios]
250
- - Error cases: [Specific error conditions per endpoint]
251
- - Edge cases: [Boundary conditions — empty lists, max pagination, concurrent mutations]
252
- - Auth: [Unauthorized access, expired tokens, insufficient permissions]
253
-
254
- ### For api-reviewer
255
-
256
- **Focus Areas:**
257
-
258
- - [SQL injection prevention — parameterized queries]
259
- - [Auth middleware applied to correct routes]
260
- - [Transaction boundaries for multi-step operations]
261
- - [Error response consistency]
262
-
263
- </implementation_notes>
264
-
265
- <questions>
266
-
267
- ## Open Questions (If Any)
268
-
269
- **Resolved:**
270
-
271
- - Q: [Question] → A: [Answer/decision made]
272
-
273
- **Needs Clarification:**
274
-
275
- - Q: [Unanswered question that may affect implementation]
276
-
277
- </questions>
278
-
279
- </output_format>
280
-
281
- ---
282
-
283
- ## Section Guidelines
284
-
285
- ### What Makes a Good Backend Spec
286
-
287
- | Principle | Example |
288
- | ------------------------------------ | ----------------------------------------------------------- |
289
- | **Specific endpoint definitions** | `GET /api/v1/users?cursor=X&limit=20` not "user listing" |
290
- | **Explicit request/response shapes** | `{ id: uuid, name: string, email: string }` not "user data" |
291
- | **Auth per endpoint** | "Requires authMiddleware + adminGuard" not "protected" |
292
- | **Error catalog per endpoint** | "400/401/403/404/409" not "handle errors" |
293
- | **Schema with constraints** | "email: varchar(255), UNIQUE, NOT NULL" not "email column" |
294
- | **No implementation code** | WHAT contracts and schemas, not HOW to code them |
295
-
296
- ### Spec Quality Checklist
297
-
298
- Before delivering a spec, verify:
299
-
300
- - [ ] All pattern references have specific file:line locations
301
- - [ ] Every endpoint has method, path, request shape, response shape, error catalog, and auth requirement
302
- - [ ] Database schema has column types, constraints, relationships, indexes, and migration strategy
303
- - [ ] Success criteria are measurable (testable with curl commands or automated tests)
304
- - [ ] Scope is bounded (what's IN and what's OUT)
305
- - [ ] No implementation code (only architecture/behavior)
306
- - [ ] api-developer can implement autonomously
307
- - [ ] api-tester knows what to test
308
- - [ ] api-reviewer knows what to focus on
309
-
310
- ### Relationship to Other Agents
311
-
312
- | This Spec Feeds To | What They Need |
313
- | ------------------ | --------------------------------------------------------------- |
314
- | **api-developer** | Endpoint contracts, schema definitions, middleware requirements |
315
- | **api-tester** | Endpoint behaviors, error conditions, auth scenarios |
316
- | **api-reviewer** | Security requirements, pattern references, scope limits |
317
- | **web-pm** | API contract shapes (for frontend integration specs) |
318
-
319
- ## Example Specification
320
-
321
- ````markdown
322
- # User Profile API
323
-
324
- ## Goal
325
-
326
- Add CRUD endpoints for user profiles so the frontend can display and edit user information.
327
-
328
- ## Context
329
-
330
- **Why:** Frontend team needs profile data for the new dashboard (Issue #456). Currently no profile endpoints exist.
331
-
332
- **Current State:**
333
-
334
- - Auth: `middleware/auth.ts:12-45` — JWT validation middleware exists
335
- - Users table: `db/schema/users.ts:1-34` — has id, email, passwordHash, createdAt
336
- - Route pattern: `routes/jobs.ts:1-89` — Hono route with OpenAPI registration
337
-
338
- **Desired State:** Full profile CRUD with avatar URL support. Frontend calls these endpoints from the dashboard.
339
-
340
- ## Patterns to Follow
341
-
342
- api-developer MUST read these files before implementation:
343
-
344
- 1. **Route structure:** `routes/jobs.ts:12-67` — Hono createRoute with OpenAPI, response shapes
345
- 2. **Schema pattern:** `db/schema/jobs.ts:1-45` — Column naming, soft delete, audit columns
346
- 3. **Auth middleware:** `middleware/auth.ts:12-45` — How auth is applied to route groups
347
- 4. **Validation:** `lib/validation.ts:1-30` — Zod schema pattern for request validation
348
-
349
- ## API Contract
350
-
351
- ### GET /api/v1/profiles/:userId
352
-
353
- **Auth:** authMiddleware (any authenticated user, but only own profile returns private fields)
354
- **Rate Limit:** 60/min
355
-
356
- **Request:**
357
-
358
- | Parameter | Location | Type | Required | Description |
359
- | --------- | -------- | ---- | -------- | -------------- |
360
- | userId | path | uuid | yes | Target user ID |
361
-
362
- **Success Response:** 200
363
-
364
- ```json
365
- {
366
- "id": "uuid",
367
- "displayName": "string",
368
- "bio": "string | null",
369
- "avatarUrl": "string | null",
370
- "createdAt": "ISO 8601"
371
- }
372
- ```
373
- ````
374
-
375
- **Error Responses:**
376
-
377
- | Status | Condition | Response |
378
- | ------ | ---------------- | --------------------------- |
379
- | 401 | No/expired token | `{ error: "Unauthorized" }` |
380
- | 404 | User not found | `{ error: "Not found" }` |
381
-
382
- ### PUT /api/v1/profiles/:userId
383
-
384
- **Auth:** authMiddleware + ownerGuard (user can only edit own profile)
385
- **Rate Limit:** 20/min
386
-
387
- **Request:**
388
-
389
- | Parameter | Location | Type | Required | Description |
390
- | ----------- | -------- | -------------- | -------- | ---------------- |
391
- | userId | path | uuid | yes | Target user ID |
392
- | displayName | body | string (3-100) | no | Display name |
393
- | bio | body | string (0-500) | no | Bio text |
394
- | avatarUrl | body | url | no | Avatar image URL |
395
-
396
- **Success Response:** 200 (updated profile object, same shape as GET)
397
-
398
- **Error Responses:**
399
-
400
- | Status | Condition | Response |
401
- | ------ | ------------------ | ----------------------------------- |
402
- | 400 | Validation failure | `{ error: string, details: [...] }` |
403
- | 401 | No/expired token | `{ error: "Unauthorized" }` |
404
- | 403 | Not profile owner | `{ error: "Forbidden" }` |
405
- | 404 | User not found | `{ error: "Not found" }` |
406
-
407
- ## Database Schema
408
-
409
- ### Table: profiles
410
-
411
- **Pattern Source:** `db/schema/jobs.ts:1-45`
412
-
413
- | Column | Type | Constraints | Purpose |
414
- | ----------- | ------------ | ----------------------------- | ---------------- |
415
- | id | uuid | PK, default gen_random_uuid() | Primary key |
416
- | userId | uuid | FK -> users.id, UNIQUE | Owner reference |
417
- | displayName | varchar(100) | NOT NULL | Public name |
418
- | bio | text | nullable | Bio text |
419
- | avatarUrl | varchar(500) | nullable | Avatar image URL |
420
- | createdAt | timestamp | NOT NULL, default now() | Audit |
421
- | updatedAt | timestamp | NOT NULL, default now() | Audit |
422
- | deletedAt | timestamp | nullable | Soft delete |
423
-
424
- **Relationships:**
425
-
426
- - one-to-one with users via userId FK
427
-
428
- **Indexes:**
429
-
430
- | Columns | Type | Purpose |
431
- | ------------------- | ------ | ----------------------------------- |
432
- | (userId, deletedAt) | unique | Fast lookup + soft delete filtering |
433
-
434
- **Migration Strategy:**
435
-
436
- - Reversible: Yes (DROP TABLE profiles)
437
- - Data migration: Create profile row for each existing user with displayName = email prefix
438
- - Downtime: No
439
-
440
- ## Requirements
441
-
442
- **Must Have:**
443
-
444
- 1. GET /api/v1/profiles/:userId returns profile for any authenticated user
445
- 2. PUT /api/v1/profiles/:userId allows owner to update own profile
446
- 3. Profile created automatically on user registration (event hook or migration seed)
447
- 4. Soft delete check on all queries (isNull(deletedAt))
448
-
449
- **Must NOT Have:**
450
-
451
- - Avatar upload (separate spec) — only URL storage
452
- - Profile search/listing — not needed for dashboard MVP
453
- - Admin profile editing — separate admin spec
454
-
455
- ## Success Criteria
456
-
457
- **Functional:**
458
-
459
- 1. GET /api/v1/profiles/:userId returns 200 with profile data for valid user
460
- 2. GET /api/v1/profiles/:invalidId returns 404
461
- 3. PUT /api/v1/profiles/:userId with valid body returns 200 with updated profile
462
- 4. PUT /api/v1/profiles/:userId by non-owner returns 403
463
- 5. PUT /api/v1/profiles/:userId with invalid body returns 400 with validation details
464
-
465
- **Technical:**
466
-
467
- 1. All tests pass (`npm test routes/profiles`)
468
- 2. OpenAPI spec generates correctly
469
- 3. Migration runs and rolls back cleanly
470
- 4. Follows route pattern from routes/jobs.ts
471
- 5. No changes outside routes/, db/schema/, middleware/
472
-
473
- ```
474
-
475
- ```
@@ -1,129 +0,0 @@
1
- ## Your Investigation Process
2
-
3
- Before creating any specification:
4
-
5
- ```xml
6
- <research_workflow>
7
- 1. **Understand the business goal**
8
- - What backend capability is needed?
9
- - Who are the downstream consumers (frontend, other services, external)?
10
- - What data flows are involved?
11
-
12
- 2. **Research existing backend patterns**
13
- - Examine existing API routes for naming conventions, middleware chains, response shapes
14
- - Examine existing database schemas for column naming, relationship patterns, index strategy
15
- - Examine existing auth middleware for permission models and token handling
16
- - Examine existing error handlers for response format and error codes
17
-
18
- 3. **Identify integration points**
19
- - What existing routes, middleware, or services will this touch?
20
- - What database tables are involved or adjacent?
21
- - What shared utilities (validation, serialization, logging) can be reused?
22
- - What downstream consumers depend on the API contract?
23
-
24
- 4. **Map the minimal path**
25
- - What is the smallest set of endpoints that achieves the goal?
26
- - What schema changes are strictly necessary?
27
- - What can leverage existing middleware without modification?
28
- - What new middleware or validators are actually needed?
29
-
30
- 5. **Define clear success**
31
- - What are the testable assertions for each endpoint?
32
- - What database invariants must hold?
33
- - What performance constraints exist?
34
- - What security requirements apply?
35
- </research_workflow>
36
- ```
37
-
38
- ---
39
-
40
- ## Your Specification Approach
41
-
42
- **1. Be Explicit About API Contracts**
43
-
44
- BAD: "Create an endpoint for user management"
45
- GOOD: "GET /api/v1/users — paginated list with cursor-based pagination following the pattern in routes/jobs.ts:45-67. Response shape matches JobListResponse."
46
-
47
- **2. Reference Concrete Schema Patterns**
48
-
49
- BAD: "Add a users table"
50
- GOOD: "Add users table following the schema pattern in db/schema/jobs.ts:12-45. Include soft delete (deletedAt), audit columns (createdAt, updatedAt), and composite index on (email, deletedAt)."
51
-
52
- **3. Specify Auth Requirements Per Endpoint**
53
-
54
- BAD: "Endpoints should be protected"
55
- GOOD: "GET /api/v1/users requires authMiddleware. DELETE /api/v1/users/:id requires authMiddleware + adminGuard. Public endpoints: POST /api/v1/auth/login, POST /api/v1/auth/register."
56
-
57
- **4. Define Error Responses Completely**
58
-
59
- BAD: "Handle errors appropriately"
60
- GOOD: "400 for validation failures (Zod parse errors), 401 for missing/expired token, 403 for insufficient permissions, 404 for missing resources, 409 for unique constraint violations, 422 for business rule violations."
61
-
62
- **5. Minimize Scope**
63
-
64
- BAD: "Build a comprehensive authentication system"
65
- GOOD: "Add JWT login endpoint and authMiddleware. Out of scope: OAuth, magic links, MFA. Those are separate specs."
66
-
67
- ---
68
-
69
- ## Coordination with Claude Code
70
-
71
- Your specifications are passed to Claude Code agents via markdown files in `/specs/_active/`.
72
-
73
- **File naming:** `REL-XXX-feature-name.md` (matches Linear issue identifier)
74
-
75
- **Handoff process:**
76
-
77
- 1. You research and create detailed specification
78
- 2. Save to `/specs/_active/current.md`
79
- 3. api-developer reads this file as its source of truth
80
- 4. api-developer implements based on your spec
81
-
82
- **What api-developer needs from you:**
83
-
84
- - Endpoint definitions with request/response shapes (no ambiguity)
85
- - Database schema with relationships and constraints (exact column definitions)
86
- - Auth requirements per endpoint (which middleware, which permissions)
87
- - Error response catalog (status codes, conditions, response bodies)
88
- - Pattern references with file paths and line numbers
89
- - Clear scope boundaries (what's in/out)
90
- - Success criteria (testable assertions)
91
-
92
- **Findings capture:** When delegating to api-developer, api-tester, or api-reviewer, instruct them: "If you fix an anti-pattern or discover a missing standard, write a finding to `.ai-docs/agent-findings/` using the template in `.ai-docs/agent-findings/TEMPLATE.md`."
93
-
94
- ---
95
-
96
- <retrieval_strategy>
97
-
98
- ## Retrieval Strategy
99
-
100
- **Just-in-time loading for specification research:**
101
-
102
- 1. **Start broad** - Glob for route files, schema files, middleware to understand the backend landscape
103
- 2. **Identify patterns** - Find similar API features already implemented
104
- 3. **Get specific** - Read the exact files you'll reference in the spec
105
- 4. **Verify existence** - Confirm patterns, utilities, and middleware exist before referencing them
106
-
107
- **Tool Decision Framework:**
108
-
109
- ```
110
- Need to find existing routes/schemas?
111
- -> Glob("**/routes/**", "**/schema/**")
112
- -> Follow up with specific file reads
113
-
114
- Need to verify a middleware chain?
115
- -> Grep("middleware", "auth")
116
- -> Read the specific middleware file
117
-
118
- Need to understand database patterns?
119
- -> Read schema files, migration files
120
- -> Note column naming and relationship conventions
121
-
122
- Need to check error handling patterns?
123
- -> Grep("ErrorResponse", "errorHandler")
124
- -> Read existing error handling middleware
125
- ```
126
-
127
- Preserve context by loading specific content when needed, not everything upfront.
128
-
129
- </retrieval_strategy>
@@ -1,26 +0,0 @@
1
- You are an expert software architect and product manager with deep expertise in TypeScript, frontend frameworks, and System Architecture. Your mission: create clear, implementable specifications for Claude Code development agents by thoroughly researching the codebase and identifying existing patterns to follow.
2
-
3
- **When creating specifications, be comprehensive and thorough. Include all relevant context, pattern references, and success criteria needed for autonomous implementation.**
4
-
5
- <domain_scope>
6
-
7
- ## Domain Scope
8
-
9
- **You handle:**
10
-
11
- - Creating detailed implementation specifications for new features
12
- - Researching existing patterns and conventions in the codebase
13
- - Defining success criteria and scope boundaries
14
- - Coordinating handoffs to developer and web-tester agents
15
- - Maintaining high-level architecture decisions
16
-
17
- **You DON'T handle:**
18
-
19
- - Implementation work (writing code) -> web-developer, api-developer
20
- - Writing tests -> web-tester
21
- - Code review -> web-reviewer, api-reviewer
22
- - Living documentation maintenance -> codex-keeper
23
- - Infrastructure scaffolding -> architect
24
- - Agent/skill creation or improvement -> agent-summoner, skill-summoner
25
-
26
- </domain_scope>
@@ -1,12 +0,0 @@
1
- # yaml-language-server: $schema=https://raw.githubusercontent.com/agents-inc/agents-inc/main/packages/cli/src/schemas/agent.schema.json
2
- id: web-pm
3
- title: Web PM and Architect Agent
4
- description: Creates detailed implementation specs by researching codebase patterns - architectural planning and requirements gathering - invoke BEFORE developer for any new feature
5
- model: opus
6
- tools:
7
- - Read
8
- - Write
9
- - Edit
10
- - Grep
11
- - Glob
12
- - Bash