agents-inc 0.152.0 → 0.153.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 (440) hide show
  1. package/CHANGELOG.md +44 -0
  2. package/README.md +44 -48
  3. package/dist/{chunk-LDP5ASDM.js → chunk-2HC2SNRP.js} +2 -15
  4. package/dist/chunk-2HC2SNRP.js.map +1 -0
  5. package/dist/{chunk-WKTHWQKM.js → chunk-35VOK7XE.js} +1338 -2573
  6. package/dist/chunk-35VOK7XE.js.map +1 -0
  7. package/dist/{chunk-SX5H6TSC.js → chunk-4VYALFQZ.js} +11 -8
  8. package/dist/chunk-4VYALFQZ.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-LZ52XEPR.js → chunk-ACKC577F.js} +7 -6
  12. package/dist/chunk-ACKC577F.js.map +1 -0
  13. package/dist/{chunk-XHUODHZ4.js → chunk-BMGBA6HJ.js} +22 -49
  14. package/dist/chunk-BMGBA6HJ.js.map +1 -0
  15. package/dist/{chunk-FVDKAVOL.js → chunk-EFU6P3B7.js} +18 -51
  16. package/dist/chunk-EFU6P3B7.js.map +1 -0
  17. package/dist/{chunk-STMHDOZD.js → chunk-F7Z5I6GU.js} +12 -9
  18. package/dist/chunk-F7Z5I6GU.js.map +1 -0
  19. package/dist/{chunk-E5X6RJ4E.js → chunk-FIHTAFST.js} +29 -26
  20. package/dist/chunk-FIHTAFST.js.map +1 -0
  21. package/dist/{chunk-QZZJFYUQ.js → chunk-FRWKCE6R.js} +3 -3
  22. package/dist/chunk-FRWKCE6R.js.map +1 -0
  23. package/dist/{chunk-5UWKOOIS.js → chunk-HEBPKK5L.js} +129 -195
  24. package/dist/chunk-HEBPKK5L.js.map +1 -0
  25. package/dist/{chunk-MJ2KHG24.js → chunk-IO4VEW5U.js} +6 -6
  26. package/dist/{chunk-MJ2KHG24.js.map → chunk-IO4VEW5U.js.map} +1 -1
  27. package/dist/{chunk-TUPYW2IQ.js → chunk-JC7DBPRD.js} +9 -12
  28. package/dist/chunk-JC7DBPRD.js.map +1 -0
  29. package/dist/{chunk-5GUOIJSG.js → chunk-JFAUQDZM.js} +3 -15
  30. package/dist/chunk-JFAUQDZM.js.map +1 -0
  31. package/dist/{chunk-ZL7PFNHN.js → chunk-K3O3YQYG.js} +2 -2
  32. package/dist/{chunk-SKQWRUPX.js → chunk-K7PJDWER.js} +59 -33
  33. package/dist/chunk-K7PJDWER.js.map +1 -0
  34. package/dist/{chunk-MVR3SYMN.js → chunk-KET3EVGX.js} +4 -3
  35. package/dist/{chunk-MVR3SYMN.js.map → chunk-KET3EVGX.js.map} +1 -1
  36. package/dist/{chunk-MWG4VU64.js → chunk-M5HSTNYU.js} +50 -56
  37. package/dist/chunk-M5HSTNYU.js.map +1 -0
  38. package/dist/{chunk-TJJPWUMA.js → chunk-NSJ2S7R5.js} +3 -2
  39. package/dist/{chunk-TJJPWUMA.js.map → chunk-NSJ2S7R5.js.map} +1 -1
  40. package/dist/{chunk-IHUY4M22.js → chunk-NXGMM5YN.js} +4 -4
  41. package/dist/chunk-NXQAY5U7.js +18441 -0
  42. package/dist/chunk-NXQAY5U7.js.map +1 -0
  43. package/dist/{chunk-Q2KG7UV3.js → chunk-OJJLYHM3.js} +2 -1
  44. package/dist/{chunk-Q2KG7UV3.js.map → chunk-OJJLYHM3.js.map} +1 -1
  45. package/dist/{chunk-PZIZNMHK.js → chunk-ORJ5Y222.js} +159 -138
  46. package/dist/chunk-ORJ5Y222.js.map +1 -0
  47. package/dist/{chunk-NR3OZGL4.js → chunk-OZXAJNLA.js} +2 -1
  48. package/dist/{chunk-NR3OZGL4.js.map → chunk-OZXAJNLA.js.map} +1 -1
  49. package/dist/{chunk-MM7CTTAV.js → chunk-Q5FLW4JG.js} +2 -2
  50. package/dist/{chunk-MM7CTTAV.js.map → chunk-Q5FLW4JG.js.map} +1 -1
  51. package/dist/{chunk-GRVKW3CC.js → chunk-R4SEU3DF.js} +3 -2
  52. package/dist/{chunk-GRVKW3CC.js.map → chunk-R4SEU3DF.js.map} +1 -1
  53. package/dist/{chunk-76ADG7LQ.js → chunk-R54KIGN2.js} +8 -22
  54. package/dist/chunk-R54KIGN2.js.map +1 -0
  55. package/dist/{chunk-SBHBBZKF.js → chunk-REKOWTIB.js} +25 -120
  56. package/dist/chunk-REKOWTIB.js.map +1 -0
  57. package/dist/chunk-TY6CAOL7.js +40 -0
  58. package/dist/chunk-TY6CAOL7.js.map +1 -0
  59. package/dist/{chunk-BNSRA6HL.js → chunk-U2DNAHFE.js} +39 -176
  60. package/dist/chunk-U2DNAHFE.js.map +1 -0
  61. package/dist/{chunk-PMM2MYMA.js → chunk-U2YSGBHA.js} +624 -349
  62. package/dist/chunk-U2YSGBHA.js.map +1 -0
  63. package/dist/{chunk-DTSG5XZB.js → chunk-V3ENMW7G.js} +3 -3
  64. package/dist/{chunk-L7SZXUBJ.js → chunk-VECFAKM5.js} +7 -6
  65. package/dist/{chunk-L7SZXUBJ.js.map → chunk-VECFAKM5.js.map} +1 -1
  66. package/dist/chunk-VGEBYCQZ.js +59 -0
  67. package/dist/chunk-VGEBYCQZ.js.map +1 -0
  68. package/dist/chunk-VZRO7RYT.js +3694 -0
  69. package/dist/chunk-VZRO7RYT.js.map +1 -0
  70. package/dist/{chunk-LASI35KT.js → chunk-WDAO3RUY.js} +14 -28
  71. package/dist/chunk-WDAO3RUY.js.map +1 -0
  72. package/dist/{chunk-MQ7FLIYS.js → chunk-WG6V6VJV.js} +3 -2
  73. package/dist/{chunk-MQ7FLIYS.js.map → chunk-WG6V6VJV.js.map} +1 -1
  74. package/dist/chunk-X5XJ6WKO.js +284 -0
  75. package/dist/chunk-X5XJ6WKO.js.map +1 -0
  76. package/dist/{chunk-RNJWAKMO.js → chunk-XGMOXMS4.js} +9 -8
  77. package/dist/chunk-XGMOXMS4.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-QRDTLVXG.js → chunk-ZNDLUWWD.js} +9 -22
  81. package/dist/chunk-ZNDLUWWD.js.map +1 -0
  82. package/dist/commands/build/marketplace.js +114 -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 +97 -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 +169 -208
  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 +20 -81
  98. package/dist/commands/search.js.map +1 -1
  99. package/dist/commands/uninstall.js +25 -31
  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-KF2RAVD3.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-DGXGBU3Q.js +15 -0
  132. package/dist/{loader-5JP4S7CJ.js → loader-4U7UCE2Y.js} +7 -5
  133. package/dist/recompile-project-agents-CJVBAWDJ.js +20 -0
  134. package/dist/{source-loader-MZYCPL2S.js → source-loader-ZNSYJJCI.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/project-config.schema.json +61 -15
  251. package/src/schemas/project-source-config.schema.json +0 -47
  252. package/dist/chunk-5GUOIJSG.js.map +0 -1
  253. package/dist/chunk-5UWKOOIS.js.map +0 -1
  254. package/dist/chunk-76ADG7LQ.js.map +0 -1
  255. package/dist/chunk-BNSRA6HL.js.map +0 -1
  256. package/dist/chunk-E5X6RJ4E.js.map +0 -1
  257. package/dist/chunk-EEPELKOM.js +0 -5938
  258. package/dist/chunk-EEPELKOM.js.map +0 -1
  259. package/dist/chunk-F7T5AFFN.js +0 -20
  260. package/dist/chunk-F7T5AFFN.js.map +0 -1
  261. package/dist/chunk-FVDKAVOL.js.map +0 -1
  262. package/dist/chunk-KFB5CRXZ.js +0 -377
  263. package/dist/chunk-KFB5CRXZ.js.map +0 -1
  264. package/dist/chunk-KR65TPKC.js +0 -664
  265. package/dist/chunk-KR65TPKC.js.map +0 -1
  266. package/dist/chunk-LASI35KT.js.map +0 -1
  267. package/dist/chunk-LDP5ASDM.js.map +0 -1
  268. package/dist/chunk-LZ52XEPR.js.map +0 -1
  269. package/dist/chunk-M7HO7NBK.js +0 -88
  270. package/dist/chunk-M7HO7NBK.js.map +0 -1
  271. package/dist/chunk-MWG4VU64.js.map +0 -1
  272. package/dist/chunk-ODNDXQH2.js +0 -77
  273. package/dist/chunk-ODNDXQH2.js.map +0 -1
  274. package/dist/chunk-P44SXVH3.js +0 -80
  275. package/dist/chunk-P44SXVH3.js.map +0 -1
  276. package/dist/chunk-PMM2MYMA.js.map +0 -1
  277. package/dist/chunk-PZIZNMHK.js.map +0 -1
  278. package/dist/chunk-Q45ZU6HD.js +0 -37
  279. package/dist/chunk-Q45ZU6HD.js.map +0 -1
  280. package/dist/chunk-QRDTLVXG.js.map +0 -1
  281. package/dist/chunk-QZZJFYUQ.js.map +0 -1
  282. package/dist/chunk-R5NOI2LP.js +0 -170
  283. package/dist/chunk-R5NOI2LP.js.map +0 -1
  284. package/dist/chunk-RNJWAKMO.js.map +0 -1
  285. package/dist/chunk-SBHBBZKF.js.map +0 -1
  286. package/dist/chunk-SKQWRUPX.js.map +0 -1
  287. package/dist/chunk-STMHDOZD.js.map +0 -1
  288. package/dist/chunk-SX5H6TSC.js.map +0 -1
  289. package/dist/chunk-TUPYW2IQ.js.map +0 -1
  290. package/dist/chunk-UBEDZ4FD.js +0 -4198
  291. package/dist/chunk-UBEDZ4FD.js.map +0 -1
  292. package/dist/chunk-VY6MNOXL.js +0 -20
  293. package/dist/chunk-VY6MNOXL.js.map +0 -1
  294. package/dist/chunk-WBCPLH66.js +0 -42
  295. package/dist/chunk-WBCPLH66.js.map +0 -1
  296. package/dist/chunk-WKTHWQKM.js.map +0 -1
  297. package/dist/chunk-XHUODHZ4.js.map +0 -1
  298. package/dist/chunk-ZPPHXXAP.js +0 -252
  299. package/dist/chunk-ZPPHXXAP.js.map +0 -1
  300. package/dist/commands/import/skill.js +0 -344
  301. package/dist/commands/import/skill.js.map +0 -1
  302. package/dist/commands/new/agent.js +0 -300
  303. package/dist/commands/new/agent.js.map +0 -1
  304. package/dist/commands/new/marketplace.js +0 -310
  305. package/dist/commands/new/marketplace.js.map +0 -1
  306. package/dist/commands/new/skill.js +0 -26
  307. package/dist/commands/validate.js +0 -575
  308. package/dist/commands/validate.js.map +0 -1
  309. package/dist/components/wizard/search-modal.js +0 -13
  310. package/dist/components/wizard/selection-card.js +0 -9
  311. package/dist/components/wizard/step-settings.js +0 -18
  312. package/dist/copy-local-skills-6EMVN7RB.js +0 -14
  313. package/dist/load-agent-defs-BWOUVEAR.js +0 -15
  314. package/dist/load-agent-defs-BWOUVEAR.js.map +0 -1
  315. package/dist/loader-5JP4S7CJ.js.map +0 -1
  316. package/dist/recompile-project-agents-6DL45TDI.js +0 -19
  317. package/dist/recompile-project-agents-6DL45TDI.js.map +0 -1
  318. package/dist/source-loader-MZYCPL2S.js.map +0 -1
  319. package/dist/src/agents/developer/web-architecture/critical-reminders.md +0 -48
  320. package/dist/src/agents/developer/web-architecture/critical-requirements.md +0 -65
  321. package/dist/src/agents/developer/web-architecture/identity.md +0 -64
  322. package/dist/src/agents/developer/web-architecture/metadata.yaml +0 -12
  323. package/dist/src/agents/developer/web-architecture/output.md +0 -449
  324. package/dist/src/agents/developer/web-architecture/playbook.md +0 -481
  325. package/dist/src/agents/pattern/pattern-scout/critical-reminders.md +0 -71
  326. package/dist/src/agents/pattern/pattern-scout/critical-requirements.md +0 -31
  327. package/dist/src/agents/pattern/pattern-scout/identity.md +0 -25
  328. package/dist/src/agents/pattern/pattern-scout/metadata.yaml +0 -10
  329. package/dist/src/agents/pattern/pattern-scout/output.md +0 -290
  330. package/dist/src/agents/pattern/pattern-scout/playbook.md +0 -1806
  331. package/dist/src/agents/pattern/web-pattern-critique/critical-reminders.md +0 -30
  332. package/dist/src/agents/pattern/web-pattern-critique/critical-requirements.md +0 -28
  333. package/dist/src/agents/pattern/web-pattern-critique/identity.md +0 -41
  334. package/dist/src/agents/pattern/web-pattern-critique/metadata.yaml +0 -12
  335. package/dist/src/agents/pattern/web-pattern-critique/output.md +0 -314
  336. package/dist/src/agents/pattern/web-pattern-critique/playbook.md +0 -572
  337. package/dist/src/agents/planning/api-pm/critical-reminders.md +0 -48
  338. package/dist/src/agents/planning/api-pm/critical-requirements.md +0 -41
  339. package/dist/src/agents/planning/api-pm/identity.md +0 -39
  340. package/dist/src/agents/planning/api-pm/metadata.yaml +0 -12
  341. package/dist/src/agents/planning/api-pm/output.md +0 -475
  342. package/dist/src/agents/planning/api-pm/playbook.md +0 -129
  343. package/dist/src/agents/planning/web-pm/identity.md +0 -26
  344. package/dist/src/agents/planning/web-pm/metadata.yaml +0 -12
  345. package/dist/src/agents/planning/web-pm/playbook.md +0 -318
  346. package/dist/src/agents/reviewer/ai-reviewer/critical-reminders.md +0 -40
  347. package/dist/src/agents/reviewer/ai-reviewer/critical-requirements.md +0 -37
  348. package/dist/src/agents/reviewer/ai-reviewer/identity.md +0 -51
  349. package/dist/src/agents/reviewer/ai-reviewer/metadata.yaml +0 -10
  350. package/dist/src/agents/reviewer/ai-reviewer/output.md +0 -395
  351. package/dist/src/agents/reviewer/ai-reviewer/playbook.md +0 -90
  352. package/dist/src/agents/reviewer/api-reviewer/critical-reminders.md +0 -31
  353. package/dist/src/agents/reviewer/api-reviewer/critical-requirements.md +0 -27
  354. package/dist/src/agents/reviewer/api-reviewer/identity.md +0 -51
  355. package/dist/src/agents/reviewer/api-reviewer/metadata.yaml +0 -12
  356. package/dist/src/agents/reviewer/api-reviewer/output.md +0 -343
  357. package/dist/src/agents/reviewer/api-reviewer/playbook.md +0 -288
  358. package/dist/src/agents/reviewer/cli-reviewer/critical-reminders.md +0 -33
  359. package/dist/src/agents/reviewer/cli-reviewer/critical-requirements.md +0 -30
  360. package/dist/src/agents/reviewer/cli-reviewer/identity.md +0 -44
  361. package/dist/src/agents/reviewer/cli-reviewer/metadata.yaml +0 -12
  362. package/dist/src/agents/reviewer/cli-reviewer/output.md +0 -414
  363. package/dist/src/agents/reviewer/cli-reviewer/playbook.md +0 -218
  364. package/dist/src/agents/reviewer/infra-reviewer/critical-reminders.md +0 -38
  365. package/dist/src/agents/reviewer/infra-reviewer/critical-requirements.md +0 -38
  366. package/dist/src/agents/reviewer/infra-reviewer/identity.md +0 -53
  367. package/dist/src/agents/reviewer/infra-reviewer/metadata.yaml +0 -10
  368. package/dist/src/agents/reviewer/infra-reviewer/output.md +0 -364
  369. package/dist/src/agents/reviewer/infra-reviewer/playbook.md +0 -161
  370. package/dist/src/agents/reviewer/web-reviewer/critical-reminders.md +0 -31
  371. package/dist/src/agents/reviewer/web-reviewer/critical-requirements.md +0 -26
  372. package/dist/src/agents/reviewer/web-reviewer/identity.md +0 -40
  373. package/dist/src/agents/reviewer/web-reviewer/metadata.yaml +0 -12
  374. package/dist/src/agents/reviewer/web-reviewer/output.md +0 -333
  375. package/dist/src/agents/reviewer/web-reviewer/playbook.md +0 -156
  376. package/src/agents/developer/web-architecture/critical-reminders.md +0 -48
  377. package/src/agents/developer/web-architecture/critical-requirements.md +0 -65
  378. package/src/agents/developer/web-architecture/identity.md +0 -64
  379. package/src/agents/developer/web-architecture/metadata.yaml +0 -12
  380. package/src/agents/developer/web-architecture/output.md +0 -449
  381. package/src/agents/developer/web-architecture/playbook.md +0 -481
  382. package/src/agents/pattern/pattern-scout/critical-reminders.md +0 -71
  383. package/src/agents/pattern/pattern-scout/critical-requirements.md +0 -31
  384. package/src/agents/pattern/pattern-scout/identity.md +0 -25
  385. package/src/agents/pattern/pattern-scout/metadata.yaml +0 -10
  386. package/src/agents/pattern/pattern-scout/output.md +0 -290
  387. package/src/agents/pattern/pattern-scout/playbook.md +0 -1806
  388. package/src/agents/pattern/web-pattern-critique/critical-reminders.md +0 -30
  389. package/src/agents/pattern/web-pattern-critique/critical-requirements.md +0 -28
  390. package/src/agents/pattern/web-pattern-critique/identity.md +0 -41
  391. package/src/agents/pattern/web-pattern-critique/metadata.yaml +0 -12
  392. package/src/agents/pattern/web-pattern-critique/output.md +0 -314
  393. package/src/agents/pattern/web-pattern-critique/playbook.md +0 -572
  394. package/src/agents/planning/api-pm/critical-reminders.md +0 -48
  395. package/src/agents/planning/api-pm/critical-requirements.md +0 -41
  396. package/src/agents/planning/api-pm/identity.md +0 -39
  397. package/src/agents/planning/api-pm/metadata.yaml +0 -12
  398. package/src/agents/planning/api-pm/output.md +0 -475
  399. package/src/agents/planning/api-pm/playbook.md +0 -129
  400. package/src/agents/planning/web-pm/identity.md +0 -26
  401. package/src/agents/planning/web-pm/metadata.yaml +0 -12
  402. package/src/agents/planning/web-pm/playbook.md +0 -318
  403. package/src/agents/reviewer/ai-reviewer/critical-reminders.md +0 -40
  404. package/src/agents/reviewer/ai-reviewer/critical-requirements.md +0 -37
  405. package/src/agents/reviewer/ai-reviewer/identity.md +0 -51
  406. package/src/agents/reviewer/ai-reviewer/metadata.yaml +0 -10
  407. package/src/agents/reviewer/ai-reviewer/output.md +0 -395
  408. package/src/agents/reviewer/ai-reviewer/playbook.md +0 -90
  409. package/src/agents/reviewer/api-reviewer/critical-reminders.md +0 -31
  410. package/src/agents/reviewer/api-reviewer/critical-requirements.md +0 -27
  411. package/src/agents/reviewer/api-reviewer/identity.md +0 -51
  412. package/src/agents/reviewer/api-reviewer/metadata.yaml +0 -12
  413. package/src/agents/reviewer/api-reviewer/output.md +0 -343
  414. package/src/agents/reviewer/api-reviewer/playbook.md +0 -288
  415. package/src/agents/reviewer/cli-reviewer/critical-reminders.md +0 -33
  416. package/src/agents/reviewer/cli-reviewer/critical-requirements.md +0 -30
  417. package/src/agents/reviewer/cli-reviewer/identity.md +0 -44
  418. package/src/agents/reviewer/cli-reviewer/metadata.yaml +0 -12
  419. package/src/agents/reviewer/cli-reviewer/output.md +0 -414
  420. package/src/agents/reviewer/cli-reviewer/playbook.md +0 -218
  421. package/src/agents/reviewer/infra-reviewer/critical-reminders.md +0 -38
  422. package/src/agents/reviewer/infra-reviewer/critical-requirements.md +0 -38
  423. package/src/agents/reviewer/infra-reviewer/identity.md +0 -53
  424. package/src/agents/reviewer/infra-reviewer/metadata.yaml +0 -10
  425. package/src/agents/reviewer/infra-reviewer/output.md +0 -364
  426. package/src/agents/reviewer/infra-reviewer/playbook.md +0 -161
  427. package/src/agents/reviewer/web-reviewer/critical-reminders.md +0 -31
  428. package/src/agents/reviewer/web-reviewer/critical-requirements.md +0 -26
  429. package/src/agents/reviewer/web-reviewer/identity.md +0 -40
  430. package/src/agents/reviewer/web-reviewer/metadata.yaml +0 -12
  431. package/src/agents/reviewer/web-reviewer/output.md +0 -333
  432. package/src/agents/reviewer/web-reviewer/playbook.md +0 -156
  433. /package/dist/{chunk-ZL7PFNHN.js.map → chunk-K3O3YQYG.js.map} +0 -0
  434. /package/dist/{chunk-IHUY4M22.js.map → chunk-NXGMM5YN.js.map} +0 -0
  435. /package/dist/{chunk-DTSG5XZB.js.map → chunk-V3ENMW7G.js.map} +0 -0
  436. /package/dist/{commands/new/skill.js.map → copy-local-skills-KF2RAVD3.js.map} +0 -0
  437. /package/dist/{components/wizard/search-modal.js.map → load-agent-defs-DGXGBU3Q.js.map} +0 -0
  438. /package/dist/{components/wizard/selection-card.js.map → loader-4U7UCE2Y.js.map} +0 -0
  439. /package/dist/{components/wizard/step-settings.js.map → recompile-project-agents-CJVBAWDJ.js.map} +0 -0
  440. /package/dist/{copy-local-skills-6EMVN7RB.js.map → source-loader-ZNSYJJCI.js.map} +0 -0
@@ -11,7 +11,7 @@ import {
11
11
  PROJECT_ROOT,
12
12
  STANDARD_DIRS,
13
13
  STANDARD_FILES
14
- } from "./chunk-76ADG7LQ.js";
14
+ } from "./chunk-R54KIGN2.js";
15
15
 
16
16
  // src/cli/lib/loading/loader.ts
17
17
  import { parse as parseYaml2 } from "yaml";
@@ -173,10 +173,11 @@ function warn(msg, options) {
173
173
  }
174
174
 
175
175
  // src/cli/lib/schemas.ts
176
- import { z } from "zod";
176
+ import { z as z2 } from "zod";
177
177
  import { partition } from "remeda";
178
178
 
179
179
  // src/cli/lib/schema-validator.ts
180
+ import "zod";
180
181
  function formatZodIssue(issue) {
181
182
  const path3 = issue.path.join(".");
182
183
  if (issue.code === "unrecognized_keys") {
@@ -190,10 +191,14 @@ function formatZodErrors(error) {
190
191
 
191
192
  // src/cli/types/generated/source-types.ts
192
193
  var SKILL_SLUGS = [
194
+ "ai-planning",
195
+ "ai-reviewing",
193
196
  "angular-standalone",
194
197
  "ant-design",
195
198
  "anthropic-sdk",
196
199
  "api-performance",
200
+ "api-planning",
201
+ "api-reviewing",
197
202
  "apollo-server",
198
203
  "app-links",
199
204
  "appwrite",
@@ -201,6 +206,7 @@ var SKILL_SLUGS = [
201
206
  "auth-security",
202
207
  "aws-sdk",
203
208
  "axiom-pino-sentry",
209
+ "base-ui",
204
210
  "better-auth-drizzle-hono",
205
211
  "biome",
206
212
  "ble-nfc",
@@ -212,15 +218,19 @@ var SKILL_SLUGS = [
212
218
  "claude-vision",
213
219
  "clerk",
214
220
  "cli-commander",
221
+ "cli-planning",
215
222
  "cli-reviewing",
216
223
  "cloudflare-workers",
217
224
  "cockroachdb",
218
225
  "cohere-sdk",
226
+ "component-library",
227
+ "composable-components",
219
228
  "css-animations",
220
229
  "cva",
221
230
  "cypress-e2e",
222
231
  "d3",
223
232
  "date-fns",
233
+ "design-tokens",
224
234
  "detox",
225
235
  "dnd-kit",
226
236
  "docker",
@@ -260,6 +270,7 @@ var SKILL_SLUGS = [
260
270
  "hono",
261
271
  "huggingface-inference",
262
272
  "image-handling",
273
+ "infra-reviewing",
263
274
  "jotai",
264
275
  "knex",
265
276
  "kubernetes",
@@ -354,6 +365,7 @@ var SKILL_SLUGS = [
354
365
  "sqlite-powersync",
355
366
  "sse",
356
367
  "sst",
368
+ "stack-detect",
357
369
  "storybook",
358
370
  "strapi",
359
371
  "strategies",
@@ -377,6 +389,7 @@ var SKILL_SLUGS = [
377
389
  "tauri-plugins",
378
390
  "tauri-security",
379
391
  "terraform",
392
+ "theming",
380
393
  "tiptap",
381
394
  "together-ai",
382
395
  "tool-use-patterns",
@@ -395,6 +408,7 @@ var SKILL_SLUGS = [
395
408
  "vercel-postgres",
396
409
  "view-transitions",
397
410
  "vision-camera",
411
+ "visual-regression",
398
412
  "vite",
399
413
  "vitepress",
400
414
  "vitest",
@@ -407,12 +421,255 @@ var SKILL_SLUGS = [
407
421
  "weaviate",
408
422
  "web-accessibility",
409
423
  "web-performance",
424
+ "web-planning",
425
+ "web-reviewing",
410
426
  "webhooks",
411
427
  "websockets",
428
+ "xquik",
412
429
  "yoga",
413
430
  "zod-validation",
414
431
  "zustand"
415
432
  ];
433
+ var SKILL_IDS = [
434
+ "ai-infrastructure-huggingface-inference",
435
+ "ai-infrastructure-litellm",
436
+ "ai-infrastructure-modal",
437
+ "ai-infrastructure-ollama",
438
+ "ai-infrastructure-replicate",
439
+ "ai-infrastructure-together-ai",
440
+ "ai-observability-langfuse",
441
+ "ai-observability-promptfoo",
442
+ "ai-orchestration-langchain",
443
+ "ai-orchestration-llamaindex",
444
+ "ai-orchestration-vercel-ai-sdk",
445
+ "ai-patterns-tool-use-patterns",
446
+ "ai-provider-anthropic-sdk",
447
+ "ai-provider-claude-vision",
448
+ "ai-provider-cohere-sdk",
449
+ "ai-provider-elevenlabs",
450
+ "ai-provider-google-gemini-sdk",
451
+ "ai-provider-mistral-sdk",
452
+ "ai-provider-openai-sdk",
453
+ "ai-provider-openai-whisper",
454
+ "api-analytics-posthog-analytics",
455
+ "api-analytics-setup-posthog",
456
+ "api-auth-better-auth-drizzle-hono",
457
+ "api-auth-clerk",
458
+ "api-auth-nextauth",
459
+ "api-baas-appwrite",
460
+ "api-baas-firebase",
461
+ "api-baas-neon",
462
+ "api-baas-planetscale",
463
+ "api-baas-supabase",
464
+ "api-baas-turso",
465
+ "api-caching-strategies",
466
+ "api-cms-payload",
467
+ "api-cms-sanity",
468
+ "api-cms-strapi",
469
+ "api-commerce-stripe",
470
+ "api-database-cockroachdb",
471
+ "api-database-drizzle",
472
+ "api-database-edgedb",
473
+ "api-database-knex",
474
+ "api-database-mongodb",
475
+ "api-database-mongoose",
476
+ "api-database-mysql",
477
+ "api-database-postgresql",
478
+ "api-database-prisma",
479
+ "api-database-redis",
480
+ "api-database-sequelize",
481
+ "api-database-surrealdb",
482
+ "api-database-typeorm",
483
+ "api-database-upstash",
484
+ "api-database-vercel-kv",
485
+ "api-database-vercel-postgres",
486
+ "api-email-resend-react-email",
487
+ "api-email-setup-resend",
488
+ "api-flags-posthog-flags",
489
+ "api-framework-elysia",
490
+ "api-framework-express",
491
+ "api-framework-fastify",
492
+ "api-framework-hono",
493
+ "api-framework-nestjs",
494
+ "api-graphql-apollo-server",
495
+ "api-graphql-mercurius",
496
+ "api-graphql-yoga",
497
+ "api-messaging-webhooks",
498
+ "api-observability-axiom-pino-sentry",
499
+ "api-observability-setup-axiom-pino-sentry",
500
+ "api-performance-api-performance",
501
+ "api-queue-bullmq",
502
+ "api-search-elasticsearch",
503
+ "api-search-meilisearch",
504
+ "api-search-xquik",
505
+ "api-specs-openapi",
506
+ "api-vector-db-chroma",
507
+ "api-vector-db-pinecone",
508
+ "api-vector-db-qdrant",
509
+ "api-vector-db-weaviate",
510
+ "cli-framework-cli-commander",
511
+ "cli-framework-oclif-ink",
512
+ "cli-prompts-clack",
513
+ "desktop-backend-tauri",
514
+ "desktop-framework-electron",
515
+ "desktop-framework-tauri",
516
+ "desktop-ipc-electron",
517
+ "desktop-mobile-tauri",
518
+ "desktop-multiwindow-electron",
519
+ "desktop-multiwindow-tauri",
520
+ "desktop-packaging-electron-forge",
521
+ "desktop-packaging-tauri",
522
+ "desktop-plugins-tauri",
523
+ "desktop-security-electron",
524
+ "desktop-security-tauri",
525
+ "desktop-storage-electron",
526
+ "desktop-testing-electron",
527
+ "desktop-ui-electron",
528
+ "desktop-updates-electron-updater",
529
+ "infra-ci-cd-docker",
530
+ "infra-ci-cd-github-actions",
531
+ "infra-ci-cd-turborepo-ci",
532
+ "infra-config-setup-env",
533
+ "infra-containers-kubernetes",
534
+ "infra-iac-pulumi",
535
+ "infra-iac-sst",
536
+ "infra-iac-terraform",
537
+ "infra-platform-aws-sdk",
538
+ "infra-platform-cloudflare-workers",
539
+ "infra-platform-netlify",
540
+ "infra-platform-vercel",
541
+ "meta-config-stack-detect",
542
+ "meta-design-composable-components",
543
+ "meta-design-expressive-typescript",
544
+ "meta-methodology-research-methodology",
545
+ "meta-planning-ai-planning",
546
+ "meta-planning-api-planning",
547
+ "meta-planning-cli-planning",
548
+ "meta-planning-web-planning",
549
+ "meta-reviewing-ai-reviewing",
550
+ "meta-reviewing-api-reviewing",
551
+ "meta-reviewing-cli-reviewing",
552
+ "meta-reviewing-infra-reviewing",
553
+ "meta-reviewing-reviewing",
554
+ "meta-reviewing-web-reviewing",
555
+ "mobile-animation-gesture-handler",
556
+ "mobile-animation-reanimated",
557
+ "mobile-animation-skia",
558
+ "mobile-background-tasks",
559
+ "mobile-camera-vision-camera",
560
+ "mobile-deep-linking-app-links",
561
+ "mobile-deployment-eas",
562
+ "mobile-framework-expo",
563
+ "mobile-framework-react-native",
564
+ "mobile-hardware-ble-nfc",
565
+ "mobile-navigation-expo-router",
566
+ "mobile-navigation-react-navigation",
567
+ "mobile-notifications-push",
568
+ "mobile-performance-react-native",
569
+ "mobile-security-react-native",
570
+ "mobile-storage-mmkv",
571
+ "mobile-storage-sqlite-powersync",
572
+ "mobile-storage-watermelondb",
573
+ "mobile-styling-nativewind",
574
+ "mobile-styling-unistyles",
575
+ "mobile-testing-detox",
576
+ "mobile-testing-maestro",
577
+ "mobile-ui-components-react-native-paper",
578
+ "mobile-ui-components-tamagui",
579
+ "shared-monorepo-nx",
580
+ "shared-monorepo-pnpm-workspaces",
581
+ "shared-monorepo-turborepo",
582
+ "shared-security-auth-security",
583
+ "shared-tooling-biome",
584
+ "shared-tooling-changesets",
585
+ "shared-tooling-eslint-prettier",
586
+ "shared-tooling-git-hooks",
587
+ "shared-tooling-typescript-config",
588
+ "web-3d-react-three-fiber",
589
+ "web-accessibility-web-accessibility",
590
+ "web-animation-css-animations",
591
+ "web-animation-framer-motion",
592
+ "web-animation-view-transitions",
593
+ "web-data-fetching-graphql-apollo",
594
+ "web-data-fetching-graphql-urql",
595
+ "web-data-fetching-swr",
596
+ "web-data-fetching-trpc",
597
+ "web-dataviz-d3",
598
+ "web-dataviz-recharts",
599
+ "web-dnd-dnd-kit",
600
+ "web-editor-lexical",
601
+ "web-editor-tiptap",
602
+ "web-error-handling-error-boundaries",
603
+ "web-error-handling-result-types",
604
+ "web-files-file-upload-patterns",
605
+ "web-files-image-handling",
606
+ "web-forms-react-hook-form",
607
+ "web-forms-tanstack-form",
608
+ "web-forms-vee-validate",
609
+ "web-forms-zod-validation",
610
+ "web-framework-angular-standalone",
611
+ "web-framework-react",
612
+ "web-framework-solidjs",
613
+ "web-framework-svelte",
614
+ "web-framework-vue-composition-api",
615
+ "web-i18n-next-intl",
616
+ "web-i18n-react-intl",
617
+ "web-i18n-vue-i18n",
618
+ "web-maps-leaflet",
619
+ "web-maps-mapbox",
620
+ "web-meta-framework-astro",
621
+ "web-meta-framework-docusaurus",
622
+ "web-meta-framework-nextjs",
623
+ "web-meta-framework-nuxt",
624
+ "web-meta-framework-qwik",
625
+ "web-meta-framework-remix",
626
+ "web-meta-framework-sveltekit",
627
+ "web-meta-framework-vitepress",
628
+ "web-mocks-msw",
629
+ "web-performance-web-performance",
630
+ "web-pwa-offline-first",
631
+ "web-pwa-service-workers",
632
+ "web-realtime-socket-io",
633
+ "web-realtime-sse",
634
+ "web-realtime-websockets",
635
+ "web-routing-react-router",
636
+ "web-routing-tanstack-router",
637
+ "web-server-state-react-query",
638
+ "web-state-jotai",
639
+ "web-state-mobx",
640
+ "web-state-ngrx-signalstore",
641
+ "web-state-pinia",
642
+ "web-state-redux-toolkit",
643
+ "web-state-zustand",
644
+ "web-styling-cva",
645
+ "web-styling-design-tokens",
646
+ "web-styling-scss-modules",
647
+ "web-styling-tailwind",
648
+ "web-styling-theming",
649
+ "web-testing-cypress-e2e",
650
+ "web-testing-playwright-e2e",
651
+ "web-testing-react-testing-library",
652
+ "web-testing-visual-regression",
653
+ "web-testing-vitest",
654
+ "web-testing-vue-test-utils",
655
+ "web-tooling-component-library",
656
+ "web-tooling-storybook",
657
+ "web-tooling-vite",
658
+ "web-ui-ant-design",
659
+ "web-ui-base-ui",
660
+ "web-ui-chakra-ui",
661
+ "web-ui-headless-ui",
662
+ "web-ui-mantine",
663
+ "web-ui-mui",
664
+ "web-ui-radix-ui",
665
+ "web-ui-shadcn-ui",
666
+ "web-ui-tanstack-table",
667
+ "web-ui-vuetify",
668
+ "web-utilities-date-fns",
669
+ "web-utilities-native-js",
670
+ "web-utilities-rxjs",
671
+ "web-utilities-vueuse"
672
+ ];
416
673
  var CATEGORIES = [
417
674
  "ai-infrastructure",
418
675
  "ai-observability",
@@ -426,16 +683,19 @@ var CATEGORIES = [
426
683
  "api-caching",
427
684
  "api-cms",
428
685
  "api-commerce",
429
- "api-database",
686
+ "api-db-host",
687
+ "api-document",
430
688
  "api-email",
431
- "api-framework",
432
689
  "api-graphql",
690
+ "api-kv",
433
691
  "api-messaging",
434
692
  "api-observability",
693
+ "api-orm",
435
694
  "api-performance",
436
695
  "api-queue",
437
696
  "api-search",
438
697
  "api-specs",
698
+ "api-sql-engine",
439
699
  "api-vector-db",
440
700
  "cli-framework",
441
701
  "cli-prompts",
@@ -458,6 +718,7 @@ var CATEGORIES = [
458
718
  "infra-platform",
459
719
  "meta-design",
460
720
  "meta-methodology",
721
+ "meta-planning",
461
722
  "meta-reviewing",
462
723
  "mobile-animation",
463
724
  "mobile-background",
@@ -474,8 +735,10 @@ var CATEGORIES = [
474
735
  "mobile-styling",
475
736
  "mobile-testing",
476
737
  "mobile-ui-components",
738
+ "shared-lint",
477
739
  "shared-monorepo",
478
740
  "shared-security",
741
+ "shared-task-runner",
479
742
  "shared-tooling",
480
743
  "web-3d",
481
744
  "web-accessibility",
@@ -483,12 +746,16 @@ var CATEGORIES = [
483
746
  "web-client-state",
484
747
  "web-dataviz",
485
748
  "web-dnd",
749
+ "web-docs",
750
+ "web-e2e",
486
751
  "web-editor",
487
752
  "web-error-handling",
488
753
  "web-file-upload",
489
754
  "web-files",
755
+ "web-form-library",
490
756
  "web-forms",
491
757
  "web-framework",
758
+ "web-graphql-client",
492
759
  "web-i18n",
493
760
  "web-maps",
494
761
  "web-meta-framework",
@@ -497,11 +764,14 @@ var CATEGORIES = [
497
764
  "web-pwa",
498
765
  "web-realtime",
499
766
  "web-routing",
767
+ "web-rpc",
500
768
  "web-server-state",
769
+ "web-streaming",
501
770
  "web-styling",
502
771
  "web-testing",
503
772
  "web-tooling",
504
773
  "web-ui-components",
774
+ "web-ui-kit",
505
775
  "web-utilities"
506
776
  ];
507
777
  var DOMAINS = [
@@ -518,26 +788,21 @@ var DOMAINS = [
518
788
  var AGENT_NAMES = [
519
789
  "agent-summoner",
520
790
  "ai-developer",
521
- "ai-reviewer",
791
+ "ai-researcher",
792
+ "ai-tester",
522
793
  "api-developer",
523
- "api-pm",
524
794
  "api-researcher",
525
- "api-reviewer",
526
795
  "api-tester",
527
796
  "cli-developer",
528
- "cli-reviewer",
797
+ "cli-researcher",
529
798
  "cli-tester",
530
799
  "codex-keeper",
531
800
  "convention-keeper",
532
- "infra-reviewer",
533
- "pattern-scout",
801
+ "pm",
802
+ "reviewer",
534
803
  "skill-summoner",
535
- "web-architecture",
536
804
  "web-developer",
537
- "web-pattern-critique",
538
- "web-pm",
539
805
  "web-researcher",
540
- "web-reviewer",
541
806
  "web-tester"
542
807
  ];
543
808
 
@@ -554,17 +819,10 @@ var PERMISSION_MODES = [
554
819
  ];
555
820
 
556
821
  // src/cli/lib/schemas.ts
557
- var boundSkillSchema = z.object({
558
- id: z.string(),
559
- sourceUrl: z.string(),
560
- sourceName: z.string(),
561
- boundTo: z.string(),
562
- description: z.string().optional()
563
- });
564
- var modelNameSchema = z.enum(MODEL_NAMES);
565
- var effortLevelSchema = z.enum(EFFORT_NAMES);
566
- var permissionModeSchema = z.enum(PERMISSION_MODES);
567
- var skillSlugSchema = z.enum(SKILL_SLUGS);
822
+ var modelNameSchema = z2.enum(MODEL_NAMES);
823
+ var effortLevelSchema = z2.enum(EFFORT_NAMES);
824
+ var permissionModeSchema = z2.enum(PERMISSION_MODES);
825
+ var skillSlugSchema = z2.enum(SKILL_SLUGS);
568
826
  function validateCategoryField(val, ctx) {
569
827
  if (!val.category) return;
570
828
  if (val.custom) {
@@ -584,7 +842,7 @@ function validateCategoryField(val, ctx) {
584
842
  }
585
843
  }
586
844
  }
587
- var categoryPathSchema = z.string().refine(
845
+ var categoryPathSchema = z2.string().refine(
588
846
  (val) => {
589
847
  if (val === LOCAL_PSEUDO_CATEGORY) return true;
590
848
  if (CATEGORIES.includes(val)) return true;
@@ -594,456 +852,426 @@ var categoryPathSchema = z.string().refine(
594
852
  message: "Must be a valid category path (e.g., 'web-framework', 'shared-testing', or 'local')"
595
853
  }
596
854
  );
597
- var agentHookActionSchema = z.object({
598
- type: z.enum(["command", "script", "prompt"]),
599
- command: z.string().optional(),
600
- script: z.string().optional(),
601
- prompt: z.string().optional()
855
+ var agentHookActionSchema = z2.object({
856
+ type: z2.enum(["command", "script", "prompt"]),
857
+ command: z2.string().exactOptional(),
858
+ script: z2.string().exactOptional(),
859
+ prompt: z2.string().exactOptional()
602
860
  });
603
- var agentHookDefinitionSchema = z.object({
604
- matcher: z.string().optional(),
605
- hooks: z.array(agentHookActionSchema).optional()
861
+ var agentHookDefinitionSchema = z2.object({
862
+ matcher: z2.string().exactOptional(),
863
+ hooks: z2.array(agentHookActionSchema).exactOptional()
606
864
  });
607
- var hooksRecordSchema = z.record(z.string(), z.array(agentHookDefinitionSchema));
608
- var strictAgentHookDefinitionSchema = z.object({
609
- matcher: z.string().optional(),
610
- hooks: z.array(agentHookActionSchema).min(1)
865
+ var hooksRecordSchema = z2.record(z2.string(), z2.array(agentHookDefinitionSchema));
866
+ var strictAgentHookDefinitionSchema = z2.object({
867
+ matcher: z2.string().exactOptional(),
868
+ hooks: z2.array(agentHookActionSchema).min(1)
611
869
  });
612
- var strictHooksRecordSchema = z.record(
613
- z.string(),
614
- z.array(strictAgentHookDefinitionSchema)
870
+ var strictHooksRecordSchema = z2.record(
871
+ z2.string(),
872
+ z2.array(strictAgentHookDefinitionSchema)
615
873
  );
616
- var skillAssignmentSchema = z.object({
617
- id: z.string(),
618
- preloaded: z.boolean().optional(),
619
- local: z.boolean().optional(),
620
- path: z.string().optional()
874
+ var skillAssignmentSchema = z2.object({
875
+ id: z2.string(),
876
+ preloaded: z2.boolean().exactOptional(),
877
+ local: z2.boolean().exactOptional(),
878
+ path: z2.string().exactOptional()
621
879
  });
622
- var skillFrontmatterLoaderSchema = z.object({
880
+ var skillFrontmatterLoaderSchema = z2.object({
623
881
  /** Lenient (any string): local/custom skills have non-builtin IDs */
624
- name: z.string(),
625
- description: z.string(),
626
- model: modelNameSchema.optional()
882
+ name: z2.string(),
883
+ description: z2.string(),
884
+ model: modelNameSchema.exactOptional()
627
885
  });
628
- var skillMetadataLoaderSchema = z.object({
886
+ var skillMetadataLoaderSchema = z2.object({
629
887
  // Field accepts any string; cross-field validation in superRefine enforces strict/custom rules
630
- category: z.string().optional(),
631
- author: z.string().optional(),
632
- domain: z.string(),
633
- custom: z.boolean().optional()
888
+ category: z2.string().exactOptional(),
889
+ author: z2.string().exactOptional(),
890
+ domain: z2.string(),
891
+ custom: z2.boolean().exactOptional()
634
892
  }).passthrough().superRefine(validateCategoryField);
635
- var matrixRawMetadataSchema = z.object({
893
+ var matrixRawMetadataSchema = z2.object({
636
894
  category: categoryPathSchema,
637
- author: z.string(),
638
- displayName: z.string().optional(),
639
- slug: z.string(),
640
- cliDescription: z.string().optional(),
641
- usageGuidance: z.string().optional(),
895
+ author: z2.string(),
896
+ displayName: z2.string().exactOptional(),
897
+ slug: z2.string(),
898
+ cliDescription: z2.string().exactOptional(),
899
+ usageGuidance: z2.string().exactOptional(),
642
900
  // Boundary cast: domain is a string at the YAML parse boundary; narrowed to Domain type
643
- domain: z.string(),
644
- custom: z.boolean().optional()
901
+ domain: z2.string(),
902
+ custom: z2.boolean().exactOptional()
645
903
  });
646
- var pluginAuthorSchema = z.object({
647
- name: z.string().min(1),
648
- email: z.string().optional()
904
+ var pluginAuthorSchema = z2.object({
905
+ name: z2.string().min(1),
906
+ email: z2.string().exactOptional()
649
907
  });
650
- var pluginManifestObjectSchema = z.object({
651
- name: z.string(),
652
- version: z.string().optional(),
653
- description: z.string().optional(),
654
- author: pluginAuthorSchema.optional(),
655
- keywords: z.array(z.string()).optional(),
656
- commands: z.union([z.string(), z.array(z.string())]).optional(),
657
- agents: z.union([z.string(), z.array(z.string())]).optional(),
658
- skills: z.union([z.string(), z.array(z.string())]).optional(),
659
- hooks: z.union([z.string(), hooksRecordSchema]).optional()
908
+ var pluginManifestObjectSchema = z2.object({
909
+ name: z2.string(),
910
+ version: z2.string().exactOptional(),
911
+ description: z2.string().exactOptional(),
912
+ author: pluginAuthorSchema.exactOptional(),
913
+ keywords: z2.array(z2.string()).exactOptional(),
914
+ commands: z2.union([z2.string(), z2.array(z2.string())]).exactOptional(),
915
+ agents: z2.union([z2.string(), z2.array(z2.string())]).exactOptional(),
916
+ skills: z2.union([z2.string(), z2.array(z2.string())]).exactOptional(),
917
+ hooks: z2.union([z2.string(), hooksRecordSchema]).exactOptional()
660
918
  });
661
919
  var pluginManifestSchema = pluginManifestObjectSchema;
662
920
  var pluginManifestValidationSchema = pluginManifestObjectSchema.strict();
663
- var agentYamlConfigSchema = z.object({
664
- id: z.string(),
665
- title: z.string(),
666
- description: z.string(),
667
- model: modelNameSchema.optional(),
668
- effort: effortLevelSchema.optional(),
669
- tools: z.array(z.string()),
670
- disallowedTools: z.array(z.string()).optional(),
671
- permissionMode: permissionModeSchema.optional(),
672
- hooks: hooksRecordSchema.optional(),
673
- outputFormat: z.string().optional(),
674
- domain: z.string().optional(),
675
- custom: z.boolean().optional()
921
+ var agentYamlConfigSchema = z2.object({
922
+ id: z2.string(),
923
+ title: z2.string(),
924
+ description: z2.string(),
925
+ model: modelNameSchema.exactOptional(),
926
+ effort: effortLevelSchema.exactOptional(),
927
+ tools: z2.array(z2.string()),
928
+ disallowedTools: z2.array(z2.string()).exactOptional(),
929
+ permissionMode: permissionModeSchema.exactOptional(),
930
+ hooks: hooksRecordSchema.exactOptional(),
931
+ outputFormat: z2.string().exactOptional(),
932
+ domain: z2.string().exactOptional(),
933
+ custom: z2.boolean().exactOptional()
676
934
  });
677
- var skillAssignmentElementSchema = z.union([
678
- z.string(),
935
+ var skillAssignmentElementSchema = z2.union([
936
+ z2.string(),
679
937
  skillAssignmentSchema
680
938
  ]);
681
- var stackAgentConfigSchema = z.record(
682
- z.string(),
683
- z.union([skillAssignmentElementSchema, z.array(skillAssignmentElementSchema)])
939
+ var stackAgentConfigSchema = z2.record(
940
+ z2.string(),
941
+ z2.union([skillAssignmentElementSchema, z2.array(skillAssignmentElementSchema)])
684
942
  );
685
- var projectConfigLoaderSchema = z.object({
943
+ var projectConfigLoaderSchema = z2.object({
686
944
  /** Project/plugin name in kebab-case */
687
- name: z.string().optional(),
688
- description: z.string().optional(),
945
+ name: z2.string().exactOptional(),
946
+ description: z2.string().exactOptional(),
689
947
  /** Per-agent configuration with scope (e.g., [{ name: "web-developer", scope: "project" }]) */
690
- agents: z.array(
691
- z.object({
692
- name: z.string(),
693
- scope: z.enum(["project", "global"]),
948
+ agents: z2.array(
949
+ z2.object({
950
+ name: z2.string(),
951
+ scope: z2.enum(["project", "global"]),
694
952
  /** Per-agent overrides of the agent's own metadata defaults */
695
- model: modelNameSchema.optional(),
696
- effort: effortLevelSchema.optional(),
697
- excluded: z.boolean().optional()
953
+ model: modelNameSchema.exactOptional(),
954
+ effort: effortLevelSchema.exactOptional(),
955
+ excluded: z2.boolean().exactOptional()
698
956
  })
699
- ).optional(),
957
+ ).exactOptional(),
700
958
  /** Per-skill configuration with scope and source */
701
- skills: z.array(
702
- z.object({
703
- id: z.string(),
704
- scope: z.enum(["project", "global"]),
705
- source: z.string(),
706
- excluded: z.boolean().optional()
959
+ skills: z2.array(
960
+ z2.object({
961
+ id: z2.string(),
962
+ scope: z2.enum(["project", "global"]),
963
+ source: z2.string(),
964
+ excluded: z2.boolean().exactOptional()
707
965
  })
708
- ).optional(),
966
+ ).exactOptional(),
709
967
  /** Author handle (e.g., "@vince") */
710
- author: z.string().optional(),
968
+ author: z2.string().exactOptional(),
711
969
  /** Selected domains from the wizard (persisted for edit mode restoration) */
712
- domains: z.array(z.string()).optional(),
713
- /** Selected agents from the wizard (persisted for edit mode restoration) */
714
- selectedAgents: z.array(z.string()).optional(),
970
+ selectedDomains: z2.array(z2.string()).exactOptional(),
715
971
  /** Agent-to-category-to-skill mappings from selected stack (accepts same formats as stacks.ts) */
716
- stack: z.record(z.string(), stackAgentConfigSchema).optional(),
972
+ stack: z2.record(z2.string(), stackAgentConfigSchema).exactOptional(),
717
973
  /** Skills source path or URL (e.g., "github:my-org/skills") */
718
- source: z.string().optional(),
974
+ source: z2.string().exactOptional(),
719
975
  /** Marketplace identifier for plugin installation */
720
- marketplace: z.string().optional(),
976
+ marketplace: z2.string().exactOptional(),
721
977
  /** Separate source for agents when different from skills source */
722
- agentsSource: z.string().optional(),
978
+ agentsSource: z2.string().exactOptional(),
723
979
  /** Tracked project installation paths (global config only) */
724
- projects: z.array(z.string()).optional()
980
+ projects: z2.array(z2.string()).exactOptional()
725
981
  }).passthrough();
726
- var categoryDefinitionSchema = z.object({
727
- id: z.string(),
728
- displayName: z.string(),
729
- description: z.string(),
730
- domain: z.string().optional(),
731
- exclusive: z.boolean(),
732
- required: z.boolean(),
733
- order: z.number(),
734
- icon: z.string().optional()
982
+ var categoryDefinitionSchema = z2.object({
983
+ id: z2.string(),
984
+ displayName: z2.string(),
985
+ description: z2.string(),
986
+ domain: z2.string().exactOptional(),
987
+ exclusive: z2.boolean(),
988
+ required: z2.boolean(),
989
+ order: z2.number(),
990
+ icon: z2.string().exactOptional()
735
991
  });
736
992
  var skillRefInRules = skillSlugSchema;
737
- var skillGroupRuleSchema = z.object({
738
- skills: z.array(skillRefInRules).min(2),
739
- reason: z.string()
993
+ var skillGroupRuleSchema = z2.object({
994
+ skills: z2.array(skillRefInRules).min(2),
995
+ reason: z2.string()
740
996
  });
741
997
  var conflictRuleSchema = skillGroupRuleSchema;
742
998
  var discourageRuleSchema = skillGroupRuleSchema;
743
- var recommendationSchema = z.object({
999
+ var requireRuleSchema = z2.object({
744
1000
  skill: skillRefInRules,
745
- reason: z.string()
1001
+ needs: z2.array(skillRefInRules).min(1),
1002
+ needsAny: z2.boolean().exactOptional(),
1003
+ reason: z2.string()
746
1004
  });
747
- var compatibilityGroupSchema = skillGroupRuleSchema;
748
- var requireRuleSchema = z.object({
749
- skill: skillRefInRules,
750
- needs: z.array(skillRefInRules).min(1),
751
- needsAny: z.boolean().optional(),
752
- reason: z.string()
1005
+ var alternativeGroupSchema = z2.object({
1006
+ purpose: z2.string(),
1007
+ skills: z2.array(skillRefInRules).min(1)
753
1008
  });
754
- var alternativeGroupSchema = z.object({
755
- purpose: z.string(),
756
- skills: z.array(skillRefInRules).min(1)
1009
+ var relationshipDefinitionsSchema = z2.object({
1010
+ conflicts: z2.array(conflictRuleSchema),
1011
+ discourages: z2.array(discourageRuleSchema),
1012
+ requires: z2.array(requireRuleSchema),
1013
+ alternatives: z2.array(alternativeGroupSchema)
757
1014
  });
758
- var relationshipDefinitionsSchema = z.object({
759
- conflicts: z.array(conflictRuleSchema),
760
- discourages: z.array(discourageRuleSchema),
761
- recommends: z.array(recommendationSchema),
762
- requires: z.array(requireRuleSchema),
763
- alternatives: z.array(alternativeGroupSchema),
764
- compatibleWith: z.array(compatibilityGroupSchema).optional().default([])
1015
+ var skillCategoriesFileSchema = z2.object({
1016
+ version: z2.string(),
1017
+ categories: z2.record(z2.string(), categoryDefinitionSchema)
765
1018
  });
766
- var skillCategoriesFileSchema = z.object({
767
- version: z.string(),
768
- categories: z.record(z.string(), categoryDefinitionSchema)
1019
+ var skillRulesFileSchema = z2.object({
1020
+ version: z2.string(),
1021
+ relationships: relationshipDefinitionsSchema.exactOptional()
769
1022
  });
770
- var skillRulesFileSchema = z.object({
771
- version: z.string(),
772
- relationships: relationshipDefinitionsSchema.optional()
773
- });
774
- var localRawMetadataSchema = z.object({
1023
+ var localRawMetadataSchema = z2.object({
775
1024
  /** Short name shown in the wizard grid (e.g., "my-custom-react") */
776
- displayName: z.string(),
1025
+ displayName: z2.string(),
777
1026
  /** Kebab-case short key for alias resolution (e.g., "react") */
778
- slug: z.string(),
1027
+ slug: z2.string(),
779
1028
  /** One-line description for the wizard */
780
- cliDescription: z.string().optional(),
1029
+ cliDescription: z2.string().exactOptional(),
781
1030
  /** Category to place this skill in (e.g., "web-framework") */
782
1031
  // Field accepts any string; cross-field validation in superRefine enforces strict/custom rules
783
- category: z.string(),
1032
+ category: z2.string(),
784
1033
  /** When an AI agent should invoke this skill */
785
- usageGuidance: z.string().optional(),
1034
+ usageGuidance: z2.string().exactOptional(),
786
1035
  /** Domain this skill belongs to (e.g., "web", "api", "cli") */
787
- domain: z.string(),
1036
+ domain: z2.string(),
788
1037
  /** True if this skill was created outside the CLI's built-in vocabulary */
789
- custom: z.boolean().optional()
1038
+ custom: z2.boolean().exactOptional()
790
1039
  }).passthrough().superRefine(validateCategoryField);
791
- var localSkillMetadataSchema = z.object({
792
- forkedFrom: z.object({
1040
+ var localSkillMetadataSchema = z2.object({
1041
+ forkedFrom: z2.object({
793
1042
  /** Original skill ID before forking — lenient (any string) since custom/extra-source skills have non-builtin IDs */
794
- skillId: z.string(),
1043
+ skillId: z2.string(),
795
1044
  /** SHA hash of the original content at fork time (for diff detection) */
796
- contentHash: z.string(),
1045
+ contentHash: z2.string(),
797
1046
  /** ISO date when the fork was created */
798
- date: z.string(),
1047
+ date: z2.string(),
799
1048
  /** Source URL the skill was installed from (e.g., "github:agents-inc/skills") */
800
- source: z.string().optional()
801
- }).optional()
1049
+ source: z2.string().exactOptional()
1050
+ }).exactOptional()
802
1051
  }).passthrough();
803
- var stackSchema = z.object({
804
- id: z.string().min(1),
805
- name: z.string().min(1),
806
- description: z.string(),
1052
+ var stackSchema = z2.object({
1053
+ id: z2.string().min(1),
1054
+ name: z2.string().min(1),
1055
+ description: z2.string(),
807
1056
  /** Maps agent IDs to their category-to-skill assignments */
808
- agents: z.record(z.string(), stackAgentConfigSchema),
1057
+ agents: z2.record(z2.string(), stackAgentConfigSchema),
809
1058
  /** High-level philosophy guiding this stack's technology choices */
810
- philosophy: z.string().optional()
1059
+ philosophy: z2.string().exactOptional()
811
1060
  });
812
- var stacksConfigSchema = z.object({
813
- stacks: z.array(stackSchema).min(1)
1061
+ var stacksConfigSchema = z2.object({
1062
+ stacks: z2.array(stackSchema).min(1)
814
1063
  });
815
- var marketplaceRemoteSourceSchema = z.object({
816
- source: z.enum(["github", "url"]),
817
- repo: z.string().optional(),
818
- url: z.string().optional(),
819
- ref: z.string().optional()
1064
+ var marketplaceRemoteSourceSchema = z2.object({
1065
+ source: z2.enum(["github", "url"]),
1066
+ repo: z2.string().exactOptional(),
1067
+ url: z2.string().exactOptional(),
1068
+ ref: z2.string().exactOptional()
820
1069
  });
821
- var marketplacePluginSchema = z.object({
822
- name: z.string().min(1),
1070
+ var marketplacePluginSchema = z2.object({
1071
+ name: z2.string().min(1),
823
1072
  /** Local directory path (relative to pluginRoot) or remote source config */
824
- source: z.union([z.string(), marketplaceRemoteSourceSchema]),
825
- description: z.string().optional(),
826
- version: z.string().optional(),
827
- author: pluginAuthorSchema.optional(),
1073
+ source: z2.union([z2.string(), marketplaceRemoteSourceSchema]),
1074
+ description: z2.string().exactOptional(),
1075
+ version: z2.string().exactOptional(),
1076
+ author: pluginAuthorSchema.exactOptional(),
828
1077
  /** Lenient: external data may have any category string or none at all */
829
- category: z.string().optional(),
830
- keywords: z.array(z.string()).optional()
1078
+ category: z2.string().exactOptional(),
1079
+ keywords: z2.array(z2.string()).exactOptional()
831
1080
  });
832
1081
  var marketplaceOwnerSchema = pluginAuthorSchema;
833
- var marketplaceMetadataSchema = z.object({
1082
+ var marketplaceMetadataSchema = z2.object({
834
1083
  /** Base directory for resolving plugin source paths (e.g., "plugins/") */
835
- pluginRoot: z.string().optional()
1084
+ pluginRoot: z2.string().exactOptional()
836
1085
  });
837
- var marketplaceSchema = z.object({
838
- $schema: z.string().optional(),
839
- name: z.string().min(1),
840
- version: z.string().min(1),
841
- description: z.string().optional(),
1086
+ var marketplaceSchema = z2.object({
1087
+ $schema: z2.string().exactOptional(),
1088
+ name: z2.string().min(1),
1089
+ version: z2.string().min(1),
1090
+ description: z2.string().exactOptional(),
842
1091
  owner: marketplaceOwnerSchema,
843
- metadata: marketplaceMetadataSchema.optional(),
844
- plugins: z.array(marketplacePluginSchema).min(1)
1092
+ metadata: marketplaceMetadataSchema.exactOptional(),
1093
+ plugins: z2.array(marketplacePluginSchema).min(1)
1094
+ });
1095
+ var sourceRevalidationSchema = z2.object({
1096
+ /** The tarball URL giget resolved for this source. */
1097
+ tar: z2.string().min(1),
1098
+ etag: z2.string().min(1).exactOptional()
845
1099
  });
846
- var permissionConfigSchema = z.object({
1100
+ var permissionConfigSchema = z2.object({
847
1101
  /** Tool names or patterns to explicitly allow */
848
- allow: z.array(z.string()).optional(),
1102
+ allow: z2.array(z2.string()).exactOptional(),
849
1103
  /** Tool names or patterns to explicitly deny */
850
- deny: z.array(z.string()).optional()
1104
+ deny: z2.array(z2.string()).exactOptional()
851
1105
  });
852
- var settingsFileSchema = z.object({
853
- permissions: permissionConfigSchema.optional()
1106
+ var settingsFileSchema = z2.object({
1107
+ permissions: permissionConfigSchema.exactOptional()
854
1108
  }).passthrough();
855
- var importedSkillMetadataSchema = z.object({
856
- forkedFrom: z.object({
857
- /** Source URL or identifier where the skill was imported from */
858
- source: z.string(),
859
- /** Original skill name in the source */
860
- skillName: z.string(),
861
- /** SHA hash of the original content at import time */
862
- contentHash: z.string(),
863
- /** ISO date when the import was performed */
864
- date: z.string()
865
- }).optional()
866
- }).passthrough();
867
- var brandingConfigSchema = z.object({
1109
+ var brandingConfigSchema = z2.object({
868
1110
  /** Custom CLI name (e.g., "Acme Dev Tools") */
869
- name: z.string().optional(),
1111
+ name: z2.string().exactOptional(),
870
1112
  /** Custom tagline shown in wizard header */
871
- tagline: z.string().optional()
1113
+ tagline: z2.string().exactOptional()
872
1114
  });
873
- var projectSourceConfigSchema = z.object({
1115
+ var projectSourceConfigSchema = z2.object({
874
1116
  /** Primary skills source (path or URL) */
875
- source: z.string().optional(),
1117
+ source: z2.string().exactOptional(),
876
1118
  /** Author handle for this project's config */
877
- author: z.string().optional(),
1119
+ author: z2.string().exactOptional(),
878
1120
  /** Marketplace identifier for plugin installation */
879
- marketplace: z.string().optional(),
1121
+ marketplace: z2.string().exactOptional(),
880
1122
  /** Separate source for agent definitions (when different from skills) */
881
- agentsSource: z.string().optional(),
882
- /** Additional skill sources (private marketplaces, custom repos) */
883
- sources: z.array(
884
- z.object({
885
- /** Display name for the source (shown in wizard) */
886
- name: z.string(),
887
- /** Source URL (e.g., "github:acme-corp/claude-skills") */
888
- url: z.string(),
889
- description: z.string().optional(),
890
- /** Git ref (branch/tag/commit) for the source */
891
- ref: z.string().optional()
892
- })
893
- ).optional(),
894
- /** Skills explicitly bound to categories via search (from Step Sources) */
895
- boundSkills: z.array(boundSkillSchema).optional(),
1123
+ agentsSource: z2.string().exactOptional(),
896
1124
  /** Branding overrides for white-labeling the CLI */
897
- branding: brandingConfigSchema.optional(),
1125
+ branding: brandingConfigSchema.exactOptional(),
898
1126
  /** Custom skills directory override (default: "src/skills") */
899
- skillsDir: z.string().optional(),
1127
+ skillsDir: z2.string().exactOptional(),
900
1128
  /** Custom agents directory override (default: "src/agents") */
901
- agentsDir: z.string().optional(),
1129
+ agentsDir: z2.string().exactOptional(),
902
1130
  /** Custom stacks file path override (default: "config/stacks.ts") */
903
- stacksFile: z.string().optional(),
1131
+ stacksFile: z2.string().exactOptional(),
904
1132
  /** Custom categories file path override (default: "config/skill-categories.ts") */
905
- categoriesFile: z.string().optional(),
1133
+ categoriesFile: z2.string().exactOptional(),
906
1134
  /** Custom rules file path override (default: "config/skill-rules.ts") */
907
- rulesFile: z.string().optional()
1135
+ rulesFile: z2.string().exactOptional()
908
1136
  }).passthrough();
909
- var agentYamlGenerationSchema = z.object({
910
- $schema: z.string().optional(),
911
- id: z.string().min(1),
912
- title: z.string().min(1),
913
- description: z.string().min(1),
914
- model: modelNameSchema.optional(),
915
- effort: effortLevelSchema.optional(),
916
- tools: z.array(z.string()).min(1),
917
- disallowedTools: z.array(z.string()).optional(),
918
- permissionMode: permissionModeSchema.optional(),
919
- hooks: strictHooksRecordSchema.optional(),
920
- outputFormat: z.string().optional(),
921
- domain: z.string().optional(),
922
- custom: z.boolean().optional()
1137
+ var agentYamlGenerationSchema = z2.object({
1138
+ $schema: z2.string().exactOptional(),
1139
+ id: z2.string().min(1),
1140
+ title: z2.string().min(1),
1141
+ description: z2.string().min(1),
1142
+ model: modelNameSchema.exactOptional(),
1143
+ effort: effortLevelSchema.exactOptional(),
1144
+ tools: z2.array(z2.string()).min(1),
1145
+ disallowedTools: z2.array(z2.string()).exactOptional(),
1146
+ permissionMode: permissionModeSchema.exactOptional(),
1147
+ hooks: strictHooksRecordSchema.exactOptional(),
1148
+ outputFormat: z2.string().exactOptional(),
1149
+ domain: z2.string().exactOptional(),
1150
+ custom: z2.boolean().exactOptional()
923
1151
  }).strict();
924
- var agentFrontmatterValidationSchema = z.object({
1152
+ var agentFrontmatterValidationSchema = z2.object({
925
1153
  /** Agent name in kebab-case (becomes the Task tool identifier) */
926
- name: z.string().regex(KEBAB_CASE_PATTERN).min(1),
927
- description: z.string().min(1),
1154
+ name: z2.string().regex(KEBAB_CASE_PATTERN).min(1),
1155
+ description: z2.string().min(1),
928
1156
  /** Comma-separated list of allowed tools */
929
- tools: z.string().optional(),
1157
+ tools: z2.string().exactOptional(),
930
1158
  /** Comma-separated list of denied tools */
931
- disallowedTools: z.string().optional(),
932
- model: modelNameSchema.optional(),
933
- effort: effortLevelSchema.optional(),
934
- permissionMode: permissionModeSchema.optional(),
1159
+ disallowedTools: z2.string().exactOptional(),
1160
+ model: modelNameSchema.exactOptional(),
1161
+ effort: effortLevelSchema.exactOptional(),
1162
+ permissionMode: permissionModeSchema.exactOptional(),
935
1163
  /** Skill names to preload (embed in agent prompt) */
936
- skills: z.array(z.string().min(1)).optional(),
937
- hooks: strictHooksRecordSchema.optional()
1164
+ skills: z2.array(z2.string().min(1)).exactOptional(),
1165
+ hooks: strictHooksRecordSchema.exactOptional()
938
1166
  }).strict();
939
- var skillFrontmatterValidationSchema = z.object({
940
- name: z.string().min(1),
941
- description: z.string().min(1),
1167
+ var skillFrontmatterValidationSchema = z2.object({
1168
+ name: z2.string().min(1),
1169
+ description: z2.string().min(1),
942
1170
  /** If true, Claude cannot invoke this skill on its own */
943
- "disable-model-invocation": z.boolean().optional(),
1171
+ "disable-model-invocation": z2.boolean().exactOptional(),
944
1172
  /** If true, user can invoke this skill directly */
945
- "user-invocable": z.boolean().optional(),
1173
+ "user-invocable": z2.boolean().exactOptional(),
946
1174
  /** Comma-separated list of tools this skill can use */
947
- "allowed-tools": z.string().optional(),
948
- model: modelNameSchema.optional(),
1175
+ "allowed-tools": z2.string().exactOptional(),
1176
+ model: modelNameSchema.exactOptional(),
949
1177
  /** "fork" means skill runs in a forked context (separate conversation) */
950
- context: z.enum(["fork"]).optional(),
1178
+ context: z2.enum(["fork"]).exactOptional(),
951
1179
  /** Agent name this skill is scoped to */
952
- agent: z.string().optional(),
1180
+ agent: z2.string().exactOptional(),
953
1181
  /** Hint text shown when user invokes the skill */
954
- "argument-hint": z.string().optional()
1182
+ "argument-hint": z2.string().exactOptional()
955
1183
  }).strict();
956
- var forkedFromSchema = z.object({
1184
+ var forkedFromSchema = z2.object({
957
1185
  /** Original skill ID */
958
- skillId: z.string(),
1186
+ skillId: z2.string(),
959
1187
  /** Version of the original at fork time */
960
- version: z.number().int().min(1).optional(),
1188
+ version: z2.number().int().min(1).exactOptional(),
961
1189
  /** Content hash of the original at fork time */
962
- contentHash: z.string(),
1190
+ contentHash: z2.string(),
963
1191
  /** Source URL or identifier */
964
- source: z.string().optional(),
1192
+ source: z2.string().exactOptional(),
965
1193
  /** ISO date of the fork */
966
- date: z.string()
1194
+ date: z2.string()
967
1195
  });
968
1196
  var CLI_DESCRIPTION_MAX_LENGTH = 60;
969
- var skillMetadataBaseSchema = z.object({
1197
+ var skillMetadataBaseSchema = z2.object({
970
1198
  /** Author handle — must start with @ (e.g., "@vince") */
971
- author: z.string().regex(AUTHOR_HANDLE_PATTERN),
1199
+ author: z2.string().regex(AUTHOR_HANDLE_PATTERN),
972
1200
  /** Short display name for the wizard grid (max 30 chars) */
973
- displayName: z.string().min(1).max(30),
1201
+ displayName: z2.string().min(1).max(30),
974
1202
  /** One-line description for the wizard (max 60 chars recommended; over-length is a validation warning) */
975
- cliDescription: z.string().min(1).max(CLI_DESCRIPTION_MAX_LENGTH),
1203
+ cliDescription: z2.string().min(1).max(CLI_DESCRIPTION_MAX_LENGTH),
976
1204
  /** When an AI agent should invoke this skill (min 10 chars to ensure usefulness) */
977
- usageGuidance: z.string().min(10),
1205
+ usageGuidance: z2.string().min(10),
978
1206
  /** 7-char hex SHA of skill content (for change detection) */
979
- contentHash: z.string().regex(/^[a-f0-9]{7}$/).optional(),
1207
+ contentHash: z2.string().regex(/^[a-f0-9]{7}$/).exactOptional(),
980
1208
  /** ISO date of last update */
981
- updated: z.string().optional(),
1209
+ updated: z2.string().exactOptional(),
982
1210
  /** Provenance tracking when skill was forked from another */
983
- forkedFrom: forkedFromSchema.optional(),
1211
+ forkedFrom: forkedFromSchema.exactOptional(),
984
1212
  /** Domain assignment from metadata */
985
- domain: z.string().optional(),
1213
+ domain: z2.string().exactOptional(),
986
1214
  /** True if this skill was created outside the CLI's built-in vocabulary */
987
- custom: z.boolean().optional()
1215
+ custom: z2.boolean().exactOptional()
988
1216
  });
989
1217
  var metadataValidationSchema = skillMetadataBaseSchema.extend({
990
1218
  /** Domain-prefixed category — must be a known built-in category */
991
- category: z.enum(CATEGORIES),
1219
+ category: z2.enum(CATEGORIES),
992
1220
  /** Kebab-case short key — must be a known built-in slug */
993
- slug: z.enum(SKILL_SLUGS)
1221
+ slug: z2.enum(SKILL_SLUGS)
994
1222
  }).strict();
995
1223
  var customMetadataValidationSchema = skillMetadataBaseSchema.extend({
996
1224
  /** Any string category — custom skills may define their own categories */
997
- category: z.string(),
1225
+ category: z2.string(),
998
1226
  /** Kebab-case short key for alias resolution, search, and relationship rules */
999
- slug: z.string().regex(/^[a-z][a-z0-9-]*$/).min(1).max(50)
1227
+ slug: z2.string().regex(/^[a-z][a-z0-9-]*$/).min(1).max(50)
1000
1228
  });
1001
- var stackSkillAssignmentSchema = z.object({
1002
- id: z.string().min(1),
1229
+ var stackSkillAssignmentSchema = z2.object({
1230
+ id: z2.string().min(1),
1003
1231
  /** If true, skill content is embedded in the compiled agent prompt */
1004
- preloaded: z.boolean().optional()
1232
+ preloaded: z2.boolean().exactOptional()
1005
1233
  }).strict();
1006
- var stackConfigValidationSchema = z.object({
1234
+ var stackConfigValidationSchema = z2.object({
1007
1235
  /** Unique stack identifier in kebab-case */
1008
- id: z.string().regex(KEBAB_CASE_PATTERN).optional(),
1009
- name: z.string().min(1),
1010
- version: z.string(),
1011
- author: z.string().min(1),
1012
- description: z.string().optional(),
1236
+ id: z2.string().regex(KEBAB_CASE_PATTERN).exactOptional(),
1237
+ name: z2.string().min(1),
1238
+ version: z2.string(),
1239
+ author: z2.string().min(1),
1240
+ description: z2.string().exactOptional(),
1013
1241
  /** ISO date when this stack was first created */
1014
- created: z.string().optional(),
1242
+ created: z2.string().exactOptional(),
1015
1243
  /** ISO date of last update */
1016
- updated: z.string().optional(),
1244
+ updated: z2.string().exactOptional(),
1017
1245
  /** Primary framework this stack is designed for (e.g., "nextjs", "remix") */
1018
- framework: z.string().optional(),
1246
+ framework: z2.string().exactOptional(),
1019
1247
  /** All skills used in this stack (flat list, at least one required) */
1020
- skills: z.array(stackSkillAssignmentSchema).min(1),
1248
+ skills: z2.array(stackSkillAssignmentSchema).min(1),
1021
1249
  /** Agent IDs this stack compiles (at least one required) */
1022
- agents: z.array(z.string().regex(KEBAB_CASE_PATTERN)).min(1),
1250
+ agents: z2.array(z2.string().regex(KEBAB_CASE_PATTERN)).min(1),
1023
1251
  /** Per-agent skill assignments: { agentId: { category: [skillAssignment] } } */
1024
- agentSkills: z.record(z.string(), z.record(z.string(), z.array(stackSkillAssignmentSchema))).optional(),
1252
+ agentSkills: z2.record(z2.string(), z2.record(z2.string(), z2.array(stackSkillAssignmentSchema))).exactOptional(),
1025
1253
  /** High-level philosophy guiding technology choices */
1026
- philosophy: z.string().optional(),
1254
+ philosophy: z2.string().exactOptional(),
1027
1255
  /** Guiding principles for agents using this stack */
1028
- principles: z.array(z.string().min(1)).optional(),
1029
- tags: z.array(z.string().regex(KEBAB_CASE_PATTERN)).optional(),
1256
+ principles: z2.array(z2.string().min(1)).exactOptional(),
1257
+ tags: z2.array(z2.string().regex(KEBAB_CASE_PATTERN)).exactOptional(),
1030
1258
  /** Per-skill overrides: alternative suggestions and lock status */
1031
- overrides: z.record(
1032
- z.string(),
1033
- z.object({
1259
+ overrides: z2.record(
1260
+ z2.string(),
1261
+ z2.object({
1034
1262
  /** Suggested alternative skill IDs if this one is swapped */
1035
- alternatives: z.array(z.string().min(1)).optional(),
1263
+ alternatives: z2.array(z2.string().min(1)).exactOptional(),
1036
1264
  /** If true, this skill cannot be swapped by the user */
1037
- locked: z.boolean().optional()
1265
+ locked: z2.boolean().exactOptional()
1038
1266
  }).strict()
1039
- ).optional(),
1267
+ ).exactOptional(),
1040
1268
  /** Community metrics for sorting/ranking */
1041
- metrics: z.object({
1042
- upvotes: z.number().int().min(0).optional(),
1043
- downloads: z.number().int().min(0).optional()
1044
- }).strict().optional(),
1269
+ metrics: z2.object({
1270
+ upvotes: z2.number().int().min(0).exactOptional(),
1271
+ downloads: z2.number().int().min(0).exactOptional()
1272
+ }).strict().exactOptional(),
1045
1273
  /** Lifecycle hooks triggered by file changes or commands */
1046
- hooks: strictHooksRecordSchema.optional()
1274
+ hooks: strictHooksRecordSchema.exactOptional()
1047
1275
  }).strict();
1048
1276
  function formatZodIssues(issues) {
1049
1277
  return issues.map(formatZodIssue).join("; ");
@@ -1052,6 +1280,21 @@ function validateSkillMetadata(rawMetadata) {
1052
1280
  const schema = isCustomMetadata(rawMetadata) ? customMetadataValidationSchema : metadataValidationSchema;
1053
1281
  return schema.safeParse(rawMetadata);
1054
1282
  }
1283
+ function describeMetadataSchemaFailure(issues, rawMetadata) {
1284
+ const [absent, malformed] = partition(issues, (issue) => isAbsentField(issue, rawMetadata));
1285
+ return [
1286
+ ...absent.length > 0 ? [nameMissingFields(absent)] : [],
1287
+ ...malformed.map(formatZodIssue)
1288
+ ].join("; ");
1289
+ }
1290
+ function isAbsentField(issue, rawMetadata) {
1291
+ const [field, ...nested] = issue.path;
1292
+ return nested.length === 0 && typeof field === "string" && rawMetadata[field] === void 0;
1293
+ }
1294
+ function nameMissingFields(absent) {
1295
+ const fields = absent.map((issue) => issue.path.join("."));
1296
+ return `missing required ${fields.length === 1 ? "field" : "fields"}: ${fields.join(", ")}`;
1297
+ }
1055
1298
  function isOverLengthCliDescription(issue) {
1056
1299
  return issue.code === "too_big" && issue.path.length === 1 && issue.path[0] === "cliDescription";
1057
1300
  }
@@ -1097,6 +1340,30 @@ function warnUnknownFields(parsed, expectedKeys, context) {
1097
1340
  }
1098
1341
 
1099
1342
  // src/cli/lib/loading/loader.ts
1343
+ async function readSkillMetadata(metadataPath) {
1344
+ let parsed;
1345
+ try {
1346
+ parsed = parseYaml2(await readFile(metadataPath));
1347
+ } catch (error) {
1348
+ return { usable: false, reason: getErrorMessage(error) };
1349
+ }
1350
+ if (!isFieldMapping(parsed)) {
1351
+ return { usable: false, reason: `expected metadata fields, found ${nameYamlValue(parsed)}` };
1352
+ }
1353
+ const validated = localRawMetadataSchema.safeParse(parsed);
1354
+ if (!validated.success) {
1355
+ return { usable: false, reason: describeMetadataSchemaFailure(validated.error.issues, parsed) };
1356
+ }
1357
+ return { usable: true, metadata: validated.data };
1358
+ }
1359
+ function isFieldMapping(value) {
1360
+ return typeof value === "object" && value !== null && !Array.isArray(value);
1361
+ }
1362
+ function nameYamlValue(value) {
1363
+ if (value === null || value === void 0) return "an empty file";
1364
+ if (Array.isArray(value)) return "a list";
1365
+ return `a ${typeof value}`;
1366
+ }
1100
1367
  function parseFrontmatter(content, filePath) {
1101
1368
  const rawFrontmatter = extractFrontmatter(content);
1102
1369
  if (rawFrontmatter === null) return null;
@@ -1119,7 +1386,7 @@ async function loadAgentsFromDir(agentsDir, sourceRoot, options) {
1119
1386
  agents[config.id] = {
1120
1387
  title: config.title,
1121
1388
  description: config.description,
1122
- model: config.model,
1389
+ ...config.model !== void 0 && { model: config.model },
1123
1390
  tools: config.tools,
1124
1391
  path: path2.dirname(file),
1125
1392
  sourceRoot,
@@ -1222,7 +1489,7 @@ async function loadSkillsByIds(skillIds, projectRoot) {
1222
1489
  skills[canonicalId] = skillDef;
1223
1490
  verbose(`Loaded skill: ${canonicalId} (from ${directoryPath})`);
1224
1491
  } catch (error) {
1225
- warn(`Could not load skill '${skillId}': ${error}`);
1492
+ warn(`Could not load skill '${skillId}': ${getErrorMessage(error)}`);
1226
1493
  }
1227
1494
  }
1228
1495
  return skills;
@@ -1230,8 +1497,9 @@ async function loadSkillsByIds(skillIds, projectRoot) {
1230
1497
  async function loadSkillsFromDir(skillsDir, options = {}) {
1231
1498
  const { pathPrefix = "", requireMetadata = false } = options;
1232
1499
  const skills = {};
1500
+ const unusableMetadata = [];
1233
1501
  if (!await directoryExists(skillsDir)) {
1234
- return skills;
1502
+ return { skills, unusableMetadata };
1235
1503
  }
1236
1504
  const skillFiles = await glob(`**/${STANDARD_FILES.SKILL_MD}`, skillsDir);
1237
1505
  for (const skillFile of skillFiles) {
@@ -1248,6 +1516,12 @@ async function loadSkillsFromDir(skillsDir, options = {}) {
1248
1516
  );
1249
1517
  continue;
1250
1518
  }
1519
+ const metadata = await readSkillMetadata(metadataPath);
1520
+ if (!metadata.usable) {
1521
+ unusableMetadata.push({ skillDirName, metadataPath, reason: metadata.reason });
1522
+ verbose(` Unusable ${STANDARD_FILES.METADATA_YAML} in '${skillDirName}'`);
1523
+ continue;
1524
+ }
1251
1525
  }
1252
1526
  try {
1253
1527
  const content = await readFile(skillPath);
@@ -1264,28 +1538,21 @@ async function loadSkillsFromDir(skillsDir, options = {}) {
1264
1538
  };
1265
1539
  verbose(` Loaded skill: ${canonicalId}`);
1266
1540
  } catch (error) {
1267
- verbose(` Failed to load skill: ${skillFile} - ${error}`);
1541
+ verbose(` Failed to load skill: ${skillFile} - ${getErrorMessage(error)}`);
1268
1542
  }
1269
1543
  }
1270
- return skills;
1544
+ return { skills, unusableMetadata };
1271
1545
  }
1272
1546
  async function loadPluginSkills(pluginDir) {
1273
- return loadSkillsFromDir(path2.join(pluginDir, "skills"), {
1547
+ const { skills } = await loadSkillsFromDir(path2.join(pluginDir, "skills"), {
1274
1548
  pathPrefix: "skills",
1275
1549
  requireMetadata: false
1276
1550
  });
1551
+ return skills;
1277
1552
  }
1278
1553
 
1279
1554
  export {
1280
1555
  getErrorMessage,
1281
- setVerbose,
1282
- verbose,
1283
- log,
1284
- enableBuffering,
1285
- drainBuffer,
1286
- disableBuffering,
1287
- warn,
1288
- extractFrontmatter,
1289
1556
  GlobalPairWriteViolation,
1290
1557
  withGateToken,
1291
1558
  assertGateToken,
@@ -1301,12 +1568,19 @@ export {
1301
1568
  ensureDir,
1302
1569
  remove,
1303
1570
  copy,
1571
+ setVerbose,
1572
+ verbose,
1573
+ log,
1574
+ enableBuffering,
1575
+ drainBuffer,
1576
+ disableBuffering,
1577
+ warn,
1304
1578
  formatZodErrors,
1579
+ SKILL_IDS,
1305
1580
  DOMAINS,
1306
1581
  AGENT_NAMES,
1307
1582
  MODEL_NAMES,
1308
1583
  EFFORT_NAMES,
1309
- modelNameSchema,
1310
1584
  skillMetadataLoaderSchema,
1311
1585
  matrixRawMetadataSchema,
1312
1586
  pluginManifestSchema,
@@ -1314,12 +1588,11 @@ export {
1314
1588
  projectConfigLoaderSchema,
1315
1589
  skillCategoriesFileSchema,
1316
1590
  skillRulesFileSchema,
1317
- localRawMetadataSchema,
1318
1591
  localSkillMetadataSchema,
1319
1592
  stacksConfigSchema,
1320
1593
  marketplaceSchema,
1594
+ sourceRevalidationSchema,
1321
1595
  settingsFileSchema,
1322
- importedSkillMetadataSchema,
1323
1596
  projectSourceConfigSchema,
1324
1597
  agentYamlGenerationSchema,
1325
1598
  agentFrontmatterValidationSchema,
@@ -1331,6 +1604,8 @@ export {
1331
1604
  splitMetadataValidationIssues,
1332
1605
  validateNestingDepth,
1333
1606
  warnUnknownFields,
1607
+ extractFrontmatter,
1608
+ readSkillMetadata,
1334
1609
  parseFrontmatter,
1335
1610
  loadAllAgents,
1336
1611
  loadMergedAgents,
@@ -1339,4 +1614,4 @@ export {
1339
1614
  loadSkillsFromDir,
1340
1615
  loadPluginSkills
1341
1616
  };
1342
- //# sourceMappingURL=chunk-PMM2MYMA.js.map
1617
+ //# sourceMappingURL=chunk-U2YSGBHA.js.map