code-ai-installer 1.2.0 → 1.3.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 (925) hide show
  1. package/.agents/a11y_baseline/SKILL.md +260 -41
  2. package/.agents/a11y_baseline/agents/claude.json +2 -2
  3. package/.agents/a11y_baseline/agents/copilot.json +2 -2
  4. package/.agents/a11y_baseline/agents/gemini.json +2 -2
  5. package/.agents/a11y_baseline/agents/openai.yaml +1 -1
  6. package/.agents/a11y_baseline/agents/qwen.json +2 -2
  7. package/.agents/a11y_baseline/agents/skill.yaml +2 -2
  8. package/.agents/adr_log/SKILL.md +369 -69
  9. package/.agents/adr_log/agents/claude.json +2 -2
  10. package/.agents/adr_log/agents/copilot.json +2 -2
  11. package/.agents/adr_log/agents/gemini.json +2 -2
  12. package/.agents/adr_log/agents/openai.yaml +1 -1
  13. package/.agents/adr_log/agents/qwen.json +2 -2
  14. package/.agents/adr_log/agents/skill.yaml +2 -2
  15. package/.agents/api_contract_compliance_review/SKILL.md +224 -18
  16. package/.agents/api_contract_compliance_review/agents/claude.json +2 -2
  17. package/.agents/api_contract_compliance_review/agents/copilot.json +2 -2
  18. package/.agents/api_contract_compliance_review/agents/gemini.json +2 -2
  19. package/.agents/api_contract_compliance_review/agents/openai.yaml +1 -1
  20. package/.agents/api_contract_compliance_review/agents/qwen.json +2 -2
  21. package/.agents/api_contract_compliance_review/agents/skill.yaml +2 -2
  22. package/.agents/api_contracts/SKILL.md +329 -42
  23. package/.agents/api_contracts/agents/claude.json +2 -2
  24. package/.agents/api_contracts/agents/copilot.json +2 -2
  25. package/.agents/api_contracts/agents/gemini.json +2 -2
  26. package/.agents/api_contracts/agents/openai.yaml +1 -1
  27. package/.agents/api_contracts/agents/qwen.json +2 -2
  28. package/.agents/api_contracts/agents/skill.yaml +2 -2
  29. package/.agents/architecture_compliance_review/SKILL.md +213 -17
  30. package/.agents/architecture_compliance_review/agents/claude.json +2 -2
  31. package/.agents/architecture_compliance_review/agents/copilot.json +2 -2
  32. package/.agents/architecture_compliance_review/agents/gemini.json +2 -2
  33. package/.agents/architecture_compliance_review/agents/openai.yaml +1 -1
  34. package/.agents/architecture_compliance_review/agents/qwen.json +2 -2
  35. package/.agents/architecture_compliance_review/agents/skill.yaml +2 -2
  36. package/.agents/architecture_doc/SKILL.md +384 -92
  37. package/.agents/architecture_doc/agents/claude.json +2 -2
  38. package/.agents/architecture_doc/agents/copilot.json +2 -2
  39. package/.agents/architecture_doc/agents/gemini.json +2 -2
  40. package/.agents/architecture_doc/agents/openai.yaml +1 -1
  41. package/.agents/architecture_doc/agents/qwen.json +2 -2
  42. package/.agents/architecture_doc/agents/skill.yaml +2 -2
  43. package/.agents/board/SKILL.md +232 -43
  44. package/.agents/board/agents/claude.json +2 -2
  45. package/.agents/board/agents/copilot.json +2 -2
  46. package/.agents/board/agents/gemini.json +2 -2
  47. package/.agents/board/agents/openai.yaml +1 -1
  48. package/.agents/board/agents/qwen.json +2 -2
  49. package/.agents/board/agents/skill.yaml +2 -2
  50. package/.agents/cloud_infrastructure_security/SKILL.md +277 -68
  51. package/.agents/cloud_infrastructure_security/agents/claude.json +2 -2
  52. package/.agents/cloud_infrastructure_security/agents/copilot.json +2 -2
  53. package/.agents/cloud_infrastructure_security/agents/gemini.json +2 -2
  54. package/.agents/cloud_infrastructure_security/agents/openai.yaml +1 -1
  55. package/.agents/cloud_infrastructure_security/agents/qwen.json +2 -2
  56. package/.agents/cloud_infrastructure_security/agents/skill.yaml +2 -2
  57. package/.agents/code_review_checklist/SKILL.md +200 -47
  58. package/.agents/code_review_checklist/agents/claude.json +2 -2
  59. package/.agents/code_review_checklist/agents/copilot.json +2 -2
  60. package/.agents/code_review_checklist/agents/gemini.json +2 -2
  61. package/.agents/code_review_checklist/agents/openai.yaml +1 -1
  62. package/.agents/code_review_checklist/agents/qwen.json +2 -2
  63. package/.agents/code_review_checklist/agents/skill.yaml +2 -2
  64. package/.agents/current_state_analysis/SKILL.md +225 -44
  65. package/.agents/current_state_analysis/agents/claude.json +2 -2
  66. package/.agents/current_state_analysis/agents/copilot.json +2 -2
  67. package/.agents/current_state_analysis/agents/gemini.json +2 -2
  68. package/.agents/current_state_analysis/agents/openai.yaml +1 -1
  69. package/.agents/current_state_analysis/agents/qwen.json +2 -2
  70. package/.agents/current_state_analysis/agents/skill.yaml +2 -2
  71. package/.agents/data_model/SKILL.md +285 -40
  72. package/.agents/data_model/agents/claude.json +2 -2
  73. package/.agents/data_model/agents/copilot.json +2 -2
  74. package/.agents/data_model/agents/gemini.json +2 -2
  75. package/.agents/data_model/agents/openai.yaml +1 -1
  76. package/.agents/data_model/agents/qwen.json +2 -2
  77. package/.agents/data_model/agents/skill.yaml +2 -2
  78. package/.agents/dependency_supply_chain_review/SKILL.md +300 -20
  79. package/.agents/dependency_supply_chain_review/agents/claude.json +2 -2
  80. package/.agents/dependency_supply_chain_review/agents/copilot.json +2 -2
  81. package/.agents/dependency_supply_chain_review/agents/gemini.json +2 -2
  82. package/.agents/dependency_supply_chain_review/agents/openai.yaml +1 -1
  83. package/.agents/dependency_supply_chain_review/agents/qwen.json +2 -2
  84. package/.agents/dependency_supply_chain_review/agents/skill.yaml +2 -2
  85. package/.agents/deployment_ci_plan/SKILL.md +410 -51
  86. package/.agents/deployment_ci_plan/agents/claude.json +3 -2
  87. package/.agents/deployment_ci_plan/agents/copilot.json +3 -2
  88. package/.agents/deployment_ci_plan/agents/gemini.json +3 -2
  89. package/.agents/deployment_ci_plan/agents/openai.yaml +1 -1
  90. package/.agents/deployment_ci_plan/agents/qwen.json +3 -2
  91. package/.agents/deployment_ci_plan/agents/skill.yaml +2 -1
  92. package/.agents/design_intake/SKILL.md +225 -71
  93. package/.agents/design_intake/agents/claude.json +2 -2
  94. package/.agents/design_intake/agents/copilot.json +2 -2
  95. package/.agents/design_intake/agents/gemini.json +2 -2
  96. package/.agents/design_intake/agents/openai.yaml +1 -1
  97. package/.agents/design_intake/agents/qwen.json +2 -2
  98. package/.agents/design_intake/agents/skill.yaml +2 -2
  99. package/.agents/design_parity_review/SKILL.md +216 -73
  100. package/.agents/design_systems/SKILL.md +432 -15
  101. package/.agents/design_systems/agents/claude.json +2 -2
  102. package/.agents/design_systems/agents/copilot.json +2 -2
  103. package/.agents/design_systems/agents/gemini.json +2 -2
  104. package/.agents/design_systems/agents/openai.yaml +1 -1
  105. package/.agents/design_systems/agents/qwen.json +2 -2
  106. package/.agents/design_systems/agents/skill.yaml +2 -2
  107. package/.agents/dev_reference_snippets/SKILL.md +305 -117
  108. package/.agents/dev_reference_snippets/agents/claude.json +2 -2
  109. package/.agents/dev_reference_snippets/agents/copilot.json +2 -2
  110. package/.agents/dev_reference_snippets/agents/gemini.json +2 -2
  111. package/.agents/dev_reference_snippets/agents/openai.yaml +1 -1
  112. package/.agents/dev_reference_snippets/agents/qwen.json +2 -2
  113. package/.agents/dev_reference_snippets/agents/skill.yaml +2 -2
  114. package/.agents/docker_kubernetes_architecture/SKILL.md +480 -145
  115. package/.agents/docker_kubernetes_architecture/agents/claude.json +2 -2
  116. package/.agents/docker_kubernetes_architecture/agents/copilot.json +2 -2
  117. package/.agents/docker_kubernetes_architecture/agents/gemini.json +2 -2
  118. package/.agents/docker_kubernetes_architecture/agents/openai.yaml +1 -1
  119. package/.agents/docker_kubernetes_architecture/agents/qwen.json +2 -2
  120. package/.agents/docker_kubernetes_architecture/agents/skill.yaml +2 -2
  121. package/.agents/es2025_beast_practices/SKILL.md +433 -8
  122. package/.agents/es2025_beast_practices/agents/claude.json +2 -2
  123. package/.agents/es2025_beast_practices/agents/copilot.json +2 -2
  124. package/.agents/es2025_beast_practices/agents/gemini.json +2 -2
  125. package/.agents/es2025_beast_practices/agents/openai.yaml +1 -1
  126. package/.agents/es2025_beast_practices/agents/qwen.json +2 -2
  127. package/.agents/es2025_beast_practices/agents/skill.yaml +2 -2
  128. package/.agents/gates/SKILL.md +134 -35
  129. package/.agents/gates/agents/claude.json +2 -2
  130. package/.agents/gates/agents/copilot.json +2 -2
  131. package/.agents/gates/agents/gemini.json +2 -2
  132. package/.agents/gates/agents/openai.yaml +1 -1
  133. package/.agents/gates/agents/qwen.json +2 -2
  134. package/.agents/gates/agents/skill.yaml +2 -2
  135. package/.agents/go_beast_practices/SKILL.md +557 -23
  136. package/.agents/go_beast_practices/agents/claude.json +2 -2
  137. package/.agents/go_beast_practices/agents/copilot.json +2 -2
  138. package/.agents/go_beast_practices/agents/gemini.json +2 -2
  139. package/.agents/go_beast_practices/agents/openai.yaml +1 -1
  140. package/.agents/go_beast_practices/agents/qwen.json +2 -2
  141. package/.agents/go_beast_practices/agents/skill.yaml +2 -2
  142. package/.agents/google_stitch_skill/SKILL.md +1 -1
  143. package/.agents/google_stitch_skill/agents/claude.json +5 -6
  144. package/.agents/google_stitch_skill/agents/copilot.json +5 -6
  145. package/.agents/google_stitch_skill/agents/gemini.json +5 -6
  146. package/.agents/google_stitch_skill/agents/openai.yaml +1 -1
  147. package/.agents/google_stitch_skill/agents/qwen.json +5 -6
  148. package/.agents/google_stitch_skill/agents/skill.yaml +4 -5
  149. package/.agents/handoff/SKILL.md +212 -52
  150. package/.agents/handoff/agents/claude.json +2 -2
  151. package/.agents/handoff/agents/copilot.json +2 -2
  152. package/.agents/handoff/agents/gemini.json +2 -2
  153. package/.agents/handoff/agents/openai.yaml +1 -1
  154. package/.agents/handoff/agents/qwen.json +2 -2
  155. package/.agents/handoff/agents/skill.yaml +2 -2
  156. package/.agents/k8s_manifests_conventions/SKILL.md +548 -176
  157. package/.agents/k8s_manifests_conventions/agents/claude.json +2 -2
  158. package/.agents/k8s_manifests_conventions/agents/copilot.json +2 -2
  159. package/.agents/k8s_manifests_conventions/agents/gemini.json +2 -2
  160. package/.agents/k8s_manifests_conventions/agents/openai.yaml +1 -1
  161. package/.agents/k8s_manifests_conventions/agents/qwen.json +2 -2
  162. package/.agents/k8s_manifests_conventions/agents/skill.yaml +2 -2
  163. package/.agents/memory/SKILL.md +219 -29
  164. package/.agents/memory/agents/claude.json +2 -2
  165. package/.agents/memory/agents/copilot.json +2 -2
  166. package/.agents/memory/agents/gemini.json +2 -2
  167. package/.agents/memory/agents/openai.yaml +1 -1
  168. package/.agents/memory/agents/qwen.json +2 -2
  169. package/.agents/memory/agents/skill.yaml +2 -2
  170. package/.agents/mongodb_mongoose_best_practices/SKILL.md +724 -236
  171. package/.agents/mongodb_mongoose_best_practices/agents/claude.json +2 -2
  172. package/.agents/mongodb_mongoose_best_practices/agents/copilot.json +2 -2
  173. package/.agents/mongodb_mongoose_best_practices/agents/gemini.json +2 -2
  174. package/.agents/mongodb_mongoose_best_practices/agents/openai.yaml +1 -1
  175. package/.agents/mongodb_mongoose_best_practices/agents/qwen.json +2 -2
  176. package/.agents/mongodb_mongoose_best_practices/agents/skill.yaml +2 -2
  177. package/.agents/n8n_pinecone_qdrant_supabase/SKILL.md +671 -59
  178. package/.agents/n8n_pinecone_qdrant_supabase/agents/claude.json +2 -2
  179. package/.agents/n8n_pinecone_qdrant_supabase/agents/copilot.json +2 -2
  180. package/.agents/n8n_pinecone_qdrant_supabase/agents/gemini.json +2 -2
  181. package/.agents/n8n_pinecone_qdrant_supabase/agents/openai.yaml +1 -1
  182. package/.agents/n8n_pinecone_qdrant_supabase/agents/qwen.json +2 -2
  183. package/.agents/n8n_pinecone_qdrant_supabase/agents/skill.yaml +2 -2
  184. package/.agents/node_express_beast_practices/SKILL.md +729 -30
  185. package/.agents/node_express_beast_practices/agents/claude.json +1 -1
  186. package/.agents/node_express_beast_practices/agents/copilot.json +1 -1
  187. package/.agents/node_express_beast_practices/agents/gemini.json +1 -1
  188. package/.agents/node_express_beast_practices/agents/openai.yaml +1 -1
  189. package/.agents/node_express_beast_practices/agents/qwen.json +1 -1
  190. package/.agents/node_express_beast_practices/agents/skill.yaml +1 -1
  191. package/.agents/observability_logging/SKILL.md +499 -16
  192. package/.agents/observability_logging/agents/claude.json +2 -2
  193. package/.agents/observability_logging/agents/copilot.json +2 -2
  194. package/.agents/observability_logging/agents/gemini.json +2 -2
  195. package/.agents/observability_logging/agents/openai.yaml +1 -1
  196. package/.agents/observability_logging/agents/qwen.json +2 -2
  197. package/.agents/observability_logging/agents/skill.yaml +2 -2
  198. package/.agents/observability_plan/SKILL.md +279 -38
  199. package/.agents/observability_plan/agents/claude.json +3 -2
  200. package/.agents/observability_plan/agents/copilot.json +3 -2
  201. package/.agents/observability_plan/agents/gemini.json +3 -2
  202. package/.agents/observability_plan/agents/openai.yaml +1 -1
  203. package/.agents/observability_plan/agents/qwen.json +3 -2
  204. package/.agents/observability_plan/agents/skill.yaml +2 -1
  205. package/.agents/observability_review/SKILL.md +254 -20
  206. package/.agents/observability_review/agents/claude.json +2 -2
  207. package/.agents/observability_review/agents/copilot.json +2 -2
  208. package/.agents/observability_review/agents/gemini.json +2 -2
  209. package/.agents/observability_review/agents/openai.yaml +1 -1
  210. package/.agents/observability_review/agents/qwen.json +2 -2
  211. package/.agents/observability_review/agents/skill.yaml +2 -2
  212. package/.agents/performance_review_baseline/SKILL.md +239 -17
  213. package/.agents/performance_review_baseline/agents/claude.json +2 -2
  214. package/.agents/performance_review_baseline/agents/copilot.json +2 -2
  215. package/.agents/performance_review_baseline/agents/gemini.json +2 -2
  216. package/.agents/performance_review_baseline/agents/openai.yaml +1 -1
  217. package/.agents/performance_review_baseline/agents/qwen.json +2 -2
  218. package/.agents/performance_review_baseline/agents/skill.yaml +2 -2
  219. package/.agents/pm_backlog/SKILL.md +250 -32
  220. package/.agents/pm_backlog/agents/claude.json +2 -2
  221. package/.agents/pm_backlog/agents/copilot.json +2 -2
  222. package/.agents/pm_backlog/agents/gemini.json +2 -2
  223. package/.agents/pm_backlog/agents/openai.yaml +1 -1
  224. package/.agents/pm_backlog/agents/qwen.json +2 -2
  225. package/.agents/pm_backlog/agents/skill.yaml +2 -2
  226. package/.agents/pm_interview/SKILL.md +197 -56
  227. package/.agents/pm_interview/agents/claude.json +2 -2
  228. package/.agents/pm_interview/agents/copilot.json +2 -2
  229. package/.agents/pm_interview/agents/gemini.json +2 -2
  230. package/.agents/pm_interview/agents/openai.yaml +1 -1
  231. package/.agents/pm_interview/agents/qwen.json +2 -2
  232. package/.agents/pm_interview/agents/skill.yaml +2 -2
  233. package/.agents/pm_prd/SKILL.md +215 -56
  234. package/.agents/pm_prd/agents/claude.json +2 -2
  235. package/.agents/pm_prd/agents/copilot.json +2 -2
  236. package/.agents/pm_prd/agents/gemini.json +2 -2
  237. package/.agents/pm_prd/agents/openai.yaml +1 -1
  238. package/.agents/pm_prd/agents/qwen.json +2 -2
  239. package/.agents/pm_prd/agents/skill.yaml +2 -2
  240. package/.agents/qa_api_contract_tests/SKILL.md +207 -16
  241. package/.agents/qa_api_contract_tests/agents/claude.json +2 -2
  242. package/.agents/qa_api_contract_tests/agents/copilot.json +2 -2
  243. package/.agents/qa_api_contract_tests/agents/gemini.json +2 -2
  244. package/.agents/qa_api_contract_tests/agents/openai.yaml +1 -1
  245. package/.agents/qa_api_contract_tests/agents/qwen.json +2 -2
  246. package/.agents/qa_api_contract_tests/agents/skill.yaml +2 -2
  247. package/.agents/qa_manual_run/SKILL.md +209 -16
  248. package/.agents/qa_manual_run/agents/claude.json +2 -2
  249. package/.agents/qa_manual_run/agents/copilot.json +2 -2
  250. package/.agents/qa_manual_run/agents/gemini.json +2 -2
  251. package/.agents/qa_manual_run/agents/openai.yaml +1 -1
  252. package/.agents/qa_manual_run/agents/qwen.json +2 -2
  253. package/.agents/qa_manual_run/agents/skill.yaml +2 -2
  254. package/.agents/qa_regression_baseline/SKILL.md +217 -0
  255. package/.agents/qa_regression_baseline/agents/claude.json +19 -0
  256. package/.agents/qa_regression_baseline/agents/copilot.json +19 -0
  257. package/.agents/qa_regression_baseline/agents/gemini.json +19 -0
  258. package/.agents/qa_regression_baseline/agents/openai.yaml +8 -0
  259. package/.agents/qa_regression_baseline/agents/qwen.json +19 -0
  260. package/.agents/qa_regression_baseline/agents/skill.yaml +23 -0
  261. package/.agents/qa_security_smoke_tests/SKILL.md +188 -14
  262. package/.agents/qa_security_smoke_tests/agents/claude.json +2 -2
  263. package/.agents/qa_security_smoke_tests/agents/copilot.json +2 -2
  264. package/.agents/qa_security_smoke_tests/agents/gemini.json +2 -2
  265. package/.agents/qa_security_smoke_tests/agents/openai.yaml +1 -1
  266. package/.agents/qa_security_smoke_tests/agents/qwen.json +2 -2
  267. package/.agents/qa_security_smoke_tests/agents/skill.yaml +2 -2
  268. package/.agents/qa_test_plan/SKILL.md +203 -20
  269. package/.agents/qa_test_plan/agents/claude.json +2 -2
  270. package/.agents/qa_test_plan/agents/copilot.json +2 -2
  271. package/.agents/qa_test_plan/agents/gemini.json +2 -2
  272. package/.agents/qa_test_plan/agents/openai.yaml +1 -1
  273. package/.agents/qa_test_plan/agents/qwen.json +2 -2
  274. package/.agents/qa_test_plan/agents/skill.yaml +2 -2
  275. package/.agents/qa_ui_a11y_smoke/SKILL.md +230 -12
  276. package/.agents/qa_ui_a11y_smoke/agents/claude.json +2 -2
  277. package/.agents/qa_ui_a11y_smoke/agents/copilot.json +2 -2
  278. package/.agents/qa_ui_a11y_smoke/agents/gemini.json +2 -2
  279. package/.agents/qa_ui_a11y_smoke/agents/openai.yaml +1 -1
  280. package/.agents/qa_ui_a11y_smoke/agents/qwen.json +2 -2
  281. package/.agents/qa_ui_a11y_smoke/agents/skill.yaml +2 -2
  282. package/.agents/react_15_3_wix_iframe/SKILL.md +411 -12
  283. package/.agents/react_15_3_wix_iframe/agents/claude.json +2 -2
  284. package/.agents/react_15_3_wix_iframe/agents/copilot.json +2 -2
  285. package/.agents/react_15_3_wix_iframe/agents/gemini.json +2 -2
  286. package/.agents/react_15_3_wix_iframe/agents/openai.yaml +1 -1
  287. package/.agents/react_15_3_wix_iframe/agents/qwen.json +2 -2
  288. package/.agents/react_15_3_wix_iframe/agents/skill.yaml +2 -2
  289. package/.agents/react_beast_practices/SKILL.md +285 -18
  290. package/.agents/react_beast_practices/agents/claude.json +2 -2
  291. package/.agents/react_beast_practices/agents/copilot.json +2 -2
  292. package/.agents/react_beast_practices/agents/gemini.json +2 -2
  293. package/.agents/react_beast_practices/agents/openai.yaml +1 -1
  294. package/.agents/react_beast_practices/agents/qwen.json +2 -2
  295. package/.agents/react_beast_practices/agents/skill.yaml +2 -2
  296. package/.agents/release_gate/SKILL.md +213 -77
  297. package/.agents/release_gate/agents/claude.json +2 -2
  298. package/.agents/release_gate/agents/copilot.json +2 -2
  299. package/.agents/release_gate/agents/gemini.json +2 -2
  300. package/.agents/release_gate/agents/openai.yaml +1 -1
  301. package/.agents/release_gate/agents/qwen.json +2 -2
  302. package/.agents/release_gate/agents/skill.yaml +2 -2
  303. package/.agents/release_gate_checklist_template/SKILL.md +182 -68
  304. package/.agents/review_reference_snippets/SKILL.md +116 -0
  305. package/.agents/security_baseline_dev/SKILL.md +496 -16
  306. package/.agents/security_baseline_dev/agents/claude.json +2 -2
  307. package/.agents/security_baseline_dev/agents/copilot.json +2 -2
  308. package/.agents/security_baseline_dev/agents/gemini.json +2 -2
  309. package/.agents/security_baseline_dev/agents/openai.yaml +1 -1
  310. package/.agents/security_baseline_dev/agents/qwen.json +2 -2
  311. package/.agents/security_baseline_dev/agents/skill.yaml +2 -2
  312. package/.agents/security_review/SKILL.md +277 -55
  313. package/.agents/security_review_baseline/SKILL.md +119 -25
  314. package/.agents/security_review_baseline/agents/claude.json +2 -2
  315. package/.agents/security_review_baseline/agents/copilot.json +2 -2
  316. package/.agents/security_review_baseline/agents/gemini.json +2 -2
  317. package/.agents/security_review_baseline/agents/openai.yaml +1 -1
  318. package/.agents/security_review_baseline/agents/qwen.json +2 -2
  319. package/.agents/security_review_baseline/agents/skill.yaml +2 -2
  320. package/.agents/state_rtk_beast_practices/SKILL.md +735 -15
  321. package/.agents/state_rtk_beast_practices/agents/claude.json +2 -2
  322. package/.agents/state_rtk_beast_practices/agents/copilot.json +2 -2
  323. package/.agents/state_rtk_beast_practices/agents/gemini.json +2 -2
  324. package/.agents/state_rtk_beast_practices/agents/openai.yaml +1 -1
  325. package/.agents/state_rtk_beast_practices/agents/qwen.json +2 -2
  326. package/.agents/state_rtk_beast_practices/agents/skill.yaml +2 -2
  327. package/.agents/state_zustand_beast_practices/SKILL.md +808 -11
  328. package/.agents/state_zustand_beast_practices/agents/claude.json +2 -2
  329. package/.agents/state_zustand_beast_practices/agents/copilot.json +2 -2
  330. package/.agents/state_zustand_beast_practices/agents/gemini.json +2 -2
  331. package/.agents/state_zustand_beast_practices/agents/openai.yaml +1 -1
  332. package/.agents/state_zustand_beast_practices/agents/qwen.json +2 -2
  333. package/.agents/state_zustand_beast_practices/agents/skill.yaml +2 -2
  334. package/.agents/styling_css_stack/SKILL.md +558 -12
  335. package/.agents/styling_css_stack/agents/claude.json +2 -2
  336. package/.agents/styling_css_stack/agents/copilot.json +2 -2
  337. package/.agents/styling_css_stack/agents/gemini.json +2 -2
  338. package/.agents/styling_css_stack/agents/openai.yaml +1 -1
  339. package/.agents/styling_css_stack/agents/qwen.json +2 -2
  340. package/.agents/styling_css_stack/agents/skill.yaml +2 -2
  341. package/.agents/system_design_checklist/SKILL.md +207 -48
  342. package/.agents/system_design_checklist/agents/claude.json +3 -2
  343. package/.agents/system_design_checklist/agents/copilot.json +3 -2
  344. package/.agents/system_design_checklist/agents/gemini.json +3 -2
  345. package/.agents/system_design_checklist/agents/openai.yaml +1 -1
  346. package/.agents/system_design_checklist/agents/qwen.json +3 -2
  347. package/.agents/system_design_checklist/agents/skill.yaml +2 -1
  348. package/.agents/tailwind_beast_practices/SKILL.md +512 -0
  349. package/.agents/tailwind_beast_practices/agents/claude.json +18 -0
  350. package/.agents/tailwind_beast_practices/agents/copilot.json +18 -0
  351. package/.agents/tailwind_beast_practices/agents/gemini.json +18 -0
  352. package/.agents/tailwind_beast_practices/agents/openai.yaml +8 -0
  353. package/.agents/tailwind_beast_practices/agents/qwen.json +18 -0
  354. package/.agents/tailwind_beast_practices/agents/skill.yaml +22 -0
  355. package/.agents/tanstack_beast_practices/SKILL.md +465 -11
  356. package/.agents/tanstack_beast_practices/agents/claude.json +2 -2
  357. package/.agents/tanstack_beast_practices/agents/copilot.json +2 -2
  358. package/.agents/tanstack_beast_practices/agents/gemini.json +2 -2
  359. package/.agents/tanstack_beast_practices/agents/openai.yaml +1 -1
  360. package/.agents/tanstack_beast_practices/agents/qwen.json +2 -2
  361. package/.agents/tanstack_beast_practices/agents/skill.yaml +2 -2
  362. package/.agents/tdd_workflow/SKILL.md +441 -22
  363. package/.agents/tdd_workflow/agents/claude.json +2 -2
  364. package/.agents/tdd_workflow/agents/copilot.json +2 -2
  365. package/.agents/tdd_workflow/agents/gemini.json +2 -2
  366. package/.agents/tdd_workflow/agents/openai.yaml +1 -1
  367. package/.agents/tdd_workflow/agents/qwen.json +2 -2
  368. package/.agents/tdd_workflow/agents/skill.yaml +2 -2
  369. package/.agents/testing_strategy_js/SKILL.md +636 -30
  370. package/.agents/testing_strategy_js/agents/claude.json +2 -2
  371. package/.agents/testing_strategy_js/agents/copilot.json +2 -2
  372. package/.agents/testing_strategy_js/agents/gemini.json +2 -2
  373. package/.agents/testing_strategy_js/agents/openai.yaml +1 -1
  374. package/.agents/testing_strategy_js/agents/qwen.json +2 -2
  375. package/.agents/testing_strategy_js/agents/skill.yaml +2 -2
  376. package/.agents/tests_quality_review/SKILL.md +279 -18
  377. package/.agents/tests_quality_review/agents/claude.json +2 -2
  378. package/.agents/tests_quality_review/agents/copilot.json +2 -2
  379. package/.agents/tests_quality_review/agents/gemini.json +2 -2
  380. package/.agents/tests_quality_review/agents/openai.yaml +1 -1
  381. package/.agents/tests_quality_review/agents/qwen.json +2 -2
  382. package/.agents/tests_quality_review/agents/skill.yaml +2 -2
  383. package/.agents/threat_model_baseline/SKILL.md +210 -57
  384. package/.agents/threat_model_baseline/agents/claude.json +2 -2
  385. package/.agents/threat_model_baseline/agents/copilot.json +2 -2
  386. package/.agents/threat_model_baseline/agents/gemini.json +2 -2
  387. package/.agents/threat_model_baseline/agents/openai.yaml +1 -1
  388. package/.agents/threat_model_baseline/agents/qwen.json +2 -2
  389. package/.agents/threat_model_baseline/agents/skill.yaml +2 -2
  390. package/.agents/tooling_bun_biome/SKILL.md +539 -17
  391. package/.agents/tooling_bun_biome/agents/claude.json +2 -2
  392. package/.agents/tooling_bun_biome/agents/copilot.json +2 -2
  393. package/.agents/tooling_bun_biome/agents/gemini.json +2 -2
  394. package/.agents/tooling_bun_biome/agents/openai.yaml +1 -1
  395. package/.agents/tooling_bun_biome/agents/qwen.json +2 -2
  396. package/.agents/tooling_bun_biome/agents/skill.yaml +2 -2
  397. package/.agents/typescript_beast_practices/SKILL.md +427 -8
  398. package/.agents/typescript_beast_practices/agents/claude.json +2 -2
  399. package/.agents/typescript_beast_practices/agents/copilot.json +2 -2
  400. package/.agents/typescript_beast_practices/agents/gemini.json +2 -2
  401. package/.agents/typescript_beast_practices/agents/openai.yaml +1 -1
  402. package/.agents/typescript_beast_practices/agents/qwen.json +2 -2
  403. package/.agents/typescript_beast_practices/agents/skill.yaml +2 -2
  404. package/.agents/ui_a11y_smoke_review/SKILL.md +195 -15
  405. package/.agents/ui_a11y_smoke_review/agents/claude.json +2 -2
  406. package/.agents/ui_a11y_smoke_review/agents/copilot.json +2 -2
  407. package/.agents/ui_a11y_smoke_review/agents/gemini.json +2 -2
  408. package/.agents/ui_a11y_smoke_review/agents/openai.yaml +1 -1
  409. package/.agents/ui_a11y_smoke_review/agents/qwen.json +2 -2
  410. package/.agents/ui_a11y_smoke_review/agents/skill.yaml +2 -2
  411. package/.agents/ui_inventory/SKILL.md +277 -50
  412. package/.agents/ui_inventory/agents/claude.json +2 -2
  413. package/.agents/ui_inventory/agents/copilot.json +2 -2
  414. package/.agents/ui_inventory/agents/gemini.json +2 -2
  415. package/.agents/ui_inventory/agents/openai.yaml +1 -1
  416. package/.agents/ui_inventory/agents/qwen.json +2 -2
  417. package/.agents/ui_inventory/agents/skill.yaml +2 -2
  418. package/.agents/ux_discovery/SKILL.md +214 -48
  419. package/.agents/ux_discovery/agents/claude.json +2 -2
  420. package/.agents/ux_discovery/agents/copilot.json +2 -2
  421. package/.agents/ux_discovery/agents/gemini.json +2 -2
  422. package/.agents/ux_discovery/agents/openai.yaml +1 -1
  423. package/.agents/ux_discovery/agents/qwen.json +2 -2
  424. package/.agents/ux_discovery/agents/skill.yaml +2 -2
  425. package/.agents/ux_spec/SKILL.md +282 -56
  426. package/.agents/ux_spec/agents/claude.json +2 -2
  427. package/.agents/ux_spec/agents/copilot.json +2 -2
  428. package/.agents/ux_spec/agents/gemini.json +2 -2
  429. package/.agents/ux_spec/agents/openai.yaml +1 -1
  430. package/.agents/ux_spec/agents/qwen.json +2 -2
  431. package/.agents/ux_spec/agents/skill.yaml +2 -2
  432. package/.agents/wix_iframe_sdk/SKILL.md +277 -48
  433. package/.agents/wix_iframe_sdk/agents/claude.json +2 -2
  434. package/.agents/wix_iframe_sdk/agents/copilot.json +2 -2
  435. package/.agents/wix_iframe_sdk/agents/gemini.json +2 -2
  436. package/.agents/wix_iframe_sdk/agents/openai.yaml +1 -1
  437. package/.agents/wix_iframe_sdk/agents/qwen.json +2 -2
  438. package/.agents/wix_iframe_sdk/agents/skill.yaml +2 -2
  439. package/.agents/wix_self_hosted_embedded_script/SKILL.md +605 -82
  440. package/.agents/wix_self_hosted_embedded_script/agents/claude.json +2 -2
  441. package/.agents/wix_self_hosted_embedded_script/agents/copilot.json +2 -2
  442. package/.agents/wix_self_hosted_embedded_script/agents/gemini.json +2 -2
  443. package/.agents/wix_self_hosted_embedded_script/agents/openai.yaml +1 -1
  444. package/.agents/wix_self_hosted_embedded_script/agents/qwen.json +2 -2
  445. package/.agents/wix_self_hosted_embedded_script/agents/skill.yaml +2 -2
  446. package/AGENTS.yaml +2 -0
  447. package/agents/conductor.md +50 -0
  448. package/agents/devops.md +31 -1
  449. package/agents/orchestrator.claude.json +2 -0
  450. package/agents/orchestrator.copilot.json +2 -0
  451. package/agents/orchestrator.gemini.json +2 -0
  452. package/agents/orchestrator.openai.yaml +2 -0
  453. package/agents/orchestrator.qwen.json +2 -0
  454. package/agents/reviewer.md +0 -1
  455. package/agents/senior_full_stack.md +1 -0
  456. package/agents/tester.md +1 -1
  457. package/agents/ux_ui_designer.md +2 -2
  458. package/locales/en/.agents/a11y_baseline/SKILL.md +260 -41
  459. package/locales/en/.agents/a11y_baseline/agents/claude.json +3 -2
  460. package/locales/en/.agents/a11y_baseline/agents/copilot.json +3 -2
  461. package/locales/en/.agents/a11y_baseline/agents/gemini.json +3 -2
  462. package/locales/en/.agents/a11y_baseline/agents/openai.yaml +1 -1
  463. package/locales/en/.agents/a11y_baseline/agents/qwen.json +3 -2
  464. package/locales/en/.agents/a11y_baseline/agents/skill.yaml +2 -1
  465. package/locales/en/.agents/adr_log/SKILL.md +330 -30
  466. package/locales/en/.agents/adr_log/agents/claude.json +5 -5
  467. package/locales/en/.agents/adr_log/agents/copilot.json +5 -5
  468. package/locales/en/.agents/adr_log/agents/gemini.json +5 -5
  469. package/locales/en/.agents/adr_log/agents/openai.yaml +3 -3
  470. package/locales/en/.agents/adr_log/agents/qwen.json +5 -5
  471. package/locales/en/.agents/adr_log/agents/skill.yaml +5 -5
  472. package/locales/en/.agents/api_contract_compliance_review/SKILL.md +218 -12
  473. package/locales/en/.agents/api_contract_compliance_review/agents/claude.json +2 -2
  474. package/locales/en/.agents/api_contract_compliance_review/agents/copilot.json +2 -2
  475. package/locales/en/.agents/api_contract_compliance_review/agents/gemini.json +2 -2
  476. package/locales/en/.agents/api_contract_compliance_review/agents/openai.yaml +1 -1
  477. package/locales/en/.agents/api_contract_compliance_review/agents/qwen.json +2 -2
  478. package/locales/en/.agents/api_contract_compliance_review/agents/skill.yaml +2 -2
  479. package/locales/en/.agents/api_contracts/SKILL.md +323 -36
  480. package/locales/en/.agents/api_contracts/agents/claude.json +2 -2
  481. package/locales/en/.agents/api_contracts/agents/copilot.json +2 -2
  482. package/locales/en/.agents/api_contracts/agents/gemini.json +2 -2
  483. package/locales/en/.agents/api_contracts/agents/openai.yaml +1 -1
  484. package/locales/en/.agents/api_contracts/agents/qwen.json +2 -2
  485. package/locales/en/.agents/api_contracts/agents/skill.yaml +2 -2
  486. package/locales/en/.agents/architecture_compliance_review/SKILL.md +206 -10
  487. package/locales/en/.agents/architecture_compliance_review/agents/claude.json +5 -4
  488. package/locales/en/.agents/architecture_compliance_review/agents/copilot.json +5 -4
  489. package/locales/en/.agents/architecture_compliance_review/agents/gemini.json +5 -4
  490. package/locales/en/.agents/architecture_compliance_review/agents/openai.yaml +3 -3
  491. package/locales/en/.agents/architecture_compliance_review/agents/qwen.json +5 -4
  492. package/locales/en/.agents/architecture_compliance_review/agents/skill.yaml +5 -4
  493. package/locales/en/.agents/architecture_doc/SKILL.md +374 -82
  494. package/locales/en/.agents/architecture_doc/agents/claude.json +2 -2
  495. package/locales/en/.agents/architecture_doc/agents/copilot.json +2 -2
  496. package/locales/en/.agents/architecture_doc/agents/gemini.json +2 -2
  497. package/locales/en/.agents/architecture_doc/agents/openai.yaml +1 -1
  498. package/locales/en/.agents/architecture_doc/agents/qwen.json +2 -2
  499. package/locales/en/.agents/architecture_doc/agents/skill.yaml +2 -2
  500. package/locales/en/.agents/board/SKILL.md +232 -43
  501. package/locales/en/.agents/board/agents/claude.json +2 -2
  502. package/locales/en/.agents/board/agents/copilot.json +2 -2
  503. package/locales/en/.agents/board/agents/gemini.json +2 -2
  504. package/locales/en/.agents/board/agents/openai.yaml +1 -1
  505. package/locales/en/.agents/board/agents/qwen.json +2 -2
  506. package/locales/en/.agents/board/agents/skill.yaml +2 -2
  507. package/locales/en/.agents/cloud_infrastructure_security/SKILL.md +277 -68
  508. package/locales/en/.agents/cloud_infrastructure_security/agents/claude.json +5 -4
  509. package/locales/en/.agents/cloud_infrastructure_security/agents/copilot.json +5 -4
  510. package/locales/en/.agents/cloud_infrastructure_security/agents/gemini.json +5 -4
  511. package/locales/en/.agents/cloud_infrastructure_security/agents/openai.yaml +3 -3
  512. package/locales/en/.agents/cloud_infrastructure_security/agents/qwen.json +5 -4
  513. package/locales/en/.agents/cloud_infrastructure_security/agents/skill.yaml +5 -4
  514. package/locales/en/.agents/code_review_checklist/SKILL.md +194 -41
  515. package/locales/en/.agents/code_review_checklist/agents/claude.json +2 -2
  516. package/locales/en/.agents/code_review_checklist/agents/copilot.json +2 -2
  517. package/locales/en/.agents/code_review_checklist/agents/gemini.json +2 -2
  518. package/locales/en/.agents/code_review_checklist/agents/openai.yaml +1 -1
  519. package/locales/en/.agents/code_review_checklist/agents/qwen.json +2 -2
  520. package/locales/en/.agents/code_review_checklist/agents/skill.yaml +2 -2
  521. package/locales/en/.agents/current_state_analysis/SKILL.md +225 -44
  522. package/locales/en/.agents/current_state_analysis/agents/claude.json +5 -4
  523. package/locales/en/.agents/current_state_analysis/agents/copilot.json +5 -4
  524. package/locales/en/.agents/current_state_analysis/agents/gemini.json +5 -4
  525. package/locales/en/.agents/current_state_analysis/agents/openai.yaml +3 -3
  526. package/locales/en/.agents/current_state_analysis/agents/qwen.json +5 -4
  527. package/locales/en/.agents/current_state_analysis/agents/skill.yaml +5 -4
  528. package/locales/en/.agents/data_model/SKILL.md +277 -32
  529. package/locales/en/.agents/data_model/agents/claude.json +2 -2
  530. package/locales/en/.agents/data_model/agents/copilot.json +2 -2
  531. package/locales/en/.agents/data_model/agents/gemini.json +2 -2
  532. package/locales/en/.agents/data_model/agents/openai.yaml +1 -1
  533. package/locales/en/.agents/data_model/agents/qwen.json +2 -2
  534. package/locales/en/.agents/data_model/agents/skill.yaml +2 -2
  535. package/locales/en/.agents/dependency_supply_chain_review/SKILL.md +291 -11
  536. package/locales/en/.agents/dependency_supply_chain_review/agents/claude.json +5 -4
  537. package/locales/en/.agents/dependency_supply_chain_review/agents/copilot.json +5 -4
  538. package/locales/en/.agents/dependency_supply_chain_review/agents/gemini.json +5 -4
  539. package/locales/en/.agents/dependency_supply_chain_review/agents/openai.yaml +3 -3
  540. package/locales/en/.agents/dependency_supply_chain_review/agents/qwen.json +5 -4
  541. package/locales/en/.agents/dependency_supply_chain_review/agents/skill.yaml +5 -4
  542. package/locales/en/.agents/deployment_ci_plan/SKILL.md +404 -45
  543. package/locales/en/.agents/deployment_ci_plan/agents/claude.json +2 -2
  544. package/locales/en/.agents/deployment_ci_plan/agents/copilot.json +2 -2
  545. package/locales/en/.agents/deployment_ci_plan/agents/gemini.json +2 -2
  546. package/locales/en/.agents/deployment_ci_plan/agents/openai.yaml +1 -1
  547. package/locales/en/.agents/deployment_ci_plan/agents/qwen.json +2 -2
  548. package/locales/en/.agents/deployment_ci_plan/agents/skill.yaml +2 -2
  549. package/locales/en/.agents/design_intake/SKILL.md +221 -67
  550. package/locales/en/.agents/design_intake/agents/claude.json +4 -5
  551. package/locales/en/.agents/design_intake/agents/copilot.json +4 -5
  552. package/locales/en/.agents/design_intake/agents/gemini.json +4 -5
  553. package/locales/en/.agents/design_intake/agents/openai.yaml +3 -3
  554. package/locales/en/.agents/design_intake/agents/qwen.json +4 -5
  555. package/locales/en/.agents/design_intake/agents/skill.yaml +4 -5
  556. package/locales/en/.agents/design_parity_review/SKILL.md +216 -60
  557. package/locales/en/.agents/design_parity_review/agents/claude.json +2 -3
  558. package/locales/en/.agents/design_parity_review/agents/copilot.json +2 -3
  559. package/locales/en/.agents/design_parity_review/agents/gemini.json +2 -3
  560. package/locales/en/.agents/design_parity_review/agents/openai.yaml +2 -2
  561. package/locales/en/.agents/design_parity_review/agents/qwen.json +2 -3
  562. package/locales/en/.agents/design_parity_review/agents/skill.yaml +2 -3
  563. package/locales/en/.agents/design_systems/SKILL.md +432 -15
  564. package/locales/en/.agents/design_systems/agents/claude.json +2 -2
  565. package/locales/en/.agents/design_systems/agents/copilot.json +2 -2
  566. package/locales/en/.agents/design_systems/agents/gemini.json +2 -2
  567. package/locales/en/.agents/design_systems/agents/openai.yaml +1 -1
  568. package/locales/en/.agents/design_systems/agents/qwen.json +2 -2
  569. package/locales/en/.agents/design_systems/agents/skill.yaml +2 -2
  570. package/locales/en/.agents/dev_reference_snippets/SKILL.md +585 -397
  571. package/locales/en/.agents/dev_reference_snippets/agents/claude.json +2 -2
  572. package/locales/en/.agents/dev_reference_snippets/agents/copilot.json +2 -2
  573. package/locales/en/.agents/dev_reference_snippets/agents/gemini.json +2 -2
  574. package/locales/en/.agents/dev_reference_snippets/agents/openai.yaml +1 -1
  575. package/locales/en/.agents/dev_reference_snippets/agents/qwen.json +2 -2
  576. package/locales/en/.agents/dev_reference_snippets/agents/skill.yaml +2 -2
  577. package/locales/en/.agents/docker_kubernetes_architecture/SKILL.md +473 -137
  578. package/locales/en/.agents/docker_kubernetes_architecture/agents/claude.json +5 -4
  579. package/locales/en/.agents/docker_kubernetes_architecture/agents/copilot.json +5 -4
  580. package/locales/en/.agents/docker_kubernetes_architecture/agents/gemini.json +5 -4
  581. package/locales/en/.agents/docker_kubernetes_architecture/agents/openai.yaml +3 -3
  582. package/locales/en/.agents/docker_kubernetes_architecture/agents/qwen.json +5 -4
  583. package/locales/en/.agents/docker_kubernetes_architecture/agents/skill.yaml +5 -4
  584. package/locales/en/.agents/es2025_beast_practices/SKILL.md +440 -15
  585. package/locales/en/.agents/es2025_beast_practices/agents/claude.json +4 -4
  586. package/locales/en/.agents/es2025_beast_practices/agents/copilot.json +4 -4
  587. package/locales/en/.agents/es2025_beast_practices/agents/gemini.json +4 -4
  588. package/locales/en/.agents/es2025_beast_practices/agents/openai.yaml +3 -3
  589. package/locales/en/.agents/es2025_beast_practices/agents/qwen.json +4 -4
  590. package/locales/en/.agents/es2025_beast_practices/agents/skill.yaml +4 -4
  591. package/locales/en/.agents/gates/SKILL.md +128 -29
  592. package/locales/en/.agents/gates/agents/claude.json +2 -2
  593. package/locales/en/.agents/gates/agents/copilot.json +2 -2
  594. package/locales/en/.agents/gates/agents/gemini.json +2 -2
  595. package/locales/en/.agents/gates/agents/openai.yaml +1 -1
  596. package/locales/en/.agents/gates/agents/qwen.json +2 -2
  597. package/locales/en/.agents/gates/agents/skill.yaml +2 -2
  598. package/locales/en/.agents/go_beast_practices/SKILL.md +557 -23
  599. package/locales/en/.agents/go_beast_practices/agents/claude.json +5 -4
  600. package/locales/en/.agents/go_beast_practices/agents/copilot.json +5 -4
  601. package/locales/en/.agents/go_beast_practices/agents/gemini.json +5 -4
  602. package/locales/en/.agents/go_beast_practices/agents/openai.yaml +3 -3
  603. package/locales/en/.agents/go_beast_practices/agents/qwen.json +5 -4
  604. package/locales/en/.agents/go_beast_practices/agents/skill.yaml +5 -4
  605. package/locales/en/.agents/google_stitch_skill/SKILL.md +507 -71
  606. package/locales/en/.agents/google_stitch_skill/agents/claude.json +5 -6
  607. package/locales/en/.agents/google_stitch_skill/agents/copilot.json +5 -6
  608. package/locales/en/.agents/google_stitch_skill/agents/gemini.json +5 -6
  609. package/locales/en/.agents/google_stitch_skill/agents/openai.yaml +1 -1
  610. package/locales/en/.agents/google_stitch_skill/agents/qwen.json +5 -6
  611. package/locales/en/.agents/google_stitch_skill/agents/skill.yaml +4 -5
  612. package/locales/en/.agents/handoff/SKILL.md +206 -46
  613. package/locales/en/.agents/handoff/agents/claude.json +5 -5
  614. package/locales/en/.agents/handoff/agents/copilot.json +5 -5
  615. package/locales/en/.agents/handoff/agents/gemini.json +5 -5
  616. package/locales/en/.agents/handoff/agents/openai.yaml +3 -3
  617. package/locales/en/.agents/handoff/agents/qwen.json +5 -5
  618. package/locales/en/.agents/handoff/agents/skill.yaml +5 -5
  619. package/locales/en/.agents/k8s_manifests_conventions/SKILL.md +540 -167
  620. package/locales/en/.agents/k8s_manifests_conventions/agents/claude.json +2 -2
  621. package/locales/en/.agents/k8s_manifests_conventions/agents/copilot.json +2 -2
  622. package/locales/en/.agents/k8s_manifests_conventions/agents/gemini.json +2 -2
  623. package/locales/en/.agents/k8s_manifests_conventions/agents/openai.yaml +1 -1
  624. package/locales/en/.agents/k8s_manifests_conventions/agents/qwen.json +2 -2
  625. package/locales/en/.agents/k8s_manifests_conventions/agents/skill.yaml +2 -2
  626. package/locales/en/.agents/memory/SKILL.md +211 -21
  627. package/locales/en/.agents/memory/agents/claude.json +5 -4
  628. package/locales/en/.agents/memory/agents/copilot.json +5 -4
  629. package/locales/en/.agents/memory/agents/gemini.json +5 -4
  630. package/locales/en/.agents/memory/agents/openai.yaml +3 -3
  631. package/locales/en/.agents/memory/agents/qwen.json +5 -4
  632. package/locales/en/.agents/memory/agents/skill.yaml +5 -4
  633. package/locales/en/.agents/mongodb_mongoose_best_practices/SKILL.md +669 -178
  634. package/locales/en/.agents/mongodb_mongoose_best_practices/agents/claude.json +4 -5
  635. package/locales/en/.agents/mongodb_mongoose_best_practices/agents/copilot.json +4 -5
  636. package/locales/en/.agents/mongodb_mongoose_best_practices/agents/gemini.json +4 -5
  637. package/locales/en/.agents/mongodb_mongoose_best_practices/agents/openai.yaml +3 -3
  638. package/locales/en/.agents/mongodb_mongoose_best_practices/agents/qwen.json +4 -5
  639. package/locales/en/.agents/mongodb_mongoose_best_practices/agents/skill.yaml +4 -5
  640. package/locales/en/.agents/n8n_pinecone_qdrant_supabase/SKILL.md +669 -57
  641. package/locales/en/.agents/n8n_pinecone_qdrant_supabase/agents/claude.json +5 -5
  642. package/locales/en/.agents/n8n_pinecone_qdrant_supabase/agents/copilot.json +5 -5
  643. package/locales/en/.agents/n8n_pinecone_qdrant_supabase/agents/gemini.json +5 -5
  644. package/locales/en/.agents/n8n_pinecone_qdrant_supabase/agents/openai.yaml +3 -3
  645. package/locales/en/.agents/n8n_pinecone_qdrant_supabase/agents/qwen.json +5 -5
  646. package/locales/en/.agents/n8n_pinecone_qdrant_supabase/agents/skill.yaml +5 -5
  647. package/locales/en/.agents/node_express_beast_practices/SKILL.md +718 -19
  648. package/locales/en/.agents/node_express_beast_practices/agents/claude.json +1 -1
  649. package/locales/en/.agents/node_express_beast_practices/agents/copilot.json +1 -1
  650. package/locales/en/.agents/node_express_beast_practices/agents/gemini.json +1 -1
  651. package/locales/en/.agents/node_express_beast_practices/agents/openai.yaml +1 -1
  652. package/locales/en/.agents/node_express_beast_practices/agents/qwen.json +1 -1
  653. package/locales/en/.agents/node_express_beast_practices/agents/skill.yaml +1 -1
  654. package/locales/en/.agents/observability_logging/SKILL.md +499 -16
  655. package/locales/en/.agents/observability_logging/agents/claude.json +4 -4
  656. package/locales/en/.agents/observability_logging/agents/copilot.json +4 -4
  657. package/locales/en/.agents/observability_logging/agents/gemini.json +4 -4
  658. package/locales/en/.agents/observability_logging/agents/openai.yaml +3 -3
  659. package/locales/en/.agents/observability_logging/agents/qwen.json +4 -4
  660. package/locales/en/.agents/observability_logging/agents/skill.yaml +4 -4
  661. package/locales/en/.agents/observability_plan/SKILL.md +273 -32
  662. package/locales/en/.agents/observability_plan/agents/claude.json +6 -4
  663. package/locales/en/.agents/observability_plan/agents/copilot.json +6 -4
  664. package/locales/en/.agents/observability_plan/agents/gemini.json +6 -4
  665. package/locales/en/.agents/observability_plan/agents/openai.yaml +3 -3
  666. package/locales/en/.agents/observability_plan/agents/qwen.json +6 -4
  667. package/locales/en/.agents/observability_plan/agents/skill.yaml +5 -3
  668. package/locales/en/.agents/observability_review/SKILL.md +245 -11
  669. package/locales/en/.agents/observability_review/agents/claude.json +6 -4
  670. package/locales/en/.agents/observability_review/agents/copilot.json +6 -4
  671. package/locales/en/.agents/observability_review/agents/gemini.json +6 -4
  672. package/locales/en/.agents/observability_review/agents/openai.yaml +3 -3
  673. package/locales/en/.agents/observability_review/agents/qwen.json +6 -4
  674. package/locales/en/.agents/observability_review/agents/skill.yaml +5 -3
  675. package/locales/en/.agents/performance_review_baseline/SKILL.md +232 -10
  676. package/locales/en/.agents/performance_review_baseline/agents/claude.json +5 -4
  677. package/locales/en/.agents/performance_review_baseline/agents/copilot.json +5 -4
  678. package/locales/en/.agents/performance_review_baseline/agents/gemini.json +5 -4
  679. package/locales/en/.agents/performance_review_baseline/agents/openai.yaml +3 -3
  680. package/locales/en/.agents/performance_review_baseline/agents/qwen.json +5 -4
  681. package/locales/en/.agents/performance_review_baseline/agents/skill.yaml +5 -4
  682. package/locales/en/.agents/pm_backlog/SKILL.md +239 -21
  683. package/locales/en/.agents/pm_backlog/agents/claude.json +2 -2
  684. package/locales/en/.agents/pm_backlog/agents/copilot.json +2 -2
  685. package/locales/en/.agents/pm_backlog/agents/gemini.json +2 -2
  686. package/locales/en/.agents/pm_backlog/agents/openai.yaml +1 -1
  687. package/locales/en/.agents/pm_backlog/agents/qwen.json +2 -2
  688. package/locales/en/.agents/pm_backlog/agents/skill.yaml +2 -2
  689. package/locales/en/.agents/pm_interview/SKILL.md +178 -37
  690. package/locales/en/.agents/pm_interview/agents/claude.json +5 -4
  691. package/locales/en/.agents/pm_interview/agents/copilot.json +5 -4
  692. package/locales/en/.agents/pm_interview/agents/gemini.json +5 -4
  693. package/locales/en/.agents/pm_interview/agents/openai.yaml +3 -3
  694. package/locales/en/.agents/pm_interview/agents/qwen.json +5 -4
  695. package/locales/en/.agents/pm_interview/agents/skill.yaml +5 -4
  696. package/locales/en/.agents/pm_prd/SKILL.md +197 -38
  697. package/locales/en/.agents/pm_prd/agents/claude.json +2 -2
  698. package/locales/en/.agents/pm_prd/agents/copilot.json +2 -2
  699. package/locales/en/.agents/pm_prd/agents/gemini.json +2 -2
  700. package/locales/en/.agents/pm_prd/agents/openai.yaml +1 -1
  701. package/locales/en/.agents/pm_prd/agents/qwen.json +2 -2
  702. package/locales/en/.agents/pm_prd/agents/skill.yaml +2 -2
  703. package/locales/en/.agents/qa_api_contract_tests/SKILL.md +207 -16
  704. package/locales/en/.agents/qa_api_contract_tests/agents/claude.json +2 -2
  705. package/locales/en/.agents/qa_api_contract_tests/agents/copilot.json +2 -2
  706. package/locales/en/.agents/qa_api_contract_tests/agents/gemini.json +2 -2
  707. package/locales/en/.agents/qa_api_contract_tests/agents/openai.yaml +1 -1
  708. package/locales/en/.agents/qa_api_contract_tests/agents/qwen.json +2 -2
  709. package/locales/en/.agents/qa_api_contract_tests/agents/skill.yaml +2 -2
  710. package/locales/en/.agents/qa_browser_testing/SKILL.md +254 -86
  711. package/locales/en/.agents/qa_e2e_playwright/SKILL.md +313 -116
  712. package/locales/en/.agents/qa_manual_run/SKILL.md +202 -9
  713. package/locales/en/.agents/qa_manual_run/agents/claude.json +2 -2
  714. package/locales/en/.agents/qa_manual_run/agents/copilot.json +2 -2
  715. package/locales/en/.agents/qa_manual_run/agents/gemini.json +2 -2
  716. package/locales/en/.agents/qa_manual_run/agents/openai.yaml +1 -1
  717. package/locales/en/.agents/qa_manual_run/agents/qwen.json +2 -2
  718. package/locales/en/.agents/qa_manual_run/agents/skill.yaml +2 -2
  719. package/locales/en/.agents/qa_regression_baseline/SKILL.md +217 -0
  720. package/locales/en/.agents/qa_regression_baseline/agents/claude.json +19 -0
  721. package/locales/en/.agents/qa_regression_baseline/agents/copilot.json +19 -0
  722. package/locales/en/.agents/qa_regression_baseline/agents/gemini.json +19 -0
  723. package/locales/en/.agents/qa_regression_baseline/agents/openai.yaml +8 -0
  724. package/locales/en/.agents/qa_regression_baseline/agents/qwen.json +19 -0
  725. package/locales/en/.agents/qa_regression_baseline/agents/skill.yaml +23 -0
  726. package/locales/en/.agents/qa_security_smoke_tests/SKILL.md +182 -8
  727. package/locales/en/.agents/qa_security_smoke_tests/agents/claude.json +2 -2
  728. package/locales/en/.agents/qa_security_smoke_tests/agents/copilot.json +2 -2
  729. package/locales/en/.agents/qa_security_smoke_tests/agents/gemini.json +2 -2
  730. package/locales/en/.agents/qa_security_smoke_tests/agents/openai.yaml +1 -1
  731. package/locales/en/.agents/qa_security_smoke_tests/agents/qwen.json +2 -2
  732. package/locales/en/.agents/qa_security_smoke_tests/agents/skill.yaml +2 -2
  733. package/locales/en/.agents/qa_test_plan/SKILL.md +197 -14
  734. package/locales/en/.agents/qa_test_plan/agents/claude.json +2 -2
  735. package/locales/en/.agents/qa_test_plan/agents/copilot.json +2 -2
  736. package/locales/en/.agents/qa_test_plan/agents/gemini.json +2 -2
  737. package/locales/en/.agents/qa_test_plan/agents/openai.yaml +1 -1
  738. package/locales/en/.agents/qa_test_plan/agents/qwen.json +2 -2
  739. package/locales/en/.agents/qa_test_plan/agents/skill.yaml +2 -2
  740. package/locales/en/.agents/qa_ui_a11y_smoke/SKILL.md +224 -6
  741. package/locales/en/.agents/qa_ui_a11y_smoke/agents/claude.json +5 -4
  742. package/locales/en/.agents/qa_ui_a11y_smoke/agents/copilot.json +5 -4
  743. package/locales/en/.agents/qa_ui_a11y_smoke/agents/gemini.json +5 -4
  744. package/locales/en/.agents/qa_ui_a11y_smoke/agents/openai.yaml +3 -3
  745. package/locales/en/.agents/qa_ui_a11y_smoke/agents/qwen.json +5 -4
  746. package/locales/en/.agents/qa_ui_a11y_smoke/agents/skill.yaml +5 -4
  747. package/locales/en/.agents/react_15_3_wix_iframe/SKILL.md +419 -20
  748. package/locales/en/.agents/react_15_3_wix_iframe/agents/claude.json +2 -2
  749. package/locales/en/.agents/react_15_3_wix_iframe/agents/copilot.json +2 -2
  750. package/locales/en/.agents/react_15_3_wix_iframe/agents/gemini.json +2 -2
  751. package/locales/en/.agents/react_15_3_wix_iframe/agents/openai.yaml +1 -1
  752. package/locales/en/.agents/react_15_3_wix_iframe/agents/qwen.json +2 -2
  753. package/locales/en/.agents/react_15_3_wix_iframe/agents/skill.yaml +2 -2
  754. package/locales/en/.agents/react_beast_practices/SKILL.md +285 -18
  755. package/locales/en/.agents/react_beast_practices/agents/claude.json +4 -4
  756. package/locales/en/.agents/react_beast_practices/agents/copilot.json +4 -4
  757. package/locales/en/.agents/react_beast_practices/agents/gemini.json +4 -4
  758. package/locales/en/.agents/react_beast_practices/agents/openai.yaml +3 -3
  759. package/locales/en/.agents/react_beast_practices/agents/qwen.json +4 -4
  760. package/locales/en/.agents/react_beast_practices/agents/skill.yaml +4 -4
  761. package/locales/en/.agents/release_gate/SKILL.md +205 -69
  762. package/locales/en/.agents/release_gate/agents/claude.json +5 -4
  763. package/locales/en/.agents/release_gate/agents/copilot.json +5 -4
  764. package/locales/en/.agents/release_gate/agents/gemini.json +5 -4
  765. package/locales/en/.agents/release_gate/agents/openai.yaml +3 -3
  766. package/locales/en/.agents/release_gate/agents/qwen.json +5 -4
  767. package/locales/en/.agents/release_gate/agents/skill.yaml +5 -4
  768. package/locales/en/.agents/release_gate_checklist_template/SKILL.md +175 -61
  769. package/locales/en/.agents/review_reference_snippets/SKILL.md +163 -46
  770. package/locales/en/.agents/security_baseline_dev/SKILL.md +496 -16
  771. package/locales/en/.agents/security_baseline_dev/agents/claude.json +2 -2
  772. package/locales/en/.agents/security_baseline_dev/agents/copilot.json +2 -2
  773. package/locales/en/.agents/security_baseline_dev/agents/gemini.json +2 -2
  774. package/locales/en/.agents/security_baseline_dev/agents/openai.yaml +1 -1
  775. package/locales/en/.agents/security_baseline_dev/agents/qwen.json +2 -2
  776. package/locales/en/.agents/security_baseline_dev/agents/skill.yaml +2 -2
  777. package/locales/en/.agents/security_review/SKILL.md +277 -55
  778. package/locales/en/.agents/security_review_baseline/SKILL.md +111 -17
  779. package/locales/en/.agents/security_review_baseline/agents/claude.json +2 -2
  780. package/locales/en/.agents/security_review_baseline/agents/copilot.json +2 -2
  781. package/locales/en/.agents/security_review_baseline/agents/gemini.json +2 -2
  782. package/locales/en/.agents/security_review_baseline/agents/openai.yaml +1 -1
  783. package/locales/en/.agents/security_review_baseline/agents/qwen.json +2 -2
  784. package/locales/en/.agents/security_review_baseline/agents/skill.yaml +2 -2
  785. package/locales/en/.agents/state_rtk_beast_practices/SKILL.md +735 -15
  786. package/locales/en/.agents/state_rtk_beast_practices/agents/claude.json +2 -2
  787. package/locales/en/.agents/state_rtk_beast_practices/agents/copilot.json +2 -2
  788. package/locales/en/.agents/state_rtk_beast_practices/agents/gemini.json +2 -2
  789. package/locales/en/.agents/state_rtk_beast_practices/agents/openai.yaml +1 -1
  790. package/locales/en/.agents/state_rtk_beast_practices/agents/qwen.json +2 -2
  791. package/locales/en/.agents/state_rtk_beast_practices/agents/skill.yaml +2 -2
  792. package/locales/en/.agents/state_zustand_beast_practices/SKILL.md +808 -11
  793. package/locales/en/.agents/state_zustand_beast_practices/agents/claude.json +2 -2
  794. package/locales/en/.agents/state_zustand_beast_practices/agents/copilot.json +2 -2
  795. package/locales/en/.agents/state_zustand_beast_practices/agents/gemini.json +2 -2
  796. package/locales/en/.agents/state_zustand_beast_practices/agents/openai.yaml +1 -1
  797. package/locales/en/.agents/state_zustand_beast_practices/agents/qwen.json +2 -2
  798. package/locales/en/.agents/state_zustand_beast_practices/agents/skill.yaml +2 -2
  799. package/locales/en/.agents/styling_css_stack/SKILL.md +558 -12
  800. package/locales/en/.agents/styling_css_stack/agents/claude.json +5 -5
  801. package/locales/en/.agents/styling_css_stack/agents/copilot.json +5 -5
  802. package/locales/en/.agents/styling_css_stack/agents/gemini.json +5 -5
  803. package/locales/en/.agents/styling_css_stack/agents/openai.yaml +3 -3
  804. package/locales/en/.agents/styling_css_stack/agents/qwen.json +5 -5
  805. package/locales/en/.agents/styling_css_stack/agents/skill.yaml +5 -5
  806. package/locales/en/.agents/system_design_checklist/SKILL.md +199 -40
  807. package/locales/en/.agents/system_design_checklist/agents/claude.json +3 -2
  808. package/locales/en/.agents/system_design_checklist/agents/copilot.json +3 -2
  809. package/locales/en/.agents/system_design_checklist/agents/gemini.json +3 -2
  810. package/locales/en/.agents/system_design_checklist/agents/openai.yaml +1 -1
  811. package/locales/en/.agents/system_design_checklist/agents/qwen.json +3 -2
  812. package/locales/en/.agents/system_design_checklist/agents/skill.yaml +2 -1
  813. package/locales/en/.agents/tailwind_beast_practices/SKILL.md +512 -0
  814. package/locales/en/.agents/tailwind_beast_practices/agents/claude.json +18 -0
  815. package/locales/en/.agents/tailwind_beast_practices/agents/copilot.json +18 -0
  816. package/locales/en/.agents/tailwind_beast_practices/agents/gemini.json +18 -0
  817. package/locales/en/.agents/tailwind_beast_practices/agents/openai.yaml +8 -0
  818. package/locales/en/.agents/tailwind_beast_practices/agents/qwen.json +18 -0
  819. package/locales/en/.agents/tailwind_beast_practices/agents/skill.yaml +22 -0
  820. package/locales/en/.agents/tanstack_beast_practices/SKILL.md +473 -19
  821. package/locales/en/.agents/tanstack_beast_practices/agents/claude.json +2 -2
  822. package/locales/en/.agents/tanstack_beast_practices/agents/copilot.json +2 -2
  823. package/locales/en/.agents/tanstack_beast_practices/agents/gemini.json +2 -2
  824. package/locales/en/.agents/tanstack_beast_practices/agents/openai.yaml +1 -1
  825. package/locales/en/.agents/tanstack_beast_practices/agents/qwen.json +2 -2
  826. package/locales/en/.agents/tanstack_beast_practices/agents/skill.yaml +2 -2
  827. package/locales/en/.agents/tdd_workflow/SKILL.md +453 -34
  828. package/locales/en/.agents/tdd_workflow/agents/claude.json +2 -2
  829. package/locales/en/.agents/tdd_workflow/agents/copilot.json +2 -2
  830. package/locales/en/.agents/tdd_workflow/agents/gemini.json +2 -2
  831. package/locales/en/.agents/tdd_workflow/agents/openai.yaml +1 -1
  832. package/locales/en/.agents/tdd_workflow/agents/qwen.json +2 -2
  833. package/locales/en/.agents/tdd_workflow/agents/skill.yaml +2 -2
  834. package/locales/en/.agents/testing_strategy_js/SKILL.md +636 -30
  835. package/locales/en/.agents/testing_strategy_js/agents/claude.json +2 -2
  836. package/locales/en/.agents/testing_strategy_js/agents/copilot.json +2 -2
  837. package/locales/en/.agents/testing_strategy_js/agents/gemini.json +2 -2
  838. package/locales/en/.agents/testing_strategy_js/agents/openai.yaml +1 -1
  839. package/locales/en/.agents/testing_strategy_js/agents/qwen.json +2 -2
  840. package/locales/en/.agents/testing_strategy_js/agents/skill.yaml +2 -2
  841. package/locales/en/.agents/tests_quality_review/SKILL.md +279 -18
  842. package/locales/en/.agents/tests_quality_review/agents/claude.json +2 -2
  843. package/locales/en/.agents/tests_quality_review/agents/copilot.json +2 -2
  844. package/locales/en/.agents/tests_quality_review/agents/gemini.json +2 -2
  845. package/locales/en/.agents/tests_quality_review/agents/openai.yaml +1 -1
  846. package/locales/en/.agents/tests_quality_review/agents/qwen.json +2 -2
  847. package/locales/en/.agents/tests_quality_review/agents/skill.yaml +2 -2
  848. package/locales/en/.agents/threat_model_baseline/SKILL.md +202 -49
  849. package/locales/en/.agents/threat_model_baseline/agents/claude.json +2 -2
  850. package/locales/en/.agents/threat_model_baseline/agents/copilot.json +2 -2
  851. package/locales/en/.agents/threat_model_baseline/agents/gemini.json +2 -2
  852. package/locales/en/.agents/threat_model_baseline/agents/openai.yaml +1 -1
  853. package/locales/en/.agents/threat_model_baseline/agents/qwen.json +2 -2
  854. package/locales/en/.agents/threat_model_baseline/agents/skill.yaml +2 -2
  855. package/locales/en/.agents/tooling_bun_biome/SKILL.md +531 -9
  856. package/locales/en/.agents/tooling_bun_biome/agents/claude.json +5 -5
  857. package/locales/en/.agents/tooling_bun_biome/agents/copilot.json +5 -5
  858. package/locales/en/.agents/tooling_bun_biome/agents/gemini.json +5 -5
  859. package/locales/en/.agents/tooling_bun_biome/agents/openai.yaml +3 -3
  860. package/locales/en/.agents/tooling_bun_biome/agents/qwen.json +5 -5
  861. package/locales/en/.agents/tooling_bun_biome/agents/skill.yaml +5 -5
  862. package/locales/en/.agents/typescript_beast_practices/SKILL.md +434 -15
  863. package/locales/en/.agents/typescript_beast_practices/agents/claude.json +2 -2
  864. package/locales/en/.agents/typescript_beast_practices/agents/copilot.json +2 -2
  865. package/locales/en/.agents/typescript_beast_practices/agents/gemini.json +2 -2
  866. package/locales/en/.agents/typescript_beast_practices/agents/openai.yaml +1 -1
  867. package/locales/en/.agents/typescript_beast_practices/agents/qwen.json +2 -2
  868. package/locales/en/.agents/typescript_beast_practices/agents/skill.yaml +2 -2
  869. package/locales/en/.agents/ui_a11y_smoke_review/SKILL.md +189 -9
  870. package/locales/en/.agents/ui_a11y_smoke_review/agents/claude.json +5 -5
  871. package/locales/en/.agents/ui_a11y_smoke_review/agents/copilot.json +5 -5
  872. package/locales/en/.agents/ui_a11y_smoke_review/agents/gemini.json +5 -5
  873. package/locales/en/.agents/ui_a11y_smoke_review/agents/openai.yaml +3 -3
  874. package/locales/en/.agents/ui_a11y_smoke_review/agents/qwen.json +5 -5
  875. package/locales/en/.agents/ui_a11y_smoke_review/agents/skill.yaml +5 -5
  876. package/locales/en/.agents/ui_inventory/SKILL.md +271 -44
  877. package/locales/en/.agents/ui_inventory/agents/claude.json +2 -2
  878. package/locales/en/.agents/ui_inventory/agents/copilot.json +2 -2
  879. package/locales/en/.agents/ui_inventory/agents/gemini.json +2 -2
  880. package/locales/en/.agents/ui_inventory/agents/openai.yaml +1 -1
  881. package/locales/en/.agents/ui_inventory/agents/qwen.json +2 -2
  882. package/locales/en/.agents/ui_inventory/agents/skill.yaml +2 -2
  883. package/locales/en/.agents/ux_discovery/SKILL.md +199 -33
  884. package/locales/en/.agents/ux_discovery/agents/claude.json +2 -2
  885. package/locales/en/.agents/ux_discovery/agents/copilot.json +2 -2
  886. package/locales/en/.agents/ux_discovery/agents/gemini.json +2 -2
  887. package/locales/en/.agents/ux_discovery/agents/openai.yaml +1 -1
  888. package/locales/en/.agents/ux_discovery/agents/qwen.json +2 -2
  889. package/locales/en/.agents/ux_discovery/agents/skill.yaml +2 -2
  890. package/locales/en/.agents/ux_spec/SKILL.md +276 -50
  891. package/locales/en/.agents/ux_spec/agents/claude.json +2 -2
  892. package/locales/en/.agents/ux_spec/agents/copilot.json +2 -2
  893. package/locales/en/.agents/ux_spec/agents/gemini.json +2 -2
  894. package/locales/en/.agents/ux_spec/agents/openai.yaml +1 -1
  895. package/locales/en/.agents/ux_spec/agents/qwen.json +2 -2
  896. package/locales/en/.agents/ux_spec/agents/skill.yaml +2 -2
  897. package/locales/en/.agents/wix_iframe_sdk/SKILL.md +271 -42
  898. package/locales/en/.agents/wix_iframe_sdk/agents/claude.json +4 -5
  899. package/locales/en/.agents/wix_iframe_sdk/agents/copilot.json +4 -5
  900. package/locales/en/.agents/wix_iframe_sdk/agents/gemini.json +4 -5
  901. package/locales/en/.agents/wix_iframe_sdk/agents/openai.yaml +3 -3
  902. package/locales/en/.agents/wix_iframe_sdk/agents/qwen.json +4 -5
  903. package/locales/en/.agents/wix_iframe_sdk/agents/skill.yaml +4 -5
  904. package/locales/en/.agents/wix_self_hosted_embedded_script/SKILL.md +611 -88
  905. package/locales/en/.agents/wix_self_hosted_embedded_script/agents/claude.json +2 -2
  906. package/locales/en/.agents/wix_self_hosted_embedded_script/agents/copilot.json +2 -2
  907. package/locales/en/.agents/wix_self_hosted_embedded_script/agents/gemini.json +2 -2
  908. package/locales/en/.agents/wix_self_hosted_embedded_script/agents/openai.yaml +1 -1
  909. package/locales/en/.agents/wix_self_hosted_embedded_script/agents/qwen.json +2 -2
  910. package/locales/en/.agents/wix_self_hosted_embedded_script/agents/skill.yaml +2 -2
  911. package/locales/en/AGENTS.yaml +2 -0
  912. package/locales/en/agents/architect.md +1 -1
  913. package/locales/en/agents/conductor.md +50 -0
  914. package/locales/en/agents/devops.md +34 -0
  915. package/locales/en/agents/orchestrator.claude.json +2 -0
  916. package/locales/en/agents/orchestrator.copilot.json +2 -0
  917. package/locales/en/agents/orchestrator.gemini.json +2 -0
  918. package/locales/en/agents/orchestrator.openai.yaml +2 -0
  919. package/locales/en/agents/orchestrator.qwen.json +2 -0
  920. package/locales/en/agents/product_manager.md +1 -5
  921. package/locales/en/agents/reviewer.md +69 -64
  922. package/locales/en/agents/senior_full_stack.md +2 -2
  923. package/locales/en/agents/tester.md +50 -11
  924. package/locales/en/agents/ux_ui_designer.md +3 -5
  925. package/package.json +1 -1
@@ -1,59 +1,671 @@
1
- ---
2
- name: n8n_pinecone_qdrant_supabase
3
- description: Практический skill для архитектора и разработчика по проектированию и реализации production-сценариев с n8n, Pinecone, Qdrant и Supabase (auth, RLS, data flow, observability, reliability).
4
- ---
5
-
6
- # Skill: n8n + Pinecone/Qdrant + Supabase
7
-
8
- Используй этот skill, когда нужно спроектировать или реализовать интеграции, где:
9
- - `n8n` оркестрирует процессы и интеграции,
10
- - `Pinecone` или `Qdrant` используется как vector DB,
11
- - `Supabase` используется как Postgres/Auth/Storage/Realtime слой.
12
-
13
- ## Scope
14
- - Архитектура потоков: webhook/event-driven/scheduled.
15
- - Выбор vector DB: Pinecone vs Qdrant по требованиям продукта.
16
- - Supabase: Auth, RLS, schema design, migrations, Edge Functions/DB functions.
17
- - Надёжность: retry, idempotency, DLQ-подход, таймауты, backoff.
18
- - Наблюдаемость: correlation id, структурные логи, техметрики, алерты.
19
- - Безопасность: least privilege, secrets hygiene, tenant isolation.
20
-
21
- ## Workflow
22
- 1. Уточни контекст:
23
- - объём данных, latency/SLA, multi-tenant, регион/комплаенс, бюджет.
24
- - managed-only или допускается self-hosted инфраструктура.
25
- 2. Выбери vector DB:
26
- - `Pinecone`: managed-first, быстрый старт, меньше ops.
27
- - `Qdrant`: self-hosted/гибрид, контроль инфраструктуры и стоимости.
28
- 3. Спроектируй интеграционный контур:
29
- - n8n как orchestrator, app backend как domain owner.
30
- - чёткие границы ответственности: ingestion/search/authz/audit.
31
- 4. Спроектируй Supabase-слой:
32
- - явные таблицы/индексы/политики RLS,
33
- - service-role только в backend/automation boundaries,
34
- - migrations как единственный путь изменения схемы.
35
- 5. Зафиксируй контракт потоков:
36
- - входные/выходные payload schema,
37
- - idempotency key,
38
- - retry policy, failure handling, reconciliation job.
39
- 6. Передай в реализацию:
40
- - задачи вертикальными срезами,
41
- - checklist по безопасности, тестам, observability.
42
-
43
- ## Decision Rules
44
- - Не использовать одновременно Pinecone и Qdrant в одном production-контуре без явного ADR.
45
- - Не давать `service_role` в клиентские приложения.
46
- - Для multi-tenant всегда фиксировать tenant boundary в schema + RLS + API layer.
47
- - n8n не должен подменять доменную бизнес-логику приложения; только orchestration/integration.
48
-
49
- ## Minimum Deliverables
50
- - ADR: выбор vector DB и deployment model.
51
- - API/data contracts для ingestion/search/update/delete.
52
- - Supabase RLS policy list и auth model.
53
- - n8n workflow map (trigger -> transform -> action -> error path).
54
- - Observability план (logs/metrics/traces + alert conditions).
55
-
56
- ## Boundaries
57
- - Не использовать mock functions/mock data для рабочих сценариев и demo.
58
- - Не выпускать изменения без failure path (retry/timeout/error handling).
59
- - Для high-risk flows блокировать релиз при отсутствии security или parity evidence.
1
+ ---
2
+ name: n8n_pinecone_qdrant_supabase
3
+ description: Паттерны интеграции n8n (автоматизация workflows) с векторными БД Pinecone и Qdrant и с Supabase (PostgreSQL + Auth + Storage + Realtime). Используй этот скилл при построении AI-пайплайнов, RAG-систем, автоматизации данных, работе с эмбеддингами, семантическом поиске, или любой оркестрации между этими инструментами. Активируй при вопросах про n8n workflows, векторный поиск, upsert эмбеддингов, Supabase RLS, или построение RAG поверх этого стека.
4
+ ---
5
+
6
+ # Skill: n8n + Pinecone + Qdrant + Supabase
7
+
8
+ Паттерны для построения AI-пайплайнов, RAG-систем и автоматизаций на этом стеке.
9
+
10
+ **Разделы:**
11
+ 1. [n8n: паттерны workflows](#1-n8n-workflows)
12
+ 2. [Pinecone: upsert, поиск, namespace-стратегия](#2-pinecone)
13
+ 3. [Qdrant: коллекции, payload-фильтры, поиск](#3-qdrant)
14
+ 4. [Supabase: pgvector, RLS, Realtime](#4-supabase)
15
+ 5. [RAG-пайплайн: полный пример](#5-rag-пайплайн)
16
+ 6. [n8n + Supabase: типичные интеграции](#6-n8n--supabase)
17
+ 7. [DO/DON'T: частые ошибки](#7-частые-ошибки)
18
+
19
+ ---
20
+
21
+ ## 1. n8n Workflows
22
+
23
+ ### DO: структура надёжного workflow
24
+ ```
25
+ Trigger Validate → Transform → Action → Error Handler
26
+ ```
27
+
28
+ - **Trigger**: Webhook, Schedule, DB-событие, Supabase Realtime
29
+ - **Validate**: проверяй входные данные сразу не пускай мусор дальше
30
+ - **Transform**: Code-ноды для сложной логики, Set-ноды для простого маппинга
31
+ - **Action**: HTTP Request / нативная нода / вызов внешнего API
32
+ - **Error Handler**: всегда вешай на workflow — иначе упавший run молча исчезнет
33
+
34
+ ### DO: Code-нода для трансформаций (JS)
35
+ ```js
36
+ // n8n Code node — обрабатывает все items
37
+ const results = [];
38
+
39
+ for (const item of $input.all()) {
40
+ const { text, sourceId, metadata } = item.json;
41
+
42
+ // ✅ Ранняя проверка — пропускаем невалидные items
43
+ if (!text || typeof text !== "string") {
44
+ continue; // или: throw new Error(`Item ${sourceId}: missing text`);
45
+ }
46
+
47
+ results.push({
48
+ json: {
49
+ id: sourceId,
50
+ content: text.trim().slice(0, 8000), // обрезаем до лимита эмбеддинга
51
+ metadata: {
52
+ ...metadata,
53
+ processedAt: new Date().toISOString(),
54
+ },
55
+ },
56
+ });
57
+ }
58
+
59
+ return results;
60
+ ```
61
+
62
+ ### ✅ DO: разбивать большие документы на чанки
63
+ ```js
64
+ // Code node: chunking с overlap
65
+ function chunkText(text, chunkSize = 1000, overlap = 200) {
66
+ const chunks = [];
67
+ let start = 0;
68
+
69
+ while (start < text.length) {
70
+ const end = Math.min(start + chunkSize, text.length);
71
+ chunks.push({
72
+ text: text.slice(start, end),
73
+ chunkIndex: chunks.length,
74
+ startChar: start,
75
+ endChar: end,
76
+ });
77
+ start += chunkSize - overlap; // ✅ overlap сохраняет контекст на стыках
78
+ }
79
+
80
+ return chunks;
81
+ }
82
+
83
+ const { content, docId, metadata } = $input.first().json;
84
+ const chunks = chunkText(content);
85
+
86
+ return chunks.map((chunk, i) => ({
87
+ json: {
88
+ id: `${docId}_chunk_${i}`,
89
+ text: chunk.text,
90
+ metadata: { ...metadata, docId, chunkIndex: i, totalChunks: chunks.length },
91
+ },
92
+ }));
93
+ ```
94
+
95
+ ### ✅ DO: обработка ошибок в workflow
96
+ ```
97
+ 1. Settings → Error Workflow → указать отдельный error-workflow
98
+ 2. В error-workflow: получаем $execution.error → логируем в Supabase/Slack
99
+ 3. Для HTTP Request нод: включай "Continue on Fail" + проверяй статус в следующей ноде
100
+ ```
101
+
102
+ ```js
103
+ // Code node: проверка ответа HTTP Request
104
+ const response = $input.first().json;
105
+
106
+ if (response.error || response.statusCode >= 400) {
107
+ throw new Error(`API error: ${response.statusCode} — ${JSON.stringify(response.error)}`);
108
+ }
109
+
110
+ return [{ json: response }];
111
+ ```
112
+
113
+ ### ✅ DO: environment variables для секретов
114
+ ```
115
+ Settings → Variables → добавить PINECONE_API_KEY, SUPABASE_URL и т.д.
116
+ В нодах: {{ $vars.PINECONE_API_KEY }}
117
+ ❌ Никогда не хардкодить ключи прямо в ноды
118
+ ```
119
+
120
+ ---
121
+
122
+ ## 2. Pinecone
123
+
124
+ ### ✅ DO: стратегия namespace
125
+ ```
126
+ namespace = tenant или категория данных
127
+
128
+ Примеры:
129
+ "user_123" → персональные данные пользователя
130
+ "docs_product" → документация по продукту
131
+ "kb_support" → база знаний поддержки
132
+ "" → дефолтный namespace (не смешивай с именованными)
133
+ ```
134
+
135
+ ### ✅ DO: upsert эмбеддингов (HTTP Request нода в n8n)
136
+ ```js
137
+ // Code node: подготовка батча для Pinecone upsert
138
+ const items = $input.all();
139
+
140
+ const vectors = items.map(item => ({
141
+ id: item.json.id, // уникальный string ID
142
+ values: item.json.embedding, // float[] от модели эмбеддинга
143
+ metadata: {
144
+ // ✅ Только примитивы: string, number, boolean, string[]
145
+ text: item.json.text.slice(0, 1000), // Pinecone лимит metadata ~40KB
146
+ sourceUrl: item.json.sourceUrl,
147
+ docId: item.json.docId,
148
+ chunkIndex: item.json.chunkIndex,
149
+ updatedAt: new Date().toISOString(),
150
+ },
151
+ }));
152
+
153
+ // Возвращаем батчами по 100 (лимит Pinecone upsert)
154
+ const batchSize = 100;
155
+ const batches = [];
156
+ for (let i = 0; i < vectors.length; i += batchSize) {
157
+ batches.push({ json: { vectors: vectors.slice(i, i + batchSize) } });
158
+ }
159
+
160
+ return batches;
161
+ ```
162
+
163
+ ```json
164
+ // HTTP Request нода: POST https://YOUR_INDEX.svc.YOUR_ENV.pinecone.io/vectors/upsert
165
+ // Headers: Api-Key: {{ $vars.PINECONE_API_KEY }}, Content-Type: application/json
166
+ // Body: { "vectors": {{ $json.vectors }}, "namespace": "docs_product" }
167
+ ```
168
+
169
+ ### ✅ DO: семантический поиск с фильтрами
170
+ ```json
171
+ // POST /query
172
+ {
173
+ "vector": "{{ $json.queryEmbedding }}",
174
+ "topK": 10,
175
+ "namespace": "docs_product",
176
+ "includeMetadata": true,
177
+ "filter": {
178
+ "docId": { "$eq": "manual_v2" },
179
+ "updatedAt": { "$gte": "2024-01-01" }
180
+ }
181
+ }
182
+ ```
183
+
184
+ ```js
185
+ // Code node: обработка результатов поиска
186
+ const matches = $input.first().json.matches ?? [];
187
+
188
+ // ✅ Фильтруем по score — отсекаем слабые совпадения
189
+ const relevant = matches
190
+ .filter(m => m.score >= 0.75)
191
+ .map(m => ({
192
+ text: m.metadata.text,
193
+ score: m.score,
194
+ sourceUrl: m.metadata.sourceUrl,
195
+ chunkIndex: m.metadata.chunkIndex,
196
+ }));
197
+
198
+ return [{ json: { matches: relevant, count: relevant.length } }];
199
+ ```
200
+
201
+ ### ✅ DO: удаление устаревших векторов
202
+ ```json
203
+ // POST /vectors/delete
204
+ {
205
+ "filter": { "docId": { "$eq": "manual_v1" } },
206
+ "namespace": "docs_product",
207
+ "deleteAll": false
208
+ }
209
+ ```
210
+
211
+ ---
212
+
213
+ ## 3. Qdrant
214
+
215
+ ### ✅ DO: создание коллекции с правильными параметрами
216
+ ```json
217
+ // PUT /collections/documents
218
+ {
219
+ "vectors": {
220
+ "size": 1536,
221
+ "distance": "Cosine"
222
+ },
223
+ "optimizers_config": {
224
+ "default_segment_number": 2
225
+ },
226
+ "replication_factor": 1
227
+ }
228
+ ```
229
+
230
+ ```
231
+ distance:
232
+ Cosine → нормализованные эмбеддинги (OpenAI, text-embedding-*) ✅ чаще всего
233
+ Dot → не нормализованные, максимизируем скалярное произведение
234
+ Euclid → когда важно абсолютное расстояние
235
+ ```
236
+
237
+ ### ✅ DO: upsert точек с payload
238
+ ```js
239
+ // Code node: подготовка для Qdrant upsert
240
+ const points = $input.all().map(item => ({
241
+ id: item.json.id, // ✅ uint64 или UUID string
242
+ vector: item.json.embedding,
243
+ payload: {
244
+ text: item.json.text,
245
+ docId: item.json.docId,
246
+ chunkIndex: item.json.chunkIndex,
247
+ sourceUrl: item.json.sourceUrl,
248
+ language: item.json.language ?? "ru",
249
+ createdAt: Math.floor(Date.now() / 1000), // ✅ unix timestamp для range-фильтров
250
+ },
251
+ }));
252
+
253
+ return [{ json: { points } }];
254
+ ```
255
+
256
+ ```json
257
+ // PUT /collections/documents/points
258
+ // Body: { "points": {{ $json.points }} }
259
+ ```
260
+
261
+ ### ✅ DO: поиск с payload-фильтрами
262
+ ```json
263
+ // POST /collections/documents/points/search
264
+ {
265
+ "vector": "{{ $json.queryEmbedding }}",
266
+ "limit": 10,
267
+ "with_payload": true,
268
+ "filter": {
269
+ "must": [
270
+ { "key": "language", "match": { "value": "ru" } },
271
+ { "key": "createdAt", "range": { "gte": 1704067200 } }
272
+ ],
273
+ "must_not": [
274
+ { "key": "docId", "match": { "value": "draft_123" } }
275
+ ]
276
+ },
277
+ "score_threshold": 0.70
278
+ }
279
+ ```
280
+
281
+ ### ✅ DO: scroll для экспорта / батч-обновлений
282
+ ```json
283
+ // POST /collections/documents/points/scroll
284
+ // Используй когда нужно перебрать ВСЕ точки без векторного поиска
285
+ {
286
+ "limit": 100,
287
+ "with_payload": true,
288
+ "with_vector": false,
289
+ "filter": {
290
+ "must": [{ "key": "docId", "match": { "value": "manual_v1" } }]
291
+ },
292
+ "offset": null
293
+ }
294
+ // Следующая страница: "offset": last_result.next_page_offset
295
+ ```
296
+
297
+ ### ✅ DO: именованные векторы для multi-modal поиска
298
+ ```json
299
+ // Коллекция с несколькими векторами на точку
300
+ {
301
+ "vectors": {
302
+ "text": { "size": 1536, "distance": "Cosine" },
303
+ "image": { "size": 512, "distance": "Cosine" }
304
+ }
305
+ }
306
+
307
+ // Поиск только по text-вектору:
308
+ // POST /collections/docs/points/search
309
+ { "vector": { "name": "text", "vector": [...] }, "limit": 5 }
310
+ ```
311
+
312
+ ---
313
+
314
+ ## 4. Supabase
315
+
316
+ ### ✅ DO: pgvector для семантического поиска прямо в Postgres
317
+ ```sql
318
+ -- Включить расширение (один раз)
319
+ create extension if not exists vector;
320
+
321
+ -- Таблица с эмбеддингами
322
+ create table documents (
323
+ id uuid primary key default gen_random_uuid(),
324
+ content text not null,
325
+ embedding vector(1536), -- размер под модель
326
+ metadata jsonb default '{}',
327
+ user_id uuid references auth.users(id),
328
+ created_at timestamptz default now()
329
+ );
330
+
331
+ -- ✅ HNSW индекс — быстрее IVFFlat для большинства случаев
332
+ create index on documents
333
+ using hnsw (embedding vector_cosine_ops)
334
+ with (m = 16, ef_construction = 64);
335
+
336
+ -- Функция семантического поиска
337
+ create or replace function match_documents(
338
+ query_embedding vector(1536),
339
+ match_threshold float default 0.75,
340
+ match_count int default 10,
341
+ filter_user_id uuid default null
342
+ )
343
+ returns table (
344
+ id uuid,
345
+ content text,
346
+ metadata jsonb,
347
+ similarity float
348
+ )
349
+ language sql stable
350
+ as $$
351
+ select
352
+ id,
353
+ content,
354
+ metadata,
355
+ 1 - (embedding <=> query_embedding) as similarity
356
+ from documents
357
+ where
358
+ (filter_user_id is null or user_id = filter_user_id)
359
+ and 1 - (embedding <=> query_embedding) > match_threshold
360
+ order by embedding <=> query_embedding
361
+ limit match_count;
362
+ $$;
363
+ ```
364
+
365
+ ### ✅ DO: RLS — изоляция данных по пользователю
366
+ ```sql
367
+ -- ✅ Включить RLS на таблице
368
+ alter table documents enable row level security;
369
+
370
+ -- Пользователь видит только свои документы
371
+ create policy "users_own_documents"
372
+ on documents for all
373
+ using (auth.uid() = user_id)
374
+ with check (auth.uid() = user_id);
375
+
376
+ -- Сервисный ключ (service_role) обходит RLS — используй только на бэкенде/n8n
377
+ -- Anon/authenticated ключ — подчиняется RLS — используй на клиенте
378
+ ```
379
+
380
+ ### ✅ DO: вызов match_documents из n8n (HTTP Request)
381
+ ```json
382
+ // POST https://YOUR_PROJECT.supabase.co/rest/v1/rpc/match_documents
383
+ // Headers:
384
+ // apikey: {{ $vars.SUPABASE_SERVICE_KEY }}
385
+ // Authorization: Bearer {{ $vars.SUPABASE_SERVICE_KEY }}
386
+ // Content-Type: application/json
387
+ {
388
+ "query_embedding": "{{ $json.embedding }}",
389
+ "match_threshold": 0.75,
390
+ "match_count": 10,
391
+ "filter_user_id": null
392
+ }
393
+ ```
394
+
395
+ ### ✅ DO: Supabase Realtime как триггер для n8n
396
+ ```
397
+ Supabase → Database Webhooks → при INSERT/UPDATE в таблицу → POST на n8n Webhook URL
398
+
399
+ Настройка в Supabase Dashboard:
400
+ Database → Webhooks → Create Webhook
401
+ Table: documents
402
+ Events: INSERT
403
+ URL: https://YOUR_N8N.com/webhook/process-document
404
+ HTTP Method: POST
405
+ ```
406
+
407
+ ### ✅ DO: Storage для файлов + метаданные в БД
408
+ ```js
409
+ // n8n HTTP Request: загрузка файла в Supabase Storage
410
+ // POST https://YOUR_PROJECT.supabase.co/storage/v1/object/documents/{{ $json.fileName }}
411
+ // Headers: apikey, Authorization, Content-Type: application/octet-stream
412
+ // Body: бинарный файл
413
+
414
+ // После загрузки — сохранить метаданные в БД
415
+ // POST /rest/v1/document_metadata
416
+ {
417
+ "file_path": "documents/{{ $json.fileName }}",
418
+ "bucket": "documents",
419
+ "size_bytes": "{{ $json.fileSize }}",
420
+ "mime_type": "{{ $json.mimeType }}",
421
+ "uploaded_by": "{{ $json.userId }}"
422
+ }
423
+ ```
424
+
425
+ ---
426
+
427
+ ## 5. RAG-пайплайн
428
+
429
+ ### ✅ DO: полный ingestion-пайплайн в n8n
430
+ ```
431
+ [Trigger: Webhook/Schedule]
432
+
433
+ [Fetch Document] — HTTP/Supabase Storage
434
+
435
+ [Extract Text] — Code нода (PDF→text, HTML→text)
436
+
437
+ [Chunk Text] — Code нода (1000 chars, overlap 200)
438
+
439
+ [Get Embeddings] — HTTP → OpenAI /v1/embeddings (батч по 20)
440
+
441
+ [Upsert to Vector DB] — Pinecone или Qdrant
442
+
443
+ [Save Metadata] — Supabase REST (статус, chunk count, docId)
444
+
445
+ [Notify] — Slack/Email/Webhook
446
+ ```
447
+
448
+ ### ✅ DO: query-пайплайн (retrieval + generation)
449
+ ```
450
+ [Trigger: Webhook {question, userId}]
451
+
452
+ [Embed Question] — OpenAI /v1/embeddings
453
+
454
+ [Vector Search] — Pinecone/Qdrant/Supabase match_documents
455
+
456
+ [Filter & Rank] — Code нода: score >= 0.75, top 5
457
+
458
+ [Build Prompt] — Code нода: собираем context + question
459
+
460
+ [LLM Generation] — OpenAI /v1/chat/completions
461
+
462
+ [Format Response] — Code нода: answer + sources
463
+
464
+ [Save to History] — Supabase (вопрос, ответ, источники)
465
+
466
+ [Return Response] — Respond to Webhook
467
+ ```
468
+
469
+ ```js
470
+ // Code нода: построение RAG-промпта
471
+ const question = $input.first().json.question;
472
+ const chunks = $input.first().json.matches; // из vector search
473
+
474
+ const context = chunks
475
+ .map((c, i) => `[${i + 1}] ${c.text}`)
476
+ .join("\n\n");
477
+
478
+ const messages = [
479
+ {
480
+ role: "system",
481
+ content: `Ты помощник. Отвечай ТОЛЬКО на основе предоставленного контекста.
482
+ Если ответа нет в контексте — скажи "Информация не найдена".
483
+ Контекст:
484
+ ${context}`,
485
+ },
486
+ {
487
+ role: "user",
488
+ content: question,
489
+ },
490
+ ];
491
+
492
+ return [{ json: { messages } }];
493
+ ```
494
+
495
+ ### ✅ DO: гибридный поиск (vector + full-text)
496
+ ```sql
497
+ -- Supabase: объединяем семантический и полнотекстовый поиск (RRF fusion)
498
+ create or replace function hybrid_search(
499
+ query_text text,
500
+ query_embedding vector(1536),
501
+ match_count int default 10
502
+ )
503
+ returns table (id uuid, content text, score float)
504
+ language sql stable as $$
505
+ with semantic as (
506
+ select id, content,
507
+ 1 - (embedding <=> query_embedding) as score,
508
+ row_number() over (order by embedding <=> query_embedding) as rank
509
+ from documents
510
+ limit 50
511
+ ),
512
+ fulltext as (
513
+ select id, content,
514
+ ts_rank(to_tsvector('russian', content), plainto_tsquery('russian', query_text)) as score,
515
+ row_number() over (order by score desc) as rank
516
+ from documents
517
+ where to_tsvector('russian', content) @@ plainto_tsquery('russian', query_text)
518
+ limit 50
519
+ )
520
+ -- Reciprocal Rank Fusion
521
+ select
522
+ coalesce(s.id, f.id) as id,
523
+ coalesce(s.content, f.content) as content,
524
+ coalesce(1.0/(60 + s.rank), 0) + coalesce(1.0/(60 + f.rank), 0) as score
525
+ from semantic s
526
+ full outer join fulltext f on s.id = f.id
527
+ order by score desc
528
+ limit match_count;
529
+ $$;
530
+ ```
531
+
532
+ ---
533
+
534
+ ## 6. n8n + Supabase
535
+
536
+ ### ✅ DO: CRUD через Supabase REST API
537
+ ```js
538
+ // Code нода: построение запроса с фильтрами
539
+ const { userId, status, limit = 20, offset = 0 } = $input.first().json;
540
+
541
+ // ✅ Supabase PostgREST фильтры
542
+ const params = new URLSearchParams({
543
+ user_id: `eq.${userId}`,
544
+ ...(status && { status: `eq.${status}` }),
545
+ order: "created_at.desc",
546
+ limit: limit.toString(),
547
+ offset: offset.toString(),
548
+ });
549
+
550
+ return [{ json: { queryString: params.toString() } }];
551
+
552
+ // HTTP Request: GET /rest/v1/documents?{{ $json.queryString }}
553
+ // Headers: apikey, Authorization, Range: 0-19 (для пагинации)
554
+ // ✅ Prefer: count=exact — вернёт Content-Range заголовок с total count
555
+ ```
556
+
557
+ ### ✅ DO: upsert с conflict resolution
558
+ ```json
559
+ // POST /rest/v1/documents
560
+ // Headers: Prefer: resolution=merge-duplicates
561
+ {
562
+ "id": "{{ $json.docId }}",
563
+ "content": "{{ $json.content }}",
564
+ "updated_at": "{{ $now }}"
565
+ }
566
+ // ✅ merge-duplicates — обновит существующий, создаст новый если нет
567
+ // ignore-duplicates — пропустит если уже есть
568
+ ```
569
+
570
+ ### ✅ DO: слушать Realtime через n8n Webhook
571
+ ```
572
+ Supabase Realtime → Database Webhook → n8n:
573
+
574
+ Сценарии:
575
+ INSERT в tasks → запустить processing workflow
576
+ UPDATE status='done' → отправить уведомление пользователю
577
+ DELETE в documents → удалить эмбеддинги из Pinecone/Qdrant
578
+ ```
579
+
580
+ ### ✅ DO: управление ошибками + retry
581
+ ```js
582
+ // Code нода после HTTP Request к Supabase
583
+ const { statusCode, body } = $input.first().json;
584
+
585
+ if (statusCode === 409) {
586
+ // Конфликт — запись уже существует, это OK
587
+ return [{ json: { status: "already_exists", ...body } }];
588
+ }
589
+
590
+ if (statusCode >= 400) {
591
+ // ✅ Кидаем с деталями — попадёт в error workflow
592
+ throw new Error(`Supabase error ${statusCode}: ${JSON.stringify(body)}`);
593
+ }
594
+
595
+ return [{ json: { status: "ok", data: body } }];
596
+ ```
597
+
598
+ ---
599
+
600
+ ## 7. Частые ошибки
601
+
602
+ ### ❌ DON'T: смешивать service_role ключ с anon ключом
603
+ ```
604
+ service_role → обходит RLS, полный доступ → только бэкенд/n8n ✅
605
+ anon → подчиняется RLS, ограниченный → клиентский код ✅
606
+
607
+ ❌ service_role в браузере/мобильном приложении — утечка = полный доступ к БД
608
+ ❌ anon в n8n для операций требующих обхода RLS — будет 403
609
+ ```
610
+
611
+ ### ❌ DON'T: хранить весь текст в metadata Pinecone
612
+ ```
613
+ ❌ Pinecone metadata limit ~40KB на вектор
614
+ ❌ Медленный фильтр по длинным строкам
615
+
616
+ ✅ Храни в metadata только: id, короткий preview (200 chars), теги, даты
617
+ ✅ Полный текст — в Supabase/PostgreSQL, достаём по id после поиска
618
+ ```
619
+
620
+ ### ❌ DON'T: upsert по одному вектору в цикле
621
+ ```js
622
+ // ❌ Плохо: N HTTP-запросов вместо одного
623
+ for (const item of items) {
624
+ await upsert(item); // 1000 items = 1000 запросов
625
+ }
626
+
627
+ // ✅ Батчевый upsert
628
+ // Pinecone: до 100 векторов за раз
629
+ // Qdrant: до 1000 точек за раз (wait=false для async)
630
+ // В n8n: Split In Batches нода → HTTP Request
631
+ ```
632
+
633
+ ### ❌ DON'T: игнорировать размерность эмбеддингов
634
+ ```
635
+ OpenAI text-embedding-3-small → 1536 dims (или меньше через dimensions param)
636
+ OpenAI text-embedding-3-large → 3072 dims
637
+ OpenAI text-embedding-ada-002 → 1536 dims
638
+
639
+ ❌ Создать коллекцию на 1536, залить ada-002, потом переключиться на 3-large (3072) — ошибка
640
+ ✅ Зафиксируй модель и размер в конфиге, не меняй без пересоздания коллекции
641
+ ```
642
+
643
+ ### ❌ DON'T: запускать workflow без идемпотентности
644
+ ```js
645
+ // ❌ Плохо: повторный запуск задваивает данные
646
+ // ✅ Всегда используй upsert, не insert
647
+ // ✅ Добавляй идемпотентный ключ (docId + chunkIndex → детерминированный ID)
648
+
649
+ // ✅ Детерминированный ID для чанка (одинаковый при повторном запуске)
650
+ function makeChunkId(docId, chunkIndex) {
651
+ return `${docId}_chunk_${chunkIndex}`;
652
+ }
653
+ // Pinecone: id = makeChunkId(...)
654
+ // Qdrant: id = uuid5(namespace, makeChunkId(...)) — если нужен UUID
655
+ ```
656
+
657
+ ### ❌ DON'T: игнорировать лимиты rate limit
658
+ ```
659
+ OpenAI Embeddings: 3000 RPM (tier 1) → батчи + задержка между запросами
660
+ Pinecone upsert: 100 vectors/request, ~100 RPS
661
+ Supabase REST: зависит от плана, по умолчанию 500 req/s
662
+
663
+ ✅ В n8n: Split In Batches + Wait нода между батчами
664
+ ✅ Для больших объёмов: Queue (Redis) или n8n Sub-workflows с троттлингом
665
+ ```
666
+
667
+ ---
668
+
669
+ ## См. также
670
+ - `dev_reference_snippets` — Express API, валидация, обработка ошибок
671
+ - `es2025_beast_practices` — async/await паттерны, Promise.all для параллельных запросов