code-ai-installer 1.3.0 → 1.4.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 (1293) hide show
  1. package/.agents/skills/adr_log/SKILL.md +369 -0
  2. package/.agents/skills/api_contracts/SKILL.md +328 -0
  3. package/.agents/skills/architecture_compliance_review/SKILL.md +213 -0
  4. package/.agents/skills/architecture_doc/SKILL.md +380 -0
  5. package/.agents/skills/board/SKILL.md +232 -0
  6. package/.agents/skills/current_state_analysis/SKILL.md +225 -0
  7. package/.agents/skills/data_model/SKILL.md +284 -0
  8. package/.agents/skills/deployment_ci_plan/SKILL.md +409 -0
  9. package/.agents/skills/design_intake/SKILL.md +223 -0
  10. package/.agents/skills/golden_canon_grid/SKILL.md +440 -0
  11. package/.agents/skills/golden_canon_grid/agents/claude.json +18 -0
  12. package/.agents/skills/golden_canon_grid/agents/copilot.json +18 -0
  13. package/.agents/skills/golden_canon_grid/agents/gemini.json +18 -0
  14. package/.agents/skills/golden_canon_grid/agents/openai.yaml +8 -0
  15. package/.agents/skills/golden_canon_grid/agents/qwen.json +18 -0
  16. package/.agents/skills/golden_canon_grid/agents/skill.yaml +21 -0
  17. package/.agents/skills/google_stitch_skill/SKILL.md +533 -0
  18. package/.agents/skills/google_stitch_skill/agents/claude.json +19 -0
  19. package/.agents/skills/google_stitch_skill/agents/copilot.json +19 -0
  20. package/.agents/skills/google_stitch_skill/agents/gemini.json +19 -0
  21. package/.agents/skills/google_stitch_skill/agents/openai.yaml +8 -0
  22. package/.agents/skills/google_stitch_skill/agents/qwen.json +19 -0
  23. package/.agents/skills/google_stitch_skill/agents/skill.yaml +23 -0
  24. package/.agents/skills/google_stitch_skill/examples/scr_prompts.md +119 -0
  25. package/.agents/skills/handoff/SKILL.md +212 -0
  26. package/.agents/skills/mongodb_mongoose_best_practices/SKILL.md +721 -0
  27. package/.agents/skills/observability_plan/SKILL.md +276 -0
  28. package/.agents/skills/pm_backlog/SKILL.md +249 -0
  29. package/.agents/skills/pm_interview/SKILL.md +170 -0
  30. package/.agents/skills/qa_test_plan/SKILL.md +203 -0
  31. package/.agents/skills/release_gate/SKILL.md +213 -0
  32. package/.agents/skills/release_gate_checklist_template/SKILL.md +182 -0
  33. package/.agents/skills/state_rtk_beast_practices/SKILL.md +735 -0
  34. package/.agents/skills/state_zustand_beast_practices/SKILL.md +808 -0
  35. package/.agents/skills/styling_css_stack/SKILL.md +559 -0
  36. package/.agents/skills/system_design_checklist/SKILL.md +207 -0
  37. package/.agents/skills/testing_strategy_js/SKILL.md +636 -0
  38. package/.agents/skills/tests_quality_review/SKILL.md +279 -0
  39. package/.agents/skills/threat_model_baseline/SKILL.md +210 -0
  40. package/.agents/skills/ui_a11y_smoke_review/SKILL.md +195 -0
  41. package/.agents/skills/ui_inventory/SKILL.md +277 -0
  42. package/.agents/skills/ux_discovery/SKILL.md +213 -0
  43. package/.agents/skills/ux_spec/SKILL.md +280 -0
  44. package/.agents/skills/wix_iframe_sdk/SKILL.md +280 -0
  45. package/.agents/skills/wix_self_hosted_embedded_script/SKILL.md +611 -0
  46. package/.agents/workflows/auto-restart-containers.md +56 -51
  47. package/AGENTS.yaml +1 -0
  48. package/LICENSE +21 -0
  49. package/README.md +4 -3
  50. package/agents/orchestrator.claude.json +1 -0
  51. package/agents/orchestrator.copilot.json +1 -0
  52. package/agents/orchestrator.gemini.json +1 -0
  53. package/agents/orchestrator.openai.yaml +1 -0
  54. package/agents/orchestrator.qwen.json +1 -0
  55. package/agents/ux_ui_designer.md +1 -0
  56. package/dist/catalog.d.ts +1 -1
  57. package/dist/catalog.js +35 -13
  58. package/dist/index.js +6 -3
  59. package/dist/installer.js +1 -2
  60. package/dist/metadataAudit.js +25 -90
  61. package/dist/platforms/adapters.d.ts +1 -1
  62. package/dist/platforms/adapters.js +30 -4
  63. package/dist/sourceResolver.js +17 -2
  64. package/dist/types.d.ts +1 -0
  65. package/locales/en/.agents/skills/a11y_baseline/SKILL.md +260 -0
  66. package/locales/en/.agents/skills/adr_log/SKILL.md +369 -0
  67. package/locales/en/.agents/skills/adr_log/agents/claude.json +17 -0
  68. package/locales/en/.agents/skills/adr_log/agents/copilot.json +17 -0
  69. package/locales/en/.agents/skills/adr_log/agents/gemini.json +17 -0
  70. package/locales/en/.agents/skills/adr_log/agents/openai.yaml +8 -0
  71. package/locales/en/.agents/skills/adr_log/agents/qwen.json +17 -0
  72. package/locales/en/.agents/skills/adr_log/agents/skill.yaml +21 -0
  73. package/locales/en/.agents/skills/api_contract_compliance_review/SKILL.md +224 -0
  74. package/locales/en/.agents/skills/api_contracts/SKILL.md +328 -0
  75. package/locales/en/.agents/skills/api_contracts/agents/claude.json +17 -0
  76. package/locales/en/.agents/skills/api_contracts/agents/copilot.json +17 -0
  77. package/locales/en/.agents/skills/api_contracts/agents/gemini.json +17 -0
  78. package/locales/en/.agents/skills/api_contracts/agents/openai.yaml +8 -0
  79. package/locales/en/.agents/skills/api_contracts/agents/qwen.json +17 -0
  80. package/locales/en/.agents/skills/api_contracts/agents/skill.yaml +21 -0
  81. package/locales/en/.agents/skills/architecture_compliance_review/SKILL.md +213 -0
  82. package/locales/en/.agents/skills/architecture_compliance_review/agents/claude.json +18 -0
  83. package/locales/en/.agents/skills/architecture_compliance_review/agents/copilot.json +18 -0
  84. package/locales/en/.agents/skills/architecture_compliance_review/agents/gemini.json +18 -0
  85. package/locales/en/.agents/skills/architecture_compliance_review/agents/openai.yaml +8 -0
  86. package/locales/en/.agents/skills/architecture_compliance_review/agents/qwen.json +18 -0
  87. package/locales/en/.agents/skills/architecture_compliance_review/agents/skill.yaml +22 -0
  88. package/locales/en/.agents/skills/architecture_doc/SKILL.md +204 -0
  89. package/locales/en/.agents/skills/architecture_doc/agents/claude.json +18 -0
  90. package/locales/en/.agents/skills/architecture_doc/agents/copilot.json +18 -0
  91. package/locales/en/.agents/skills/architecture_doc/agents/gemini.json +18 -0
  92. package/locales/en/.agents/skills/architecture_doc/agents/openai.yaml +8 -0
  93. package/locales/en/.agents/skills/architecture_doc/agents/qwen.json +18 -0
  94. package/locales/en/.agents/skills/architecture_doc/agents/skill.yaml +22 -0
  95. package/locales/en/.agents/skills/board/SKILL.md +129 -0
  96. package/locales/en/.agents/skills/board/agents/claude.json +16 -0
  97. package/locales/en/.agents/skills/board/agents/copilot.json +16 -0
  98. package/locales/en/.agents/skills/board/agents/gemini.json +16 -0
  99. package/locales/en/.agents/skills/board/agents/openai.yaml +8 -0
  100. package/locales/en/.agents/skills/board/agents/qwen.json +16 -0
  101. package/locales/en/.agents/skills/board/agents/skill.yaml +20 -0
  102. package/locales/en/.agents/skills/cloud_infrastructure_security/SKILL.md +185 -0
  103. package/locales/en/.agents/skills/code_review_checklist/SKILL.md +133 -0
  104. package/locales/en/.agents/skills/current_state_analysis/SKILL.md +141 -0
  105. package/locales/en/.agents/skills/current_state_analysis/agents/claude.json +18 -0
  106. package/locales/en/.agents/skills/current_state_analysis/agents/copilot.json +18 -0
  107. package/locales/en/.agents/skills/current_state_analysis/agents/gemini.json +18 -0
  108. package/locales/en/.agents/skills/current_state_analysis/agents/openai.yaml +8 -0
  109. package/locales/en/.agents/skills/current_state_analysis/agents/qwen.json +18 -0
  110. package/locales/en/.agents/skills/current_state_analysis/agents/skill.yaml +22 -0
  111. package/locales/en/.agents/skills/data_model/SKILL.md +284 -0
  112. package/locales/en/.agents/skills/data_model/agents/claude.json +17 -0
  113. package/locales/en/.agents/skills/data_model/agents/copilot.json +17 -0
  114. package/locales/en/.agents/skills/data_model/agents/gemini.json +17 -0
  115. package/locales/en/.agents/skills/data_model/agents/openai.yaml +8 -0
  116. package/locales/en/.agents/skills/data_model/agents/qwen.json +17 -0
  117. package/locales/en/.agents/skills/data_model/agents/skill.yaml +21 -0
  118. package/locales/en/.agents/skills/dependency_supply_chain_review/SKILL.md +300 -0
  119. package/locales/en/.agents/skills/deployment_ci_plan/SKILL.md +409 -0
  120. package/locales/en/.agents/skills/deployment_ci_plan/agents/claude.json +19 -0
  121. package/locales/en/.agents/skills/deployment_ci_plan/agents/copilot.json +19 -0
  122. package/locales/en/.agents/skills/deployment_ci_plan/agents/gemini.json +19 -0
  123. package/locales/en/.agents/skills/deployment_ci_plan/agents/openai.yaml +8 -0
  124. package/locales/en/.agents/skills/deployment_ci_plan/agents/qwen.json +19 -0
  125. package/locales/en/.agents/skills/deployment_ci_plan/agents/skill.yaml +23 -0
  126. package/locales/en/.agents/skills/design_intake/SKILL.md +223 -0
  127. package/locales/en/.agents/skills/design_intake/agents/claude.json +17 -0
  128. package/locales/en/.agents/skills/design_intake/agents/copilot.json +17 -0
  129. package/locales/en/.agents/skills/design_intake/agents/gemini.json +17 -0
  130. package/locales/en/.agents/skills/design_intake/agents/openai.yaml +8 -0
  131. package/locales/en/.agents/skills/design_intake/agents/qwen.json +17 -0
  132. package/locales/en/.agents/skills/design_intake/agents/skill.yaml +21 -0
  133. package/locales/en/.agents/skills/design_parity_review/SKILL.md +216 -0
  134. package/locales/en/.agents/skills/design_systems/SKILL.md +432 -0
  135. package/locales/en/.agents/skills/dev_reference_snippets/SKILL.md +585 -0
  136. package/locales/en/.agents/skills/docker_kubernetes_architecture/SKILL.md +480 -0
  137. package/locales/en/.agents/skills/es2025_beast_practices/SKILL.md +440 -0
  138. package/locales/en/.agents/skills/gates/SKILL.md +134 -0
  139. package/locales/en/.agents/skills/go_beast_practices/SKILL.md +557 -0
  140. package/locales/en/.agents/skills/golden_canon_grid/SKILL.md +441 -0
  141. package/locales/en/.agents/skills/google_stitch_skill/SKILL.md +533 -0
  142. package/locales/en/.agents/skills/google_stitch_skill/agents/claude.json +19 -0
  143. package/locales/en/.agents/skills/google_stitch_skill/agents/copilot.json +19 -0
  144. package/locales/en/.agents/skills/google_stitch_skill/agents/gemini.json +19 -0
  145. package/locales/en/.agents/skills/google_stitch_skill/agents/openai.yaml +8 -0
  146. package/locales/en/.agents/skills/google_stitch_skill/agents/qwen.json +19 -0
  147. package/locales/en/.agents/skills/google_stitch_skill/agents/skill.yaml +23 -0
  148. package/locales/en/.agents/skills/handoff/SKILL.md +212 -0
  149. package/locales/en/.agents/skills/handoff/agents/claude.json +16 -0
  150. package/locales/en/.agents/skills/handoff/agents/copilot.json +16 -0
  151. package/locales/en/.agents/skills/handoff/agents/gemini.json +16 -0
  152. package/locales/en/.agents/skills/handoff/agents/openai.yaml +8 -0
  153. package/locales/en/.agents/skills/handoff/agents/qwen.json +16 -0
  154. package/locales/en/.agents/skills/handoff/agents/skill.yaml +20 -0
  155. package/locales/en/.agents/skills/k8s_manifests_conventions/SKILL.md +548 -0
  156. package/locales/en/.agents/skills/memory/SKILL.md +219 -0
  157. package/locales/en/.agents/skills/mongodb_mongoose_best_practices/SKILL.md +721 -0
  158. package/locales/en/.agents/skills/mongodb_mongoose_best_practices/agents/claude.json +20 -0
  159. package/locales/en/.agents/skills/mongodb_mongoose_best_practices/agents/copilot.json +20 -0
  160. package/locales/en/.agents/skills/mongodb_mongoose_best_practices/agents/gemini.json +20 -0
  161. package/locales/en/.agents/skills/mongodb_mongoose_best_practices/agents/openai.yaml +8 -0
  162. package/locales/en/.agents/skills/mongodb_mongoose_best_practices/agents/qwen.json +20 -0
  163. package/locales/en/.agents/skills/mongodb_mongoose_best_practices/agents/skill.yaml +24 -0
  164. package/locales/en/.agents/skills/n8n_pinecone_qdrant_supabase/SKILL.md +671 -0
  165. package/locales/en/.agents/skills/node_express_beast_practices/SKILL.md +729 -0
  166. package/locales/en/.agents/skills/observability_logging/SKILL.md +499 -0
  167. package/locales/en/.agents/skills/observability_plan/SKILL.md +276 -0
  168. package/locales/en/.agents/skills/observability_plan/agents/claude.json +17 -0
  169. package/locales/en/.agents/skills/observability_plan/agents/copilot.json +17 -0
  170. package/locales/en/.agents/skills/observability_plan/agents/gemini.json +17 -0
  171. package/locales/en/.agents/skills/observability_plan/agents/openai.yaml +8 -0
  172. package/locales/en/.agents/skills/observability_plan/agents/qwen.json +17 -0
  173. package/locales/en/.agents/skills/observability_plan/agents/skill.yaml +21 -0
  174. package/locales/en/.agents/skills/performance_review_baseline/SKILL.md +239 -0
  175. package/locales/en/.agents/skills/pm_backlog/SKILL.md +249 -0
  176. package/locales/en/.agents/skills/pm_backlog/agents/claude.json +17 -0
  177. package/locales/en/.agents/skills/pm_backlog/agents/copilot.json +17 -0
  178. package/locales/en/.agents/skills/pm_backlog/agents/gemini.json +17 -0
  179. package/locales/en/.agents/skills/pm_backlog/agents/openai.yaml +8 -0
  180. package/locales/en/.agents/skills/pm_backlog/agents/qwen.json +17 -0
  181. package/locales/en/.agents/skills/pm_backlog/agents/skill.yaml +21 -0
  182. package/locales/en/.agents/skills/pm_interview/SKILL.md +170 -0
  183. package/locales/en/.agents/skills/pm_interview/agents/claude.json +18 -0
  184. package/locales/en/.agents/skills/pm_interview/agents/copilot.json +18 -0
  185. package/locales/en/.agents/skills/pm_interview/agents/gemini.json +18 -0
  186. package/locales/en/.agents/skills/pm_interview/agents/openai.yaml +8 -0
  187. package/locales/en/.agents/skills/pm_interview/agents/qwen.json +18 -0
  188. package/locales/en/.agents/skills/pm_interview/agents/skill.yaml +22 -0
  189. package/locales/en/.agents/skills/pm_prd/SKILL.md +215 -0
  190. package/locales/en/.agents/skills/qa_api_contract_tests/SKILL.md +207 -0
  191. package/locales/en/.agents/skills/qa_browser_testing/SKILL.md +255 -0
  192. package/locales/en/.agents/skills/qa_e2e_playwright/SKILL.md +313 -0
  193. package/locales/en/.agents/skills/qa_manual_run/SKILL.md +209 -0
  194. package/locales/en/.agents/skills/qa_regression_baseline/SKILL.md +217 -0
  195. package/locales/en/.agents/skills/qa_security_smoke_tests/SKILL.md +188 -0
  196. package/locales/en/.agents/skills/qa_test_plan/SKILL.md +203 -0
  197. package/locales/en/.agents/skills/qa_test_plan/agents/claude.json +18 -0
  198. package/locales/en/.agents/skills/qa_test_plan/agents/copilot.json +18 -0
  199. package/locales/en/.agents/skills/qa_test_plan/agents/gemini.json +18 -0
  200. package/locales/en/.agents/skills/qa_test_plan/agents/openai.yaml +8 -0
  201. package/locales/en/.agents/skills/qa_test_plan/agents/qwen.json +18 -0
  202. package/locales/en/.agents/skills/qa_test_plan/agents/skill.yaml +22 -0
  203. package/locales/en/.agents/skills/qa_ui_a11y_smoke/SKILL.md +230 -0
  204. package/locales/en/.agents/skills/react_15_3_wix_iframe/SKILL.md +419 -0
  205. package/locales/en/.agents/skills/react_beast_practices/SKILL.md +296 -0
  206. package/locales/en/.agents/skills/release_gate/SKILL.md +213 -0
  207. package/locales/en/.agents/skills/release_gate/agents/claude.json +17 -0
  208. package/locales/en/.agents/skills/release_gate/agents/copilot.json +17 -0
  209. package/locales/en/.agents/skills/release_gate/agents/gemini.json +17 -0
  210. package/locales/en/.agents/skills/release_gate/agents/openai.yaml +8 -0
  211. package/locales/en/.agents/skills/release_gate/agents/qwen.json +17 -0
  212. package/locales/en/.agents/skills/release_gate/agents/skill.yaml +21 -0
  213. package/locales/en/.agents/skills/release_gate_checklist_template/SKILL.md +182 -0
  214. package/locales/en/.agents/skills/release_gate_checklist_template/agents/claude.json +19 -0
  215. package/locales/en/.agents/skills/release_gate_checklist_template/agents/copilot.json +19 -0
  216. package/locales/en/.agents/skills/release_gate_checklist_template/agents/gemini.json +19 -0
  217. package/locales/en/.agents/skills/release_gate_checklist_template/agents/openai.yaml +8 -0
  218. package/locales/en/.agents/skills/release_gate_checklist_template/agents/qwen.json +19 -0
  219. package/locales/en/.agents/skills/release_gate_checklist_template/agents/skill.yaml +23 -0
  220. package/locales/en/.agents/skills/review_reference_snippets/SKILL.md +553 -0
  221. package/locales/en/.agents/skills/security_baseline_dev/SKILL.md +499 -0
  222. package/locales/en/.agents/skills/security_review/SKILL.md +277 -0
  223. package/locales/en/.agents/skills/security_review_baseline/SKILL.md +119 -0
  224. package/locales/en/.agents/skills/state_rtk_beast_practices/SKILL.md +735 -0
  225. package/locales/en/.agents/skills/state_rtk_beast_practices/agents/claude.json +20 -0
  226. package/locales/en/.agents/skills/state_rtk_beast_practices/agents/copilot.json +20 -0
  227. package/locales/en/.agents/skills/state_rtk_beast_practices/agents/gemini.json +20 -0
  228. package/locales/en/.agents/skills/state_rtk_beast_practices/agents/openai.yaml +8 -0
  229. package/locales/en/.agents/skills/state_rtk_beast_practices/agents/qwen.json +20 -0
  230. package/locales/en/.agents/skills/state_rtk_beast_practices/agents/skill.yaml +24 -0
  231. package/locales/en/.agents/skills/state_zustand_beast_practices/SKILL.md +808 -0
  232. package/locales/en/.agents/skills/state_zustand_beast_practices/agents/claude.json +20 -0
  233. package/locales/en/.agents/skills/state_zustand_beast_practices/agents/copilot.json +20 -0
  234. package/locales/en/.agents/skills/state_zustand_beast_practices/agents/gemini.json +20 -0
  235. package/locales/en/.agents/skills/state_zustand_beast_practices/agents/openai.yaml +8 -0
  236. package/locales/en/.agents/skills/state_zustand_beast_practices/agents/qwen.json +20 -0
  237. package/locales/en/.agents/skills/state_zustand_beast_practices/agents/skill.yaml +24 -0
  238. package/locales/en/.agents/skills/styling_css_stack/SKILL.md +558 -0
  239. package/locales/en/.agents/skills/styling_css_stack/agents/claude.json +19 -0
  240. package/locales/en/.agents/skills/styling_css_stack/agents/copilot.json +19 -0
  241. package/locales/en/.agents/skills/styling_css_stack/agents/gemini.json +19 -0
  242. package/locales/en/.agents/skills/styling_css_stack/agents/openai.yaml +8 -0
  243. package/locales/en/.agents/skills/styling_css_stack/agents/qwen.json +19 -0
  244. package/locales/en/.agents/skills/styling_css_stack/agents/skill.yaml +23 -0
  245. package/locales/en/.agents/skills/system_design_checklist/SKILL.md +207 -0
  246. package/locales/en/.agents/skills/system_design_checklist/agents/claude.json +18 -0
  247. package/locales/en/.agents/skills/system_design_checklist/agents/copilot.json +18 -0
  248. package/locales/en/.agents/skills/system_design_checklist/agents/gemini.json +18 -0
  249. package/locales/en/.agents/skills/system_design_checklist/agents/openai.yaml +8 -0
  250. package/locales/en/.agents/skills/system_design_checklist/agents/qwen.json +18 -0
  251. package/locales/en/.agents/skills/system_design_checklist/agents/skill.yaml +22 -0
  252. package/locales/en/.agents/skills/tailwind_beast_practices/SKILL.md +512 -0
  253. package/locales/en/.agents/skills/tanstack_beast_practices/SKILL.md +473 -0
  254. package/locales/en/.agents/skills/tdd_workflow/SKILL.md +453 -0
  255. package/locales/en/.agents/skills/testing_strategy_js/SKILL.md +636 -0
  256. package/locales/en/.agents/skills/testing_strategy_js/agents/claude.json +19 -0
  257. package/locales/en/.agents/skills/testing_strategy_js/agents/copilot.json +19 -0
  258. package/locales/en/.agents/skills/testing_strategy_js/agents/gemini.json +19 -0
  259. package/locales/en/.agents/skills/testing_strategy_js/agents/openai.yaml +8 -0
  260. package/locales/en/.agents/skills/testing_strategy_js/agents/qwen.json +19 -0
  261. package/locales/en/.agents/skills/testing_strategy_js/agents/skill.yaml +23 -0
  262. package/locales/en/.agents/skills/tests_quality_review/SKILL.md +279 -0
  263. package/locales/en/.agents/skills/tests_quality_review/agents/claude.json +18 -0
  264. package/locales/en/.agents/skills/tests_quality_review/agents/copilot.json +18 -0
  265. package/locales/en/.agents/skills/tests_quality_review/agents/gemini.json +18 -0
  266. package/locales/en/.agents/skills/tests_quality_review/agents/openai.yaml +8 -0
  267. package/locales/en/.agents/skills/tests_quality_review/agents/qwen.json +18 -0
  268. package/locales/en/.agents/skills/tests_quality_review/agents/skill.yaml +22 -0
  269. package/locales/en/.agents/skills/threat_model_baseline/SKILL.md +210 -0
  270. package/locales/en/.agents/skills/threat_model_baseline/agents/claude.json +18 -0
  271. package/locales/en/.agents/skills/threat_model_baseline/agents/copilot.json +18 -0
  272. package/locales/en/.agents/skills/threat_model_baseline/agents/gemini.json +18 -0
  273. package/locales/en/.agents/skills/threat_model_baseline/agents/openai.yaml +8 -0
  274. package/locales/en/.agents/skills/threat_model_baseline/agents/qwen.json +18 -0
  275. package/locales/en/.agents/skills/threat_model_baseline/agents/skill.yaml +22 -0
  276. package/locales/en/.agents/skills/tooling_bun_biome/SKILL.md +539 -0
  277. package/locales/en/.agents/skills/typescript_beast_practices/SKILL.md +435 -0
  278. package/locales/en/.agents/skills/ui_a11y_smoke_review/SKILL.md +195 -0
  279. package/locales/en/.agents/skills/ui_a11y_smoke_review/agents/claude.json +20 -0
  280. package/locales/en/.agents/skills/ui_a11y_smoke_review/agents/copilot.json +20 -0
  281. package/locales/en/.agents/skills/ui_a11y_smoke_review/agents/gemini.json +20 -0
  282. package/locales/en/.agents/skills/ui_a11y_smoke_review/agents/openai.yaml +8 -0
  283. package/locales/en/.agents/skills/ui_a11y_smoke_review/agents/qwen.json +20 -0
  284. package/locales/en/.agents/skills/ui_a11y_smoke_review/agents/skill.yaml +24 -0
  285. package/locales/en/.agents/skills/ui_inventory/SKILL.md +277 -0
  286. package/locales/en/.agents/skills/ui_inventory/agents/claude.json +17 -0
  287. package/locales/en/.agents/skills/ui_inventory/agents/copilot.json +17 -0
  288. package/locales/en/.agents/skills/ui_inventory/agents/gemini.json +17 -0
  289. package/locales/en/.agents/skills/ui_inventory/agents/openai.yaml +8 -0
  290. package/locales/en/.agents/skills/ui_inventory/agents/qwen.json +17 -0
  291. package/locales/en/.agents/skills/ui_inventory/agents/skill.yaml +21 -0
  292. package/locales/en/.agents/skills/ux_discovery/SKILL.md +213 -0
  293. package/locales/en/.agents/skills/ux_discovery/agents/claude.json +17 -0
  294. package/locales/en/.agents/skills/ux_discovery/agents/copilot.json +17 -0
  295. package/locales/en/.agents/skills/ux_discovery/agents/gemini.json +17 -0
  296. package/locales/en/.agents/skills/ux_discovery/agents/openai.yaml +8 -0
  297. package/locales/en/.agents/skills/ux_discovery/agents/qwen.json +17 -0
  298. package/locales/en/.agents/skills/ux_discovery/agents/skill.yaml +21 -0
  299. package/locales/en/.agents/skills/ux_spec/SKILL.md +280 -0
  300. package/locales/en/.agents/skills/ux_spec/agents/claude.json +17 -0
  301. package/locales/en/.agents/skills/ux_spec/agents/copilot.json +17 -0
  302. package/locales/en/.agents/skills/ux_spec/agents/gemini.json +17 -0
  303. package/locales/en/.agents/skills/ux_spec/agents/openai.yaml +8 -0
  304. package/locales/en/.agents/skills/ux_spec/agents/qwen.json +17 -0
  305. package/locales/en/.agents/skills/ux_spec/agents/skill.yaml +21 -0
  306. package/locales/en/.agents/skills/wix_iframe_sdk/SKILL.md +280 -0
  307. package/locales/en/.agents/skills/wix_iframe_sdk/agents/claude.json +18 -0
  308. package/locales/en/.agents/skills/wix_iframe_sdk/agents/copilot.json +18 -0
  309. package/locales/en/.agents/skills/wix_iframe_sdk/agents/gemini.json +18 -0
  310. package/locales/en/.agents/skills/wix_iframe_sdk/agents/openai.yaml +8 -0
  311. package/locales/en/.agents/skills/wix_iframe_sdk/agents/qwen.json +18 -0
  312. package/locales/en/.agents/skills/wix_iframe_sdk/agents/skill.yaml +22 -0
  313. package/locales/en/.agents/skills/wix_iframe_sdk/references/wix-sdk-iframe.md +9311 -0
  314. package/locales/en/.agents/skills/wix_self_hosted_embedded_script/SKILL.md +611 -0
  315. package/locales/en/.agents/skills/wix_self_hosted_embedded_script/agents/claude.json +21 -0
  316. package/locales/en/.agents/skills/wix_self_hosted_embedded_script/agents/copilot.json +21 -0
  317. package/locales/en/.agents/skills/wix_self_hosted_embedded_script/agents/gemini.json +21 -0
  318. package/locales/en/.agents/skills/wix_self_hosted_embedded_script/agents/openai.yaml +8 -0
  319. package/locales/en/.agents/skills/wix_self_hosted_embedded_script/agents/qwen.json +21 -0
  320. package/locales/en/.agents/skills/wix_self_hosted_embedded_script/agents/skill.yaml +25 -0
  321. package/package.json +13 -1
  322. package/.agents/adr_log/SKILL.md +0 -369
  323. package/.agents/api_contracts/SKILL.md +0 -329
  324. package/.agents/architecture_compliance_review/SKILL.md +0 -213
  325. package/.agents/architecture_doc/SKILL.md +0 -384
  326. package/.agents/board/SKILL.md +0 -232
  327. package/.agents/current_state_analysis/SKILL.md +0 -225
  328. package/.agents/data_model/SKILL.md +0 -285
  329. package/.agents/deployment_ci_plan/SKILL.md +0 -410
  330. package/.agents/design_intake/SKILL.md +0 -225
  331. package/.agents/google_stitch_skill/SKILL.md +0 -553
  332. package/.agents/google_stitch_skill/agents/claude.json +0 -18
  333. package/.agents/google_stitch_skill/agents/copilot.json +0 -18
  334. package/.agents/google_stitch_skill/agents/gemini.json +0 -18
  335. package/.agents/google_stitch_skill/agents/openai.yaml +0 -8
  336. package/.agents/google_stitch_skill/agents/qwen.json +0 -18
  337. package/.agents/google_stitch_skill/agents/skill.yaml +0 -22
  338. package/.agents/google_stitch_skill/examples/scr_prompts.md +0 -125
  339. package/.agents/handoff/SKILL.md +0 -212
  340. package/.agents/mongodb_mongoose_best_practices/SKILL.md +0 -724
  341. package/.agents/observability_plan/SKILL.md +0 -279
  342. package/.agents/pm_backlog/SKILL.md +0 -250
  343. package/.agents/pm_interview/SKILL.md +0 -197
  344. package/.agents/qa_test_plan/SKILL.md +0 -203
  345. package/.agents/release_gate/SKILL.md +0 -213
  346. package/.agents/release_gate_checklist_template/SKILL.md +0 -182
  347. package/.agents/state_rtk_beast_practices/SKILL.md +0 -735
  348. package/.agents/state_zustand_beast_practices/SKILL.md +0 -808
  349. package/.agents/styling_css_stack/SKILL.md +0 -558
  350. package/.agents/system_design_checklist/SKILL.md +0 -207
  351. package/.agents/testing_strategy_js/SKILL.md +0 -636
  352. package/.agents/tests_quality_review/SKILL.md +0 -279
  353. package/.agents/threat_model_baseline/SKILL.md +0 -210
  354. package/.agents/ui_a11y_smoke_review/SKILL.md +0 -195
  355. package/.agents/ui_inventory/SKILL.md +0 -277
  356. package/.agents/ux_discovery/SKILL.md +0 -214
  357. package/.agents/ux_spec/SKILL.md +0 -282
  358. package/.agents/wix_iframe_sdk/SKILL.md +0 -280
  359. package/.agents/wix_self_hosted_embedded_script/SKILL.md +0 -611
  360. package/locales/en/.agents/a11y_baseline/SKILL.md +0 -260
  361. package/locales/en/.agents/adr_log/SKILL.md +0 -369
  362. package/locales/en/.agents/adr_log/agents/claude.json +0 -18
  363. package/locales/en/.agents/adr_log/agents/copilot.json +0 -18
  364. package/locales/en/.agents/adr_log/agents/gemini.json +0 -18
  365. package/locales/en/.agents/adr_log/agents/openai.yaml +0 -8
  366. package/locales/en/.agents/adr_log/agents/qwen.json +0 -18
  367. package/locales/en/.agents/adr_log/agents/skill.yaml +0 -22
  368. package/locales/en/.agents/api_contract_compliance_review/SKILL.md +0 -224
  369. package/locales/en/.agents/api_contracts/SKILL.md +0 -329
  370. package/locales/en/.agents/api_contracts/agents/claude.json +0 -17
  371. package/locales/en/.agents/api_contracts/agents/copilot.json +0 -17
  372. package/locales/en/.agents/api_contracts/agents/gemini.json +0 -17
  373. package/locales/en/.agents/api_contracts/agents/openai.yaml +0 -8
  374. package/locales/en/.agents/api_contracts/agents/qwen.json +0 -17
  375. package/locales/en/.agents/api_contracts/agents/skill.yaml +0 -21
  376. package/locales/en/.agents/architecture_compliance_review/SKILL.md +0 -213
  377. package/locales/en/.agents/architecture_compliance_review/agents/claude.json +0 -19
  378. package/locales/en/.agents/architecture_compliance_review/agents/copilot.json +0 -19
  379. package/locales/en/.agents/architecture_compliance_review/agents/gemini.json +0 -19
  380. package/locales/en/.agents/architecture_compliance_review/agents/openai.yaml +0 -8
  381. package/locales/en/.agents/architecture_compliance_review/agents/qwen.json +0 -19
  382. package/locales/en/.agents/architecture_compliance_review/agents/skill.yaml +0 -23
  383. package/locales/en/.agents/architecture_doc/SKILL.md +0 -384
  384. package/locales/en/.agents/architecture_doc/agents/claude.json +0 -18
  385. package/locales/en/.agents/architecture_doc/agents/copilot.json +0 -18
  386. package/locales/en/.agents/architecture_doc/agents/gemini.json +0 -18
  387. package/locales/en/.agents/architecture_doc/agents/openai.yaml +0 -8
  388. package/locales/en/.agents/architecture_doc/agents/qwen.json +0 -18
  389. package/locales/en/.agents/architecture_doc/agents/skill.yaml +0 -22
  390. package/locales/en/.agents/board/SKILL.md +0 -232
  391. package/locales/en/.agents/board/agents/claude.json +0 -16
  392. package/locales/en/.agents/board/agents/copilot.json +0 -16
  393. package/locales/en/.agents/board/agents/gemini.json +0 -16
  394. package/locales/en/.agents/board/agents/openai.yaml +0 -8
  395. package/locales/en/.agents/board/agents/qwen.json +0 -16
  396. package/locales/en/.agents/board/agents/skill.yaml +0 -20
  397. package/locales/en/.agents/cloud_infrastructure_security/SKILL.md +0 -277
  398. package/locales/en/.agents/code_review_checklist/SKILL.md +0 -200
  399. package/locales/en/.agents/current_state_analysis/SKILL.md +0 -225
  400. package/locales/en/.agents/current_state_analysis/agents/claude.json +0 -19
  401. package/locales/en/.agents/current_state_analysis/agents/copilot.json +0 -19
  402. package/locales/en/.agents/current_state_analysis/agents/gemini.json +0 -19
  403. package/locales/en/.agents/current_state_analysis/agents/openai.yaml +0 -8
  404. package/locales/en/.agents/current_state_analysis/agents/qwen.json +0 -19
  405. package/locales/en/.agents/current_state_analysis/agents/skill.yaml +0 -23
  406. package/locales/en/.agents/data_model/SKILL.md +0 -285
  407. package/locales/en/.agents/data_model/agents/claude.json +0 -17
  408. package/locales/en/.agents/data_model/agents/copilot.json +0 -17
  409. package/locales/en/.agents/data_model/agents/gemini.json +0 -17
  410. package/locales/en/.agents/data_model/agents/openai.yaml +0 -8
  411. package/locales/en/.agents/data_model/agents/qwen.json +0 -17
  412. package/locales/en/.agents/data_model/agents/skill.yaml +0 -21
  413. package/locales/en/.agents/dependency_supply_chain_review/SKILL.md +0 -300
  414. package/locales/en/.agents/deployment_ci_plan/SKILL.md +0 -410
  415. package/locales/en/.agents/deployment_ci_plan/agents/claude.json +0 -19
  416. package/locales/en/.agents/deployment_ci_plan/agents/copilot.json +0 -19
  417. package/locales/en/.agents/deployment_ci_plan/agents/gemini.json +0 -19
  418. package/locales/en/.agents/deployment_ci_plan/agents/openai.yaml +0 -8
  419. package/locales/en/.agents/deployment_ci_plan/agents/qwen.json +0 -19
  420. package/locales/en/.agents/deployment_ci_plan/agents/skill.yaml +0 -23
  421. package/locales/en/.agents/design_intake/SKILL.md +0 -225
  422. package/locales/en/.agents/design_intake/agents/claude.json +0 -17
  423. package/locales/en/.agents/design_intake/agents/copilot.json +0 -17
  424. package/locales/en/.agents/design_intake/agents/gemini.json +0 -17
  425. package/locales/en/.agents/design_intake/agents/openai.yaml +0 -8
  426. package/locales/en/.agents/design_intake/agents/qwen.json +0 -17
  427. package/locales/en/.agents/design_intake/agents/skill.yaml +0 -21
  428. package/locales/en/.agents/design_parity_review/SKILL.md +0 -216
  429. package/locales/en/.agents/design_systems/SKILL.md +0 -432
  430. package/locales/en/.agents/dev_reference_snippets/SKILL.md +0 -585
  431. package/locales/en/.agents/docker_kubernetes_architecture/SKILL.md +0 -480
  432. package/locales/en/.agents/es2025_beast_practices/SKILL.md +0 -440
  433. package/locales/en/.agents/gates/SKILL.md +0 -134
  434. package/locales/en/.agents/go_beast_practices/SKILL.md +0 -557
  435. package/locales/en/.agents/google_stitch_skill/SKILL.md +0 -553
  436. package/locales/en/.agents/google_stitch_skill/agents/claude.json +0 -18
  437. package/locales/en/.agents/google_stitch_skill/agents/copilot.json +0 -18
  438. package/locales/en/.agents/google_stitch_skill/agents/gemini.json +0 -18
  439. package/locales/en/.agents/google_stitch_skill/agents/openai.yaml +0 -8
  440. package/locales/en/.agents/google_stitch_skill/agents/qwen.json +0 -18
  441. package/locales/en/.agents/google_stitch_skill/agents/skill.yaml +0 -22
  442. package/locales/en/.agents/handoff/SKILL.md +0 -212
  443. package/locales/en/.agents/handoff/agents/claude.json +0 -16
  444. package/locales/en/.agents/handoff/agents/copilot.json +0 -16
  445. package/locales/en/.agents/handoff/agents/gemini.json +0 -16
  446. package/locales/en/.agents/handoff/agents/openai.yaml +0 -8
  447. package/locales/en/.agents/handoff/agents/qwen.json +0 -16
  448. package/locales/en/.agents/handoff/agents/skill.yaml +0 -20
  449. package/locales/en/.agents/k8s_manifests_conventions/SKILL.md +0 -548
  450. package/locales/en/.agents/memory/SKILL.md +0 -219
  451. package/locales/en/.agents/mongodb_mongoose_best_practices/SKILL.md +0 -724
  452. package/locales/en/.agents/mongodb_mongoose_best_practices/agents/claude.json +0 -19
  453. package/locales/en/.agents/mongodb_mongoose_best_practices/agents/copilot.json +0 -19
  454. package/locales/en/.agents/mongodb_mongoose_best_practices/agents/gemini.json +0 -19
  455. package/locales/en/.agents/mongodb_mongoose_best_practices/agents/openai.yaml +0 -8
  456. package/locales/en/.agents/mongodb_mongoose_best_practices/agents/qwen.json +0 -19
  457. package/locales/en/.agents/mongodb_mongoose_best_practices/agents/skill.yaml +0 -23
  458. package/locales/en/.agents/n8n_pinecone_qdrant_supabase/SKILL.md +0 -671
  459. package/locales/en/.agents/node_express_beast_practices/SKILL.md +0 -729
  460. package/locales/en/.agents/observability_logging/SKILL.md +0 -499
  461. package/locales/en/.agents/observability_plan/SKILL.md +0 -279
  462. package/locales/en/.agents/observability_plan/agents/claude.json +0 -18
  463. package/locales/en/.agents/observability_plan/agents/copilot.json +0 -18
  464. package/locales/en/.agents/observability_plan/agents/gemini.json +0 -18
  465. package/locales/en/.agents/observability_plan/agents/openai.yaml +0 -8
  466. package/locales/en/.agents/observability_plan/agents/qwen.json +0 -18
  467. package/locales/en/.agents/observability_plan/agents/skill.yaml +0 -22
  468. package/locales/en/.agents/performance_review_baseline/SKILL.md +0 -239
  469. package/locales/en/.agents/pm_backlog/SKILL.md +0 -250
  470. package/locales/en/.agents/pm_backlog/agents/claude.json +0 -18
  471. package/locales/en/.agents/pm_backlog/agents/copilot.json +0 -18
  472. package/locales/en/.agents/pm_backlog/agents/gemini.json +0 -18
  473. package/locales/en/.agents/pm_backlog/agents/openai.yaml +0 -8
  474. package/locales/en/.agents/pm_backlog/agents/qwen.json +0 -18
  475. package/locales/en/.agents/pm_backlog/agents/skill.yaml +0 -22
  476. package/locales/en/.agents/pm_interview/SKILL.md +0 -197
  477. package/locales/en/.agents/pm_interview/agents/claude.json +0 -18
  478. package/locales/en/.agents/pm_interview/agents/copilot.json +0 -18
  479. package/locales/en/.agents/pm_interview/agents/gemini.json +0 -18
  480. package/locales/en/.agents/pm_interview/agents/openai.yaml +0 -8
  481. package/locales/en/.agents/pm_interview/agents/qwen.json +0 -18
  482. package/locales/en/.agents/pm_interview/agents/skill.yaml +0 -22
  483. package/locales/en/.agents/pm_prd/SKILL.md +0 -215
  484. package/locales/en/.agents/qa_api_contract_tests/SKILL.md +0 -207
  485. package/locales/en/.agents/qa_browser_testing/SKILL.md +0 -255
  486. package/locales/en/.agents/qa_e2e_playwright/SKILL.md +0 -313
  487. package/locales/en/.agents/qa_manual_run/SKILL.md +0 -209
  488. package/locales/en/.agents/qa_regression_baseline/SKILL.md +0 -217
  489. package/locales/en/.agents/qa_security_smoke_tests/SKILL.md +0 -188
  490. package/locales/en/.agents/qa_test_plan/SKILL.md +0 -203
  491. package/locales/en/.agents/qa_test_plan/agents/claude.json +0 -18
  492. package/locales/en/.agents/qa_test_plan/agents/copilot.json +0 -18
  493. package/locales/en/.agents/qa_test_plan/agents/gemini.json +0 -18
  494. package/locales/en/.agents/qa_test_plan/agents/openai.yaml +0 -8
  495. package/locales/en/.agents/qa_test_plan/agents/qwen.json +0 -18
  496. package/locales/en/.agents/qa_test_plan/agents/skill.yaml +0 -22
  497. package/locales/en/.agents/qa_ui_a11y_smoke/SKILL.md +0 -230
  498. package/locales/en/.agents/react_15_3_wix_iframe/SKILL.md +0 -419
  499. package/locales/en/.agents/react_beast_practices/SKILL.md +0 -296
  500. package/locales/en/.agents/release_gate/SKILL.md +0 -213
  501. package/locales/en/.agents/release_gate/agents/claude.json +0 -18
  502. package/locales/en/.agents/release_gate/agents/copilot.json +0 -18
  503. package/locales/en/.agents/release_gate/agents/gemini.json +0 -18
  504. package/locales/en/.agents/release_gate/agents/openai.yaml +0 -8
  505. package/locales/en/.agents/release_gate/agents/qwen.json +0 -18
  506. package/locales/en/.agents/release_gate/agents/skill.yaml +0 -22
  507. package/locales/en/.agents/release_gate_checklist_template/SKILL.md +0 -182
  508. package/locales/en/.agents/release_gate_checklist_template/agents/claude.json +0 -20
  509. package/locales/en/.agents/release_gate_checklist_template/agents/copilot.json +0 -20
  510. package/locales/en/.agents/release_gate_checklist_template/agents/gemini.json +0 -20
  511. package/locales/en/.agents/release_gate_checklist_template/agents/openai.yaml +0 -8
  512. package/locales/en/.agents/release_gate_checklist_template/agents/qwen.json +0 -20
  513. package/locales/en/.agents/release_gate_checklist_template/agents/skill.yaml +0 -24
  514. package/locales/en/.agents/review_reference_snippets/SKILL.md +0 -553
  515. package/locales/en/.agents/security_baseline_dev/SKILL.md +0 -496
  516. package/locales/en/.agents/security_review/SKILL.md +0 -277
  517. package/locales/en/.agents/security_review_baseline/SKILL.md +0 -119
  518. package/locales/en/.agents/state_rtk_beast_practices/SKILL.md +0 -735
  519. package/locales/en/.agents/state_rtk_beast_practices/agents/claude.json +0 -20
  520. package/locales/en/.agents/state_rtk_beast_practices/agents/copilot.json +0 -20
  521. package/locales/en/.agents/state_rtk_beast_practices/agents/gemini.json +0 -20
  522. package/locales/en/.agents/state_rtk_beast_practices/agents/openai.yaml +0 -8
  523. package/locales/en/.agents/state_rtk_beast_practices/agents/qwen.json +0 -20
  524. package/locales/en/.agents/state_rtk_beast_practices/agents/skill.yaml +0 -24
  525. package/locales/en/.agents/state_zustand_beast_practices/SKILL.md +0 -808
  526. package/locales/en/.agents/state_zustand_beast_practices/agents/claude.json +0 -20
  527. package/locales/en/.agents/state_zustand_beast_practices/agents/copilot.json +0 -20
  528. package/locales/en/.agents/state_zustand_beast_practices/agents/gemini.json +0 -20
  529. package/locales/en/.agents/state_zustand_beast_practices/agents/openai.yaml +0 -8
  530. package/locales/en/.agents/state_zustand_beast_practices/agents/qwen.json +0 -20
  531. package/locales/en/.agents/state_zustand_beast_practices/agents/skill.yaml +0 -24
  532. package/locales/en/.agents/styling_css_stack/SKILL.md +0 -558
  533. package/locales/en/.agents/styling_css_stack/agents/claude.json +0 -19
  534. package/locales/en/.agents/styling_css_stack/agents/copilot.json +0 -19
  535. package/locales/en/.agents/styling_css_stack/agents/gemini.json +0 -19
  536. package/locales/en/.agents/styling_css_stack/agents/openai.yaml +0 -8
  537. package/locales/en/.agents/styling_css_stack/agents/qwen.json +0 -19
  538. package/locales/en/.agents/styling_css_stack/agents/skill.yaml +0 -23
  539. package/locales/en/.agents/system_design_checklist/SKILL.md +0 -207
  540. package/locales/en/.agents/system_design_checklist/agents/claude.json +0 -18
  541. package/locales/en/.agents/system_design_checklist/agents/copilot.json +0 -18
  542. package/locales/en/.agents/system_design_checklist/agents/gemini.json +0 -18
  543. package/locales/en/.agents/system_design_checklist/agents/openai.yaml +0 -8
  544. package/locales/en/.agents/system_design_checklist/agents/qwen.json +0 -18
  545. package/locales/en/.agents/system_design_checklist/agents/skill.yaml +0 -22
  546. package/locales/en/.agents/tailwind_beast_practices/SKILL.md +0 -512
  547. package/locales/en/.agents/tanstack_beast_practices/SKILL.md +0 -473
  548. package/locales/en/.agents/tdd_workflow/SKILL.md +0 -453
  549. package/locales/en/.agents/testing_strategy_js/SKILL.md +0 -636
  550. package/locales/en/.agents/testing_strategy_js/agents/claude.json +0 -19
  551. package/locales/en/.agents/testing_strategy_js/agents/copilot.json +0 -19
  552. package/locales/en/.agents/testing_strategy_js/agents/gemini.json +0 -19
  553. package/locales/en/.agents/testing_strategy_js/agents/openai.yaml +0 -8
  554. package/locales/en/.agents/testing_strategy_js/agents/qwen.json +0 -19
  555. package/locales/en/.agents/testing_strategy_js/agents/skill.yaml +0 -23
  556. package/locales/en/.agents/tests_quality_review/SKILL.md +0 -279
  557. package/locales/en/.agents/tests_quality_review/agents/claude.json +0 -18
  558. package/locales/en/.agents/tests_quality_review/agents/copilot.json +0 -18
  559. package/locales/en/.agents/tests_quality_review/agents/gemini.json +0 -18
  560. package/locales/en/.agents/tests_quality_review/agents/openai.yaml +0 -8
  561. package/locales/en/.agents/tests_quality_review/agents/qwen.json +0 -18
  562. package/locales/en/.agents/tests_quality_review/agents/skill.yaml +0 -22
  563. package/locales/en/.agents/threat_model_baseline/SKILL.md +0 -210
  564. package/locales/en/.agents/threat_model_baseline/agents/claude.json +0 -18
  565. package/locales/en/.agents/threat_model_baseline/agents/copilot.json +0 -18
  566. package/locales/en/.agents/threat_model_baseline/agents/gemini.json +0 -18
  567. package/locales/en/.agents/threat_model_baseline/agents/openai.yaml +0 -8
  568. package/locales/en/.agents/threat_model_baseline/agents/qwen.json +0 -18
  569. package/locales/en/.agents/threat_model_baseline/agents/skill.yaml +0 -22
  570. package/locales/en/.agents/tooling_bun_biome/SKILL.md +0 -539
  571. package/locales/en/.agents/typescript_beast_practices/SKILL.md +0 -434
  572. package/locales/en/.agents/ui_a11y_smoke_review/SKILL.md +0 -195
  573. package/locales/en/.agents/ui_a11y_smoke_review/agents/claude.json +0 -20
  574. package/locales/en/.agents/ui_a11y_smoke_review/agents/copilot.json +0 -20
  575. package/locales/en/.agents/ui_a11y_smoke_review/agents/gemini.json +0 -20
  576. package/locales/en/.agents/ui_a11y_smoke_review/agents/openai.yaml +0 -8
  577. package/locales/en/.agents/ui_a11y_smoke_review/agents/qwen.json +0 -20
  578. package/locales/en/.agents/ui_a11y_smoke_review/agents/skill.yaml +0 -24
  579. package/locales/en/.agents/ui_inventory/SKILL.md +0 -277
  580. package/locales/en/.agents/ui_inventory/agents/claude.json +0 -18
  581. package/locales/en/.agents/ui_inventory/agents/copilot.json +0 -18
  582. package/locales/en/.agents/ui_inventory/agents/gemini.json +0 -18
  583. package/locales/en/.agents/ui_inventory/agents/openai.yaml +0 -8
  584. package/locales/en/.agents/ui_inventory/agents/qwen.json +0 -18
  585. package/locales/en/.agents/ui_inventory/agents/skill.yaml +0 -22
  586. package/locales/en/.agents/ux_discovery/SKILL.md +0 -214
  587. package/locales/en/.agents/ux_discovery/agents/claude.json +0 -17
  588. package/locales/en/.agents/ux_discovery/agents/copilot.json +0 -17
  589. package/locales/en/.agents/ux_discovery/agents/gemini.json +0 -17
  590. package/locales/en/.agents/ux_discovery/agents/openai.yaml +0 -8
  591. package/locales/en/.agents/ux_discovery/agents/qwen.json +0 -17
  592. package/locales/en/.agents/ux_discovery/agents/skill.yaml +0 -21
  593. package/locales/en/.agents/ux_spec/SKILL.md +0 -282
  594. package/locales/en/.agents/ux_spec/agents/claude.json +0 -18
  595. package/locales/en/.agents/ux_spec/agents/copilot.json +0 -18
  596. package/locales/en/.agents/ux_spec/agents/gemini.json +0 -18
  597. package/locales/en/.agents/ux_spec/agents/openai.yaml +0 -8
  598. package/locales/en/.agents/ux_spec/agents/qwen.json +0 -18
  599. package/locales/en/.agents/ux_spec/agents/skill.yaml +0 -22
  600. package/locales/en/.agents/wix_iframe_sdk/SKILL.md +0 -280
  601. package/locales/en/.agents/wix_iframe_sdk/agents/claude.json +0 -18
  602. package/locales/en/.agents/wix_iframe_sdk/agents/copilot.json +0 -18
  603. package/locales/en/.agents/wix_iframe_sdk/agents/gemini.json +0 -18
  604. package/locales/en/.agents/wix_iframe_sdk/agents/openai.yaml +0 -8
  605. package/locales/en/.agents/wix_iframe_sdk/agents/qwen.json +0 -18
  606. package/locales/en/.agents/wix_iframe_sdk/agents/skill.yaml +0 -22
  607. package/locales/en/.agents/wix_iframe_sdk/references/wix-sdk-iframe.md +0 -9311
  608. package/locales/en/.agents/wix_self_hosted_embedded_script/SKILL.md +0 -611
  609. package/locales/en/.agents/wix_self_hosted_embedded_script/agents/claude.json +0 -21
  610. package/locales/en/.agents/wix_self_hosted_embedded_script/agents/copilot.json +0 -21
  611. package/locales/en/.agents/wix_self_hosted_embedded_script/agents/gemini.json +0 -21
  612. package/locales/en/.agents/wix_self_hosted_embedded_script/agents/openai.yaml +0 -8
  613. package/locales/en/.agents/wix_self_hosted_embedded_script/agents/qwen.json +0 -21
  614. package/locales/en/.agents/wix_self_hosted_embedded_script/agents/skill.yaml +0 -25
  615. /package/.agents/{a11y_baseline → skills/a11y_baseline}/SKILL.md +0 -0
  616. /package/.agents/{a11y_baseline → skills/a11y_baseline}/agents/claude.json +0 -0
  617. /package/.agents/{a11y_baseline → skills/a11y_baseline}/agents/copilot.json +0 -0
  618. /package/.agents/{a11y_baseline → skills/a11y_baseline}/agents/gemini.json +0 -0
  619. /package/.agents/{a11y_baseline → skills/a11y_baseline}/agents/openai.yaml +0 -0
  620. /package/.agents/{a11y_baseline → skills/a11y_baseline}/agents/qwen.json +0 -0
  621. /package/.agents/{a11y_baseline → skills/a11y_baseline}/agents/skill.yaml +0 -0
  622. /package/.agents/{adr_log → skills/adr_log}/agents/claude.json +0 -0
  623. /package/.agents/{adr_log → skills/adr_log}/agents/copilot.json +0 -0
  624. /package/.agents/{adr_log → skills/adr_log}/agents/gemini.json +0 -0
  625. /package/.agents/{adr_log → skills/adr_log}/agents/openai.yaml +0 -0
  626. /package/.agents/{adr_log → skills/adr_log}/agents/qwen.json +0 -0
  627. /package/.agents/{adr_log → skills/adr_log}/agents/skill.yaml +0 -0
  628. /package/.agents/{api_contract_compliance_review → skills/api_contract_compliance_review}/SKILL.md +0 -0
  629. /package/.agents/{api_contract_compliance_review → skills/api_contract_compliance_review}/agents/claude.json +0 -0
  630. /package/.agents/{api_contract_compliance_review → skills/api_contract_compliance_review}/agents/copilot.json +0 -0
  631. /package/.agents/{api_contract_compliance_review → skills/api_contract_compliance_review}/agents/gemini.json +0 -0
  632. /package/.agents/{api_contract_compliance_review → skills/api_contract_compliance_review}/agents/openai.yaml +0 -0
  633. /package/.agents/{api_contract_compliance_review → skills/api_contract_compliance_review}/agents/qwen.json +0 -0
  634. /package/.agents/{api_contract_compliance_review → skills/api_contract_compliance_review}/agents/skill.yaml +0 -0
  635. /package/.agents/{api_contracts → skills/api_contracts}/agents/claude.json +0 -0
  636. /package/.agents/{api_contracts → skills/api_contracts}/agents/copilot.json +0 -0
  637. /package/.agents/{api_contracts → skills/api_contracts}/agents/gemini.json +0 -0
  638. /package/.agents/{api_contracts → skills/api_contracts}/agents/openai.yaml +0 -0
  639. /package/.agents/{api_contracts → skills/api_contracts}/agents/qwen.json +0 -0
  640. /package/.agents/{api_contracts → skills/api_contracts}/agents/skill.yaml +0 -0
  641. /package/.agents/{architecture_compliance_review → skills/architecture_compliance_review}/agents/claude.json +0 -0
  642. /package/.agents/{architecture_compliance_review → skills/architecture_compliance_review}/agents/copilot.json +0 -0
  643. /package/.agents/{architecture_compliance_review → skills/architecture_compliance_review}/agents/gemini.json +0 -0
  644. /package/.agents/{architecture_compliance_review → skills/architecture_compliance_review}/agents/openai.yaml +0 -0
  645. /package/.agents/{architecture_compliance_review → skills/architecture_compliance_review}/agents/qwen.json +0 -0
  646. /package/.agents/{architecture_compliance_review → skills/architecture_compliance_review}/agents/skill.yaml +0 -0
  647. /package/.agents/{architecture_doc → skills/architecture_doc}/agents/claude.json +0 -0
  648. /package/.agents/{architecture_doc → skills/architecture_doc}/agents/copilot.json +0 -0
  649. /package/.agents/{architecture_doc → skills/architecture_doc}/agents/gemini.json +0 -0
  650. /package/.agents/{architecture_doc → skills/architecture_doc}/agents/openai.yaml +0 -0
  651. /package/.agents/{architecture_doc → skills/architecture_doc}/agents/qwen.json +0 -0
  652. /package/.agents/{architecture_doc → skills/architecture_doc}/agents/skill.yaml +0 -0
  653. /package/.agents/{board → skills/board}/agents/claude.json +0 -0
  654. /package/.agents/{board → skills/board}/agents/copilot.json +0 -0
  655. /package/.agents/{board → skills/board}/agents/gemini.json +0 -0
  656. /package/.agents/{board → skills/board}/agents/openai.yaml +0 -0
  657. /package/.agents/{board → skills/board}/agents/qwen.json +0 -0
  658. /package/.agents/{board → skills/board}/agents/skill.yaml +0 -0
  659. /package/.agents/{cloud_infrastructure_security → skills/cloud_infrastructure_security}/SKILL.md +0 -0
  660. /package/.agents/{cloud_infrastructure_security → skills/cloud_infrastructure_security}/agents/claude.json +0 -0
  661. /package/.agents/{cloud_infrastructure_security → skills/cloud_infrastructure_security}/agents/copilot.json +0 -0
  662. /package/.agents/{cloud_infrastructure_security → skills/cloud_infrastructure_security}/agents/gemini.json +0 -0
  663. /package/.agents/{cloud_infrastructure_security → skills/cloud_infrastructure_security}/agents/openai.yaml +0 -0
  664. /package/.agents/{cloud_infrastructure_security → skills/cloud_infrastructure_security}/agents/qwen.json +0 -0
  665. /package/.agents/{cloud_infrastructure_security → skills/cloud_infrastructure_security}/agents/skill.yaml +0 -0
  666. /package/.agents/{code_review_checklist → skills/code_review_checklist}/SKILL.md +0 -0
  667. /package/.agents/{code_review_checklist → skills/code_review_checklist}/agents/claude.json +0 -0
  668. /package/.agents/{code_review_checklist → skills/code_review_checklist}/agents/copilot.json +0 -0
  669. /package/.agents/{code_review_checklist → skills/code_review_checklist}/agents/gemini.json +0 -0
  670. /package/.agents/{code_review_checklist → skills/code_review_checklist}/agents/openai.yaml +0 -0
  671. /package/.agents/{code_review_checklist → skills/code_review_checklist}/agents/qwen.json +0 -0
  672. /package/.agents/{code_review_checklist → skills/code_review_checklist}/agents/skill.yaml +0 -0
  673. /package/.agents/{current_state_analysis → skills/current_state_analysis}/agents/claude.json +0 -0
  674. /package/.agents/{current_state_analysis → skills/current_state_analysis}/agents/copilot.json +0 -0
  675. /package/.agents/{current_state_analysis → skills/current_state_analysis}/agents/gemini.json +0 -0
  676. /package/.agents/{current_state_analysis → skills/current_state_analysis}/agents/openai.yaml +0 -0
  677. /package/.agents/{current_state_analysis → skills/current_state_analysis}/agents/qwen.json +0 -0
  678. /package/.agents/{current_state_analysis → skills/current_state_analysis}/agents/skill.yaml +0 -0
  679. /package/.agents/{data_model → skills/data_model}/agents/claude.json +0 -0
  680. /package/.agents/{data_model → skills/data_model}/agents/copilot.json +0 -0
  681. /package/.agents/{data_model → skills/data_model}/agents/gemini.json +0 -0
  682. /package/.agents/{data_model → skills/data_model}/agents/openai.yaml +0 -0
  683. /package/.agents/{data_model → skills/data_model}/agents/qwen.json +0 -0
  684. /package/.agents/{data_model → skills/data_model}/agents/skill.yaml +0 -0
  685. /package/.agents/{dependency_supply_chain_review → skills/dependency_supply_chain_review}/SKILL.md +0 -0
  686. /package/.agents/{dependency_supply_chain_review → skills/dependency_supply_chain_review}/agents/claude.json +0 -0
  687. /package/.agents/{dependency_supply_chain_review → skills/dependency_supply_chain_review}/agents/copilot.json +0 -0
  688. /package/.agents/{dependency_supply_chain_review → skills/dependency_supply_chain_review}/agents/gemini.json +0 -0
  689. /package/.agents/{dependency_supply_chain_review → skills/dependency_supply_chain_review}/agents/openai.yaml +0 -0
  690. /package/.agents/{dependency_supply_chain_review → skills/dependency_supply_chain_review}/agents/qwen.json +0 -0
  691. /package/.agents/{dependency_supply_chain_review → skills/dependency_supply_chain_review}/agents/skill.yaml +0 -0
  692. /package/.agents/{deployment_ci_plan → skills/deployment_ci_plan}/agents/claude.json +0 -0
  693. /package/.agents/{deployment_ci_plan → skills/deployment_ci_plan}/agents/copilot.json +0 -0
  694. /package/.agents/{deployment_ci_plan → skills/deployment_ci_plan}/agents/gemini.json +0 -0
  695. /package/.agents/{deployment_ci_plan → skills/deployment_ci_plan}/agents/openai.yaml +0 -0
  696. /package/.agents/{deployment_ci_plan → skills/deployment_ci_plan}/agents/qwen.json +0 -0
  697. /package/.agents/{deployment_ci_plan → skills/deployment_ci_plan}/agents/skill.yaml +0 -0
  698. /package/.agents/{design_intake → skills/design_intake}/agents/claude.json +0 -0
  699. /package/.agents/{design_intake → skills/design_intake}/agents/copilot.json +0 -0
  700. /package/.agents/{design_intake → skills/design_intake}/agents/gemini.json +0 -0
  701. /package/.agents/{design_intake → skills/design_intake}/agents/openai.yaml +0 -0
  702. /package/.agents/{design_intake → skills/design_intake}/agents/qwen.json +0 -0
  703. /package/.agents/{design_intake → skills/design_intake}/agents/skill.yaml +0 -0
  704. /package/.agents/{design_parity_review → skills/design_parity_review}/SKILL.md +0 -0
  705. /package/.agents/{design_parity_review → skills/design_parity_review}/agents/claude.json +0 -0
  706. /package/.agents/{design_parity_review → skills/design_parity_review}/agents/copilot.json +0 -0
  707. /package/.agents/{design_parity_review → skills/design_parity_review}/agents/gemini.json +0 -0
  708. /package/.agents/{design_parity_review → skills/design_parity_review}/agents/openai.yaml +0 -0
  709. /package/.agents/{design_parity_review → skills/design_parity_review}/agents/qwen.json +0 -0
  710. /package/.agents/{design_parity_review → skills/design_parity_review}/agents/skill.yaml +0 -0
  711. /package/.agents/{design_systems → skills/design_systems}/SKILL.md +0 -0
  712. /package/.agents/{design_systems → skills/design_systems}/agents/claude.json +0 -0
  713. /package/.agents/{design_systems → skills/design_systems}/agents/copilot.json +0 -0
  714. /package/.agents/{design_systems → skills/design_systems}/agents/gemini.json +0 -0
  715. /package/.agents/{design_systems → skills/design_systems}/agents/openai.yaml +0 -0
  716. /package/.agents/{design_systems → skills/design_systems}/agents/qwen.json +0 -0
  717. /package/.agents/{design_systems → skills/design_systems}/agents/skill.yaml +0 -0
  718. /package/.agents/{dev_reference_snippets → skills/dev_reference_snippets}/SKILL.md +0 -0
  719. /package/.agents/{dev_reference_snippets → skills/dev_reference_snippets}/agents/claude.json +0 -0
  720. /package/.agents/{dev_reference_snippets → skills/dev_reference_snippets}/agents/copilot.json +0 -0
  721. /package/.agents/{dev_reference_snippets → skills/dev_reference_snippets}/agents/gemini.json +0 -0
  722. /package/.agents/{dev_reference_snippets → skills/dev_reference_snippets}/agents/openai.yaml +0 -0
  723. /package/.agents/{dev_reference_snippets → skills/dev_reference_snippets}/agents/qwen.json +0 -0
  724. /package/.agents/{dev_reference_snippets → skills/dev_reference_snippets}/agents/skill.yaml +0 -0
  725. /package/.agents/{docker_kubernetes_architecture → skills/docker_kubernetes_architecture}/SKILL.md +0 -0
  726. /package/.agents/{docker_kubernetes_architecture → skills/docker_kubernetes_architecture}/agents/claude.json +0 -0
  727. /package/.agents/{docker_kubernetes_architecture → skills/docker_kubernetes_architecture}/agents/copilot.json +0 -0
  728. /package/.agents/{docker_kubernetes_architecture → skills/docker_kubernetes_architecture}/agents/gemini.json +0 -0
  729. /package/.agents/{docker_kubernetes_architecture → skills/docker_kubernetes_architecture}/agents/openai.yaml +0 -0
  730. /package/.agents/{docker_kubernetes_architecture → skills/docker_kubernetes_architecture}/agents/qwen.json +0 -0
  731. /package/.agents/{docker_kubernetes_architecture → skills/docker_kubernetes_architecture}/agents/skill.yaml +0 -0
  732. /package/.agents/{es2025_beast_practices → skills/es2025_beast_practices}/SKILL.md +0 -0
  733. /package/.agents/{es2025_beast_practices → skills/es2025_beast_practices}/agents/claude.json +0 -0
  734. /package/.agents/{es2025_beast_practices → skills/es2025_beast_practices}/agents/copilot.json +0 -0
  735. /package/.agents/{es2025_beast_practices → skills/es2025_beast_practices}/agents/gemini.json +0 -0
  736. /package/.agents/{es2025_beast_practices → skills/es2025_beast_practices}/agents/openai.yaml +0 -0
  737. /package/.agents/{es2025_beast_practices → skills/es2025_beast_practices}/agents/qwen.json +0 -0
  738. /package/.agents/{es2025_beast_practices → skills/es2025_beast_practices}/agents/skill.yaml +0 -0
  739. /package/.agents/{gates → skills/gates}/SKILL.md +0 -0
  740. /package/.agents/{gates → skills/gates}/agents/claude.json +0 -0
  741. /package/.agents/{gates → skills/gates}/agents/copilot.json +0 -0
  742. /package/.agents/{gates → skills/gates}/agents/gemini.json +0 -0
  743. /package/.agents/{gates → skills/gates}/agents/openai.yaml +0 -0
  744. /package/.agents/{gates → skills/gates}/agents/qwen.json +0 -0
  745. /package/.agents/{gates → skills/gates}/agents/skill.yaml +0 -0
  746. /package/.agents/{go_beast_practices → skills/go_beast_practices}/SKILL.md +0 -0
  747. /package/.agents/{go_beast_practices → skills/go_beast_practices}/agents/claude.json +0 -0
  748. /package/.agents/{go_beast_practices → skills/go_beast_practices}/agents/copilot.json +0 -0
  749. /package/.agents/{go_beast_practices → skills/go_beast_practices}/agents/gemini.json +0 -0
  750. /package/.agents/{go_beast_practices → skills/go_beast_practices}/agents/openai.yaml +0 -0
  751. /package/.agents/{go_beast_practices → skills/go_beast_practices}/agents/qwen.json +0 -0
  752. /package/.agents/{go_beast_practices → skills/go_beast_practices}/agents/skill.yaml +0 -0
  753. /package/.agents/{google_stitch_skill → skills/google_stitch_skill}/resources/budget_planner.md +0 -0
  754. /package/.agents/{handoff → skills/handoff}/agents/claude.json +0 -0
  755. /package/.agents/{handoff → skills/handoff}/agents/copilot.json +0 -0
  756. /package/.agents/{handoff → skills/handoff}/agents/gemini.json +0 -0
  757. /package/.agents/{handoff → skills/handoff}/agents/openai.yaml +0 -0
  758. /package/.agents/{handoff → skills/handoff}/agents/qwen.json +0 -0
  759. /package/.agents/{handoff → skills/handoff}/agents/skill.yaml +0 -0
  760. /package/.agents/{k8s_manifests_conventions → skills/k8s_manifests_conventions}/SKILL.md +0 -0
  761. /package/.agents/{k8s_manifests_conventions → skills/k8s_manifests_conventions}/agents/claude.json +0 -0
  762. /package/.agents/{k8s_manifests_conventions → skills/k8s_manifests_conventions}/agents/copilot.json +0 -0
  763. /package/.agents/{k8s_manifests_conventions → skills/k8s_manifests_conventions}/agents/gemini.json +0 -0
  764. /package/.agents/{k8s_manifests_conventions → skills/k8s_manifests_conventions}/agents/openai.yaml +0 -0
  765. /package/.agents/{k8s_manifests_conventions → skills/k8s_manifests_conventions}/agents/qwen.json +0 -0
  766. /package/.agents/{k8s_manifests_conventions → skills/k8s_manifests_conventions}/agents/skill.yaml +0 -0
  767. /package/.agents/{memory → skills/memory}/SKILL.md +0 -0
  768. /package/.agents/{memory → skills/memory}/agents/claude.json +0 -0
  769. /package/.agents/{memory → skills/memory}/agents/copilot.json +0 -0
  770. /package/.agents/{memory → skills/memory}/agents/gemini.json +0 -0
  771. /package/.agents/{memory → skills/memory}/agents/openai.yaml +0 -0
  772. /package/.agents/{memory → skills/memory}/agents/qwen.json +0 -0
  773. /package/.agents/{memory → skills/memory}/agents/skill.yaml +0 -0
  774. /package/.agents/{mongodb_mongoose_best_practices → skills/mongodb_mongoose_best_practices}/agents/claude.json +0 -0
  775. /package/.agents/{mongodb_mongoose_best_practices → skills/mongodb_mongoose_best_practices}/agents/copilot.json +0 -0
  776. /package/.agents/{mongodb_mongoose_best_practices → skills/mongodb_mongoose_best_practices}/agents/gemini.json +0 -0
  777. /package/.agents/{mongodb_mongoose_best_practices → skills/mongodb_mongoose_best_practices}/agents/openai.yaml +0 -0
  778. /package/.agents/{mongodb_mongoose_best_practices → skills/mongodb_mongoose_best_practices}/agents/qwen.json +0 -0
  779. /package/.agents/{mongodb_mongoose_best_practices → skills/mongodb_mongoose_best_practices}/agents/skill.yaml +0 -0
  780. /package/.agents/{n8n_pinecone_qdrant_supabase → skills/n8n_pinecone_qdrant_supabase}/SKILL.md +0 -0
  781. /package/.agents/{n8n_pinecone_qdrant_supabase → skills/n8n_pinecone_qdrant_supabase}/agents/claude.json +0 -0
  782. /package/.agents/{n8n_pinecone_qdrant_supabase → skills/n8n_pinecone_qdrant_supabase}/agents/copilot.json +0 -0
  783. /package/.agents/{n8n_pinecone_qdrant_supabase → skills/n8n_pinecone_qdrant_supabase}/agents/gemini.json +0 -0
  784. /package/.agents/{n8n_pinecone_qdrant_supabase → skills/n8n_pinecone_qdrant_supabase}/agents/openai.yaml +0 -0
  785. /package/.agents/{n8n_pinecone_qdrant_supabase → skills/n8n_pinecone_qdrant_supabase}/agents/qwen.json +0 -0
  786. /package/.agents/{n8n_pinecone_qdrant_supabase → skills/n8n_pinecone_qdrant_supabase}/agents/skill.yaml +0 -0
  787. /package/.agents/{node_express_beast_practices → skills/node_express_beast_practices}/SKILL.md +0 -0
  788. /package/.agents/{node_express_beast_practices → skills/node_express_beast_practices}/agents/claude.json +0 -0
  789. /package/.agents/{node_express_beast_practices → skills/node_express_beast_practices}/agents/copilot.json +0 -0
  790. /package/.agents/{node_express_beast_practices → skills/node_express_beast_practices}/agents/gemini.json +0 -0
  791. /package/.agents/{node_express_beast_practices → skills/node_express_beast_practices}/agents/openai.yaml +0 -0
  792. /package/.agents/{node_express_beast_practices → skills/node_express_beast_practices}/agents/qwen.json +0 -0
  793. /package/.agents/{node_express_beast_practices → skills/node_express_beast_practices}/agents/skill.yaml +0 -0
  794. /package/.agents/{observability_logging → skills/observability_logging}/SKILL.md +0 -0
  795. /package/.agents/{observability_logging → skills/observability_logging}/agents/claude.json +0 -0
  796. /package/.agents/{observability_logging → skills/observability_logging}/agents/copilot.json +0 -0
  797. /package/.agents/{observability_logging → skills/observability_logging}/agents/gemini.json +0 -0
  798. /package/.agents/{observability_logging → skills/observability_logging}/agents/openai.yaml +0 -0
  799. /package/.agents/{observability_logging → skills/observability_logging}/agents/qwen.json +0 -0
  800. /package/.agents/{observability_logging → skills/observability_logging}/agents/skill.yaml +0 -0
  801. /package/.agents/{observability_plan → skills/observability_plan}/agents/claude.json +0 -0
  802. /package/.agents/{observability_plan → skills/observability_plan}/agents/copilot.json +0 -0
  803. /package/.agents/{observability_plan → skills/observability_plan}/agents/gemini.json +0 -0
  804. /package/.agents/{observability_plan → skills/observability_plan}/agents/openai.yaml +0 -0
  805. /package/.agents/{observability_plan → skills/observability_plan}/agents/qwen.json +0 -0
  806. /package/.agents/{observability_plan → skills/observability_plan}/agents/skill.yaml +0 -0
  807. /package/.agents/{observability_review → skills/observability_review}/SKILL.md +0 -0
  808. /package/.agents/{observability_review → skills/observability_review}/agents/claude.json +0 -0
  809. /package/.agents/{observability_review → skills/observability_review}/agents/copilot.json +0 -0
  810. /package/.agents/{observability_review → skills/observability_review}/agents/gemini.json +0 -0
  811. /package/.agents/{observability_review → skills/observability_review}/agents/openai.yaml +0 -0
  812. /package/.agents/{observability_review → skills/observability_review}/agents/qwen.json +0 -0
  813. /package/.agents/{observability_review → skills/observability_review}/agents/skill.yaml +0 -0
  814. /package/.agents/{performance_review_baseline → skills/performance_review_baseline}/SKILL.md +0 -0
  815. /package/.agents/{performance_review_baseline → skills/performance_review_baseline}/agents/claude.json +0 -0
  816. /package/.agents/{performance_review_baseline → skills/performance_review_baseline}/agents/copilot.json +0 -0
  817. /package/.agents/{performance_review_baseline → skills/performance_review_baseline}/agents/gemini.json +0 -0
  818. /package/.agents/{performance_review_baseline → skills/performance_review_baseline}/agents/openai.yaml +0 -0
  819. /package/.agents/{performance_review_baseline → skills/performance_review_baseline}/agents/qwen.json +0 -0
  820. /package/.agents/{performance_review_baseline → skills/performance_review_baseline}/agents/skill.yaml +0 -0
  821. /package/.agents/{pm_backlog → skills/pm_backlog}/agents/claude.json +0 -0
  822. /package/.agents/{pm_backlog → skills/pm_backlog}/agents/copilot.json +0 -0
  823. /package/.agents/{pm_backlog → skills/pm_backlog}/agents/gemini.json +0 -0
  824. /package/.agents/{pm_backlog → skills/pm_backlog}/agents/openai.yaml +0 -0
  825. /package/.agents/{pm_backlog → skills/pm_backlog}/agents/qwen.json +0 -0
  826. /package/.agents/{pm_backlog → skills/pm_backlog}/agents/skill.yaml +0 -0
  827. /package/.agents/{pm_interview → skills/pm_interview}/agents/claude.json +0 -0
  828. /package/.agents/{pm_interview → skills/pm_interview}/agents/copilot.json +0 -0
  829. /package/.agents/{pm_interview → skills/pm_interview}/agents/gemini.json +0 -0
  830. /package/.agents/{pm_interview → skills/pm_interview}/agents/openai.yaml +0 -0
  831. /package/.agents/{pm_interview → skills/pm_interview}/agents/qwen.json +0 -0
  832. /package/.agents/{pm_interview → skills/pm_interview}/agents/skill.yaml +0 -0
  833. /package/.agents/{pm_prd → skills/pm_prd}/SKILL.md +0 -0
  834. /package/.agents/{pm_prd → skills/pm_prd}/agents/claude.json +0 -0
  835. /package/.agents/{pm_prd → skills/pm_prd}/agents/copilot.json +0 -0
  836. /package/.agents/{pm_prd → skills/pm_prd}/agents/gemini.json +0 -0
  837. /package/.agents/{pm_prd → skills/pm_prd}/agents/openai.yaml +0 -0
  838. /package/.agents/{pm_prd → skills/pm_prd}/agents/qwen.json +0 -0
  839. /package/.agents/{pm_prd → skills/pm_prd}/agents/skill.yaml +0 -0
  840. /package/.agents/{qa_api_contract_tests → skills/qa_api_contract_tests}/SKILL.md +0 -0
  841. /package/.agents/{qa_api_contract_tests → skills/qa_api_contract_tests}/agents/claude.json +0 -0
  842. /package/.agents/{qa_api_contract_tests → skills/qa_api_contract_tests}/agents/copilot.json +0 -0
  843. /package/.agents/{qa_api_contract_tests → skills/qa_api_contract_tests}/agents/gemini.json +0 -0
  844. /package/.agents/{qa_api_contract_tests → skills/qa_api_contract_tests}/agents/openai.yaml +0 -0
  845. /package/.agents/{qa_api_contract_tests → skills/qa_api_contract_tests}/agents/qwen.json +0 -0
  846. /package/.agents/{qa_api_contract_tests → skills/qa_api_contract_tests}/agents/skill.yaml +0 -0
  847. /package/.agents/{qa_browser_testing → skills/qa_browser_testing}/SKILL.md +0 -0
  848. /package/.agents/{qa_browser_testing → skills/qa_browser_testing}/agents/claude.json +0 -0
  849. /package/.agents/{qa_browser_testing → skills/qa_browser_testing}/agents/copilot.json +0 -0
  850. /package/.agents/{qa_browser_testing → skills/qa_browser_testing}/agents/gemini.json +0 -0
  851. /package/.agents/{qa_browser_testing → skills/qa_browser_testing}/agents/openai.yaml +0 -0
  852. /package/.agents/{qa_browser_testing → skills/qa_browser_testing}/agents/qwen.json +0 -0
  853. /package/.agents/{qa_browser_testing → skills/qa_browser_testing}/agents/skill.yaml +0 -0
  854. /package/.agents/{qa_e2e_playwright → skills/qa_e2e_playwright}/SKILL.md +0 -0
  855. /package/.agents/{qa_e2e_playwright → skills/qa_e2e_playwright}/agents/claude.json +0 -0
  856. /package/.agents/{qa_e2e_playwright → skills/qa_e2e_playwright}/agents/copilot.json +0 -0
  857. /package/.agents/{qa_e2e_playwright → skills/qa_e2e_playwright}/agents/gemini.json +0 -0
  858. /package/.agents/{qa_e2e_playwright → skills/qa_e2e_playwright}/agents/openai.yaml +0 -0
  859. /package/.agents/{qa_e2e_playwright → skills/qa_e2e_playwright}/agents/qwen.json +0 -0
  860. /package/.agents/{qa_e2e_playwright → skills/qa_e2e_playwright}/agents/skill.yaml +0 -0
  861. /package/.agents/{qa_manual_run → skills/qa_manual_run}/SKILL.md +0 -0
  862. /package/.agents/{qa_manual_run → skills/qa_manual_run}/agents/claude.json +0 -0
  863. /package/.agents/{qa_manual_run → skills/qa_manual_run}/agents/copilot.json +0 -0
  864. /package/.agents/{qa_manual_run → skills/qa_manual_run}/agents/gemini.json +0 -0
  865. /package/.agents/{qa_manual_run → skills/qa_manual_run}/agents/openai.yaml +0 -0
  866. /package/.agents/{qa_manual_run → skills/qa_manual_run}/agents/qwen.json +0 -0
  867. /package/.agents/{qa_manual_run → skills/qa_manual_run}/agents/skill.yaml +0 -0
  868. /package/.agents/{qa_regression_baseline → skills/qa_regression_baseline}/SKILL.md +0 -0
  869. /package/.agents/{qa_regression_baseline → skills/qa_regression_baseline}/agents/claude.json +0 -0
  870. /package/.agents/{qa_regression_baseline → skills/qa_regression_baseline}/agents/copilot.json +0 -0
  871. /package/.agents/{qa_regression_baseline → skills/qa_regression_baseline}/agents/gemini.json +0 -0
  872. /package/.agents/{qa_regression_baseline → skills/qa_regression_baseline}/agents/openai.yaml +0 -0
  873. /package/.agents/{qa_regression_baseline → skills/qa_regression_baseline}/agents/qwen.json +0 -0
  874. /package/.agents/{qa_regression_baseline → skills/qa_regression_baseline}/agents/skill.yaml +0 -0
  875. /package/.agents/{qa_security_smoke_tests → skills/qa_security_smoke_tests}/SKILL.md +0 -0
  876. /package/.agents/{qa_security_smoke_tests → skills/qa_security_smoke_tests}/agents/claude.json +0 -0
  877. /package/.agents/{qa_security_smoke_tests → skills/qa_security_smoke_tests}/agents/copilot.json +0 -0
  878. /package/.agents/{qa_security_smoke_tests → skills/qa_security_smoke_tests}/agents/gemini.json +0 -0
  879. /package/.agents/{qa_security_smoke_tests → skills/qa_security_smoke_tests}/agents/openai.yaml +0 -0
  880. /package/.agents/{qa_security_smoke_tests → skills/qa_security_smoke_tests}/agents/qwen.json +0 -0
  881. /package/.agents/{qa_security_smoke_tests → skills/qa_security_smoke_tests}/agents/skill.yaml +0 -0
  882. /package/.agents/{qa_test_plan → skills/qa_test_plan}/agents/claude.json +0 -0
  883. /package/.agents/{qa_test_plan → skills/qa_test_plan}/agents/copilot.json +0 -0
  884. /package/.agents/{qa_test_plan → skills/qa_test_plan}/agents/gemini.json +0 -0
  885. /package/.agents/{qa_test_plan → skills/qa_test_plan}/agents/openai.yaml +0 -0
  886. /package/.agents/{qa_test_plan → skills/qa_test_plan}/agents/qwen.json +0 -0
  887. /package/.agents/{qa_test_plan → skills/qa_test_plan}/agents/skill.yaml +0 -0
  888. /package/.agents/{qa_ui_a11y_smoke → skills/qa_ui_a11y_smoke}/SKILL.md +0 -0
  889. /package/.agents/{qa_ui_a11y_smoke → skills/qa_ui_a11y_smoke}/agents/claude.json +0 -0
  890. /package/.agents/{qa_ui_a11y_smoke → skills/qa_ui_a11y_smoke}/agents/copilot.json +0 -0
  891. /package/.agents/{qa_ui_a11y_smoke → skills/qa_ui_a11y_smoke}/agents/gemini.json +0 -0
  892. /package/.agents/{qa_ui_a11y_smoke → skills/qa_ui_a11y_smoke}/agents/openai.yaml +0 -0
  893. /package/.agents/{qa_ui_a11y_smoke → skills/qa_ui_a11y_smoke}/agents/qwen.json +0 -0
  894. /package/.agents/{qa_ui_a11y_smoke → skills/qa_ui_a11y_smoke}/agents/skill.yaml +0 -0
  895. /package/.agents/{react_15_3_wix_iframe → skills/react_15_3_wix_iframe}/SKILL.md +0 -0
  896. /package/.agents/{react_15_3_wix_iframe → skills/react_15_3_wix_iframe}/agents/claude.json +0 -0
  897. /package/.agents/{react_15_3_wix_iframe → skills/react_15_3_wix_iframe}/agents/copilot.json +0 -0
  898. /package/.agents/{react_15_3_wix_iframe → skills/react_15_3_wix_iframe}/agents/gemini.json +0 -0
  899. /package/.agents/{react_15_3_wix_iframe → skills/react_15_3_wix_iframe}/agents/openai.yaml +0 -0
  900. /package/.agents/{react_15_3_wix_iframe → skills/react_15_3_wix_iframe}/agents/qwen.json +0 -0
  901. /package/.agents/{react_15_3_wix_iframe → skills/react_15_3_wix_iframe}/agents/skill.yaml +0 -0
  902. /package/.agents/{react_beast_practices → skills/react_beast_practices}/SKILL.md +0 -0
  903. /package/.agents/{react_beast_practices → skills/react_beast_practices}/agents/claude.json +0 -0
  904. /package/.agents/{react_beast_practices → skills/react_beast_practices}/agents/copilot.json +0 -0
  905. /package/.agents/{react_beast_practices → skills/react_beast_practices}/agents/gemini.json +0 -0
  906. /package/.agents/{react_beast_practices → skills/react_beast_practices}/agents/openai.yaml +0 -0
  907. /package/.agents/{react_beast_practices → skills/react_beast_practices}/agents/qwen.json +0 -0
  908. /package/.agents/{react_beast_practices → skills/react_beast_practices}/agents/skill.yaml +0 -0
  909. /package/.agents/{release_gate → skills/release_gate}/agents/claude.json +0 -0
  910. /package/.agents/{release_gate → skills/release_gate}/agents/copilot.json +0 -0
  911. /package/.agents/{release_gate → skills/release_gate}/agents/gemini.json +0 -0
  912. /package/.agents/{release_gate → skills/release_gate}/agents/openai.yaml +0 -0
  913. /package/.agents/{release_gate → skills/release_gate}/agents/qwen.json +0 -0
  914. /package/.agents/{release_gate → skills/release_gate}/agents/skill.yaml +0 -0
  915. /package/.agents/{release_gate_checklist_template → skills/release_gate_checklist_template}/agents/claude.json +0 -0
  916. /package/.agents/{release_gate_checklist_template → skills/release_gate_checklist_template}/agents/copilot.json +0 -0
  917. /package/.agents/{release_gate_checklist_template → skills/release_gate_checklist_template}/agents/gemini.json +0 -0
  918. /package/.agents/{release_gate_checklist_template → skills/release_gate_checklist_template}/agents/openai.yaml +0 -0
  919. /package/.agents/{release_gate_checklist_template → skills/release_gate_checklist_template}/agents/qwen.json +0 -0
  920. /package/.agents/{release_gate_checklist_template → skills/release_gate_checklist_template}/agents/skill.yaml +0 -0
  921. /package/.agents/{review_reference_snippets → skills/review_reference_snippets}/SKILL.md +0 -0
  922. /package/.agents/{review_reference_snippets → skills/review_reference_snippets}/agents/claude.json +0 -0
  923. /package/.agents/{review_reference_snippets → skills/review_reference_snippets}/agents/copilot.json +0 -0
  924. /package/.agents/{review_reference_snippets → skills/review_reference_snippets}/agents/gemini.json +0 -0
  925. /package/.agents/{review_reference_snippets → skills/review_reference_snippets}/agents/openai.yaml +0 -0
  926. /package/.agents/{review_reference_snippets → skills/review_reference_snippets}/agents/qwen.json +0 -0
  927. /package/.agents/{review_reference_snippets → skills/review_reference_snippets}/agents/skill.yaml +0 -0
  928. /package/.agents/{security_baseline_dev → skills/security_baseline_dev}/SKILL.md +0 -0
  929. /package/.agents/{security_baseline_dev → skills/security_baseline_dev}/agents/claude.json +0 -0
  930. /package/.agents/{security_baseline_dev → skills/security_baseline_dev}/agents/copilot.json +0 -0
  931. /package/.agents/{security_baseline_dev → skills/security_baseline_dev}/agents/gemini.json +0 -0
  932. /package/.agents/{security_baseline_dev → skills/security_baseline_dev}/agents/openai.yaml +0 -0
  933. /package/.agents/{security_baseline_dev → skills/security_baseline_dev}/agents/qwen.json +0 -0
  934. /package/.agents/{security_baseline_dev → skills/security_baseline_dev}/agents/skill.yaml +0 -0
  935. /package/.agents/{security_review → skills/security_review}/SKILL.md +0 -0
  936. /package/.agents/{security_review → skills/security_review}/agents/claude.json +0 -0
  937. /package/.agents/{security_review → skills/security_review}/agents/copilot.json +0 -0
  938. /package/.agents/{security_review → skills/security_review}/agents/gemini.json +0 -0
  939. /package/.agents/{security_review → skills/security_review}/agents/openai.yaml +0 -0
  940. /package/.agents/{security_review → skills/security_review}/agents/qwen.json +0 -0
  941. /package/.agents/{security_review → skills/security_review}/agents/skill.yaml +0 -0
  942. /package/.agents/{security_review_baseline → skills/security_review_baseline}/SKILL.md +0 -0
  943. /package/.agents/{security_review_baseline → skills/security_review_baseline}/agents/claude.json +0 -0
  944. /package/.agents/{security_review_baseline → skills/security_review_baseline}/agents/copilot.json +0 -0
  945. /package/.agents/{security_review_baseline → skills/security_review_baseline}/agents/gemini.json +0 -0
  946. /package/.agents/{security_review_baseline → skills/security_review_baseline}/agents/openai.yaml +0 -0
  947. /package/.agents/{security_review_baseline → skills/security_review_baseline}/agents/qwen.json +0 -0
  948. /package/.agents/{security_review_baseline → skills/security_review_baseline}/agents/skill.yaml +0 -0
  949. /package/.agents/{state_rtk_beast_practices → skills/state_rtk_beast_practices}/agents/claude.json +0 -0
  950. /package/.agents/{state_rtk_beast_practices → skills/state_rtk_beast_practices}/agents/copilot.json +0 -0
  951. /package/.agents/{state_rtk_beast_practices → skills/state_rtk_beast_practices}/agents/gemini.json +0 -0
  952. /package/.agents/{state_rtk_beast_practices → skills/state_rtk_beast_practices}/agents/openai.yaml +0 -0
  953. /package/.agents/{state_rtk_beast_practices → skills/state_rtk_beast_practices}/agents/qwen.json +0 -0
  954. /package/.agents/{state_rtk_beast_practices → skills/state_rtk_beast_practices}/agents/skill.yaml +0 -0
  955. /package/.agents/{state_zustand_beast_practices → skills/state_zustand_beast_practices}/agents/claude.json +0 -0
  956. /package/.agents/{state_zustand_beast_practices → skills/state_zustand_beast_practices}/agents/copilot.json +0 -0
  957. /package/.agents/{state_zustand_beast_practices → skills/state_zustand_beast_practices}/agents/gemini.json +0 -0
  958. /package/.agents/{state_zustand_beast_practices → skills/state_zustand_beast_practices}/agents/openai.yaml +0 -0
  959. /package/.agents/{state_zustand_beast_practices → skills/state_zustand_beast_practices}/agents/qwen.json +0 -0
  960. /package/.agents/{state_zustand_beast_practices → skills/state_zustand_beast_practices}/agents/skill.yaml +0 -0
  961. /package/.agents/{styling_css_stack → skills/styling_css_stack}/agents/claude.json +0 -0
  962. /package/.agents/{styling_css_stack → skills/styling_css_stack}/agents/copilot.json +0 -0
  963. /package/.agents/{styling_css_stack → skills/styling_css_stack}/agents/gemini.json +0 -0
  964. /package/.agents/{styling_css_stack → skills/styling_css_stack}/agents/openai.yaml +0 -0
  965. /package/.agents/{styling_css_stack → skills/styling_css_stack}/agents/qwen.json +0 -0
  966. /package/.agents/{styling_css_stack → skills/styling_css_stack}/agents/skill.yaml +0 -0
  967. /package/.agents/{system_design_checklist → skills/system_design_checklist}/agents/claude.json +0 -0
  968. /package/.agents/{system_design_checklist → skills/system_design_checklist}/agents/copilot.json +0 -0
  969. /package/.agents/{system_design_checklist → skills/system_design_checklist}/agents/gemini.json +0 -0
  970. /package/.agents/{system_design_checklist → skills/system_design_checklist}/agents/openai.yaml +0 -0
  971. /package/.agents/{system_design_checklist → skills/system_design_checklist}/agents/qwen.json +0 -0
  972. /package/.agents/{system_design_checklist → skills/system_design_checklist}/agents/skill.yaml +0 -0
  973. /package/.agents/{tailwind_beast_practices → skills/tailwind_beast_practices}/SKILL.md +0 -0
  974. /package/.agents/{tailwind_beast_practices → skills/tailwind_beast_practices}/agents/claude.json +0 -0
  975. /package/.agents/{tailwind_beast_practices → skills/tailwind_beast_practices}/agents/copilot.json +0 -0
  976. /package/.agents/{tailwind_beast_practices → skills/tailwind_beast_practices}/agents/gemini.json +0 -0
  977. /package/.agents/{tailwind_beast_practices → skills/tailwind_beast_practices}/agents/openai.yaml +0 -0
  978. /package/.agents/{tailwind_beast_practices → skills/tailwind_beast_practices}/agents/qwen.json +0 -0
  979. /package/.agents/{tailwind_beast_practices → skills/tailwind_beast_practices}/agents/skill.yaml +0 -0
  980. /package/.agents/{tanstack_beast_practices → skills/tanstack_beast_practices}/SKILL.md +0 -0
  981. /package/.agents/{tanstack_beast_practices → skills/tanstack_beast_practices}/agents/claude.json +0 -0
  982. /package/.agents/{tanstack_beast_practices → skills/tanstack_beast_practices}/agents/copilot.json +0 -0
  983. /package/.agents/{tanstack_beast_practices → skills/tanstack_beast_practices}/agents/gemini.json +0 -0
  984. /package/.agents/{tanstack_beast_practices → skills/tanstack_beast_practices}/agents/openai.yaml +0 -0
  985. /package/.agents/{tanstack_beast_practices → skills/tanstack_beast_practices}/agents/qwen.json +0 -0
  986. /package/.agents/{tanstack_beast_practices → skills/tanstack_beast_practices}/agents/skill.yaml +0 -0
  987. /package/.agents/{tdd_workflow → skills/tdd_workflow}/SKILL.md +0 -0
  988. /package/.agents/{tdd_workflow → skills/tdd_workflow}/agents/claude.json +0 -0
  989. /package/.agents/{tdd_workflow → skills/tdd_workflow}/agents/copilot.json +0 -0
  990. /package/.agents/{tdd_workflow → skills/tdd_workflow}/agents/gemini.json +0 -0
  991. /package/.agents/{tdd_workflow → skills/tdd_workflow}/agents/openai.yaml +0 -0
  992. /package/.agents/{tdd_workflow → skills/tdd_workflow}/agents/qwen.json +0 -0
  993. /package/.agents/{tdd_workflow → skills/tdd_workflow}/agents/skill.yaml +0 -0
  994. /package/.agents/{testing_strategy_js → skills/testing_strategy_js}/agents/claude.json +0 -0
  995. /package/.agents/{testing_strategy_js → skills/testing_strategy_js}/agents/copilot.json +0 -0
  996. /package/.agents/{testing_strategy_js → skills/testing_strategy_js}/agents/gemini.json +0 -0
  997. /package/.agents/{testing_strategy_js → skills/testing_strategy_js}/agents/openai.yaml +0 -0
  998. /package/.agents/{testing_strategy_js → skills/testing_strategy_js}/agents/qwen.json +0 -0
  999. /package/.agents/{testing_strategy_js → skills/testing_strategy_js}/agents/skill.yaml +0 -0
  1000. /package/.agents/{tests_quality_review → skills/tests_quality_review}/agents/claude.json +0 -0
  1001. /package/.agents/{tests_quality_review → skills/tests_quality_review}/agents/copilot.json +0 -0
  1002. /package/.agents/{tests_quality_review → skills/tests_quality_review}/agents/gemini.json +0 -0
  1003. /package/.agents/{tests_quality_review → skills/tests_quality_review}/agents/openai.yaml +0 -0
  1004. /package/.agents/{tests_quality_review → skills/tests_quality_review}/agents/qwen.json +0 -0
  1005. /package/.agents/{tests_quality_review → skills/tests_quality_review}/agents/skill.yaml +0 -0
  1006. /package/.agents/{threat_model_baseline → skills/threat_model_baseline}/agents/claude.json +0 -0
  1007. /package/.agents/{threat_model_baseline → skills/threat_model_baseline}/agents/copilot.json +0 -0
  1008. /package/.agents/{threat_model_baseline → skills/threat_model_baseline}/agents/gemini.json +0 -0
  1009. /package/.agents/{threat_model_baseline → skills/threat_model_baseline}/agents/openai.yaml +0 -0
  1010. /package/.agents/{threat_model_baseline → skills/threat_model_baseline}/agents/qwen.json +0 -0
  1011. /package/.agents/{threat_model_baseline → skills/threat_model_baseline}/agents/skill.yaml +0 -0
  1012. /package/.agents/{tooling_bun_biome → skills/tooling_bun_biome}/SKILL.md +0 -0
  1013. /package/.agents/{tooling_bun_biome → skills/tooling_bun_biome}/agents/claude.json +0 -0
  1014. /package/.agents/{tooling_bun_biome → skills/tooling_bun_biome}/agents/copilot.json +0 -0
  1015. /package/.agents/{tooling_bun_biome → skills/tooling_bun_biome}/agents/gemini.json +0 -0
  1016. /package/.agents/{tooling_bun_biome → skills/tooling_bun_biome}/agents/openai.yaml +0 -0
  1017. /package/.agents/{tooling_bun_biome → skills/tooling_bun_biome}/agents/qwen.json +0 -0
  1018. /package/.agents/{tooling_bun_biome → skills/tooling_bun_biome}/agents/skill.yaml +0 -0
  1019. /package/.agents/{typescript_beast_practices → skills/typescript_beast_practices}/SKILL.md +0 -0
  1020. /package/.agents/{typescript_beast_practices → skills/typescript_beast_practices}/agents/claude.json +0 -0
  1021. /package/.agents/{typescript_beast_practices → skills/typescript_beast_practices}/agents/copilot.json +0 -0
  1022. /package/.agents/{typescript_beast_practices → skills/typescript_beast_practices}/agents/gemini.json +0 -0
  1023. /package/.agents/{typescript_beast_practices → skills/typescript_beast_practices}/agents/openai.yaml +0 -0
  1024. /package/.agents/{typescript_beast_practices → skills/typescript_beast_practices}/agents/qwen.json +0 -0
  1025. /package/.agents/{typescript_beast_practices → skills/typescript_beast_practices}/agents/skill.yaml +0 -0
  1026. /package/.agents/{ui_a11y_smoke_review → skills/ui_a11y_smoke_review}/agents/claude.json +0 -0
  1027. /package/.agents/{ui_a11y_smoke_review → skills/ui_a11y_smoke_review}/agents/copilot.json +0 -0
  1028. /package/.agents/{ui_a11y_smoke_review → skills/ui_a11y_smoke_review}/agents/gemini.json +0 -0
  1029. /package/.agents/{ui_a11y_smoke_review → skills/ui_a11y_smoke_review}/agents/openai.yaml +0 -0
  1030. /package/.agents/{ui_a11y_smoke_review → skills/ui_a11y_smoke_review}/agents/qwen.json +0 -0
  1031. /package/.agents/{ui_a11y_smoke_review → skills/ui_a11y_smoke_review}/agents/skill.yaml +0 -0
  1032. /package/.agents/{ui_inventory → skills/ui_inventory}/agents/claude.json +0 -0
  1033. /package/.agents/{ui_inventory → skills/ui_inventory}/agents/copilot.json +0 -0
  1034. /package/.agents/{ui_inventory → skills/ui_inventory}/agents/gemini.json +0 -0
  1035. /package/.agents/{ui_inventory → skills/ui_inventory}/agents/openai.yaml +0 -0
  1036. /package/.agents/{ui_inventory → skills/ui_inventory}/agents/qwen.json +0 -0
  1037. /package/.agents/{ui_inventory → skills/ui_inventory}/agents/skill.yaml +0 -0
  1038. /package/.agents/{ux_discovery → skills/ux_discovery}/agents/claude.json +0 -0
  1039. /package/.agents/{ux_discovery → skills/ux_discovery}/agents/copilot.json +0 -0
  1040. /package/.agents/{ux_discovery → skills/ux_discovery}/agents/gemini.json +0 -0
  1041. /package/.agents/{ux_discovery → skills/ux_discovery}/agents/openai.yaml +0 -0
  1042. /package/.agents/{ux_discovery → skills/ux_discovery}/agents/qwen.json +0 -0
  1043. /package/.agents/{ux_discovery → skills/ux_discovery}/agents/skill.yaml +0 -0
  1044. /package/.agents/{ux_spec → skills/ux_spec}/agents/claude.json +0 -0
  1045. /package/.agents/{ux_spec → skills/ux_spec}/agents/copilot.json +0 -0
  1046. /package/.agents/{ux_spec → skills/ux_spec}/agents/gemini.json +0 -0
  1047. /package/.agents/{ux_spec → skills/ux_spec}/agents/openai.yaml +0 -0
  1048. /package/.agents/{ux_spec → skills/ux_spec}/agents/qwen.json +0 -0
  1049. /package/.agents/{ux_spec → skills/ux_spec}/agents/skill.yaml +0 -0
  1050. /package/.agents/{wix_iframe_sdk → skills/wix_iframe_sdk}/agents/claude.json +0 -0
  1051. /package/.agents/{wix_iframe_sdk → skills/wix_iframe_sdk}/agents/copilot.json +0 -0
  1052. /package/.agents/{wix_iframe_sdk → skills/wix_iframe_sdk}/agents/gemini.json +0 -0
  1053. /package/.agents/{wix_iframe_sdk → skills/wix_iframe_sdk}/agents/openai.yaml +0 -0
  1054. /package/.agents/{wix_iframe_sdk → skills/wix_iframe_sdk}/agents/qwen.json +0 -0
  1055. /package/.agents/{wix_iframe_sdk → skills/wix_iframe_sdk}/agents/skill.yaml +0 -0
  1056. /package/.agents/{wix_iframe_sdk → skills/wix_iframe_sdk}/references/wix-sdk-iframe.md +0 -0
  1057. /package/.agents/{wix_self_hosted_embedded_script → skills/wix_self_hosted_embedded_script}/agents/claude.json +0 -0
  1058. /package/.agents/{wix_self_hosted_embedded_script → skills/wix_self_hosted_embedded_script}/agents/copilot.json +0 -0
  1059. /package/.agents/{wix_self_hosted_embedded_script → skills/wix_self_hosted_embedded_script}/agents/gemini.json +0 -0
  1060. /package/.agents/{wix_self_hosted_embedded_script → skills/wix_self_hosted_embedded_script}/agents/openai.yaml +0 -0
  1061. /package/.agents/{wix_self_hosted_embedded_script → skills/wix_self_hosted_embedded_script}/agents/qwen.json +0 -0
  1062. /package/.agents/{wix_self_hosted_embedded_script → skills/wix_self_hosted_embedded_script}/agents/skill.yaml +0 -0
  1063. /package/locales/en/.agents/{a11y_baseline → skills/a11y_baseline}/agents/claude.json +0 -0
  1064. /package/locales/en/.agents/{a11y_baseline → skills/a11y_baseline}/agents/copilot.json +0 -0
  1065. /package/locales/en/.agents/{a11y_baseline → skills/a11y_baseline}/agents/gemini.json +0 -0
  1066. /package/locales/en/.agents/{a11y_baseline → skills/a11y_baseline}/agents/openai.yaml +0 -0
  1067. /package/locales/en/.agents/{a11y_baseline → skills/a11y_baseline}/agents/qwen.json +0 -0
  1068. /package/locales/en/.agents/{a11y_baseline → skills/a11y_baseline}/agents/skill.yaml +0 -0
  1069. /package/locales/en/.agents/{api_contract_compliance_review → skills/api_contract_compliance_review}/agents/claude.json +0 -0
  1070. /package/locales/en/.agents/{api_contract_compliance_review → skills/api_contract_compliance_review}/agents/copilot.json +0 -0
  1071. /package/locales/en/.agents/{api_contract_compliance_review → skills/api_contract_compliance_review}/agents/gemini.json +0 -0
  1072. /package/locales/en/.agents/{api_contract_compliance_review → skills/api_contract_compliance_review}/agents/openai.yaml +0 -0
  1073. /package/locales/en/.agents/{api_contract_compliance_review → skills/api_contract_compliance_review}/agents/qwen.json +0 -0
  1074. /package/locales/en/.agents/{api_contract_compliance_review → skills/api_contract_compliance_review}/agents/skill.yaml +0 -0
  1075. /package/locales/en/.agents/{cloud_infrastructure_security → skills/cloud_infrastructure_security}/agents/claude.json +0 -0
  1076. /package/locales/en/.agents/{cloud_infrastructure_security → skills/cloud_infrastructure_security}/agents/copilot.json +0 -0
  1077. /package/locales/en/.agents/{cloud_infrastructure_security → skills/cloud_infrastructure_security}/agents/gemini.json +0 -0
  1078. /package/locales/en/.agents/{cloud_infrastructure_security → skills/cloud_infrastructure_security}/agents/openai.yaml +0 -0
  1079. /package/locales/en/.agents/{cloud_infrastructure_security → skills/cloud_infrastructure_security}/agents/qwen.json +0 -0
  1080. /package/locales/en/.agents/{cloud_infrastructure_security → skills/cloud_infrastructure_security}/agents/skill.yaml +0 -0
  1081. /package/locales/en/.agents/{code_review_checklist → skills/code_review_checklist}/agents/claude.json +0 -0
  1082. /package/locales/en/.agents/{code_review_checklist → skills/code_review_checklist}/agents/copilot.json +0 -0
  1083. /package/locales/en/.agents/{code_review_checklist → skills/code_review_checklist}/agents/gemini.json +0 -0
  1084. /package/locales/en/.agents/{code_review_checklist → skills/code_review_checklist}/agents/openai.yaml +0 -0
  1085. /package/locales/en/.agents/{code_review_checklist → skills/code_review_checklist}/agents/qwen.json +0 -0
  1086. /package/locales/en/.agents/{code_review_checklist → skills/code_review_checklist}/agents/skill.yaml +0 -0
  1087. /package/locales/en/.agents/{dependency_supply_chain_review → skills/dependency_supply_chain_review}/agents/claude.json +0 -0
  1088. /package/locales/en/.agents/{dependency_supply_chain_review → skills/dependency_supply_chain_review}/agents/copilot.json +0 -0
  1089. /package/locales/en/.agents/{dependency_supply_chain_review → skills/dependency_supply_chain_review}/agents/gemini.json +0 -0
  1090. /package/locales/en/.agents/{dependency_supply_chain_review → skills/dependency_supply_chain_review}/agents/openai.yaml +0 -0
  1091. /package/locales/en/.agents/{dependency_supply_chain_review → skills/dependency_supply_chain_review}/agents/qwen.json +0 -0
  1092. /package/locales/en/.agents/{dependency_supply_chain_review → skills/dependency_supply_chain_review}/agents/skill.yaml +0 -0
  1093. /package/locales/en/.agents/{design_parity_review → skills/design_parity_review}/agents/claude.json +0 -0
  1094. /package/locales/en/.agents/{design_parity_review → skills/design_parity_review}/agents/copilot.json +0 -0
  1095. /package/locales/en/.agents/{design_parity_review → skills/design_parity_review}/agents/gemini.json +0 -0
  1096. /package/locales/en/.agents/{design_parity_review → skills/design_parity_review}/agents/openai.yaml +0 -0
  1097. /package/locales/en/.agents/{design_parity_review → skills/design_parity_review}/agents/qwen.json +0 -0
  1098. /package/locales/en/.agents/{design_parity_review → skills/design_parity_review}/agents/skill.yaml +0 -0
  1099. /package/locales/en/.agents/{design_systems → skills/design_systems}/agents/claude.json +0 -0
  1100. /package/locales/en/.agents/{design_systems → skills/design_systems}/agents/copilot.json +0 -0
  1101. /package/locales/en/.agents/{design_systems → skills/design_systems}/agents/gemini.json +0 -0
  1102. /package/locales/en/.agents/{design_systems → skills/design_systems}/agents/openai.yaml +0 -0
  1103. /package/locales/en/.agents/{design_systems → skills/design_systems}/agents/qwen.json +0 -0
  1104. /package/locales/en/.agents/{design_systems → skills/design_systems}/agents/skill.yaml +0 -0
  1105. /package/locales/en/.agents/{dev_reference_snippets → skills/dev_reference_snippets}/agents/claude.json +0 -0
  1106. /package/locales/en/.agents/{dev_reference_snippets → skills/dev_reference_snippets}/agents/copilot.json +0 -0
  1107. /package/locales/en/.agents/{dev_reference_snippets → skills/dev_reference_snippets}/agents/gemini.json +0 -0
  1108. /package/locales/en/.agents/{dev_reference_snippets → skills/dev_reference_snippets}/agents/openai.yaml +0 -0
  1109. /package/locales/en/.agents/{dev_reference_snippets → skills/dev_reference_snippets}/agents/qwen.json +0 -0
  1110. /package/locales/en/.agents/{dev_reference_snippets → skills/dev_reference_snippets}/agents/skill.yaml +0 -0
  1111. /package/locales/en/.agents/{docker_kubernetes_architecture → skills/docker_kubernetes_architecture}/agents/claude.json +0 -0
  1112. /package/locales/en/.agents/{docker_kubernetes_architecture → skills/docker_kubernetes_architecture}/agents/copilot.json +0 -0
  1113. /package/locales/en/.agents/{docker_kubernetes_architecture → skills/docker_kubernetes_architecture}/agents/gemini.json +0 -0
  1114. /package/locales/en/.agents/{docker_kubernetes_architecture → skills/docker_kubernetes_architecture}/agents/openai.yaml +0 -0
  1115. /package/locales/en/.agents/{docker_kubernetes_architecture → skills/docker_kubernetes_architecture}/agents/qwen.json +0 -0
  1116. /package/locales/en/.agents/{docker_kubernetes_architecture → skills/docker_kubernetes_architecture}/agents/skill.yaml +0 -0
  1117. /package/locales/en/.agents/{es2025_beast_practices → skills/es2025_beast_practices}/agents/claude.json +0 -0
  1118. /package/locales/en/.agents/{es2025_beast_practices → skills/es2025_beast_practices}/agents/copilot.json +0 -0
  1119. /package/locales/en/.agents/{es2025_beast_practices → skills/es2025_beast_practices}/agents/gemini.json +0 -0
  1120. /package/locales/en/.agents/{es2025_beast_practices → skills/es2025_beast_practices}/agents/openai.yaml +0 -0
  1121. /package/locales/en/.agents/{es2025_beast_practices → skills/es2025_beast_practices}/agents/qwen.json +0 -0
  1122. /package/locales/en/.agents/{es2025_beast_practices → skills/es2025_beast_practices}/agents/skill.yaml +0 -0
  1123. /package/locales/en/.agents/{gates → skills/gates}/agents/claude.json +0 -0
  1124. /package/locales/en/.agents/{gates → skills/gates}/agents/copilot.json +0 -0
  1125. /package/locales/en/.agents/{gates → skills/gates}/agents/gemini.json +0 -0
  1126. /package/locales/en/.agents/{gates → skills/gates}/agents/openai.yaml +0 -0
  1127. /package/locales/en/.agents/{gates → skills/gates}/agents/qwen.json +0 -0
  1128. /package/locales/en/.agents/{gates → skills/gates}/agents/skill.yaml +0 -0
  1129. /package/locales/en/.agents/{go_beast_practices → skills/go_beast_practices}/agents/claude.json +0 -0
  1130. /package/locales/en/.agents/{go_beast_practices → skills/go_beast_practices}/agents/copilot.json +0 -0
  1131. /package/locales/en/.agents/{go_beast_practices → skills/go_beast_practices}/agents/gemini.json +0 -0
  1132. /package/locales/en/.agents/{go_beast_practices → skills/go_beast_practices}/agents/openai.yaml +0 -0
  1133. /package/locales/en/.agents/{go_beast_practices → skills/go_beast_practices}/agents/qwen.json +0 -0
  1134. /package/locales/en/.agents/{go_beast_practices → skills/go_beast_practices}/agents/skill.yaml +0 -0
  1135. /package/locales/en/.agents/{google_stitch_skill → skills/google_stitch_skill}/examples/scr_prompts.md +0 -0
  1136. /package/locales/en/.agents/{google_stitch_skill → skills/google_stitch_skill}/resources/budget_planner.md +0 -0
  1137. /package/locales/en/.agents/{k8s_manifests_conventions → skills/k8s_manifests_conventions}/agents/claude.json +0 -0
  1138. /package/locales/en/.agents/{k8s_manifests_conventions → skills/k8s_manifests_conventions}/agents/copilot.json +0 -0
  1139. /package/locales/en/.agents/{k8s_manifests_conventions → skills/k8s_manifests_conventions}/agents/gemini.json +0 -0
  1140. /package/locales/en/.agents/{k8s_manifests_conventions → skills/k8s_manifests_conventions}/agents/openai.yaml +0 -0
  1141. /package/locales/en/.agents/{k8s_manifests_conventions → skills/k8s_manifests_conventions}/agents/qwen.json +0 -0
  1142. /package/locales/en/.agents/{k8s_manifests_conventions → skills/k8s_manifests_conventions}/agents/skill.yaml +0 -0
  1143. /package/locales/en/.agents/{memory → skills/memory}/agents/claude.json +0 -0
  1144. /package/locales/en/.agents/{memory → skills/memory}/agents/copilot.json +0 -0
  1145. /package/locales/en/.agents/{memory → skills/memory}/agents/gemini.json +0 -0
  1146. /package/locales/en/.agents/{memory → skills/memory}/agents/openai.yaml +0 -0
  1147. /package/locales/en/.agents/{memory → skills/memory}/agents/qwen.json +0 -0
  1148. /package/locales/en/.agents/{memory → skills/memory}/agents/skill.yaml +0 -0
  1149. /package/locales/en/.agents/{n8n_pinecone_qdrant_supabase → skills/n8n_pinecone_qdrant_supabase}/agents/claude.json +0 -0
  1150. /package/locales/en/.agents/{n8n_pinecone_qdrant_supabase → skills/n8n_pinecone_qdrant_supabase}/agents/copilot.json +0 -0
  1151. /package/locales/en/.agents/{n8n_pinecone_qdrant_supabase → skills/n8n_pinecone_qdrant_supabase}/agents/gemini.json +0 -0
  1152. /package/locales/en/.agents/{n8n_pinecone_qdrant_supabase → skills/n8n_pinecone_qdrant_supabase}/agents/openai.yaml +0 -0
  1153. /package/locales/en/.agents/{n8n_pinecone_qdrant_supabase → skills/n8n_pinecone_qdrant_supabase}/agents/qwen.json +0 -0
  1154. /package/locales/en/.agents/{n8n_pinecone_qdrant_supabase → skills/n8n_pinecone_qdrant_supabase}/agents/skill.yaml +0 -0
  1155. /package/locales/en/.agents/{node_express_beast_practices → skills/node_express_beast_practices}/agents/claude.json +0 -0
  1156. /package/locales/en/.agents/{node_express_beast_practices → skills/node_express_beast_practices}/agents/copilot.json +0 -0
  1157. /package/locales/en/.agents/{node_express_beast_practices → skills/node_express_beast_practices}/agents/gemini.json +0 -0
  1158. /package/locales/en/.agents/{node_express_beast_practices → skills/node_express_beast_practices}/agents/openai.yaml +0 -0
  1159. /package/locales/en/.agents/{node_express_beast_practices → skills/node_express_beast_practices}/agents/qwen.json +0 -0
  1160. /package/locales/en/.agents/{node_express_beast_practices → skills/node_express_beast_practices}/agents/skill.yaml +0 -0
  1161. /package/locales/en/.agents/{observability_logging → skills/observability_logging}/agents/claude.json +0 -0
  1162. /package/locales/en/.agents/{observability_logging → skills/observability_logging}/agents/copilot.json +0 -0
  1163. /package/locales/en/.agents/{observability_logging → skills/observability_logging}/agents/gemini.json +0 -0
  1164. /package/locales/en/.agents/{observability_logging → skills/observability_logging}/agents/openai.yaml +0 -0
  1165. /package/locales/en/.agents/{observability_logging → skills/observability_logging}/agents/qwen.json +0 -0
  1166. /package/locales/en/.agents/{observability_logging → skills/observability_logging}/agents/skill.yaml +0 -0
  1167. /package/locales/en/.agents/{observability_review → skills/observability_review}/SKILL.md +0 -0
  1168. /package/locales/en/.agents/{observability_review → skills/observability_review}/agents/claude.json +0 -0
  1169. /package/locales/en/.agents/{observability_review → skills/observability_review}/agents/copilot.json +0 -0
  1170. /package/locales/en/.agents/{observability_review → skills/observability_review}/agents/gemini.json +0 -0
  1171. /package/locales/en/.agents/{observability_review → skills/observability_review}/agents/openai.yaml +0 -0
  1172. /package/locales/en/.agents/{observability_review → skills/observability_review}/agents/qwen.json +0 -0
  1173. /package/locales/en/.agents/{observability_review → skills/observability_review}/agents/skill.yaml +0 -0
  1174. /package/locales/en/.agents/{performance_review_baseline → skills/performance_review_baseline}/agents/claude.json +0 -0
  1175. /package/locales/en/.agents/{performance_review_baseline → skills/performance_review_baseline}/agents/copilot.json +0 -0
  1176. /package/locales/en/.agents/{performance_review_baseline → skills/performance_review_baseline}/agents/gemini.json +0 -0
  1177. /package/locales/en/.agents/{performance_review_baseline → skills/performance_review_baseline}/agents/openai.yaml +0 -0
  1178. /package/locales/en/.agents/{performance_review_baseline → skills/performance_review_baseline}/agents/qwen.json +0 -0
  1179. /package/locales/en/.agents/{performance_review_baseline → skills/performance_review_baseline}/agents/skill.yaml +0 -0
  1180. /package/locales/en/.agents/{pm_prd → skills/pm_prd}/agents/claude.json +0 -0
  1181. /package/locales/en/.agents/{pm_prd → skills/pm_prd}/agents/copilot.json +0 -0
  1182. /package/locales/en/.agents/{pm_prd → skills/pm_prd}/agents/gemini.json +0 -0
  1183. /package/locales/en/.agents/{pm_prd → skills/pm_prd}/agents/openai.yaml +0 -0
  1184. /package/locales/en/.agents/{pm_prd → skills/pm_prd}/agents/qwen.json +0 -0
  1185. /package/locales/en/.agents/{pm_prd → skills/pm_prd}/agents/skill.yaml +0 -0
  1186. /package/locales/en/.agents/{qa_api_contract_tests → skills/qa_api_contract_tests}/agents/claude.json +0 -0
  1187. /package/locales/en/.agents/{qa_api_contract_tests → skills/qa_api_contract_tests}/agents/copilot.json +0 -0
  1188. /package/locales/en/.agents/{qa_api_contract_tests → skills/qa_api_contract_tests}/agents/gemini.json +0 -0
  1189. /package/locales/en/.agents/{qa_api_contract_tests → skills/qa_api_contract_tests}/agents/openai.yaml +0 -0
  1190. /package/locales/en/.agents/{qa_api_contract_tests → skills/qa_api_contract_tests}/agents/qwen.json +0 -0
  1191. /package/locales/en/.agents/{qa_api_contract_tests → skills/qa_api_contract_tests}/agents/skill.yaml +0 -0
  1192. /package/locales/en/.agents/{qa_browser_testing → skills/qa_browser_testing}/agents/claude.json +0 -0
  1193. /package/locales/en/.agents/{qa_browser_testing → skills/qa_browser_testing}/agents/copilot.json +0 -0
  1194. /package/locales/en/.agents/{qa_browser_testing → skills/qa_browser_testing}/agents/gemini.json +0 -0
  1195. /package/locales/en/.agents/{qa_browser_testing → skills/qa_browser_testing}/agents/openai.yaml +0 -0
  1196. /package/locales/en/.agents/{qa_browser_testing → skills/qa_browser_testing}/agents/qwen.json +0 -0
  1197. /package/locales/en/.agents/{qa_browser_testing → skills/qa_browser_testing}/agents/skill.yaml +0 -0
  1198. /package/locales/en/.agents/{qa_e2e_playwright → skills/qa_e2e_playwright}/agents/claude.json +0 -0
  1199. /package/locales/en/.agents/{qa_e2e_playwright → skills/qa_e2e_playwright}/agents/copilot.json +0 -0
  1200. /package/locales/en/.agents/{qa_e2e_playwright → skills/qa_e2e_playwright}/agents/gemini.json +0 -0
  1201. /package/locales/en/.agents/{qa_e2e_playwright → skills/qa_e2e_playwright}/agents/openai.yaml +0 -0
  1202. /package/locales/en/.agents/{qa_e2e_playwright → skills/qa_e2e_playwright}/agents/qwen.json +0 -0
  1203. /package/locales/en/.agents/{qa_e2e_playwright → skills/qa_e2e_playwright}/agents/skill.yaml +0 -0
  1204. /package/locales/en/.agents/{qa_manual_run → skills/qa_manual_run}/agents/claude.json +0 -0
  1205. /package/locales/en/.agents/{qa_manual_run → skills/qa_manual_run}/agents/copilot.json +0 -0
  1206. /package/locales/en/.agents/{qa_manual_run → skills/qa_manual_run}/agents/gemini.json +0 -0
  1207. /package/locales/en/.agents/{qa_manual_run → skills/qa_manual_run}/agents/openai.yaml +0 -0
  1208. /package/locales/en/.agents/{qa_manual_run → skills/qa_manual_run}/agents/qwen.json +0 -0
  1209. /package/locales/en/.agents/{qa_manual_run → skills/qa_manual_run}/agents/skill.yaml +0 -0
  1210. /package/locales/en/.agents/{qa_regression_baseline → skills/qa_regression_baseline}/agents/claude.json +0 -0
  1211. /package/locales/en/.agents/{qa_regression_baseline → skills/qa_regression_baseline}/agents/copilot.json +0 -0
  1212. /package/locales/en/.agents/{qa_regression_baseline → skills/qa_regression_baseline}/agents/gemini.json +0 -0
  1213. /package/locales/en/.agents/{qa_regression_baseline → skills/qa_regression_baseline}/agents/openai.yaml +0 -0
  1214. /package/locales/en/.agents/{qa_regression_baseline → skills/qa_regression_baseline}/agents/qwen.json +0 -0
  1215. /package/locales/en/.agents/{qa_regression_baseline → skills/qa_regression_baseline}/agents/skill.yaml +0 -0
  1216. /package/locales/en/.agents/{qa_security_smoke_tests → skills/qa_security_smoke_tests}/agents/claude.json +0 -0
  1217. /package/locales/en/.agents/{qa_security_smoke_tests → skills/qa_security_smoke_tests}/agents/copilot.json +0 -0
  1218. /package/locales/en/.agents/{qa_security_smoke_tests → skills/qa_security_smoke_tests}/agents/gemini.json +0 -0
  1219. /package/locales/en/.agents/{qa_security_smoke_tests → skills/qa_security_smoke_tests}/agents/openai.yaml +0 -0
  1220. /package/locales/en/.agents/{qa_security_smoke_tests → skills/qa_security_smoke_tests}/agents/qwen.json +0 -0
  1221. /package/locales/en/.agents/{qa_security_smoke_tests → skills/qa_security_smoke_tests}/agents/skill.yaml +0 -0
  1222. /package/locales/en/.agents/{qa_ui_a11y_smoke → skills/qa_ui_a11y_smoke}/agents/claude.json +0 -0
  1223. /package/locales/en/.agents/{qa_ui_a11y_smoke → skills/qa_ui_a11y_smoke}/agents/copilot.json +0 -0
  1224. /package/locales/en/.agents/{qa_ui_a11y_smoke → skills/qa_ui_a11y_smoke}/agents/gemini.json +0 -0
  1225. /package/locales/en/.agents/{qa_ui_a11y_smoke → skills/qa_ui_a11y_smoke}/agents/openai.yaml +0 -0
  1226. /package/locales/en/.agents/{qa_ui_a11y_smoke → skills/qa_ui_a11y_smoke}/agents/qwen.json +0 -0
  1227. /package/locales/en/.agents/{qa_ui_a11y_smoke → skills/qa_ui_a11y_smoke}/agents/skill.yaml +0 -0
  1228. /package/locales/en/.agents/{react_15_3_wix_iframe → skills/react_15_3_wix_iframe}/agents/claude.json +0 -0
  1229. /package/locales/en/.agents/{react_15_3_wix_iframe → skills/react_15_3_wix_iframe}/agents/copilot.json +0 -0
  1230. /package/locales/en/.agents/{react_15_3_wix_iframe → skills/react_15_3_wix_iframe}/agents/gemini.json +0 -0
  1231. /package/locales/en/.agents/{react_15_3_wix_iframe → skills/react_15_3_wix_iframe}/agents/openai.yaml +0 -0
  1232. /package/locales/en/.agents/{react_15_3_wix_iframe → skills/react_15_3_wix_iframe}/agents/qwen.json +0 -0
  1233. /package/locales/en/.agents/{react_15_3_wix_iframe → skills/react_15_3_wix_iframe}/agents/skill.yaml +0 -0
  1234. /package/locales/en/.agents/{react_beast_practices → skills/react_beast_practices}/agents/claude.json +0 -0
  1235. /package/locales/en/.agents/{react_beast_practices → skills/react_beast_practices}/agents/copilot.json +0 -0
  1236. /package/locales/en/.agents/{react_beast_practices → skills/react_beast_practices}/agents/gemini.json +0 -0
  1237. /package/locales/en/.agents/{react_beast_practices → skills/react_beast_practices}/agents/openai.yaml +0 -0
  1238. /package/locales/en/.agents/{react_beast_practices → skills/react_beast_practices}/agents/qwen.json +0 -0
  1239. /package/locales/en/.agents/{react_beast_practices → skills/react_beast_practices}/agents/skill.yaml +0 -0
  1240. /package/locales/en/.agents/{review_reference_snippets → skills/review_reference_snippets}/agents/claude.json +0 -0
  1241. /package/locales/en/.agents/{review_reference_snippets → skills/review_reference_snippets}/agents/copilot.json +0 -0
  1242. /package/locales/en/.agents/{review_reference_snippets → skills/review_reference_snippets}/agents/gemini.json +0 -0
  1243. /package/locales/en/.agents/{review_reference_snippets → skills/review_reference_snippets}/agents/openai.yaml +0 -0
  1244. /package/locales/en/.agents/{review_reference_snippets → skills/review_reference_snippets}/agents/qwen.json +0 -0
  1245. /package/locales/en/.agents/{review_reference_snippets → skills/review_reference_snippets}/agents/skill.yaml +0 -0
  1246. /package/locales/en/.agents/{security_baseline_dev → skills/security_baseline_dev}/agents/claude.json +0 -0
  1247. /package/locales/en/.agents/{security_baseline_dev → skills/security_baseline_dev}/agents/copilot.json +0 -0
  1248. /package/locales/en/.agents/{security_baseline_dev → skills/security_baseline_dev}/agents/gemini.json +0 -0
  1249. /package/locales/en/.agents/{security_baseline_dev → skills/security_baseline_dev}/agents/openai.yaml +0 -0
  1250. /package/locales/en/.agents/{security_baseline_dev → skills/security_baseline_dev}/agents/qwen.json +0 -0
  1251. /package/locales/en/.agents/{security_baseline_dev → skills/security_baseline_dev}/agents/skill.yaml +0 -0
  1252. /package/locales/en/.agents/{security_review → skills/security_review}/agents/claude.json +0 -0
  1253. /package/locales/en/.agents/{security_review → skills/security_review}/agents/copilot.json +0 -0
  1254. /package/locales/en/.agents/{security_review → skills/security_review}/agents/gemini.json +0 -0
  1255. /package/locales/en/.agents/{security_review → skills/security_review}/agents/openai.yaml +0 -0
  1256. /package/locales/en/.agents/{security_review → skills/security_review}/agents/qwen.json +0 -0
  1257. /package/locales/en/.agents/{security_review → skills/security_review}/agents/skill.yaml +0 -0
  1258. /package/locales/en/.agents/{security_review_baseline → skills/security_review_baseline}/agents/claude.json +0 -0
  1259. /package/locales/en/.agents/{security_review_baseline → skills/security_review_baseline}/agents/copilot.json +0 -0
  1260. /package/locales/en/.agents/{security_review_baseline → skills/security_review_baseline}/agents/gemini.json +0 -0
  1261. /package/locales/en/.agents/{security_review_baseline → skills/security_review_baseline}/agents/openai.yaml +0 -0
  1262. /package/locales/en/.agents/{security_review_baseline → skills/security_review_baseline}/agents/qwen.json +0 -0
  1263. /package/locales/en/.agents/{security_review_baseline → skills/security_review_baseline}/agents/skill.yaml +0 -0
  1264. /package/locales/en/.agents/{tailwind_beast_practices → skills/tailwind_beast_practices}/agents/claude.json +0 -0
  1265. /package/locales/en/.agents/{tailwind_beast_practices → skills/tailwind_beast_practices}/agents/copilot.json +0 -0
  1266. /package/locales/en/.agents/{tailwind_beast_practices → skills/tailwind_beast_practices}/agents/gemini.json +0 -0
  1267. /package/locales/en/.agents/{tailwind_beast_practices → skills/tailwind_beast_practices}/agents/openai.yaml +0 -0
  1268. /package/locales/en/.agents/{tailwind_beast_practices → skills/tailwind_beast_practices}/agents/qwen.json +0 -0
  1269. /package/locales/en/.agents/{tailwind_beast_practices → skills/tailwind_beast_practices}/agents/skill.yaml +0 -0
  1270. /package/locales/en/.agents/{tanstack_beast_practices → skills/tanstack_beast_practices}/agents/claude.json +0 -0
  1271. /package/locales/en/.agents/{tanstack_beast_practices → skills/tanstack_beast_practices}/agents/copilot.json +0 -0
  1272. /package/locales/en/.agents/{tanstack_beast_practices → skills/tanstack_beast_practices}/agents/gemini.json +0 -0
  1273. /package/locales/en/.agents/{tanstack_beast_practices → skills/tanstack_beast_practices}/agents/openai.yaml +0 -0
  1274. /package/locales/en/.agents/{tanstack_beast_practices → skills/tanstack_beast_practices}/agents/qwen.json +0 -0
  1275. /package/locales/en/.agents/{tanstack_beast_practices → skills/tanstack_beast_practices}/agents/skill.yaml +0 -0
  1276. /package/locales/en/.agents/{tdd_workflow → skills/tdd_workflow}/agents/claude.json +0 -0
  1277. /package/locales/en/.agents/{tdd_workflow → skills/tdd_workflow}/agents/copilot.json +0 -0
  1278. /package/locales/en/.agents/{tdd_workflow → skills/tdd_workflow}/agents/gemini.json +0 -0
  1279. /package/locales/en/.agents/{tdd_workflow → skills/tdd_workflow}/agents/openai.yaml +0 -0
  1280. /package/locales/en/.agents/{tdd_workflow → skills/tdd_workflow}/agents/qwen.json +0 -0
  1281. /package/locales/en/.agents/{tdd_workflow → skills/tdd_workflow}/agents/skill.yaml +0 -0
  1282. /package/locales/en/.agents/{tooling_bun_biome → skills/tooling_bun_biome}/agents/claude.json +0 -0
  1283. /package/locales/en/.agents/{tooling_bun_biome → skills/tooling_bun_biome}/agents/copilot.json +0 -0
  1284. /package/locales/en/.agents/{tooling_bun_biome → skills/tooling_bun_biome}/agents/gemini.json +0 -0
  1285. /package/locales/en/.agents/{tooling_bun_biome → skills/tooling_bun_biome}/agents/openai.yaml +0 -0
  1286. /package/locales/en/.agents/{tooling_bun_biome → skills/tooling_bun_biome}/agents/qwen.json +0 -0
  1287. /package/locales/en/.agents/{tooling_bun_biome → skills/tooling_bun_biome}/agents/skill.yaml +0 -0
  1288. /package/locales/en/.agents/{typescript_beast_practices → skills/typescript_beast_practices}/agents/claude.json +0 -0
  1289. /package/locales/en/.agents/{typescript_beast_practices → skills/typescript_beast_practices}/agents/copilot.json +0 -0
  1290. /package/locales/en/.agents/{typescript_beast_practices → skills/typescript_beast_practices}/agents/gemini.json +0 -0
  1291. /package/locales/en/.agents/{typescript_beast_practices → skills/typescript_beast_practices}/agents/openai.yaml +0 -0
  1292. /package/locales/en/.agents/{typescript_beast_practices → skills/typescript_beast_practices}/agents/qwen.json +0 -0
  1293. /package/locales/en/.agents/{typescript_beast_practices → skills/typescript_beast_practices}/agents/skill.yaml +0 -0
@@ -1,724 +0,0 @@
1
- ---
2
- name: mongodb_mongoose_best_practices
3
- description: Best practices для MongoDB + Mongoose — схемы, индексы, валидация, транзакции, миграции, производительность, безопасность, тестирование, anti-patterns и примеры.
4
- ---
5
-
6
- # Skill: MongoDB + Mongoose Best Practices
7
-
8
- Конкретные DO/DON'T паттерны для MongoDB + Mongoose: от schema design до тестирования.
9
-
10
- **Разделы:**
11
- 1. [Schema Design](#1-schema-design)
12
- 2. [Mongoose Model Setup](#2-mongoose-model-setup)
13
- 3. [Индексы](#3-индексы)
14
- 4. [Query Patterns](#4-query-patterns)
15
- 5. [Connection и Config](#5-connection)
16
- 6. [Безопасность](#6-безопасность)
17
- 7. [Транзакции](#7-транзакции)
18
- 8. [Миграции](#8-миграции)
19
- 9. [Обработка ошибок](#9-обработка-ошибок)
20
- 10. [Тестирование](#10-тестирование)
21
- 11. [Anti-patterns](#11-anti-patterns)
22
-
23
- ---
24
-
25
- ## 1. Schema Design
26
-
27
- ### Embedded vs Referenced
28
-
29
- | Критерий | Embed ✅ | Reference ✅ |
30
- |---------|---------|-------------|
31
- | Читаются вместе | Да | Нет |
32
- | Child живёт отдельно | Нет | Да |
33
- | Размер child | Маленький, bounded | Большой или растущий |
34
- | Атомарные обновления child | Нужны | Не критично |
35
- | Много children | < 50 | Unbounded |
36
-
37
- > [!WARNING]
38
- > Документ MongoDB ≤ 16MB. Никогда не embed unbounded массивы (логи, события, комментарии).
39
-
40
- ### ✅ DO: embed — bounded subdocuments
41
-
42
- ```js
43
- // ✅ Embed: settings — всегда читаются вместе с installation, bounded
44
- const installationSchema = new Schema({
45
- appInstanceId: { type: String, required: true, unique: true },
46
- settings: {
47
- overlay: {
48
- title: { type: String, default: 'Special Offer!' },
49
- text: { type: String, default: 'Get your discount' },
50
- backgroundColor: { type: String, default: '#1a1a2e' },
51
- },
52
- cta: {
53
- text: { type: String, default: 'Get Coupon' },
54
- action: { type: String, enum: ['copy', 'redirect', 'link'], default: 'copy' },
55
- },
56
- timer: {
57
- enabled: { type: Boolean, default: true },
58
- minutes: { type: Number, min: 0, max: 60, default: 10 },
59
- seconds: { type: Number, min: 0, max: 59, default: 0 },
60
- },
61
- },
62
- });
63
- ```
64
-
65
- ### ✅ DO: reference — independent lifecycle, unbounded
66
-
67
- ```js
68
- // ✅ Reference: coupons — independent lifecycle, many per installation
69
- const couponSchema = new Schema({
70
- appInstanceId: { type: String, required: true, index: true },
71
- code: { type: String, required: true, uppercase: true, trim: true },
72
- discount: { type: Number, required: true, min: 1, max: 100 },
73
- type: { type: String, enum: ['percent', 'fixed'], default: 'percent' },
74
- active: { type: Boolean, default: true },
75
- }, { timestamps: true });
76
-
77
- // Compound index для основного query pattern
78
- couponSchema.index({ appInstanceId: 1, active: 1, createdAt: -1 });
79
- ```
80
-
81
- ---
82
-
83
- ## 2. Mongoose Model Setup
84
-
85
- ### ✅ DO: strict schema с validators
86
-
87
- ```js
88
- // models/Coupon.js
89
- import { Schema, model } from 'mongoose';
90
-
91
- const couponSchema = new Schema(
92
- {
93
- appInstanceId: {
94
- type: String,
95
- required: [true, 'appInstanceId is required'],
96
- index: true,
97
- },
98
- code: {
99
- type: String,
100
- required: [true, 'Coupon code is required'],
101
- minlength: [3, 'Code must be at least 3 characters'],
102
- maxlength: [20, 'Code must be at most 20 characters'],
103
- uppercase: true,
104
- trim: true,
105
- },
106
- discount: {
107
- type: Number,
108
- required: true,
109
- min: [1, 'Discount must be at least 1'],
110
- max: [100, 'Discount cannot exceed 100'],
111
- },
112
- type: {
113
- type: String,
114
- enum: {
115
- values: ['percent', 'fixed'],
116
- message: '{VALUE} is not a valid discount type',
117
- },
118
- default: 'percent',
119
- },
120
- active: {
121
- type: Boolean,
122
- default: true,
123
- },
124
- usageCount: {
125
- type: Number,
126
- default: 0,
127
- min: 0,
128
- },
129
- },
130
- {
131
- timestamps: true, // ✅ Автоматические createdAt, updatedAt
132
- strict: 'throw', // ✅ Кидать ошибку на неизвестные поля
133
- strictQuery: true, // ✅ Не принимать неизвестные query params
134
- versionKey: '__v', // Optimistic concurrency
135
- }
136
- );
137
-
138
- // ✅ Compound unique index
139
- couponSchema.index({ appInstanceId: 1, code: 1 }, { unique: true });
140
-
141
- // ✅ Index для основного query: active coupons sorted by date
142
- couponSchema.index({ appInstanceId: 1, active: 1, createdAt: -1 });
143
-
144
- export const Coupon = model('Coupon', couponSchema);
145
- ```
146
-
147
- ### ✅ DO: toJSON transform (скрывать internal fields)
148
-
149
- ```js
150
- couponSchema.set('toJSON', {
151
- transform: (_doc, ret) => {
152
- ret.id = ret._id.toString();
153
- delete ret._id;
154
- delete ret.__v;
155
- return ret;
156
- },
157
- });
158
- ```
159
-
160
- ### ❌ DON'T: schema как `Schema.Types.Mixed`
161
-
162
- ```js
163
- // ❌ Mixed = no validation, no autocomplete, data chaos
164
- const badSchema = new Schema({
165
- settings: Schema.Types.Mixed, // ❌ любые данные
166
- data: {}, // ❌ тоже Mixed
167
- });
168
-
169
- // ✅ Явная типизация
170
- const goodSchema = new Schema({
171
- settings: {
172
- title: { type: String, default: '' },
173
- enabled: { type: Boolean, default: true },
174
- },
175
- });
176
- ```
177
-
178
- ---
179
-
180
- ## 3. Индексы
181
-
182
- ### ✅ DO: индексы под реальные query patterns
183
-
184
- ```js
185
- // Типичные индексы для Smart Cart Rescue:
186
-
187
- // 1. Unique lookup
188
- couponSchema.index({ appInstanceId: 1, code: 1 }, { unique: true });
189
-
190
- // 2. List + filter + sort
191
- couponSchema.index({ appInstanceId: 1, active: 1, createdAt: -1 });
192
-
193
- // 3. TTL — автоудаление (для temporary tokens)
194
- tokenSchema.index({ expiresAt: 1 }, { expireAfterSeconds: 0 });
195
-
196
- // 4. Partial index — индексировать только active coupons
197
- couponSchema.index(
198
- { appInstanceId: 1, createdAt: -1 },
199
- { partialFilterExpression: { active: true } }
200
- );
201
-
202
- // 5. Text search
203
- couponSchema.index({ code: 'text', 'metadata.description': 'text' });
204
- ```
205
-
206
- ### Правила индексов
207
-
208
- | Правило | Объяснение |
209
- |---------|-----------|
210
- | **ESR** | Equality → Sort → Range (порядок полей в compound index) |
211
- | Не больше 5-7 индексов | Каждый индекс = overhead на write |
212
- | `explain()` для проверки | `Model.find().explain('executionStats')` |
213
- | Unique для бизнес-ключей | `{ appInstanceId, code }` unique |
214
- | TTL для expirable data | Tokens, sessions, temp files |
215
-
216
- ### ✅ DO: проверять query plan
217
-
218
- ```js
219
- // Проверить что индекс используется
220
- const explanation = await Coupon.find({ appInstanceId: 'abc', active: true })
221
- .sort({ createdAt: -1 })
222
- .explain('executionStats');
223
-
224
- console.log(explanation.executionStats.executionStages);
225
- // Должно быть IXSCAN, не COLLSCAN
226
- ```
227
-
228
- ---
229
-
230
- ## 4. Query Patterns
231
-
232
- ### ✅ DO: lean() для read-only
233
-
234
- ```js
235
- // ✅ lean() — возвращает plain JS objects, не Mongoose documents
236
- // ~5x быстрее, меньше памяти, идеально для API responses
237
- const coupons = await Coupon
238
- .find({ appInstanceId, active: true })
239
- .sort({ createdAt: -1 })
240
- .limit(20)
241
- .select('code discount type active createdAt') // ✅ только нужные поля
242
- .lean(); // ✅ plain objects
243
- ```
244
-
245
- ### ✅ DO: cursor pagination (для больших коллекций)
246
-
247
- ```js
248
- /**
249
- * Cursor-based пагинация (вместо skip/limit на больших коллекциях).
250
- * @param {string} appInstanceId
251
- * @param {{ cursor?: string, limit?: number }} opts
252
- * @returns {Promise<{ data: Coupon[], nextCursor: string | null }>}
253
- */
254
- async function listCoupons(appInstanceId, { cursor, limit = 20 }) {
255
- const query = { appInstanceId, active: true };
256
-
257
- // Cursor = ID последнего элемента предыдущей страницы
258
- if (cursor) {
259
- query._id = { $lt: cursor };
260
- }
261
-
262
- const data = await Coupon
263
- .find(query)
264
- .sort({ _id: -1 })
265
- .limit(limit + 1) // +1 чтобы понять есть ли nextPage
266
- .lean();
267
-
268
- const hasMore = data.length > limit;
269
- if (hasMore) data.pop();
270
-
271
- return {
272
- data,
273
- nextCursor: hasMore ? data[data.length - 1]._id.toString() : null,
274
- };
275
- }
276
- ```
277
-
278
- ### ✅ DO: safe filter builder (NoSQL injection prevention)
279
-
280
- ```js
281
- /**
282
- * Строит безопасный MongoDB фильтр из query params.
283
- * Whitelist-подход: только разрешённые поля и операторы.
284
- * @param {string} appInstanceId
285
- * @param {{ status?: string, q?: string, from?: string, to?: string }} query
286
- * @returns {object} MongoDB filter.
287
- */
288
- function buildCouponFilter(appInstanceId, query) {
289
- const filter = { appInstanceId };
290
-
291
- // Status (whitelist enum)
292
- if (query.status === 'active') filter.active = true;
293
- if (query.status === 'inactive') filter.active = false;
294
-
295
- // Search (safe: escape regex special chars)
296
- if (query.q) {
297
- filter.code = { $regex: escapeRegex(query.q), $options: 'i' };
298
- }
299
-
300
- // Date range
301
- if (query.from || query.to) {
302
- filter.createdAt = {};
303
- if (query.from) filter.createdAt.$gte = new Date(query.from);
304
- if (query.to) filter.createdAt.$lte = new Date(query.to);
305
- }
306
-
307
- return filter;
308
- }
309
-
310
- /**
311
- * Экранирует спецсимволы regex для безопасного использования в MongoDB $regex.
312
- * @param {string} str
313
- * @returns {string}
314
- */
315
- function escapeRegex(str) {
316
- return str.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
317
- }
318
- ```
319
-
320
- ### ❌ DON'T: прямой find по req.body/query
321
-
322
- ```js
323
- // ❌ NoSQL injection — пользователь может передать { $ne: "" }
324
- const results = await Coupon.find(req.query); // ❌
325
- const results = await Coupon.find(req.body.filter); // ❌
326
- const user = await User.findOne({ email: req.body.email }); // ❌ если email = { $gt: "" }
327
-
328
- // ✅ Явное приведение типов
329
- const user = await User.findOne({ email: String(req.body.email) });
330
- ```
331
-
332
- ---
333
-
334
- ## 5. Connection
335
-
336
- ### ✅ DO: connection с retry и pooling
337
-
338
- ```js
339
- // db/connection.js
340
- import mongoose from 'mongoose';
341
- import { config } from '../config/env.js';
342
- import { logger } from '../utils/logger.js';
343
-
344
- /**
345
- * Подключается к MongoDB с retry и конфигурацией pool.
346
- * @returns {Promise<mongoose.Connection>}
347
- */
348
- export async function connectDb() {
349
- const MAX_RETRIES = 5;
350
- const RETRY_DELAY_MS = 3000;
351
-
352
- for (let attempt = 1; attempt <= MAX_RETRIES; attempt++) {
353
- try {
354
- await mongoose.connect(config.DATABASE_URL, {
355
- maxPoolSize: 10, // ✅ Connection pooling
356
- minPoolSize: 2,
357
- serverSelectionTimeoutMS: 5000,
358
- socketTimeoutMS: 45000,
359
- heartbeatFrequencyMS: 10000,
360
- });
361
-
362
- logger.info('MongoDB connected');
363
-
364
- // ✅ Connection event handlers
365
- mongoose.connection.on('error', (err) => {
366
- logger.error({ err }, 'MongoDB connection error');
367
- });
368
-
369
- mongoose.connection.on('disconnected', () => {
370
- logger.warn('MongoDB disconnected');
371
- });
372
-
373
- return mongoose.connection;
374
-
375
- } catch (err) {
376
- logger.warn({ attempt, maxRetries: MAX_RETRIES, err: err.message },
377
- 'MongoDB connection failed, retrying...');
378
-
379
- if (attempt === MAX_RETRIES) {
380
- logger.fatal({ err }, 'MongoDB connection failed after all retries');
381
- throw err;
382
- }
383
-
384
- await new Promise((r) => setTimeout(r, RETRY_DELAY_MS * attempt));
385
- }
386
- }
387
- }
388
-
389
- /**
390
- * Graceful disconnect.
391
- */
392
- export async function disconnectDb() {
393
- await mongoose.disconnect();
394
- logger.info('MongoDB disconnected gracefully');
395
- }
396
- ```
397
-
398
- ---
399
-
400
- ## 6. Безопасность
401
-
402
- ### Чеклист
403
-
404
- | Правило | Как |
405
- |---------|-----|
406
- | **NoSQL injection** | Safe filter builder (whitelist полей + типов) |
407
- | **Least privilege** | Отдельный DB user с readWrite на нужную DB |
408
- | **Secrets** | Connection string через env, не в коде |
409
- | **strict: "throw"** | Ловит неожиданные поля в documents |
410
- | **strictQuery: true** | Ловит неизвестные query params |
411
- | **Не логировать connection string** | pino redact для `*.DATABASE_URL` |
412
-
413
- ---
414
-
415
- ## 7. Транзакции
416
-
417
- ### ✅ DO: withTransaction для multi-doc операций
418
-
419
- ```js
420
- /**
421
- * Применяет купон к заказу атомарно (списание + запись использования).
422
- * Требует replica set.
423
- */
424
- async function applyCoupon(orderId, couponId) {
425
- const session = await mongoose.startSession();
426
-
427
- try {
428
- const result = await session.withTransaction(async () => {
429
- // 1. Проверить купон
430
- const coupon = await Coupon.findById(couponId).session(session);
431
- if (!coupon || !coupon.active) {
432
- throw new AppError('Coupon not available', 400);
433
- }
434
-
435
- // 2. Применить к заказу
436
- const order = await Order.findByIdAndUpdate(
437
- orderId,
438
- {
439
- $set: { couponId, discount: coupon.discount },
440
- $inc: { total: -coupon.discount },
441
- },
442
- { session, new: true }
443
- );
444
-
445
- // 3. Увеличить usage count
446
- await Coupon.findByIdAndUpdate(
447
- couponId,
448
- { $inc: { usageCount: 1 } },
449
- { session }
450
- );
451
-
452
- return order;
453
- });
454
-
455
- return result;
456
- } finally {
457
- await session.endSession();
458
- }
459
- }
460
- ```
461
-
462
- > [!TIP]
463
- > MongoDB любит моделирование, где транзакции нужны редко. Если транзакция нужна часто — пересмотри schema design (может стоит embed).
464
-
465
- ---
466
-
467
- ## 8. Миграции
468
-
469
- ### ✅ DO: migrate-mongo
470
-
471
- ```bash
472
- npm install --save-dev migrate-mongo
473
- npx migrate-mongo init
474
- ```
475
-
476
- ```js
477
- // migrations/20260313_add_template_field.js
478
-
479
- /**
480
- * Добавляет поле templateId ко всем settings.
481
- */
482
- module.exports = {
483
- async up(db) {
484
- await db.collection('settings').updateMany(
485
- { templateId: { $exists: false } },
486
- { $set: { templateId: 'glassmorphism' } }
487
- );
488
- },
489
-
490
- async down(db) {
491
- await db.collection('settings').updateMany(
492
- {},
493
- { $unset: { templateId: '' } }
494
- );
495
- },
496
- };
497
- ```
498
-
499
- ### Backfill стратегия (для больших коллекций)
500
-
501
- ```js
502
- /**
503
- * Batch backfill — обрабатывает документы порциями.
504
- * @param {Collection} collection
505
- * @param {object} filter
506
- * @param {object} update
507
- * @param {number} batchSize
508
- */
509
- async function batchBackfill(collection, filter, update, batchSize = 500) {
510
- let processed = 0;
511
- let cursor = null;
512
-
513
- while (true) {
514
- const query = { ...filter };
515
- if (cursor) query._id = { $gt: cursor };
516
-
517
- const docs = await collection
518
- .find(query)
519
- .sort({ _id: 1 })
520
- .limit(batchSize)
521
- .toArray();
522
-
523
- if (docs.length === 0) break;
524
-
525
- const ids = docs.map((d) => d._id);
526
- await collection.updateMany({ _id: { $in: ids } }, update);
527
-
528
- cursor = ids[ids.length - 1];
529
- processed += docs.length;
530
-
531
- logger.info({ processed }, 'Backfill progress');
532
- }
533
-
534
- logger.info({ total: processed }, 'Backfill complete');
535
- }
536
- ```
537
-
538
- ---
539
-
540
- ## 9. Обработка ошибок
541
-
542
- ### ✅ DO: маппинг Mongoose ошибок → HTTP
543
-
544
- ```js
545
- /**
546
- * Маппит Mongoose ошибки в AppError для централизованного error handler.
547
- * @param {Error} err
548
- * @returns {AppError}
549
- */
550
- function mapMongooseError(err) {
551
- // Duplicate key (unique constraint violation)
552
- if (err.code === 11000) {
553
- const field = Object.keys(err.keyPattern || {})[0] || 'field';
554
- return new AppError(`Duplicate value for ${field}`, 409);
555
- }
556
-
557
- // Validation error
558
- if (err.name === 'ValidationError') {
559
- const details = Object.values(err.errors).map((e) => ({
560
- field: e.path,
561
- message: e.message,
562
- }));
563
- return new AppError('Validation failed', 400, details);
564
- }
565
-
566
- // CastError (invalid ObjectId)
567
- if (err.name === 'CastError') {
568
- return new AppError(`Invalid ${err.path}: ${err.value}`, 400);
569
- }
570
-
571
- // VersionError (optimistic concurrency)
572
- if (err.name === 'VersionError') {
573
- return new AppError('Document was modified by another request', 409);
574
- }
575
-
576
- // Unknown → 500 (log full error, return generic message)
577
- return new AppError('Internal server error', 500);
578
- }
579
- ```
580
-
581
- ### Error mapping table
582
-
583
- | Mongoose Error | HTTP Code | AppError |
584
- |----------------|-----------|---------|
585
- | `code: 11000` (duplicate) | 409 | ConflictError |
586
- | `ValidationError` | 400 | ValidationError |
587
- | `CastError` (bad ObjectId) | 400 | ValidationError |
588
- | `VersionError` | 409 | ConflictError |
589
- | Document not found | 404 | NotFoundError |
590
- | Connection timeout | 503 | AppError |
591
-
592
- ---
593
-
594
- ## 10. Тестирование
595
-
596
- ### ✅ DO: MongoMemoryServer для integration tests
597
-
598
- ```js
599
- // tests/setup.js
600
- import { MongoMemoryServer } from 'mongodb-memory-server';
601
- import mongoose from 'mongoose';
602
-
603
- let mongoServer;
604
-
605
- /**
606
- * Запускает in-memory MongoDB перед тестами.
607
- */
608
- export async function setupTestDb() {
609
- mongoServer = await MongoMemoryServer.create();
610
- const uri = mongoServer.getUri();
611
- await mongoose.connect(uri);
612
- }
613
-
614
- /**
615
- * Очищает все коллекции между тестами.
616
- */
617
- export async function clearTestDb() {
618
- const collections = mongoose.connection.collections;
619
- for (const key in collections) {
620
- await collections[key].deleteMany({});
621
- }
622
- }
623
-
624
- /**
625
- * Останавливает in-memory MongoDB после тестов.
626
- */
627
- export async function teardownTestDb() {
628
- await mongoose.disconnect();
629
- await mongoServer.stop();
630
- }
631
- ```
632
-
633
- ```js
634
- // tests/coupon.repo.test.js
635
- import { describe, it, expect, beforeAll, afterAll, afterEach } from 'vitest';
636
- import { setupTestDb, clearTestDb, teardownTestDb } from './setup.js';
637
- import { Coupon } from '../models/Coupon.js';
638
-
639
- describe('Coupon Model', () => {
640
- beforeAll(setupTestDb);
641
- afterEach(clearTestDb);
642
- afterAll(teardownTestDb);
643
-
644
- it('should create a coupon with defaults', async () => {
645
- const coupon = await Coupon.create({
646
- appInstanceId: 'test-app',
647
- code: 'save20',
648
- discount: 20,
649
- });
650
-
651
- expect(coupon.code).toBe('SAVE20'); // uppercase transform
652
- expect(coupon.active).toBe(true); // default
653
- expect(coupon.type).toBe('percent'); // default
654
- expect(coupon.createdAt).toBeDefined(); // timestamps
655
- });
656
-
657
- it('should enforce unique (appInstanceId, code)', async () => {
658
- await Coupon.create({ appInstanceId: 'app1', code: 'TEST', discount: 10 });
659
-
660
- await expect(
661
- Coupon.create({ appInstanceId: 'app1', code: 'TEST', discount: 20 })
662
- ).rejects.toThrow(/duplicate key/i);
663
- });
664
-
665
- it('should validate discount range', async () => {
666
- await expect(
667
- Coupon.create({ appInstanceId: 'app1', code: 'BAD', discount: 150 })
668
- ).rejects.toThrow(/cannot exceed 100/i);
669
- });
670
-
671
- it('should query active coupons sorted by date', async () => {
672
- await Coupon.create({ appInstanceId: 'app1', code: 'OLD', discount: 5 });
673
- await Coupon.create({ appInstanceId: 'app1', code: 'NEW', discount: 10 });
674
- await Coupon.create({ appInstanceId: 'app1', code: 'OFF', discount: 15, active: false });
675
-
676
- const active = await Coupon
677
- .find({ appInstanceId: 'app1', active: true })
678
- .sort({ createdAt: -1 })
679
- .lean();
680
-
681
- expect(active).toHaveLength(2);
682
- expect(active[0].code).toBe('NEW');
683
- });
684
- });
685
- ```
686
-
687
- ---
688
-
689
- ## 11. Anti-patterns
690
-
691
- | ❌ Anti-pattern | ✅ Решение |
692
- |----------------|-----------|
693
- | `Schema.Types.Mixed` | Явная типизация полей |
694
- | `Model.find(req.query)` | Safe filter builder (whitelist) |
695
- | `skip()` на больших коллекциях | Cursor pagination (`_id` / `createdAt`) |
696
- | Нет `.lean()` для API responses | `.lean()` + `.select()` для read-only |
697
- | `.populate()` в циклах (N+1) | Batch query по IDs / embed |
698
- | Бизнес-логика в Mongoose hooks | Hooks = только техническое (timestamps, normalization) |
699
- | Unbounded embed arrays | Reference + separate collection |
700
- | Нет индексов под query patterns | `explain()` → IXSCAN, не COLLSCAN |
701
- | `strict: false` | `strict: 'throw'` + `strictQuery: true` |
702
- | Connection string в коде | Env vars + Zod validation |
703
-
704
- ---
705
-
706
- ## Чеклист
707
-
708
- - [ ] Schemas с required/enum/min/max/defaults/timestamps
709
- - [ ] Embed vs reference — осознанный выбор, задокументирован
710
- - [ ] Индексы под ключевые query patterns
711
- - [ ] Пагинация: cursor для больших коллекций
712
- - [ ] Safe filter builder (нет raw user input в find)
713
- - [ ] Connection с retry и pooling
714
- - [ ] Mongoose errors → HTTP codes mapping
715
- - [ ] Integration tests (MongoMemoryServer)
716
- - [ ] Миграции для schema changes
717
-
718
- ---
719
-
720
- ## См. также
721
- - `$node_express_beast_practices` — Express архитектура и service layer
722
- - `$security_baseline_dev` — NoSQL injection prevention
723
- - `$testing_strategy_js` — testing strategy
724
- - `$observability_logging` — structured logging