@raishin/vanguard-frontier-agentic 3.0.1 → 3.1.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 (873) hide show
  1. package/.claude-plugin/marketplace.json +2 -2
  2. package/.claude-plugin/plugin.json +36 -1
  3. package/.cursor-plugin/plugin.json +36 -1
  4. package/.github/plugin/marketplace.json +1 -1
  5. package/README.md +12 -11
  6. package/agents/frontend/accessibility-wcag-agent/AGENT.md +137 -0
  7. package/agents/frontend/accessibility-wcag-agent/harnesses/claude-code.agent.md +119 -0
  8. package/agents/frontend/accessibility-wcag-agent/harnesses/codex.toml +42 -0
  9. package/agents/frontend/accessibility-wcag-agent/harnesses/copilot.agent.md +129 -0
  10. package/agents/frontend/accessibility-wcag-agent/harnesses/cursor.agent.md +122 -0
  11. package/agents/frontend/accessibility-wcag-agent/harnesses/gemini.agent.md +121 -0
  12. package/agents/frontend/accessibility-wcag-agent/harnesses/kiro-cli.agent.json +5 -0
  13. package/agents/frontend/accessibility-wcag-agent/harnesses/kiro-ide.agent.md +120 -0
  14. package/agents/frontend/accessibility-wcag-agent/metadata.json +42 -0
  15. package/agents/frontend/ai-assisted-frontend-review-agent/AGENT.md +121 -0
  16. package/agents/frontend/ai-assisted-frontend-review-agent/harnesses/claude-code.agent.md +104 -0
  17. package/agents/frontend/ai-assisted-frontend-review-agent/harnesses/codex.toml +39 -0
  18. package/agents/frontend/ai-assisted-frontend-review-agent/harnesses/copilot.agent.md +113 -0
  19. package/agents/frontend/ai-assisted-frontend-review-agent/harnesses/cursor.agent.md +106 -0
  20. package/agents/frontend/ai-assisted-frontend-review-agent/harnesses/gemini.agent.md +105 -0
  21. package/agents/frontend/ai-assisted-frontend-review-agent/harnesses/kiro-cli.agent.json +5 -0
  22. package/agents/frontend/ai-assisted-frontend-review-agent/harnesses/kiro-ide.agent.md +104 -0
  23. package/agents/frontend/ai-assisted-frontend-review-agent/metadata.json +39 -0
  24. package/agents/frontend/angular-specialist-agent/AGENT.md +128 -0
  25. package/agents/frontend/angular-specialist-agent/harnesses/claude-code.agent.md +101 -0
  26. package/agents/frontend/angular-specialist-agent/harnesses/codex.toml +48 -0
  27. package/agents/frontend/angular-specialist-agent/harnesses/copilot.agent.md +110 -0
  28. package/agents/frontend/angular-specialist-agent/harnesses/cursor.agent.md +103 -0
  29. package/agents/frontend/angular-specialist-agent/harnesses/gemini.agent.md +102 -0
  30. package/agents/frontend/angular-specialist-agent/harnesses/kiro-cli.agent.json +5 -0
  31. package/agents/frontend/angular-specialist-agent/harnesses/kiro-ide.agent.md +101 -0
  32. package/agents/frontend/angular-specialist-agent/metadata.json +44 -0
  33. package/agents/frontend/api-integration-bff-agent/AGENT.md +124 -0
  34. package/agents/frontend/api-integration-bff-agent/harnesses/claude-code.agent.md +107 -0
  35. package/agents/frontend/api-integration-bff-agent/harnesses/codex.toml +40 -0
  36. package/agents/frontend/api-integration-bff-agent/harnesses/copilot.agent.md +116 -0
  37. package/agents/frontend/api-integration-bff-agent/harnesses/cursor.agent.md +109 -0
  38. package/agents/frontend/api-integration-bff-agent/harnesses/gemini.agent.md +108 -0
  39. package/agents/frontend/api-integration-bff-agent/harnesses/kiro-cli.agent.json +5 -0
  40. package/agents/frontend/api-integration-bff-agent/harnesses/kiro-ide.agent.md +107 -0
  41. package/agents/frontend/api-integration-bff-agent/metadata.json +40 -0
  42. package/agents/frontend/browser-compatibility-agent/AGENT.md +133 -0
  43. package/agents/frontend/browser-compatibility-agent/harnesses/claude-code.agent.md +116 -0
  44. package/agents/frontend/browser-compatibility-agent/harnesses/codex.toml +39 -0
  45. package/agents/frontend/browser-compatibility-agent/harnesses/copilot.agent.md +125 -0
  46. package/agents/frontend/browser-compatibility-agent/harnesses/cursor.agent.md +118 -0
  47. package/agents/frontend/browser-compatibility-agent/harnesses/gemini.agent.md +117 -0
  48. package/agents/frontend/browser-compatibility-agent/harnesses/kiro-cli.agent.json +5 -0
  49. package/agents/frontend/browser-compatibility-agent/harnesses/kiro-ide.agent.md +116 -0
  50. package/agents/frontend/browser-compatibility-agent/metadata.json +42 -0
  51. package/agents/frontend/build-tooling-bundling-agent/AGENT.md +121 -0
  52. package/agents/frontend/build-tooling-bundling-agent/harnesses/claude-code.agent.md +104 -0
  53. package/agents/frontend/build-tooling-bundling-agent/harnesses/codex.toml +40 -0
  54. package/agents/frontend/build-tooling-bundling-agent/harnesses/copilot.agent.md +113 -0
  55. package/agents/frontend/build-tooling-bundling-agent/harnesses/cursor.agent.md +106 -0
  56. package/agents/frontend/build-tooling-bundling-agent/harnesses/gemini.agent.md +105 -0
  57. package/agents/frontend/build-tooling-bundling-agent/harnesses/kiro-cli.agent.json +5 -0
  58. package/agents/frontend/build-tooling-bundling-agent/harnesses/kiro-ide.agent.md +104 -0
  59. package/agents/frontend/build-tooling-bundling-agent/metadata.json +39 -0
  60. package/agents/frontend/css-architecture-agent/AGENT.md +123 -0
  61. package/agents/frontend/css-architecture-agent/harnesses/claude-code.agent.md +106 -0
  62. package/agents/frontend/css-architecture-agent/harnesses/codex.toml +41 -0
  63. package/agents/frontend/css-architecture-agent/harnesses/copilot.agent.md +115 -0
  64. package/agents/frontend/css-architecture-agent/harnesses/cursor.agent.md +108 -0
  65. package/agents/frontend/css-architecture-agent/harnesses/gemini.agent.md +107 -0
  66. package/agents/frontend/css-architecture-agent/harnesses/kiro-cli.agent.json +5 -0
  67. package/agents/frontend/css-architecture-agent/harnesses/kiro-ide.agent.md +106 -0
  68. package/agents/frontend/css-architecture-agent/metadata.json +42 -0
  69. package/agents/frontend/design-systems-governance-agent/AGENT.md +124 -0
  70. package/agents/frontend/design-systems-governance-agent/harnesses/claude-code.agent.md +107 -0
  71. package/agents/frontend/design-systems-governance-agent/harnesses/codex.toml +41 -0
  72. package/agents/frontend/design-systems-governance-agent/harnesses/copilot.agent.md +116 -0
  73. package/agents/frontend/design-systems-governance-agent/harnesses/cursor.agent.md +109 -0
  74. package/agents/frontend/design-systems-governance-agent/harnesses/gemini.agent.md +108 -0
  75. package/agents/frontend/design-systems-governance-agent/harnesses/kiro-cli.agent.json +5 -0
  76. package/agents/frontend/design-systems-governance-agent/harnesses/kiro-ide.agent.md +107 -0
  77. package/agents/frontend/design-systems-governance-agent/metadata.json +41 -0
  78. package/agents/frontend/enterprise-red-team-review-agent/AGENT.md +140 -0
  79. package/agents/frontend/enterprise-red-team-review-agent/harnesses/claude-code.agent.md +91 -0
  80. package/agents/frontend/enterprise-red-team-review-agent/harnesses/codex.toml +48 -0
  81. package/agents/frontend/enterprise-red-team-review-agent/harnesses/copilot.agent.md +100 -0
  82. package/agents/frontend/enterprise-red-team-review-agent/harnesses/cursor.agent.md +93 -0
  83. package/agents/frontend/enterprise-red-team-review-agent/harnesses/gemini.agent.md +92 -0
  84. package/agents/frontend/enterprise-red-team-review-agent/harnesses/kiro-cli.agent.json +5 -0
  85. package/agents/frontend/enterprise-red-team-review-agent/harnesses/kiro-ide.agent.md +91 -0
  86. package/agents/frontend/enterprise-red-team-review-agent/metadata.json +39 -0
  87. package/agents/frontend/frontend-board-chair-agent/AGENT.md +94 -0
  88. package/agents/frontend/frontend-board-chair-agent/harnesses/claude-code.agent.md +55 -0
  89. package/agents/frontend/frontend-board-chair-agent/harnesses/codex.toml +33 -0
  90. package/agents/frontend/frontend-board-chair-agent/harnesses/copilot.agent.md +34 -0
  91. package/agents/frontend/frontend-board-chair-agent/harnesses/cursor.agent.md +57 -0
  92. package/agents/frontend/frontend-board-chair-agent/harnesses/gemini.agent.md +56 -0
  93. package/agents/frontend/frontend-board-chair-agent/harnesses/kiro-cli.agent.json +1 -0
  94. package/agents/frontend/frontend-board-chair-agent/harnesses/kiro-ide.agent.md +55 -0
  95. package/agents/frontend/frontend-board-chair-agent/metadata.json +41 -0
  96. package/agents/frontend/frontend-finops-cost-to-serve-agent/AGENT.md +123 -0
  97. package/agents/frontend/frontend-finops-cost-to-serve-agent/harnesses/claude-code.agent.md +106 -0
  98. package/agents/frontend/frontend-finops-cost-to-serve-agent/harnesses/codex.toml +40 -0
  99. package/agents/frontend/frontend-finops-cost-to-serve-agent/harnesses/copilot.agent.md +115 -0
  100. package/agents/frontend/frontend-finops-cost-to-serve-agent/harnesses/cursor.agent.md +108 -0
  101. package/agents/frontend/frontend-finops-cost-to-serve-agent/harnesses/gemini.agent.md +107 -0
  102. package/agents/frontend/frontend-finops-cost-to-serve-agent/harnesses/kiro-cli.agent.json +5 -0
  103. package/agents/frontend/frontend-finops-cost-to-serve-agent/harnesses/kiro-ide.agent.md +106 -0
  104. package/agents/frontend/frontend-finops-cost-to-serve-agent/metadata.json +40 -0
  105. package/agents/frontend/frontend-maestro-agent/AGENT.md +91 -0
  106. package/agents/frontend/frontend-maestro-agent/harnesses/claude-code.agent.md +38 -0
  107. package/agents/frontend/frontend-maestro-agent/harnesses/codex.toml +34 -0
  108. package/agents/frontend/frontend-maestro-agent/harnesses/copilot.agent.md +51 -0
  109. package/agents/frontend/frontend-maestro-agent/harnesses/cursor.agent.md +40 -0
  110. package/agents/frontend/frontend-maestro-agent/harnesses/gemini.agent.md +39 -0
  111. package/agents/frontend/frontend-maestro-agent/harnesses/kiro-cli.agent.json +5 -0
  112. package/agents/frontend/frontend-maestro-agent/harnesses/kiro-ide.agent.md +38 -0
  113. package/agents/frontend/frontend-maestro-agent/metadata.json +40 -0
  114. package/agents/frontend/frontend-migration-modernization-agent/AGENT.md +140 -0
  115. package/agents/frontend/frontend-migration-modernization-agent/harnesses/claude-code.agent.md +123 -0
  116. package/agents/frontend/frontend-migration-modernization-agent/harnesses/codex.toml +46 -0
  117. package/agents/frontend/frontend-migration-modernization-agent/harnesses/copilot.agent.md +132 -0
  118. package/agents/frontend/frontend-migration-modernization-agent/harnesses/cursor.agent.md +125 -0
  119. package/agents/frontend/frontend-migration-modernization-agent/harnesses/gemini.agent.md +124 -0
  120. package/agents/frontend/frontend-migration-modernization-agent/harnesses/kiro-cli.agent.json +5 -0
  121. package/agents/frontend/frontend-migration-modernization-agent/harnesses/kiro-ide.agent.md +123 -0
  122. package/agents/frontend/frontend-migration-modernization-agent/metadata.json +40 -0
  123. package/agents/frontend/frontend-observability-rum-agent/AGENT.md +131 -0
  124. package/agents/frontend/frontend-observability-rum-agent/harnesses/claude-code.agent.md +114 -0
  125. package/agents/frontend/frontend-observability-rum-agent/harnesses/codex.toml +40 -0
  126. package/agents/frontend/frontend-observability-rum-agent/harnesses/copilot.agent.md +124 -0
  127. package/agents/frontend/frontend-observability-rum-agent/harnesses/cursor.agent.md +117 -0
  128. package/agents/frontend/frontend-observability-rum-agent/harnesses/gemini.agent.md +116 -0
  129. package/agents/frontend/frontend-observability-rum-agent/harnesses/kiro-cli.agent.json +5 -0
  130. package/agents/frontend/frontend-observability-rum-agent/harnesses/kiro-ide.agent.md +115 -0
  131. package/agents/frontend/frontend-observability-rum-agent/metadata.json +43 -0
  132. package/agents/frontend/frontend-platform-architect-agent/AGENT.md +139 -0
  133. package/agents/frontend/frontend-platform-architect-agent/harnesses/claude-code.agent.md +122 -0
  134. package/agents/frontend/frontend-platform-architect-agent/harnesses/codex.toml +44 -0
  135. package/agents/frontend/frontend-platform-architect-agent/harnesses/copilot.agent.md +133 -0
  136. package/agents/frontend/frontend-platform-architect-agent/harnesses/cursor.agent.md +124 -0
  137. package/agents/frontend/frontend-platform-architect-agent/harnesses/gemini.agent.md +123 -0
  138. package/agents/frontend/frontend-platform-architect-agent/harnesses/kiro-cli.agent.json +5 -0
  139. package/agents/frontend/frontend-platform-architect-agent/harnesses/kiro-ide.agent.md +122 -0
  140. package/agents/frontend/frontend-platform-architect-agent/metadata.json +40 -0
  141. package/agents/frontend/frontend-security-agent/AGENT.md +123 -0
  142. package/agents/frontend/frontend-security-agent/harnesses/claude-code.agent.md +106 -0
  143. package/agents/frontend/frontend-security-agent/harnesses/codex.toml +40 -0
  144. package/agents/frontend/frontend-security-agent/harnesses/copilot.agent.md +115 -0
  145. package/agents/frontend/frontend-security-agent/harnesses/cursor.agent.md +108 -0
  146. package/agents/frontend/frontend-security-agent/harnesses/gemini.agent.md +107 -0
  147. package/agents/frontend/frontend-security-agent/harnesses/kiro-cli.agent.json +5 -0
  148. package/agents/frontend/frontend-security-agent/harnesses/kiro-ide.agent.md +106 -0
  149. package/agents/frontend/frontend-security-agent/metadata.json +44 -0
  150. package/agents/frontend/html-semantics-agent/AGENT.md +139 -0
  151. package/agents/frontend/html-semantics-agent/harnesses/claude-code.agent.md +122 -0
  152. package/agents/frontend/html-semantics-agent/harnesses/codex.toml +44 -0
  153. package/agents/frontend/html-semantics-agent/harnesses/copilot.agent.md +132 -0
  154. package/agents/frontend/html-semantics-agent/harnesses/cursor.agent.md +125 -0
  155. package/agents/frontend/html-semantics-agent/harnesses/gemini.agent.md +124 -0
  156. package/agents/frontend/html-semantics-agent/harnesses/kiro-cli.agent.json +5 -0
  157. package/agents/frontend/html-semantics-agent/harnesses/kiro-ide.agent.md +123 -0
  158. package/agents/frontend/html-semantics-agent/metadata.json +44 -0
  159. package/agents/frontend/internationalization-localization-agent/AGENT.md +115 -0
  160. package/agents/frontend/internationalization-localization-agent/harnesses/claude-code.agent.md +98 -0
  161. package/agents/frontend/internationalization-localization-agent/harnesses/codex.toml +40 -0
  162. package/agents/frontend/internationalization-localization-agent/harnesses/copilot.agent.md +107 -0
  163. package/agents/frontend/internationalization-localization-agent/harnesses/cursor.agent.md +100 -0
  164. package/agents/frontend/internationalization-localization-agent/harnesses/gemini.agent.md +99 -0
  165. package/agents/frontend/internationalization-localization-agent/harnesses/kiro-cli.agent.json +5 -0
  166. package/agents/frontend/internationalization-localization-agent/harnesses/kiro-ide.agent.md +98 -0
  167. package/agents/frontend/internationalization-localization-agent/metadata.json +42 -0
  168. package/agents/frontend/javascript-runtime-agent/AGENT.md +121 -0
  169. package/agents/frontend/javascript-runtime-agent/harnesses/claude-code.agent.md +104 -0
  170. package/agents/frontend/javascript-runtime-agent/harnesses/codex.toml +41 -0
  171. package/agents/frontend/javascript-runtime-agent/harnesses/copilot.agent.md +113 -0
  172. package/agents/frontend/javascript-runtime-agent/harnesses/cursor.agent.md +106 -0
  173. package/agents/frontend/javascript-runtime-agent/harnesses/gemini.agent.md +105 -0
  174. package/agents/frontend/javascript-runtime-agent/harnesses/kiro-cli.agent.json +5 -0
  175. package/agents/frontend/javascript-runtime-agent/harnesses/kiro-ide.agent.md +104 -0
  176. package/agents/frontend/javascript-runtime-agent/metadata.json +41 -0
  177. package/agents/frontend/monorepo-dx-agent/AGENT.md +111 -0
  178. package/agents/frontend/monorepo-dx-agent/harnesses/claude-code.agent.md +94 -0
  179. package/agents/frontend/monorepo-dx-agent/harnesses/codex.toml +38 -0
  180. package/agents/frontend/monorepo-dx-agent/harnesses/copilot.agent.md +103 -0
  181. package/agents/frontend/monorepo-dx-agent/harnesses/cursor.agent.md +96 -0
  182. package/agents/frontend/monorepo-dx-agent/harnesses/gemini.agent.md +95 -0
  183. package/agents/frontend/monorepo-dx-agent/harnesses/kiro-cli.agent.json +5 -0
  184. package/agents/frontend/monorepo-dx-agent/harnesses/kiro-ide.agent.md +94 -0
  185. package/agents/frontend/monorepo-dx-agent/metadata.json +41 -0
  186. package/agents/frontend/nextjs-specialist-agent/AGENT.md +122 -0
  187. package/agents/frontend/nextjs-specialist-agent/harnesses/claude-code.agent.md +105 -0
  188. package/agents/frontend/nextjs-specialist-agent/harnesses/codex.toml +45 -0
  189. package/agents/frontend/nextjs-specialist-agent/harnesses/copilot.agent.md +114 -0
  190. package/agents/frontend/nextjs-specialist-agent/harnesses/cursor.agent.md +107 -0
  191. package/agents/frontend/nextjs-specialist-agent/harnesses/gemini.agent.md +106 -0
  192. package/agents/frontend/nextjs-specialist-agent/harnesses/kiro-cli.agent.json +5 -0
  193. package/agents/frontend/nextjs-specialist-agent/harnesses/kiro-ide.agent.md +105 -0
  194. package/agents/frontend/nextjs-specialist-agent/metadata.json +43 -0
  195. package/agents/frontend/package-governance-agent/AGENT.md +116 -0
  196. package/agents/frontend/package-governance-agent/harnesses/claude-code.agent.md +99 -0
  197. package/agents/frontend/package-governance-agent/harnesses/codex.toml +39 -0
  198. package/agents/frontend/package-governance-agent/harnesses/copilot.agent.md +108 -0
  199. package/agents/frontend/package-governance-agent/harnesses/cursor.agent.md +101 -0
  200. package/agents/frontend/package-governance-agent/harnesses/gemini.agent.md +100 -0
  201. package/agents/frontend/package-governance-agent/harnesses/kiro-cli.agent.json +5 -0
  202. package/agents/frontend/package-governance-agent/harnesses/kiro-ide.agent.md +99 -0
  203. package/agents/frontend/package-governance-agent/metadata.json +41 -0
  204. package/agents/frontend/product-analytics-experimentation-agent/AGENT.md +133 -0
  205. package/agents/frontend/product-analytics-experimentation-agent/harnesses/claude-code.agent.md +116 -0
  206. package/agents/frontend/product-analytics-experimentation-agent/harnesses/codex.toml +45 -0
  207. package/agents/frontend/product-analytics-experimentation-agent/harnesses/copilot.agent.md +126 -0
  208. package/agents/frontend/product-analytics-experimentation-agent/harnesses/cursor.agent.md +119 -0
  209. package/agents/frontend/product-analytics-experimentation-agent/harnesses/gemini.agent.md +118 -0
  210. package/agents/frontend/product-analytics-experimentation-agent/harnesses/kiro-cli.agent.json +5 -0
  211. package/agents/frontend/product-analytics-experimentation-agent/harnesses/kiro-ide.agent.md +117 -0
  212. package/agents/frontend/product-analytics-experimentation-agent/metadata.json +40 -0
  213. package/agents/frontend/pwa-offline-capability-agent/AGENT.md +117 -0
  214. package/agents/frontend/pwa-offline-capability-agent/harnesses/claude-code.agent.md +100 -0
  215. package/agents/frontend/pwa-offline-capability-agent/harnesses/codex.toml +40 -0
  216. package/agents/frontend/pwa-offline-capability-agent/harnesses/copilot.agent.md +109 -0
  217. package/agents/frontend/pwa-offline-capability-agent/harnesses/cursor.agent.md +102 -0
  218. package/agents/frontend/pwa-offline-capability-agent/harnesses/gemini.agent.md +101 -0
  219. package/agents/frontend/pwa-offline-capability-agent/harnesses/kiro-cli.agent.json +5 -0
  220. package/agents/frontend/pwa-offline-capability-agent/harnesses/kiro-ide.agent.md +100 -0
  221. package/agents/frontend/pwa-offline-capability-agent/metadata.json +42 -0
  222. package/agents/frontend/react-specialist-agent/AGENT.md +124 -0
  223. package/agents/frontend/react-specialist-agent/harnesses/claude-code.agent.md +107 -0
  224. package/agents/frontend/react-specialist-agent/harnesses/codex.toml +47 -0
  225. package/agents/frontend/react-specialist-agent/harnesses/copilot.agent.md +116 -0
  226. package/agents/frontend/react-specialist-agent/harnesses/cursor.agent.md +109 -0
  227. package/agents/frontend/react-specialist-agent/harnesses/gemini.agent.md +108 -0
  228. package/agents/frontend/react-specialist-agent/harnesses/kiro-cli.agent.json +5 -0
  229. package/agents/frontend/react-specialist-agent/harnesses/kiro-ide.agent.md +107 -0
  230. package/agents/frontend/react-specialist-agent/metadata.json +44 -0
  231. package/agents/frontend/routing-navigation-agent/AGENT.md +123 -0
  232. package/agents/frontend/routing-navigation-agent/harnesses/claude-code.agent.md +106 -0
  233. package/agents/frontend/routing-navigation-agent/harnesses/codex.toml +40 -0
  234. package/agents/frontend/routing-navigation-agent/harnesses/copilot.agent.md +115 -0
  235. package/agents/frontend/routing-navigation-agent/harnesses/cursor.agent.md +108 -0
  236. package/agents/frontend/routing-navigation-agent/harnesses/gemini.agent.md +107 -0
  237. package/agents/frontend/routing-navigation-agent/harnesses/kiro-cli.agent.json +5 -0
  238. package/agents/frontend/routing-navigation-agent/harnesses/kiro-ide.agent.md +106 -0
  239. package/agents/frontend/routing-navigation-agent/metadata.json +40 -0
  240. package/agents/frontend/ssr-hydration-streaming-agent/AGENT.md +123 -0
  241. package/agents/frontend/ssr-hydration-streaming-agent/harnesses/claude-code.agent.md +106 -0
  242. package/agents/frontend/ssr-hydration-streaming-agent/harnesses/codex.toml +41 -0
  243. package/agents/frontend/ssr-hydration-streaming-agent/harnesses/copilot.agent.md +116 -0
  244. package/agents/frontend/ssr-hydration-streaming-agent/harnesses/cursor.agent.md +109 -0
  245. package/agents/frontend/ssr-hydration-streaming-agent/harnesses/gemini.agent.md +108 -0
  246. package/agents/frontend/ssr-hydration-streaming-agent/harnesses/kiro-cli.agent.json +5 -0
  247. package/agents/frontend/ssr-hydration-streaming-agent/harnesses/kiro-ide.agent.md +107 -0
  248. package/agents/frontend/ssr-hydration-streaming-agent/metadata.json +40 -0
  249. package/agents/frontend/state-management-data-flow-agent/AGENT.md +126 -0
  250. package/agents/frontend/state-management-data-flow-agent/harnesses/claude-code.agent.md +109 -0
  251. package/agents/frontend/state-management-data-flow-agent/harnesses/codex.toml +41 -0
  252. package/agents/frontend/state-management-data-flow-agent/harnesses/copilot.agent.md +118 -0
  253. package/agents/frontend/state-management-data-flow-agent/harnesses/cursor.agent.md +111 -0
  254. package/agents/frontend/state-management-data-flow-agent/harnesses/gemini.agent.md +110 -0
  255. package/agents/frontend/state-management-data-flow-agent/harnesses/kiro-cli.agent.json +5 -0
  256. package/agents/frontend/state-management-data-flow-agent/harnesses/kiro-ide.agent.md +109 -0
  257. package/agents/frontend/state-management-data-flow-agent/metadata.json +40 -0
  258. package/agents/frontend/svelte-sveltekit-specialist-agent/AGENT.md +121 -0
  259. package/agents/frontend/svelte-sveltekit-specialist-agent/harnesses/claude-code.agent.md +104 -0
  260. package/agents/frontend/svelte-sveltekit-specialist-agent/harnesses/codex.toml +44 -0
  261. package/agents/frontend/svelte-sveltekit-specialist-agent/harnesses/copilot.agent.md +113 -0
  262. package/agents/frontend/svelte-sveltekit-specialist-agent/harnesses/cursor.agent.md +106 -0
  263. package/agents/frontend/svelte-sveltekit-specialist-agent/harnesses/gemini.agent.md +105 -0
  264. package/agents/frontend/svelte-sveltekit-specialist-agent/harnesses/kiro-cli.agent.json +1 -0
  265. package/agents/frontend/svelte-sveltekit-specialist-agent/harnesses/kiro-ide.agent.md +104 -0
  266. package/agents/frontend/svelte-sveltekit-specialist-agent/metadata.json +43 -0
  267. package/agents/frontend/testing-quality-engineering-agent/AGENT.md +120 -0
  268. package/agents/frontend/testing-quality-engineering-agent/harnesses/claude-code.agent.md +103 -0
  269. package/agents/frontend/testing-quality-engineering-agent/harnesses/codex.toml +41 -0
  270. package/agents/frontend/testing-quality-engineering-agent/harnesses/copilot.agent.md +112 -0
  271. package/agents/frontend/testing-quality-engineering-agent/harnesses/cursor.agent.md +105 -0
  272. package/agents/frontend/testing-quality-engineering-agent/harnesses/gemini.agent.md +104 -0
  273. package/agents/frontend/testing-quality-engineering-agent/harnesses/kiro-cli.agent.json +5 -0
  274. package/agents/frontend/testing-quality-engineering-agent/harnesses/kiro-ide.agent.md +103 -0
  275. package/agents/frontend/testing-quality-engineering-agent/metadata.json +42 -0
  276. package/agents/frontend/typescript-contracts-agent/AGENT.md +122 -0
  277. package/agents/frontend/typescript-contracts-agent/harnesses/claude-code.agent.md +105 -0
  278. package/agents/frontend/typescript-contracts-agent/harnesses/codex.toml +39 -0
  279. package/agents/frontend/typescript-contracts-agent/harnesses/copilot.agent.md +114 -0
  280. package/agents/frontend/typescript-contracts-agent/harnesses/cursor.agent.md +107 -0
  281. package/agents/frontend/typescript-contracts-agent/harnesses/gemini.agent.md +106 -0
  282. package/agents/frontend/typescript-contracts-agent/harnesses/kiro-cli.agent.json +5 -0
  283. package/agents/frontend/typescript-contracts-agent/harnesses/kiro-ide.agent.md +105 -0
  284. package/agents/frontend/typescript-contracts-agent/metadata.json +41 -0
  285. package/agents/frontend/visual-regression-agent/AGENT.md +123 -0
  286. package/agents/frontend/visual-regression-agent/harnesses/claude-code.agent.md +106 -0
  287. package/agents/frontend/visual-regression-agent/harnesses/codex.toml +40 -0
  288. package/agents/frontend/visual-regression-agent/harnesses/copilot.agent.md +115 -0
  289. package/agents/frontend/visual-regression-agent/harnesses/cursor.agent.md +108 -0
  290. package/agents/frontend/visual-regression-agent/harnesses/gemini.agent.md +107 -0
  291. package/agents/frontend/visual-regression-agent/harnesses/kiro-cli.agent.json +5 -0
  292. package/agents/frontend/visual-regression-agent/harnesses/kiro-ide.agent.md +106 -0
  293. package/agents/frontend/visual-regression-agent/metadata.json +41 -0
  294. package/agents/frontend/vue-specialist-agent/AGENT.md +126 -0
  295. package/agents/frontend/vue-specialist-agent/harnesses/claude-code.agent.md +109 -0
  296. package/agents/frontend/vue-specialist-agent/harnesses/codex.toml +61 -0
  297. package/agents/frontend/vue-specialist-agent/harnesses/copilot.agent.md +118 -0
  298. package/agents/frontend/vue-specialist-agent/harnesses/cursor.agent.md +111 -0
  299. package/agents/frontend/vue-specialist-agent/harnesses/gemini.agent.md +110 -0
  300. package/agents/frontend/vue-specialist-agent/harnesses/kiro-cli.agent.json +5 -0
  301. package/agents/frontend/vue-specialist-agent/harnesses/kiro-ide.agent.md +109 -0
  302. package/agents/frontend/vue-specialist-agent/metadata.json +45 -0
  303. package/agents/frontend/web-performance-core-vitals-agent/AGENT.md +124 -0
  304. package/agents/frontend/web-performance-core-vitals-agent/harnesses/claude-code.agent.md +107 -0
  305. package/agents/frontend/web-performance-core-vitals-agent/harnesses/codex.toml +41 -0
  306. package/agents/frontend/web-performance-core-vitals-agent/harnesses/copilot.agent.md +117 -0
  307. package/agents/frontend/web-performance-core-vitals-agent/harnesses/cursor.agent.md +110 -0
  308. package/agents/frontend/web-performance-core-vitals-agent/harnesses/gemini.agent.md +109 -0
  309. package/agents/frontend/web-performance-core-vitals-agent/harnesses/kiro-cli.agent.json +5 -0
  310. package/agents/frontend/web-performance-core-vitals-agent/harnesses/kiro-ide.agent.md +108 -0
  311. package/agents/frontend/web-performance-core-vitals-agent/metadata.json +45 -0
  312. package/agents/frontend/web-platform-foundation-agent/AGENT.md +117 -0
  313. package/agents/frontend/web-platform-foundation-agent/harnesses/claude-code.agent.md +100 -0
  314. package/agents/frontend/web-platform-foundation-agent/harnesses/codex.toml +40 -0
  315. package/agents/frontend/web-platform-foundation-agent/harnesses/copilot.agent.md +109 -0
  316. package/agents/frontend/web-platform-foundation-agent/harnesses/cursor.agent.md +102 -0
  317. package/agents/frontend/web-platform-foundation-agent/harnesses/gemini.agent.md +101 -0
  318. package/agents/frontend/web-platform-foundation-agent/harnesses/kiro-cli.agent.json +5 -0
  319. package/agents/frontend/web-platform-foundation-agent/harnesses/kiro-ide.agent.md +100 -0
  320. package/agents/frontend/web-platform-foundation-agent/metadata.json +41 -0
  321. package/catalog/agents.json +1164 -93
  322. package/catalog/asset-integrity.json +15389 -12589
  323. package/catalog/install-roles.json +103 -1
  324. package/catalog/skill-manifest.json +1909 -26
  325. package/catalog/skills.json +1672 -24
  326. package/package.json +3 -2
  327. package/plugins/vanguard-frontier-agentic/.codex-plugin/plugin.json +1 -1
  328. package/powers/README.md +3 -2
  329. package/powers/vanguard-frontend/POWER.md +42 -0
  330. package/schemas/agent.schema.json +1 -0
  331. package/schemas/skill.schema.json +1 -0
  332. package/scripts/generate-docs-data.mjs +1 -0
  333. package/scripts/generate-kiro-powers.mjs +12 -0
  334. package/scripts/update-catalog-new-agents.py +6 -1
  335. package/skills/frontend/ai-generated-frontend-code-review/SKILL.md +68 -0
  336. package/skills/frontend/ai-generated-frontend-code-review/metadata.json +27 -0
  337. package/skills/frontend/ai-generated-frontend-code-review/references/generated-a11y-gap-audit.md +55 -0
  338. package/skills/frontend/ai-generated-frontend-code-review/references/hallucinated-api-verification.md +56 -0
  339. package/skills/frontend/ai-generated-frontend-code-review/references/slopsquat-dependency-check.md +49 -0
  340. package/skills/frontend/angular-architecture-signals-review/SKILL.md +80 -0
  341. package/skills/frontend/angular-architecture-signals-review/metadata.json +28 -0
  342. package/skills/frontend/angular-architecture-signals-review/references/linked-signal-and-di-boundaries.md +46 -0
  343. package/skills/frontend/angular-architecture-signals-review/references/workflow-and-output.md +99 -0
  344. package/skills/frontend/angular-ssr-hydration-review/SKILL.md +77 -0
  345. package/skills/frontend/angular-ssr-hydration-review/metadata.json +28 -0
  346. package/skills/frontend/angular-ssr-hydration-review/references/i18n-event-replay-and-third-party-libs.md +50 -0
  347. package/skills/frontend/angular-ssr-hydration-review/references/workflow-and-output.md +101 -0
  348. package/skills/frontend/angular-template-sanitizer-security-review/SKILL.md +69 -0
  349. package/skills/frontend/angular-template-sanitizer-security-review/metadata.json +27 -0
  350. package/skills/frontend/angular-template-sanitizer-security-review/references/iframe-security-attributes.md +63 -0
  351. package/skills/frontend/angular-template-sanitizer-security-review/references/sanitizer-bypass-and-innerhtml.md +93 -0
  352. package/skills/frontend/angular-template-sanitizer-security-review/references/workflow-and-output.md +45 -0
  353. package/skills/frontend/api-integration-contract-review/SKILL.md +72 -0
  354. package/skills/frontend/api-integration-contract-review/metadata.json +27 -0
  355. package/skills/frontend/api-integration-contract-review/references/authorization-and-data-minimization.md +73 -0
  356. package/skills/frontend/api-integration-contract-review/references/error-shape-cors-versioning.md +65 -0
  357. package/skills/frontend/api-integration-contract-review/references/workflow-and-output.md +38 -0
  358. package/skills/frontend/browser-compatibility-review/SKILL.md +68 -0
  359. package/skills/frontend/browser-compatibility-review/metadata.json +27 -0
  360. package/skills/frontend/browser-compatibility-review/references/baseline-status-model.md +45 -0
  361. package/skills/frontend/browser-compatibility-review/references/browserslist-matrix-interpretation.md +49 -0
  362. package/skills/frontend/browser-compatibility-review/references/fallback-verification-patterns.md +54 -0
  363. package/skills/frontend/build-tooling-vite-webpack-review/SKILL.md +76 -0
  364. package/skills/frontend/build-tooling-vite-webpack-review/metadata.json +27 -0
  365. package/skills/frontend/build-tooling-vite-webpack-review/references/migration-and-config-diff-safety.md +41 -0
  366. package/skills/frontend/build-tooling-vite-webpack-review/references/vite-chunking-config.md +68 -0
  367. package/skills/frontend/build-tooling-vite-webpack-review/references/webpack-splitchunks-config.md +84 -0
  368. package/skills/frontend/bundle-budget-code-splitting-review/SKILL.md +76 -0
  369. package/skills/frontend/bundle-budget-code-splitting-review/metadata.json +29 -0
  370. package/skills/frontend/bundle-budget-code-splitting-review/references/budget-methodology.md +36 -0
  371. package/skills/frontend/bundle-budget-code-splitting-review/references/bundler-chunking-apis.md +116 -0
  372. package/skills/frontend/bundle-budget-code-splitting-review/references/ci-enforcement-and-verification.md +53 -0
  373. package/skills/frontend/bundle-budget-code-splitting-review/references/code-splitting-boundaries.md +46 -0
  374. package/skills/frontend/core-web-vitals-triage/SKILL.md +75 -0
  375. package/skills/frontend/core-web-vitals-triage/metadata.json +33 -0
  376. package/skills/frontend/core-web-vitals-triage/references/cls-attribution.md +45 -0
  377. package/skills/frontend/core-web-vitals-triage/references/evidence-tiers-and-handoff.md +57 -0
  378. package/skills/frontend/core-web-vitals-triage/references/inp-phase-decomposition.md +49 -0
  379. package/skills/frontend/core-web-vitals-triage/references/lcp-phase-decomposition.md +51 -0
  380. package/skills/frontend/critical-rendering-path-review/SKILL.md +67 -0
  381. package/skills/frontend/critical-rendering-path-review/metadata.json +31 -0
  382. package/skills/frontend/critical-rendering-path-review/references/lab-vs-field-evidence.md +60 -0
  383. package/skills/frontend/critical-rendering-path-review/references/layout-shift-sources.md +68 -0
  384. package/skills/frontend/critical-rendering-path-review/references/resource-loading-order.md +79 -0
  385. package/skills/frontend/css-architecture-design-system-review/SKILL.md +71 -0
  386. package/skills/frontend/css-architecture-design-system-review/metadata.json +30 -0
  387. package/skills/frontend/css-architecture-design-system-review/references/cascade-layer-strategy.md +64 -0
  388. package/skills/frontend/css-architecture-design-system-review/references/responsive-strategy.md +63 -0
  389. package/skills/frontend/css-architecture-design-system-review/references/token-conformance.md +58 -0
  390. package/skills/frontend/design-token-governance-review/SKILL.md +64 -0
  391. package/skills/frontend/design-token-governance-review/metadata.json +27 -0
  392. package/skills/frontend/design-token-governance-review/references/contrast-compliance-review.md +90 -0
  393. package/skills/frontend/design-token-governance-review/references/token-source-and-pipeline-review.md +97 -0
  394. package/skills/frontend/e2e-testing-playwright-review/SKILL.md +65 -0
  395. package/skills/frontend/e2e-testing-playwright-review/metadata.json +28 -0
  396. package/skills/frontend/e2e-testing-playwright-review/references/ci-sharding-and-parallelism.md +24 -0
  397. package/skills/frontend/e2e-testing-playwright-review/references/fixtures-and-auth-setup.md +26 -0
  398. package/skills/frontend/e2e-testing-playwright-review/references/visual-assertion-tuning.md +28 -0
  399. package/skills/frontend/edge-cache-data-bleed-review/SKILL.md +71 -0
  400. package/skills/frontend/edge-cache-data-bleed-review/metadata.json +28 -0
  401. package/skills/frontend/edge-cache-data-bleed-review/references/cache-control-and-vary-headers.md +59 -0
  402. package/skills/frontend/edge-cache-data-bleed-review/references/caching-directives-and-route-config.md +59 -0
  403. package/skills/frontend/edge-cache-data-bleed-review/references/workflow-and-output.md +47 -0
  404. package/skills/frontend/enterprise-red-team-review/SKILL.md +69 -0
  405. package/skills/frontend/enterprise-red-team-review/metadata.json +27 -0
  406. package/skills/frontend/enterprise-red-team-review/references/a11y-checklist.md +36 -0
  407. package/skills/frontend/enterprise-red-team-review/references/ai-code-review.md +44 -0
  408. package/skills/frontend/enterprise-red-team-review/references/security-checklist.md +43 -0
  409. package/skills/frontend/framework-upgrade-risk-review/SKILL.md +69 -0
  410. package/skills/frontend/framework-upgrade-risk-review/metadata.json +27 -0
  411. package/skills/frontend/framework-upgrade-risk-review/references/breaking-change-triage.md +58 -0
  412. package/skills/frontend/framework-upgrade-risk-review/references/dependency-compatibility-matrix.md +37 -0
  413. package/skills/frontend/frontend-auth-session-security-review/SKILL.md +74 -0
  414. package/skills/frontend/frontend-auth-session-security-review/metadata.json +28 -0
  415. package/skills/frontend/frontend-auth-session-security-review/references/csrf-redirect-and-oauth.md +74 -0
  416. package/skills/frontend/frontend-auth-session-security-review/references/token-storage-and-cookies.md +49 -0
  417. package/skills/frontend/frontend-auth-session-security-review/references/workflow-and-output.md +63 -0
  418. package/skills/frontend/frontend-bff-boundary-review/SKILL.md +71 -0
  419. package/skills/frontend/frontend-bff-boundary-review/metadata.json +26 -0
  420. package/skills/frontend/frontend-bff-boundary-review/references/owasp-api-trust-boundary.md +42 -0
  421. package/skills/frontend/frontend-bff-boundary-review/references/workflow-and-output.md +107 -0
  422. package/skills/frontend/frontend-board-chair/SKILL.md +67 -0
  423. package/skills/frontend/frontend-board-chair/metadata.json +27 -0
  424. package/skills/frontend/frontend-board-chair/references/conflict-resolution.md +67 -0
  425. package/skills/frontend/frontend-board-chair/references/evidence-and-handoff.md +63 -0
  426. package/skills/frontend/frontend-board-chair/references/workflow-routing.md +86 -0
  427. package/skills/frontend/frontend-dom-xss-csp-review/SKILL.md +74 -0
  428. package/skills/frontend/frontend-dom-xss-csp-review/metadata.json +28 -0
  429. package/skills/frontend/frontend-dom-xss-csp-review/references/csp-directive-review.md +80 -0
  430. package/skills/frontend/frontend-dom-xss-csp-review/references/dom-xss-sink-source-taxonomy.md +73 -0
  431. package/skills/frontend/frontend-dom-xss-csp-review/references/third-party-script-governance.md +103 -0
  432. package/skills/frontend/frontend-dom-xss-csp-review/references/trusted-types-enforcement.md +100 -0
  433. package/skills/frontend/frontend-dom-xss-csp-review/references/workflow-and-output.md +51 -0
  434. package/skills/frontend/frontend-error-boundary-resilience-review/SKILL.md +64 -0
  435. package/skills/frontend/frontend-error-boundary-resilience-review/metadata.json +27 -0
  436. package/skills/frontend/frontend-error-boundary-resilience-review/references/boundary-placement-and-granularity.md +63 -0
  437. package/skills/frontend/frontend-error-boundary-resilience-review/references/fallback-ux-and-accessibility.md +61 -0
  438. package/skills/frontend/frontend-error-boundary-resilience-review/references/observability-and-recovery.md +62 -0
  439. package/skills/frontend/frontend-finops-cost-to-serve-review/SKILL.md +58 -0
  440. package/skills/frontend/frontend-finops-cost-to-serve-review/metadata.json +27 -0
  441. package/skills/frontend/frontend-finops-cost-to-serve-review/references/ssr-isr-invocation-cost-modeling.md +83 -0
  442. package/skills/frontend/frontend-finops-cost-to-serve-review/references/third-party-script-cost-attribution.md +70 -0
  443. package/skills/frontend/frontend-maestro/SKILL.md +63 -0
  444. package/skills/frontend/frontend-maestro/metadata.json +26 -0
  445. package/skills/frontend/frontend-maestro/references/official-sources.md +28 -0
  446. package/skills/frontend/frontend-maestro/references/routing-quality-and-safety.md +67 -0
  447. package/skills/frontend/frontend-maestro/references/safety-checklist.md +45 -0
  448. package/skills/frontend/frontend-maestro/references/workflow-and-output.md +157 -0
  449. package/skills/frontend/frontend-migration-modernization-plan/SKILL.md +71 -0
  450. package/skills/frontend/frontend-migration-modernization-plan/metadata.json +27 -0
  451. package/skills/frontend/frontend-migration-modernization-plan/references/rewrite-vs-incremental-decision.md +49 -0
  452. package/skills/frontend/frontend-migration-modernization-plan/references/rollback-and-exit-criteria.md +75 -0
  453. package/skills/frontend/frontend-migration-modernization-plan/references/strangler-boundary-design.md +63 -0
  454. package/skills/frontend/frontend-observability-rum-instrumentation/SKILL.md +72 -0
  455. package/skills/frontend/frontend-observability-rum-instrumentation/metadata.json +27 -0
  456. package/skills/frontend/frontend-observability-rum-instrumentation/references/opentelemetry-web-tracing-wiring.md +135 -0
  457. package/skills/frontend/frontend-observability-rum-instrumentation/references/sampling-cardinality-pii-controls.md +96 -0
  458. package/skills/frontend/frontend-observability-rum-instrumentation/references/web-vitals-attribution-wiring.md +87 -0
  459. package/skills/frontend/frontend-platform-architecture-review/SKILL.md +71 -0
  460. package/skills/frontend/frontend-platform-architecture-review/metadata.json +27 -0
  461. package/skills/frontend/frontend-platform-architecture-review/references/rendering-topology-and-budgets.md +61 -0
  462. package/skills/frontend/frontend-platform-architecture-review/references/workflow-and-output.md +48 -0
  463. package/skills/frontend/frontend-testing-strategy-review/SKILL.md +67 -0
  464. package/skills/frontend/frontend-testing-strategy-review/metadata.json +27 -0
  465. package/skills/frontend/frontend-testing-strategy-review/references/e2e-framework-review.md +39 -0
  466. package/skills/frontend/frontend-testing-strategy-review/references/flaky-test-governance.md +55 -0
  467. package/skills/frontend/frontend-testing-strategy-review/references/pyramid-shape-and-coverage.md +62 -0
  468. package/skills/frontend/frontend-testing-strategy-review/references/unit-component-framework-review.md +35 -0
  469. package/skills/frontend/graphql-client-security-review/SKILL.md +73 -0
  470. package/skills/frontend/graphql-client-security-review/metadata.json +29 -0
  471. package/skills/frontend/graphql-client-security-review/references/cache-lifecycle-and-query-surface.md +107 -0
  472. package/skills/frontend/graphql-client-security-review/references/devtools-and-auth-header-risk.md +83 -0
  473. package/skills/frontend/graphql-client-security-review/references/workflow-and-output.md +53 -0
  474. package/skills/frontend/html-semantics-accessibility-review/SKILL.md +66 -0
  475. package/skills/frontend/html-semantics-accessibility-review/metadata.json +29 -0
  476. package/skills/frontend/html-semantics-accessibility-review/references/apg-pattern-index.md +55 -0
  477. package/skills/frontend/html-semantics-accessibility-review/references/heading-landmark-rules.md +54 -0
  478. package/skills/frontend/html-semantics-accessibility-review/references/wcag-criterion-mapping.md +40 -0
  479. package/skills/frontend/i18n-l10n-readiness-review/SKILL.md +122 -0
  480. package/skills/frontend/i18n-l10n-readiness-review/metadata.json +28 -0
  481. package/skills/frontend/i18n-l10n-readiness-review/references/intl-formatting-audit.md +101 -0
  482. package/skills/frontend/i18n-l10n-readiness-review/references/pluralization-icu-messageformat.md +132 -0
  483. package/skills/frontend/i18n-l10n-readiness-review/references/rtl-logical-properties-audit.md +125 -0
  484. package/skills/frontend/javascript-runtime-async-review/SKILL.md +70 -0
  485. package/skills/frontend/javascript-runtime-async-review/metadata.json +29 -0
  486. package/skills/frontend/javascript-runtime-async-review/references/event-loop-tracing.md +95 -0
  487. package/skills/frontend/javascript-runtime-async-review/references/race-condition-patterns.md +96 -0
  488. package/skills/frontend/javascript-runtime-async-review/references/rejection-audit.md +77 -0
  489. package/skills/frontend/legacy-jquery-to-modern-framework-review/SKILL.md +68 -0
  490. package/skills/frontend/legacy-jquery-to-modern-framework-review/metadata.json +27 -0
  491. package/skills/frontend/legacy-jquery-to-modern-framework-review/references/dom-mutation-and-plugin-side-effects.md +66 -0
  492. package/skills/frontend/legacy-jquery-to-modern-framework-review/references/event-delegation-inventory.md +60 -0
  493. package/skills/frontend/legacy-jquery-to-modern-framework-review/references/legacy-a11y-shim-audit.md +58 -0
  494. package/skills/frontend/microfrontend-boundary-review/SKILL.md +71 -0
  495. package/skills/frontend/microfrontend-boundary-review/metadata.json +26 -0
  496. package/skills/frontend/microfrontend-boundary-review/references/shared-runtime-security.md +50 -0
  497. package/skills/frontend/microfrontend-boundary-review/references/workflow-and-output.md +45 -0
  498. package/skills/frontend/monorepo-package-governance-review/SKILL.md +68 -0
  499. package/skills/frontend/monorepo-package-governance-review/metadata.json +32 -0
  500. package/skills/frontend/monorepo-package-governance-review/references/dependency-lockfile-governance.md +82 -0
  501. package/skills/frontend/monorepo-package-governance-review/references/npm-supply-chain-governance.md +95 -0
  502. package/skills/frontend/monorepo-package-governance-review/references/task-graph-review.md +82 -0
  503. package/skills/frontend/nextjs-app-router-data-fetching-review/SKILL.md +66 -0
  504. package/skills/frontend/nextjs-app-router-data-fetching-review/metadata.json +27 -0
  505. package/skills/frontend/nextjs-app-router-data-fetching-review/references/owasp-a01-broken-access-control.md +42 -0
  506. package/skills/frontend/nextjs-app-router-data-fetching-review/references/workflow-and-output.md +94 -0
  507. package/skills/frontend/nextjs-rendering-caching-review/SKILL.md +68 -0
  508. package/skills/frontend/nextjs-rendering-caching-review/metadata.json +27 -0
  509. package/skills/frontend/nextjs-rendering-caching-review/references/cache-tag-invalidation.md +45 -0
  510. package/skills/frontend/nextjs-rendering-caching-review/references/isr-reference.md +45 -0
  511. package/skills/frontend/nextjs-rendering-caching-review/references/workflow-and-output.md +85 -0
  512. package/skills/frontend/nextjs-server-security-review/SKILL.md +70 -0
  513. package/skills/frontend/nextjs-server-security-review/metadata.json +29 -0
  514. package/skills/frontend/nextjs-server-security-review/references/env-and-ssrf-surfaces.md +73 -0
  515. package/skills/frontend/nextjs-server-security-review/references/middleware-and-server-actions.md +67 -0
  516. package/skills/frontend/nextjs-server-security-review/references/workflow-and-output.md +51 -0
  517. package/skills/frontend/nuxt-fullstack-security-review/SKILL.md +161 -0
  518. package/skills/frontend/nuxt-fullstack-security-review/metadata.json +32 -0
  519. package/skills/frontend/nuxt-fullstack-security-review/references/acceptance-rubric.md +96 -0
  520. package/skills/frontend/nuxt-fullstack-security-review/references/runtime-config-and-cross-request-state.md +193 -0
  521. package/skills/frontend/nuxt-fullstack-security-review/references/ssrf-payload-and-response-headers.md +264 -0
  522. package/skills/frontend/nuxt-fullstack-security-review/references/workflow-and-output.md +127 -0
  523. package/skills/frontend/pci-payment-ui-security-review/SKILL.md +72 -0
  524. package/skills/frontend/pci-payment-ui-security-review/metadata.json +27 -0
  525. package/skills/frontend/pci-payment-ui-security-review/references/hosted-fields-and-tokenization.md +107 -0
  526. package/skills/frontend/pci-payment-ui-security-review/references/script-integrity-and-scope.md +66 -0
  527. package/skills/frontend/pci-payment-ui-security-review/references/workflow-and-output.md +52 -0
  528. package/skills/frontend/product-analytics-experimentation-review/SKILL.md +87 -0
  529. package/skills/frontend/product-analytics-experimentation-review/metadata.json +29 -0
  530. package/skills/frontend/product-analytics-experimentation-review/references/consent-and-pii-in-events.md +57 -0
  531. package/skills/frontend/product-analytics-experimentation-review/references/privacy-consent-depth-for-analytics.md +83 -0
  532. package/skills/frontend/product-analytics-experimentation-review/references/srm-and-bucketing-integrity.md +64 -0
  533. package/skills/frontend/product-analytics-experimentation-review/references/stopping-rules-and-peeking.md +61 -0
  534. package/skills/frontend/pwa-offline-readiness-review/SKILL.md +73 -0
  535. package/skills/frontend/pwa-offline-readiness-review/metadata.json +29 -0
  536. package/skills/frontend/pwa-offline-readiness-review/references/live-verification-protocol.md +67 -0
  537. package/skills/frontend/pwa-offline-readiness-review/references/manifest-installability-checklist.md +41 -0
  538. package/skills/frontend/pwa-offline-readiness-review/references/offline-fallback-precache-pattern.md +65 -0
  539. package/skills/frontend/react-component-architecture-review/SKILL.md +67 -0
  540. package/skills/frontend/react-component-architecture-review/metadata.json +27 -0
  541. package/skills/frontend/react-component-architecture-review/references/composite-widget-patterns.md +41 -0
  542. package/skills/frontend/react-component-architecture-review/references/workflow-and-output.md +84 -0
  543. package/skills/frontend/react-rsc-data-boundary-review/SKILL.md +70 -0
  544. package/skills/frontend/react-rsc-data-boundary-review/metadata.json +27 -0
  545. package/skills/frontend/react-rsc-data-boundary-review/references/boundary-data-leaks-and-taint.md +115 -0
  546. package/skills/frontend/react-rsc-data-boundary-review/references/server-actions-and-env-exposure.md +136 -0
  547. package/skills/frontend/react-rsc-data-boundary-review/references/workflow-and-output.md +48 -0
  548. package/skills/frontend/react-state-effects-review/SKILL.md +69 -0
  549. package/skills/frontend/react-state-effects-review/metadata.json +27 -0
  550. package/skills/frontend/react-state-effects-review/references/effect-cleanup-and-race-conditions.md +89 -0
  551. package/skills/frontend/react-state-effects-review/references/stale-closures-and-dependency-arrays.md +74 -0
  552. package/skills/frontend/react-state-effects-review/references/workflow-and-output.md +46 -0
  553. package/skills/frontend/routing-navigation-review/SKILL.md +72 -0
  554. package/skills/frontend/routing-navigation-review/metadata.json +27 -0
  555. package/skills/frontend/routing-navigation-review/references/code-splitting-and-url-state.md +72 -0
  556. package/skills/frontend/routing-navigation-review/references/focus-and-navigation-blocking.md +65 -0
  557. package/skills/frontend/routing-navigation-review/references/server-enforcement-patterns.md +90 -0
  558. package/skills/frontend/routing-navigation-review/references/workflow-and-output.md +68 -0
  559. package/skills/frontend/service-worker-cache-strategy-review/SKILL.md +73 -0
  560. package/skills/frontend/service-worker-cache-strategy-review/metadata.json +29 -0
  561. package/skills/frontend/service-worker-cache-strategy-review/references/cache-security-and-scope-audit.md +48 -0
  562. package/skills/frontend/service-worker-cache-strategy-review/references/route-classification-matrix.md +47 -0
  563. package/skills/frontend/service-worker-cache-strategy-review/references/workbox-strategy-semantics.md +44 -0
  564. package/skills/frontend/ssr-hydration-streaming-diagnosis/SKILL.md +69 -0
  565. package/skills/frontend/ssr-hydration-streaming-diagnosis/metadata.json +28 -0
  566. package/skills/frontend/ssr-hydration-streaming-diagnosis/references/fetch-waterfall-and-auth-timing.md +64 -0
  567. package/skills/frontend/ssr-hydration-streaming-diagnosis/references/hydration-mismatch-diagnosis.md +66 -0
  568. package/skills/frontend/ssr-hydration-streaming-diagnosis/references/suspense-streaming-structure.md +63 -0
  569. package/skills/frontend/state-management-decision-review/SKILL.md +74 -0
  570. package/skills/frontend/state-management-decision-review/metadata.json +30 -0
  571. package/skills/frontend/state-management-decision-review/references/client-store-topology-and-rerenders.md +81 -0
  572. package/skills/frontend/state-management-decision-review/references/server-state-caching-and-invalidation.md +82 -0
  573. package/skills/frontend/state-management-decision-review/references/workflow-and-output.md +63 -0
  574. package/skills/frontend/sveltekit-actions-load-security-review/SKILL.md +72 -0
  575. package/skills/frontend/sveltekit-actions-load-security-review/metadata.json +28 -0
  576. package/skills/frontend/sveltekit-actions-load-security-review/references/cookies-and-html-bindings.md +78 -0
  577. package/skills/frontend/sveltekit-actions-load-security-review/references/csrf-and-auth-boundaries.md +91 -0
  578. package/skills/frontend/sveltekit-actions-load-security-review/references/workflow-and-output.md +51 -0
  579. package/skills/frontend/sveltekit-progressive-enhancement-review/SKILL.md +68 -0
  580. package/skills/frontend/sveltekit-progressive-enhancement-review/metadata.json +27 -0
  581. package/skills/frontend/sveltekit-progressive-enhancement-review/references/failure-state-and-accessibility.md +48 -0
  582. package/skills/frontend/sveltekit-progressive-enhancement-review/references/workflow-and-output.md +63 -0
  583. package/skills/frontend/sveltekit-routing-load-review/SKILL.md +67 -0
  584. package/skills/frontend/sveltekit-routing-load-review/metadata.json +27 -0
  585. package/skills/frontend/sveltekit-routing-load-review/references/routing-conventions.md +35 -0
  586. package/skills/frontend/sveltekit-routing-load-review/references/workflow-and-output.md +60 -0
  587. package/skills/frontend/tree-shaking-dead-code-review/SKILL.md +74 -0
  588. package/skills/frontend/tree-shaking-dead-code-review/metadata.json +28 -0
  589. package/skills/frontend/tree-shaking-dead-code-review/references/esm-cjs-interop-and-verification.md +57 -0
  590. package/skills/frontend/tree-shaking-dead-code-review/references/module-format-and-sideeffects.md +61 -0
  591. package/skills/frontend/tree-shaking-dead-code-review/references/rollup-vite-treeshake-options.md +79 -0
  592. package/skills/frontend/typescript-contracts-review/SKILL.md +70 -0
  593. package/skills/frontend/typescript-contracts-review/metadata.json +29 -0
  594. package/skills/frontend/typescript-contracts-review/references/public-api-surface-diff.md +59 -0
  595. package/skills/frontend/typescript-contracts-review/references/strict-flag-posture.md +61 -0
  596. package/skills/frontend/typescript-contracts-review/references/trust-boundary-validation.md +68 -0
  597. package/skills/frontend/visual-regression-storybook-review/SKILL.md +64 -0
  598. package/skills/frontend/visual-regression-storybook-review/metadata.json +27 -0
  599. package/skills/frontend/visual-regression-storybook-review/references/accessibility-addon-gating.md +86 -0
  600. package/skills/frontend/visual-regression-storybook-review/references/test-runner-and-chromatic-wiring.md +56 -0
  601. package/skills/frontend/visual-regression-storybook-review/references/theme-and-variant-coverage.md +51 -0
  602. package/skills/frontend/vue-composition-api-architecture-review/SKILL.md +68 -0
  603. package/skills/frontend/vue-composition-api-architecture-review/metadata.json +27 -0
  604. package/skills/frontend/vue-composition-api-architecture-review/references/composable-and-script-setup-conventions.md +50 -0
  605. package/skills/frontend/vue-composition-api-architecture-review/references/reactivity-boundaries.md +44 -0
  606. package/skills/frontend/vue-composition-api-architecture-review/references/workflow-and-output.md +49 -0
  607. package/skills/frontend/vue-router-navigation-security-review/SKILL.md +155 -0
  608. package/skills/frontend/vue-router-navigation-security-review/metadata.json +30 -0
  609. package/skills/frontend/vue-router-navigation-security-review/references/acceptance-rubric.md +110 -0
  610. package/skills/frontend/vue-router-navigation-security-review/references/client-guards-and-control-flow.md +188 -0
  611. package/skills/frontend/vue-router-navigation-security-review/references/open-redirect-and-injection.md +190 -0
  612. package/skills/frontend/vue-router-navigation-security-review/references/workflow-and-output.md +134 -0
  613. package/skills/frontend/vue-ssr-security-review/SKILL.md +69 -0
  614. package/skills/frontend/vue-ssr-security-review/metadata.json +27 -0
  615. package/skills/frontend/vue-ssr-security-review/references/cross-request-state-pollution.md +98 -0
  616. package/skills/frontend/vue-ssr-security-review/references/injection-and-dynamic-urls.md +120 -0
  617. package/skills/frontend/vue-ssr-security-review/references/workflow-and-output.md +48 -0
  618. package/skills/frontend/vue-state-store-security-review/SKILL.md +168 -0
  619. package/skills/frontend/vue-state-store-security-review/metadata.json +30 -0
  620. package/skills/frontend/vue-state-store-security-review/references/acceptance-rubric.md +101 -0
  621. package/skills/frontend/vue-state-store-security-review/references/persistence-and-hydration.md +234 -0
  622. package/skills/frontend/vue-state-store-security-review/references/untrusted-payloads-and-authorization.md +200 -0
  623. package/skills/frontend/vue-state-store-security-review/references/workflow-and-output.md +142 -0
  624. package/skills/frontend/wcag-22-accessibility-audit/SKILL.md +67 -0
  625. package/skills/frontend/wcag-22-accessibility-audit/metadata.json +27 -0
  626. package/skills/frontend/wcag-22-accessibility-audit/references/act-rules-detection-boundary.md +64 -0
  627. package/skills/frontend/wcag-22-accessibility-audit/references/legal-exposure-severity.md +59 -0
  628. package/skills/frontend/wcag-22-accessibility-audit/references/wcag22-sc-index.md +114 -0
  629. package/tests/fixtures/frontend-maestro-routing/expected/001-happy-accessibility-wcag.json +6 -0
  630. package/tests/fixtures/frontend-maestro-routing/expected/002-happy-ai-assisted-frontend-review.json +6 -0
  631. package/tests/fixtures/frontend-maestro-routing/expected/003-happy-angular.json +6 -0
  632. package/tests/fixtures/frontend-maestro-routing/expected/004-happy-api-integration-bff.json +6 -0
  633. package/tests/fixtures/frontend-maestro-routing/expected/005-happy-browser-compatibility.json +6 -0
  634. package/tests/fixtures/frontend-maestro-routing/expected/006-happy-build-tooling-bundling.json +6 -0
  635. package/tests/fixtures/frontend-maestro-routing/expected/007-happy-css-architecture.json +6 -0
  636. package/tests/fixtures/frontend-maestro-routing/expected/008-happy-design-systems-governance.json +6 -0
  637. package/tests/fixtures/frontend-maestro-routing/expected/009-happy-enterprise-red-team-review.json +6 -0
  638. package/tests/fixtures/frontend-maestro-routing/expected/010-happy-frontend-finops-cost-to-serve.json +6 -0
  639. package/tests/fixtures/frontend-maestro-routing/expected/011-happy-frontend-migration-modernization.json +6 -0
  640. package/tests/fixtures/frontend-maestro-routing/expected/012-happy-frontend-observability-rum.json +6 -0
  641. package/tests/fixtures/frontend-maestro-routing/expected/013-happy-frontend-platform-architect.json +6 -0
  642. package/tests/fixtures/frontend-maestro-routing/expected/014-happy-frontend-security.json +6 -0
  643. package/tests/fixtures/frontend-maestro-routing/expected/015-happy-html-semantics.json +6 -0
  644. package/tests/fixtures/frontend-maestro-routing/expected/016-happy-internationalization-localization.json +6 -0
  645. package/tests/fixtures/frontend-maestro-routing/expected/017-happy-javascript-runtime.json +6 -0
  646. package/tests/fixtures/frontend-maestro-routing/expected/018-happy-monorepo-dx.json +6 -0
  647. package/tests/fixtures/frontend-maestro-routing/expected/019-happy-nextjs.json +6 -0
  648. package/tests/fixtures/frontend-maestro-routing/expected/020-happy-package-governance.json +6 -0
  649. package/tests/fixtures/frontend-maestro-routing/expected/021-happy-product-analytics-experimentation.json +6 -0
  650. package/tests/fixtures/frontend-maestro-routing/expected/022-happy-pwa-offline-capability.json +6 -0
  651. package/tests/fixtures/frontend-maestro-routing/expected/023-happy-react.json +6 -0
  652. package/tests/fixtures/frontend-maestro-routing/expected/024-happy-routing-navigation.json +6 -0
  653. package/tests/fixtures/frontend-maestro-routing/expected/025-happy-ssr-hydration-streaming.json +6 -0
  654. package/tests/fixtures/frontend-maestro-routing/expected/026-happy-state-management-data-flow.json +6 -0
  655. package/tests/fixtures/frontend-maestro-routing/expected/027-happy-svelte-sveltekit.json +6 -0
  656. package/tests/fixtures/frontend-maestro-routing/expected/028-happy-testing-quality-engineering.json +6 -0
  657. package/tests/fixtures/frontend-maestro-routing/expected/029-happy-typescript-contracts.json +6 -0
  658. package/tests/fixtures/frontend-maestro-routing/expected/030-happy-visual-regression.json +6 -0
  659. package/tests/fixtures/frontend-maestro-routing/expected/031-happy-vue.json +6 -0
  660. package/tests/fixtures/frontend-maestro-routing/expected/032-happy-web-performance-core-vitals.json +6 -0
  661. package/tests/fixtures/frontend-maestro-routing/expected/033-happy-web-platform-foundation.json +6 -0
  662. package/tests/fixtures/frontend-maestro-routing/expected/034-parallel-react-performance-a11y.json +7 -0
  663. package/tests/fixtures/frontend-maestro-routing/expected/035-parallel-security-and-typescript.json +7 -0
  664. package/tests/fixtures/frontend-maestro-routing/expected/036-ambiguous-vague-request.json +4 -0
  665. package/tests/fixtures/frontend-maestro-routing/expected/037-adv-instruction-injection.json +6 -0
  666. package/tests/fixtures/frontend-maestro-routing/expected/038-adv-persona-replacement.json +6 -0
  667. package/tests/fixtures/frontend-maestro-routing/expected/039-adv-liveguard-deploy-prod.json +4 -0
  668. package/tests/fixtures/frontend-maestro-routing/expected/040-adv-liveguard-flag-flip.json +4 -0
  669. package/tests/fixtures/frontend-maestro-routing/expected/041-adv-secrets-bait.json +6 -0
  670. package/tests/fixtures/frontend-maestro-routing/expected/042-adv-liveguard-production-deploy.json +4 -0
  671. package/tests/fixtures/frontend-maestro-routing/inputs/001-happy-accessibility-wcag.json +7 -0
  672. package/tests/fixtures/frontend-maestro-routing/inputs/002-happy-ai-assisted-frontend-review.json +7 -0
  673. package/tests/fixtures/frontend-maestro-routing/inputs/003-happy-angular.json +7 -0
  674. package/tests/fixtures/frontend-maestro-routing/inputs/004-happy-api-integration-bff.json +7 -0
  675. package/tests/fixtures/frontend-maestro-routing/inputs/005-happy-browser-compatibility.json +7 -0
  676. package/tests/fixtures/frontend-maestro-routing/inputs/006-happy-build-tooling-bundling.json +7 -0
  677. package/tests/fixtures/frontend-maestro-routing/inputs/007-happy-css-architecture.json +7 -0
  678. package/tests/fixtures/frontend-maestro-routing/inputs/008-happy-design-systems-governance.json +7 -0
  679. package/tests/fixtures/frontend-maestro-routing/inputs/009-happy-enterprise-red-team-review.json +7 -0
  680. package/tests/fixtures/frontend-maestro-routing/inputs/010-happy-frontend-finops-cost-to-serve.json +7 -0
  681. package/tests/fixtures/frontend-maestro-routing/inputs/011-happy-frontend-migration-modernization.json +7 -0
  682. package/tests/fixtures/frontend-maestro-routing/inputs/012-happy-frontend-observability-rum.json +7 -0
  683. package/tests/fixtures/frontend-maestro-routing/inputs/013-happy-frontend-platform-architect.json +7 -0
  684. package/tests/fixtures/frontend-maestro-routing/inputs/014-happy-frontend-security.json +7 -0
  685. package/tests/fixtures/frontend-maestro-routing/inputs/015-happy-html-semantics.json +7 -0
  686. package/tests/fixtures/frontend-maestro-routing/inputs/016-happy-internationalization-localization.json +7 -0
  687. package/tests/fixtures/frontend-maestro-routing/inputs/017-happy-javascript-runtime.json +7 -0
  688. package/tests/fixtures/frontend-maestro-routing/inputs/018-happy-monorepo-dx.json +7 -0
  689. package/tests/fixtures/frontend-maestro-routing/inputs/019-happy-nextjs.json +7 -0
  690. package/tests/fixtures/frontend-maestro-routing/inputs/020-happy-package-governance.json +7 -0
  691. package/tests/fixtures/frontend-maestro-routing/inputs/021-happy-product-analytics-experimentation.json +7 -0
  692. package/tests/fixtures/frontend-maestro-routing/inputs/022-happy-pwa-offline-capability.json +7 -0
  693. package/tests/fixtures/frontend-maestro-routing/inputs/023-happy-react.json +7 -0
  694. package/tests/fixtures/frontend-maestro-routing/inputs/024-happy-routing-navigation.json +7 -0
  695. package/tests/fixtures/frontend-maestro-routing/inputs/025-happy-ssr-hydration-streaming.json +7 -0
  696. package/tests/fixtures/frontend-maestro-routing/inputs/026-happy-state-management-data-flow.json +7 -0
  697. package/tests/fixtures/frontend-maestro-routing/inputs/027-happy-svelte-sveltekit.json +7 -0
  698. package/tests/fixtures/frontend-maestro-routing/inputs/028-happy-testing-quality-engineering.json +7 -0
  699. package/tests/fixtures/frontend-maestro-routing/inputs/029-happy-typescript-contracts.json +7 -0
  700. package/tests/fixtures/frontend-maestro-routing/inputs/030-happy-visual-regression.json +7 -0
  701. package/tests/fixtures/frontend-maestro-routing/inputs/031-happy-vue.json +7 -0
  702. package/tests/fixtures/frontend-maestro-routing/inputs/032-happy-web-performance-core-vitals.json +7 -0
  703. package/tests/fixtures/frontend-maestro-routing/inputs/033-happy-web-platform-foundation.json +7 -0
  704. package/tests/fixtures/frontend-maestro-routing/inputs/034-parallel-react-performance-a11y.json +7 -0
  705. package/tests/fixtures/frontend-maestro-routing/inputs/035-parallel-security-and-typescript.json +7 -0
  706. package/tests/fixtures/frontend-maestro-routing/inputs/036-ambiguous-vague-request.json +7 -0
  707. package/tests/fixtures/frontend-maestro-routing/inputs/037-adv-instruction-injection.json +7 -0
  708. package/tests/fixtures/frontend-maestro-routing/inputs/038-adv-persona-replacement.json +7 -0
  709. package/tests/fixtures/frontend-maestro-routing/inputs/039-adv-liveguard-deploy-prod.json +7 -0
  710. package/tests/fixtures/frontend-maestro-routing/inputs/040-adv-liveguard-flag-flip.json +7 -0
  711. package/tests/fixtures/frontend-maestro-routing/inputs/041-adv-secrets-bait.json +7 -0
  712. package/tests/fixtures/frontend-maestro-routing/inputs/042-adv-liveguard-production-deploy.json +3 -0
  713. package/tests/fixtures/frontend-maestro-routing/taxonomy.json +377 -0
  714. package/tests/fixtures/frontend-security-detection/angular-template-sanitizer-security-review/detectors.json +50 -0
  715. package/tests/fixtures/frontend-security-detection/angular-template-sanitizer-security-review/green/avatar.component.ts +19 -0
  716. package/tests/fixtures/frontend-security-detection/angular-template-sanitizer-security-review/green/comment.component.ts +12 -0
  717. package/tests/fixtures/frontend-security-detection/angular-template-sanitizer-security-review/green/embed.component.html +3 -0
  718. package/tests/fixtures/frontend-security-detection/angular-template-sanitizer-security-review/green/profile-link.component.ts +20 -0
  719. package/tests/fixtures/frontend-security-detection/angular-template-sanitizer-security-review/green/profile.component.html +4 -0
  720. package/tests/fixtures/frontend-security-detection/angular-template-sanitizer-security-review/red/avatar.component.ts +19 -0
  721. package/tests/fixtures/frontend-security-detection/angular-template-sanitizer-security-review/red/comment.component.ts +19 -0
  722. package/tests/fixtures/frontend-security-detection/angular-template-sanitizer-security-review/red/embed.component.html +5 -0
  723. package/tests/fixtures/frontend-security-detection/angular-template-sanitizer-security-review/red/profile-link.component.ts +20 -0
  724. package/tests/fixtures/frontend-security-detection/angular-template-sanitizer-security-review/red/profile.component.html +6 -0
  725. package/tests/fixtures/frontend-security-detection/edge-cache-data-bleed-review/detectors.json +50 -0
  726. package/tests/fixtures/frontend-security-detection/edge-cache-data-bleed-review/green/api-user-profile-route.ts +15 -0
  727. package/tests/fixtures/frontend-security-detection/edge-cache-data-bleed-review/green/api-user-profile-vary.ts +15 -0
  728. package/tests/fixtures/frontend-security-detection/edge-cache-data-bleed-review/green/dashboard-revalidate-cookies.tsx +32 -0
  729. package/tests/fixtures/frontend-security-detection/edge-cache-data-bleed-review/green/get-user-data.ts +13 -0
  730. package/tests/fixtures/frontend-security-detection/edge-cache-data-bleed-review/green/product-static-params.tsx +19 -0
  731. package/tests/fixtures/frontend-security-detection/edge-cache-data-bleed-review/red/api-user-profile-route.ts +17 -0
  732. package/tests/fixtures/frontend-security-detection/edge-cache-data-bleed-review/red/api-user-profile-vary.ts +16 -0
  733. package/tests/fixtures/frontend-security-detection/edge-cache-data-bleed-review/red/dashboard-revalidate-cookies.tsx +18 -0
  734. package/tests/fixtures/frontend-security-detection/edge-cache-data-bleed-review/red/get-user-data.ts +13 -0
  735. package/tests/fixtures/frontend-security-detection/edge-cache-data-bleed-review/red/product-static-params.tsx +25 -0
  736. package/tests/fixtures/frontend-security-detection/frontend-auth-session-security-review/detectors.json +50 -0
  737. package/tests/fixtures/frontend-security-detection/frontend-auth-session-security-review/green/oauth-flow.js +14 -0
  738. package/tests/fixtures/frontend-security-detection/frontend-auth-session-security-review/green/pkce-authorize-url.js +6 -0
  739. package/tests/fixtures/frontend-security-detection/frontend-auth-session-security-review/green/redirect-validation.js +12 -0
  740. package/tests/fixtures/frontend-security-detection/frontend-auth-session-security-review/green/session-cookie.js +6 -0
  741. package/tests/fixtures/frontend-security-detection/frontend-auth-session-security-review/green/token-storage.js +24 -0
  742. package/tests/fixtures/frontend-security-detection/frontend-auth-session-security-review/red/oauth-flow.js +9 -0
  743. package/tests/fixtures/frontend-security-detection/frontend-auth-session-security-review/red/pkce-authorize-url.js +7 -0
  744. package/tests/fixtures/frontend-security-detection/frontend-auth-session-security-review/red/redirect-validation.js +11 -0
  745. package/tests/fixtures/frontend-security-detection/frontend-auth-session-security-review/red/session-cookie.js +6 -0
  746. package/tests/fixtures/frontend-security-detection/frontend-auth-session-security-review/red/token-storage.js +11 -0
  747. package/tests/fixtures/frontend-security-detection/frontend-dom-xss-csp-review/detectors.json +77 -0
  748. package/tests/fixtures/frontend-security-detection/frontend-dom-xss-csp-review/green/csp-broad-script-src.txt +7 -0
  749. package/tests/fixtures/frontend-security-detection/frontend-dom-xss-csp-review/green/dangerously-set-html.jsx +6 -0
  750. package/tests/fixtures/frontend-security-detection/frontend-dom-xss-csp-review/green/dynamic-function.js +11 -0
  751. package/tests/fixtures/frontend-security-detection/frontend-dom-xss-csp-review/green/dynamic-script-untrusted-src.js +24 -0
  752. package/tests/fixtures/frontend-security-detection/frontend-dom-xss-csp-review/green/eval-config.js +8 -0
  753. package/tests/fixtures/frontend-security-detection/frontend-dom-xss-csp-review/green/innerhtml-sink.js +7 -0
  754. package/tests/fixtures/frontend-security-detection/frontend-dom-xss-csp-review/green/legacy-write.js +9 -0
  755. package/tests/fixtures/frontend-security-detection/frontend-dom-xss-csp-review/green/third-party-script-no-sri.html +14 -0
  756. package/tests/fixtures/frontend-security-detection/frontend-dom-xss-csp-review/red/csp-broad-script-src.txt +6 -0
  757. package/tests/fixtures/frontend-security-detection/frontend-dom-xss-csp-review/red/dangerously-set-html.jsx +6 -0
  758. package/tests/fixtures/frontend-security-detection/frontend-dom-xss-csp-review/red/dynamic-function.js +7 -0
  759. package/tests/fixtures/frontend-security-detection/frontend-dom-xss-csp-review/red/dynamic-script-untrusted-src.js +11 -0
  760. package/tests/fixtures/frontend-security-detection/frontend-dom-xss-csp-review/red/eval-config.js +6 -0
  761. package/tests/fixtures/frontend-security-detection/frontend-dom-xss-csp-review/red/innerhtml-sink.js +7 -0
  762. package/tests/fixtures/frontend-security-detection/frontend-dom-xss-csp-review/red/legacy-write.js +6 -0
  763. package/tests/fixtures/frontend-security-detection/frontend-dom-xss-csp-review/red/third-party-script-no-sri.html +11 -0
  764. package/tests/fixtures/frontend-security-detection/graphql-client-security-review/detectors.json +50 -0
  765. package/tests/fixtures/frontend-security-detection/graphql-client-security-review/green/apollo-client-setup.js +11 -0
  766. package/tests/fixtures/frontend-security-detection/graphql-client-security-review/green/auth-context-link.js +15 -0
  767. package/tests/fixtures/frontend-security-detection/graphql-client-security-review/green/logout-handler.js +10 -0
  768. package/tests/fixtures/frontend-security-detection/graphql-client-security-review/green/payment-cache-policy.js +33 -0
  769. package/tests/fixtures/frontend-security-detection/graphql-client-security-review/green/persisted-query-link.js +18 -0
  770. package/tests/fixtures/frontend-security-detection/graphql-client-security-review/red/apollo-client-setup.js +12 -0
  771. package/tests/fixtures/frontend-security-detection/graphql-client-security-review/red/auth-context-link.js +13 -0
  772. package/tests/fixtures/frontend-security-detection/graphql-client-security-review/red/logout-handler.js +12 -0
  773. package/tests/fixtures/frontend-security-detection/graphql-client-security-review/red/payment-cache-policy.js +21 -0
  774. package/tests/fixtures/frontend-security-detection/graphql-client-security-review/red/persisted-query-link.js +13 -0
  775. package/tests/fixtures/frontend-security-detection/nextjs-server-security-review/detectors.json +50 -0
  776. package/tests/fixtures/frontend-security-detection/nextjs-server-security-review/green/env.server-only-secret.txt +6 -0
  777. package/tests/fixtures/frontend-security-detection/nextjs-server-security-review/green/middleware-matcher-explicit-allowlist.ts +14 -0
  778. package/tests/fixtures/frontend-security-detection/nextjs-server-security-review/green/middleware-rewrite-allowlisted.ts +19 -0
  779. package/tests/fixtures/frontend-security-detection/nextjs-server-security-review/green/next.config.local-ip-disabled.js +9 -0
  780. package/tests/fixtures/frontend-security-detection/nextjs-server-security-review/green/next.config.server-actions-with-origins.js +12 -0
  781. package/tests/fixtures/frontend-security-detection/nextjs-server-security-review/red/env.next-public-secret.txt +6 -0
  782. package/tests/fixtures/frontend-security-detection/nextjs-server-security-review/red/middleware-matcher-excludes-api.ts +16 -0
  783. package/tests/fixtures/frontend-security-detection/nextjs-server-security-review/red/middleware-rewrite-ssrf.ts +11 -0
  784. package/tests/fixtures/frontend-security-detection/nextjs-server-security-review/red/next.config.dangerously-allow-local-ip.js +11 -0
  785. package/tests/fixtures/frontend-security-detection/nextjs-server-security-review/red/next.config.server-actions-no-origins.js +14 -0
  786. package/tests/fixtures/frontend-security-detection/nuxt-fullstack-security-review/detectors.json +50 -0
  787. package/tests/fixtures/frontend-security-detection/nuxt-fullstack-security-review/green/CommentBody.vue +11 -0
  788. package/tests/fixtures/frontend-security-detection/nuxt-fullstack-security-review/green/external-call.ts +6 -0
  789. package/tests/fixtures/frontend-security-detection/nuxt-fullstack-security-review/green/nuxt.config.ts +8 -0
  790. package/tests/fixtures/frontend-security-detection/nuxt-fullstack-security-review/green/proxy.ts +11 -0
  791. package/tests/fixtures/frontend-security-detection/nuxt-fullstack-security-review/green/session.ts +5 -0
  792. package/tests/fixtures/frontend-security-detection/nuxt-fullstack-security-review/red/CommentBody.vue +9 -0
  793. package/tests/fixtures/frontend-security-detection/nuxt-fullstack-security-review/red/external-call.ts +5 -0
  794. package/tests/fixtures/frontend-security-detection/nuxt-fullstack-security-review/red/nuxt.config.ts +7 -0
  795. package/tests/fixtures/frontend-security-detection/nuxt-fullstack-security-review/red/proxy.ts +5 -0
  796. package/tests/fixtures/frontend-security-detection/nuxt-fullstack-security-review/red/session.ts +8 -0
  797. package/tests/fixtures/frontend-security-detection/pci-payment-ui-security-review/detectors.json +50 -0
  798. package/tests/fixtures/frontend-security-detection/pci-payment-ui-security-review/green/card-data-persistence.js +9 -0
  799. package/tests/fixtures/frontend-security-detection/pci-payment-ui-security-review/green/missing-iframe-isolation.jsx +26 -0
  800. package/tests/fixtures/frontend-security-detection/pci-payment-ui-security-review/green/raw-pan-input.vue +29 -0
  801. package/tests/fixtures/frontend-security-detection/pci-payment-ui-security-review/green/self-posted-card-data.ts +14 -0
  802. package/tests/fixtures/frontend-security-detection/pci-payment-ui-security-review/green/unsigned-third-party-script.html +17 -0
  803. package/tests/fixtures/frontend-security-detection/pci-payment-ui-security-review/red/card-data-persistence.js +11 -0
  804. package/tests/fixtures/frontend-security-detection/pci-payment-ui-security-review/red/missing-iframe-isolation.jsx +35 -0
  805. package/tests/fixtures/frontend-security-detection/pci-payment-ui-security-review/red/raw-pan-input.vue +27 -0
  806. package/tests/fixtures/frontend-security-detection/pci-payment-ui-security-review/red/self-posted-card-data.ts +15 -0
  807. package/tests/fixtures/frontend-security-detection/pci-payment-ui-security-review/red/unsigned-third-party-script.html +14 -0
  808. package/tests/fixtures/frontend-security-detection/react-rsc-data-boundary-review/detectors.json +50 -0
  809. package/tests/fixtures/frontend-security-detection/react-rsc-data-boundary-review/green/ClientDashboard.tsx +8 -0
  810. package/tests/fixtures/frontend-security-detection/react-rsc-data-boundary-review/green/ClientWidget.tsx +8 -0
  811. package/tests/fixtures/frontend-security-detection/react-rsc-data-boundary-review/green/Dashboard.tsx +9 -0
  812. package/tests/fixtures/frontend-security-detection/react-rsc-data-boundary-review/green/actions.ts +20 -0
  813. package/tests/fixtures/frontend-security-detection/react-rsc-data-boundary-review/green/config.ts +9 -0
  814. package/tests/fixtures/frontend-security-detection/react-rsc-data-boundary-review/red/ClientDashboard.tsx +9 -0
  815. package/tests/fixtures/frontend-security-detection/react-rsc-data-boundary-review/red/ClientWidget.tsx +9 -0
  816. package/tests/fixtures/frontend-security-detection/react-rsc-data-boundary-review/red/Dashboard.tsx +8 -0
  817. package/tests/fixtures/frontend-security-detection/react-rsc-data-boundary-review/red/actions.ts +8 -0
  818. package/tests/fixtures/frontend-security-detection/react-rsc-data-boundary-review/red/config.ts +7 -0
  819. package/tests/fixtures/frontend-security-detection/service-worker-cache-strategy-review/detectors.json +50 -0
  820. package/tests/fixtures/frontend-security-detection/service-worker-cache-strategy-review/green/auth-network-only.js +20 -0
  821. package/tests/fixtures/frontend-security-detection/service-worker-cache-strategy-review/green/cors-checked-put.js +14 -0
  822. package/tests/fixtures/frontend-security-detection/service-worker-cache-strategy-review/green/login-network-only.js +6 -0
  823. package/tests/fixtures/frontend-security-detection/service-worker-cache-strategy-review/green/nav-stale-while-revalidate.js +10 -0
  824. package/tests/fixtures/frontend-security-detection/service-worker-cache-strategy-review/green/registerroute-get-only.js +15 -0
  825. package/tests/fixtures/frontend-security-detection/service-worker-cache-strategy-review/red/auth-echo-cached.js +18 -0
  826. package/tests/fixtures/frontend-security-detection/service-worker-cache-strategy-review/red/login-cache-first.js +7 -0
  827. package/tests/fixtures/frontend-security-detection/service-worker-cache-strategy-review/red/nav-cache-first.js +10 -0
  828. package/tests/fixtures/frontend-security-detection/service-worker-cache-strategy-review/red/opaque-nocors-put.js +13 -0
  829. package/tests/fixtures/frontend-security-detection/service-worker-cache-strategy-review/red/put-non-get.js +19 -0
  830. package/tests/fixtures/frontend-security-detection/sveltekit-actions-load-security-review/detectors.json +50 -0
  831. package/tests/fixtures/frontend-security-detection/sveltekit-actions-load-security-review/green/CommentBody.svelte +12 -0
  832. package/tests/fixtures/frontend-security-detection/sveltekit-actions-load-security-review/green/csrf-disabled.config.js +14 -0
  833. package/tests/fixtures/frontend-security-detection/sveltekit-actions-load-security-review/green/csrf-wildcard-origins.config.js +14 -0
  834. package/tests/fixtures/frontend-security-detection/sveltekit-actions-load-security-review/green/load-session-leak.server.js +12 -0
  835. package/tests/fixtures/frontend-security-detection/sveltekit-actions-load-security-review/green/set-cookie-insecure.server.js +15 -0
  836. package/tests/fixtures/frontend-security-detection/sveltekit-actions-load-security-review/red/CommentBody.svelte +12 -0
  837. package/tests/fixtures/frontend-security-detection/sveltekit-actions-load-security-review/red/csrf-disabled.config.js +16 -0
  838. package/tests/fixtures/frontend-security-detection/sveltekit-actions-load-security-review/red/csrf-wildcard-origins.config.js +16 -0
  839. package/tests/fixtures/frontend-security-detection/sveltekit-actions-load-security-review/red/load-session-leak.server.js +12 -0
  840. package/tests/fixtures/frontend-security-detection/sveltekit-actions-load-security-review/red/set-cookie-insecure.server.js +15 -0
  841. package/tests/fixtures/frontend-security-detection/vue-router-navigation-security-review/detectors.json +50 -0
  842. package/tests/fixtures/frontend-security-detection/vue-router-navigation-security-review/green/guard-sole-authz.js +11 -0
  843. package/tests/fixtures/frontend-security-detection/vue-router-navigation-security-review/green/open-redirect.js +10 -0
  844. package/tests/fixtures/frontend-security-detection/vue-router-navigation-security-review/green/redirect-loop.js +8 -0
  845. package/tests/fixtures/frontend-security-detection/vue-router-navigation-security-review/green/reflected-xss.vue +14 -0
  846. package/tests/fixtures/frontend-security-detection/vue-router-navigation-security-review/green/scheme-injection.vue +19 -0
  847. package/tests/fixtures/frontend-security-detection/vue-router-navigation-security-review/red/guard-sole-authz.js +8 -0
  848. package/tests/fixtures/frontend-security-detection/vue-router-navigation-security-review/red/open-redirect.js +7 -0
  849. package/tests/fixtures/frontend-security-detection/vue-router-navigation-security-review/red/redirect-loop.js +8 -0
  850. package/tests/fixtures/frontend-security-detection/vue-router-navigation-security-review/red/reflected-xss.vue +10 -0
  851. package/tests/fixtures/frontend-security-detection/vue-router-navigation-security-review/red/scheme-injection.vue +10 -0
  852. package/tests/fixtures/frontend-security-detection/vue-ssr-security-review/detectors.json +41 -0
  853. package/tests/fixtures/frontend-security-detection/vue-ssr-security-review/green/AvatarImage.vue +18 -0
  854. package/tests/fixtures/frontend-security-detection/vue-ssr-security-review/green/ProfileLink.vue +19 -0
  855. package/tests/fixtures/frontend-security-detection/vue-ssr-security-review/green/UserBio.vue +9 -0
  856. package/tests/fixtures/frontend-security-detection/vue-ssr-security-review/green/entry-server.js +21 -0
  857. package/tests/fixtures/frontend-security-detection/vue-ssr-security-review/red/AvatarImage.vue +9 -0
  858. package/tests/fixtures/frontend-security-detection/vue-ssr-security-review/red/ProfileLink.vue +9 -0
  859. package/tests/fixtures/frontend-security-detection/vue-ssr-security-review/red/UserBio.vue +9 -0
  860. package/tests/fixtures/frontend-security-detection/vue-ssr-security-review/red/entry-server.js +22 -0
  861. package/tests/fixtures/frontend-security-detection/vue-state-store-security-review/detectors.json +50 -0
  862. package/tests/fixtures/frontend-security-detection/vue-state-store-security-review/green/auth-flag-ui-only.js +18 -0
  863. package/tests/fixtures/frontend-security-detection/vue-state-store-security-review/green/hydrate-validated.js +14 -0
  864. package/tests/fixtures/frontend-security-detection/vue-state-store-security-review/green/hydration-devalue.js +15 -0
  865. package/tests/fixtures/frontend-security-detection/vue-state-store-security-review/green/persist-scoped.js +22 -0
  866. package/tests/fixtures/frontend-security-detection/vue-state-store-security-review/green/ssr-per-request.js +14 -0
  867. package/tests/fixtures/frontend-security-detection/vue-state-store-security-review/red/auth-flag-gate.js +14 -0
  868. package/tests/fixtures/frontend-security-detection/vue-state-store-security-review/red/hydrate-unvalidated.js +10 -0
  869. package/tests/fixtures/frontend-security-detection/vue-state-store-security-review/red/hydration-serialize.js +13 -0
  870. package/tests/fixtures/frontend-security-detection/vue-state-store-security-review/red/persist-unscoped.js +19 -0
  871. package/tests/fixtures/frontend-security-detection/vue-state-store-security-review/red/ssr-singleton.js +15 -0
  872. package/tests/validate-catalog.py +1 -0
  873. package/tests/validate-frontend-security-detection.py +209 -0
@@ -64,6 +64,38 @@
64
64
  }
65
65
  ]
66
66
  },
67
+ {
68
+ "id": "ai-generated-frontend-code-review",
69
+ "path": "skills/frontend/ai-generated-frontend-code-review",
70
+ "aggregate_sha256": "24b8609c9da81c95a7d832f12ea845bc6498385ac38042077489716e70686bf5",
71
+ "files": [
72
+ {
73
+ "path": "skills/frontend/ai-generated-frontend-code-review/SKILL.md",
74
+ "sha256": "28d4fc74581690832b65330ad16065d944bfa99308d6acd2898205e828494fb8",
75
+ "bytes": 8134
76
+ },
77
+ {
78
+ "path": "skills/frontend/ai-generated-frontend-code-review/metadata.json",
79
+ "sha256": "169c77cb57766df690d9aa331ae9b0905e38fe307a554a7aed88ba613614eb3c",
80
+ "bytes": 1554
81
+ },
82
+ {
83
+ "path": "skills/frontend/ai-generated-frontend-code-review/references/generated-a11y-gap-audit.md",
84
+ "sha256": "c9204f979601c8a5641207c4452da0b9b015403085ce51218e694a183ec69df1",
85
+ "bytes": 6589
86
+ },
87
+ {
88
+ "path": "skills/frontend/ai-generated-frontend-code-review/references/hallucinated-api-verification.md",
89
+ "sha256": "e244c06b1277dd7ed6d72c53ca4d5b7668e29b3f799756e9418cb7d6d0a612d8",
90
+ "bytes": 5668
91
+ },
92
+ {
93
+ "path": "skills/frontend/ai-generated-frontend-code-review/references/slopsquat-dependency-check.md",
94
+ "sha256": "30a0262678fb3d4e4160bc1c46a5640bfd38d372f6d1f6c6f070cb8c963b4920",
95
+ "bytes": 5565
96
+ }
97
+ ]
98
+ },
67
99
  {
68
100
  "id": "alibaba-ack-container-platform-operator",
69
101
  "path": "skills/alibaba/alibaba-ack-container-platform-operator",
@@ -1217,6 +1249,124 @@
1217
1249
  }
1218
1250
  ]
1219
1251
  },
1252
+ {
1253
+ "id": "angular-architecture-signals-review",
1254
+ "path": "skills/frontend/angular-architecture-signals-review",
1255
+ "aggregate_sha256": "06b9ddd47a9c4b51b631a090cdd6a08296cbb4366aba293aa47a3ad1d5505133",
1256
+ "files": [
1257
+ {
1258
+ "path": "skills/frontend/angular-architecture-signals-review/SKILL.md",
1259
+ "sha256": "82d87b503ec6d8668368bab1a79a89812695cfdc83d8a21b0c7a8ac2032eb5d8",
1260
+ "bytes": 8551
1261
+ },
1262
+ {
1263
+ "path": "skills/frontend/angular-architecture-signals-review/metadata.json",
1264
+ "sha256": "34abddf4d939951d988305eb34c2ad7c870cff20b3439a80c08d0e334d237202",
1265
+ "bytes": 1593
1266
+ },
1267
+ {
1268
+ "path": "skills/frontend/angular-architecture-signals-review/references/linked-signal-and-di-boundaries.md",
1269
+ "sha256": "043b7dd28f976776ddab52fa72e49b5572fef976608730a6b9825d2f59b755f7",
1270
+ "bytes": 6288
1271
+ },
1272
+ {
1273
+ "path": "skills/frontend/angular-architecture-signals-review/references/workflow-and-output.md",
1274
+ "sha256": "07f2d1488163bf20781e8d2b33772832576eaa74556aa115a844f208fdcfd913",
1275
+ "bytes": 10527
1276
+ }
1277
+ ]
1278
+ },
1279
+ {
1280
+ "id": "angular-ssr-hydration-review",
1281
+ "path": "skills/frontend/angular-ssr-hydration-review",
1282
+ "aggregate_sha256": "ddc009988e9c521d006c93476a9c0de08a90292f31e6aee42f463f702c6434f3",
1283
+ "files": [
1284
+ {
1285
+ "path": "skills/frontend/angular-ssr-hydration-review/SKILL.md",
1286
+ "sha256": "0700da3d07f5237855aa2ff4b76268ac7827bfa704712730120a8ab55433eb9e",
1287
+ "bytes": 10109
1288
+ },
1289
+ {
1290
+ "path": "skills/frontend/angular-ssr-hydration-review/metadata.json",
1291
+ "sha256": "9bc2f39ac4d28beb6daf7f5a0a748ab72e0bed59618bc7537af7c57ecbdc6891",
1292
+ "bytes": 1573
1293
+ },
1294
+ {
1295
+ "path": "skills/frontend/angular-ssr-hydration-review/references/i18n-event-replay-and-third-party-libs.md",
1296
+ "sha256": "bf1c78aa7dace6cbec2c477f04958211f707055a02b9010ecc1d255f5fd77c4c",
1297
+ "bytes": 7117
1298
+ },
1299
+ {
1300
+ "path": "skills/frontend/angular-ssr-hydration-review/references/workflow-and-output.md",
1301
+ "sha256": "c075d1dc0e31489865e08fb3dea0c3b1856d3b697c91160b81f910b316f95eac",
1302
+ "bytes": 12721
1303
+ }
1304
+ ]
1305
+ },
1306
+ {
1307
+ "id": "angular-template-sanitizer-security-review",
1308
+ "path": "skills/frontend/angular-template-sanitizer-security-review",
1309
+ "aggregate_sha256": "5c6e3ff60213be9a7b31a0eb76e9fece04c60a7536af924ff20b0205367881eb",
1310
+ "files": [
1311
+ {
1312
+ "path": "skills/frontend/angular-template-sanitizer-security-review/SKILL.md",
1313
+ "sha256": "7fc01e44fa6e05f827d927bc0bd0c17e782d57330eaaf5d216938e3ac149cc49",
1314
+ "bytes": 8615
1315
+ },
1316
+ {
1317
+ "path": "skills/frontend/angular-template-sanitizer-security-review/metadata.json",
1318
+ "sha256": "b9a4c8c4ceec90eb40d8c7f0753572f90b9686fd8262c708753c477007ed79b9",
1319
+ "bytes": 1597
1320
+ },
1321
+ {
1322
+ "path": "skills/frontend/angular-template-sanitizer-security-review/references/iframe-security-attributes.md",
1323
+ "sha256": "ebee980d20a48dada173d988651da4071daff4492e0cf20fb5cf92e4e31c338e",
1324
+ "bytes": 4999
1325
+ },
1326
+ {
1327
+ "path": "skills/frontend/angular-template-sanitizer-security-review/references/sanitizer-bypass-and-innerhtml.md",
1328
+ "sha256": "137e038fb010a43358db3f41d2426ec702aa192e1c7bf1a6121277ec1e1a2955",
1329
+ "bytes": 8179
1330
+ },
1331
+ {
1332
+ "path": "skills/frontend/angular-template-sanitizer-security-review/references/workflow-and-output.md",
1333
+ "sha256": "e51520e5c3cbd0ce254e4db90e1e03a2c796f06cf974579dbbe2babb4b526e55",
1334
+ "bytes": 5711
1335
+ }
1336
+ ]
1337
+ },
1338
+ {
1339
+ "id": "api-integration-contract-review",
1340
+ "path": "skills/frontend/api-integration-contract-review",
1341
+ "aggregate_sha256": "f9ab9cbe90c91ec123d78863e323e8c7e80d39515bd39ea2dafee10a0f724b7f",
1342
+ "files": [
1343
+ {
1344
+ "path": "skills/frontend/api-integration-contract-review/SKILL.md",
1345
+ "sha256": "8b91b4307466b5a9942f33fb0e30bd9fd1987d165ed6ae1fadec93966d20b1d1",
1346
+ "bytes": 7755
1347
+ },
1348
+ {
1349
+ "path": "skills/frontend/api-integration-contract-review/metadata.json",
1350
+ "sha256": "abf4464043982be3632f44c078f32d44102d52bf6965d852b1358e6e42b75aa6",
1351
+ "bytes": 1616
1352
+ },
1353
+ {
1354
+ "path": "skills/frontend/api-integration-contract-review/references/authorization-and-data-minimization.md",
1355
+ "sha256": "24037ba7a45a361f02f488277692e4e17f39d171e9d2d33b5bdb515a6291736d",
1356
+ "bytes": 6681
1357
+ },
1358
+ {
1359
+ "path": "skills/frontend/api-integration-contract-review/references/error-shape-cors-versioning.md",
1360
+ "sha256": "8d5a4282b3b3a5cc7b6a12b311747d5b05e2d95f344508d48e39f5a4f8da2075",
1361
+ "bytes": 6799
1362
+ },
1363
+ {
1364
+ "path": "skills/frontend/api-integration-contract-review/references/workflow-and-output.md",
1365
+ "sha256": "b47533fc101e64e0e0e342645e17f8290ce55fcbaa2fd7da2fa5e7595968c251",
1366
+ "bytes": 4175
1367
+ }
1368
+ ]
1369
+ },
1220
1370
  {
1221
1371
  "id": "argo-rollouts-progressive-delivery-review",
1222
1372
  "path": "skills/argocd/argo-rollouts-progressive-delivery-review",
@@ -4716,6 +4866,107 @@
4716
4866
  }
4717
4867
  ]
4718
4868
  },
4869
+ {
4870
+ "id": "browser-compatibility-review",
4871
+ "path": "skills/frontend/browser-compatibility-review",
4872
+ "aggregate_sha256": "ed167b3ed4b993029f292cbed4eab3c1fe8ba0af97b0bf6d196618ce63a3fe2c",
4873
+ "files": [
4874
+ {
4875
+ "path": "skills/frontend/browser-compatibility-review/SKILL.md",
4876
+ "sha256": "dba3e5141f1472b67c9f85893f11875fcbdec7a5437b415415887215b1eaf25e",
4877
+ "bytes": 7518
4878
+ },
4879
+ {
4880
+ "path": "skills/frontend/browser-compatibility-review/metadata.json",
4881
+ "sha256": "a66aa5395b242d33c458c4c130007e507f931c0c344ed01b82fc5e410475a001",
4882
+ "bytes": 1013
4883
+ },
4884
+ {
4885
+ "path": "skills/frontend/browser-compatibility-review/references/baseline-status-model.md",
4886
+ "sha256": "502709fe374b8a54b6bfd01ea2aa5d597e8c6c82ede2139ead62bab707a59333",
4887
+ "bytes": 5061
4888
+ },
4889
+ {
4890
+ "path": "skills/frontend/browser-compatibility-review/references/browserslist-matrix-interpretation.md",
4891
+ "sha256": "43fa68d5fdc60a59b24de227d3a4d2e4cc02bf3bd8174dcd3d13092203c2f111",
4892
+ "bytes": 5757
4893
+ },
4894
+ {
4895
+ "path": "skills/frontend/browser-compatibility-review/references/fallback-verification-patterns.md",
4896
+ "sha256": "42b5a57ce5a743e7c0560cbe140231ce2e4610a6d8fc59165a1f0ac97926eba9",
4897
+ "bytes": 5451
4898
+ }
4899
+ ]
4900
+ },
4901
+ {
4902
+ "id": "build-tooling-vite-webpack-review",
4903
+ "path": "skills/frontend/build-tooling-vite-webpack-review",
4904
+ "aggregate_sha256": "226fd0d74f968e5fca79fc11cc377c45b87ecab84363c5db688ed7c7517a30c1",
4905
+ "files": [
4906
+ {
4907
+ "path": "skills/frontend/build-tooling-vite-webpack-review/SKILL.md",
4908
+ "sha256": "9c2edaf8f64ec8a0bbc10159e651f95497334c878e02f34b9f076265b7ddac54",
4909
+ "bytes": 9985
4910
+ },
4911
+ {
4912
+ "path": "skills/frontend/build-tooling-vite-webpack-review/metadata.json",
4913
+ "sha256": "efc00b48aa82e572957d6757553ff922e306c6793b0140ee539cab43fbf7b0d9",
4914
+ "bytes": 1499
4915
+ },
4916
+ {
4917
+ "path": "skills/frontend/build-tooling-vite-webpack-review/references/migration-and-config-diff-safety.md",
4918
+ "sha256": "079cb5dec6dd78af216c9ee5daa77e2238aec92ed0a1d65b97999a95ebd4ff5f",
4919
+ "bytes": 5207
4920
+ },
4921
+ {
4922
+ "path": "skills/frontend/build-tooling-vite-webpack-review/references/vite-chunking-config.md",
4923
+ "sha256": "b0be5bee6508d248f83846e09c34ab9446fda2311adc09ae3f9103f6a613fee9",
4924
+ "bytes": 7232
4925
+ },
4926
+ {
4927
+ "path": "skills/frontend/build-tooling-vite-webpack-review/references/webpack-splitchunks-config.md",
4928
+ "sha256": "a4b44493b603bcb2a4fd1fefb6fc2c9670c5619260750efdf44c16f34fc7208f",
4929
+ "bytes": 6406
4930
+ }
4931
+ ]
4932
+ },
4933
+ {
4934
+ "id": "bundle-budget-code-splitting-review",
4935
+ "path": "skills/frontend/bundle-budget-code-splitting-review",
4936
+ "aggregate_sha256": "8db5eefb128f58e8a13c2a9e5a9d15f530a7b070ff6dfdf55b8b474669937f30",
4937
+ "files": [
4938
+ {
4939
+ "path": "skills/frontend/bundle-budget-code-splitting-review/SKILL.md",
4940
+ "sha256": "32f39ae6986fa003952cf3f4b016ad11b5f7fbe15afc7dd8a4c9ec2aba3207cc",
4941
+ "bytes": 8578
4942
+ },
4943
+ {
4944
+ "path": "skills/frontend/bundle-budget-code-splitting-review/metadata.json",
4945
+ "sha256": "a192c2403146b6966baf561ab718292aa03644693743f6c877810acf5e53d241",
4946
+ "bytes": 1718
4947
+ },
4948
+ {
4949
+ "path": "skills/frontend/bundle-budget-code-splitting-review/references/budget-methodology.md",
4950
+ "sha256": "53bd03c5a652bacd172332bfb0031d425211c9556876b1e5d8dfb31fb1e48837",
4951
+ "bytes": 3896
4952
+ },
4953
+ {
4954
+ "path": "skills/frontend/bundle-budget-code-splitting-review/references/bundler-chunking-apis.md",
4955
+ "sha256": "edf076135a1e3a74f56086408e3f8069546427ce41d0bd443c6f2741f21e4fd6",
4956
+ "bytes": 4863
4957
+ },
4958
+ {
4959
+ "path": "skills/frontend/bundle-budget-code-splitting-review/references/ci-enforcement-and-verification.md",
4960
+ "sha256": "c9b29df9f1821647c1613a50b870fe621d60039e85f00f9e3a1f4468f6bcf5a1",
4961
+ "bytes": 5166
4962
+ },
4963
+ {
4964
+ "path": "skills/frontend/bundle-budget-code-splitting-review/references/code-splitting-boundaries.md",
4965
+ "sha256": "2ed84cde19871d07f6fcba52188bf7a0d343a9cbdaedfeb6988f8880381df8a1",
4966
+ "bytes": 6005
4967
+ }
4968
+ ]
4969
+ },
4719
4970
  {
4720
4971
  "id": "business-combinations-advisor",
4721
4972
  "path": "skills/accounting/business-combinations-advisor",
@@ -5256,6 +5507,107 @@
5256
5507
  }
5257
5508
  ]
5258
5509
  },
5510
+ {
5511
+ "id": "core-web-vitals-triage",
5512
+ "path": "skills/frontend/core-web-vitals-triage",
5513
+ "aggregate_sha256": "9eba9b625b688170574ec2f6f4fa009bf845b16e241a4d87f81c27402d77adf4",
5514
+ "files": [
5515
+ {
5516
+ "path": "skills/frontend/core-web-vitals-triage/SKILL.md",
5517
+ "sha256": "14691f1b8f5fc18d94f73e8fc940c8181c2dbb1aa0557b3fc8402eec6c2c28ea",
5518
+ "bytes": 8206
5519
+ },
5520
+ {
5521
+ "path": "skills/frontend/core-web-vitals-triage/metadata.json",
5522
+ "sha256": "4ff50d2233af0cd13762fa3916ce7e0b0833c65d8a8b96527b46f31437627b5f",
5523
+ "bytes": 1739
5524
+ },
5525
+ {
5526
+ "path": "skills/frontend/core-web-vitals-triage/references/cls-attribution.md",
5527
+ "sha256": "72765cb406e4f41fb90734e69ac4c16e8573fc849b1d96948dacd902c0fb93f7",
5528
+ "bytes": 5444
5529
+ },
5530
+ {
5531
+ "path": "skills/frontend/core-web-vitals-triage/references/evidence-tiers-and-handoff.md",
5532
+ "sha256": "94daacc0a9db280a875c62e4e72874820229a358bbfe50279ad5ab90bee60132",
5533
+ "bytes": 6486
5534
+ },
5535
+ {
5536
+ "path": "skills/frontend/core-web-vitals-triage/references/inp-phase-decomposition.md",
5537
+ "sha256": "6099b38136a14a8f9359877c48fddfd24a8a7e5f69691700a81dc65bfa6535ba",
5538
+ "bytes": 5359
5539
+ },
5540
+ {
5541
+ "path": "skills/frontend/core-web-vitals-triage/references/lcp-phase-decomposition.md",
5542
+ "sha256": "9d0637239c5f887dff7299989c52985855b0879d5d73b47f1e1e061e5dd566e2",
5543
+ "bytes": 5942
5544
+ }
5545
+ ]
5546
+ },
5547
+ {
5548
+ "id": "critical-rendering-path-review",
5549
+ "path": "skills/frontend/critical-rendering-path-review",
5550
+ "aggregate_sha256": "6079b373764b251d5f531b04e4d19a58291bb9a0f725421bc3070af3fbdf8b0d",
5551
+ "files": [
5552
+ {
5553
+ "path": "skills/frontend/critical-rendering-path-review/SKILL.md",
5554
+ "sha256": "4b9472fe5510e64d2b554c6718f4e223de0ee1397686fb540d4bb8e771c21d79",
5555
+ "bytes": 6829
5556
+ },
5557
+ {
5558
+ "path": "skills/frontend/critical-rendering-path-review/metadata.json",
5559
+ "sha256": "6cef158f9407d55a11fd650fb7a17a09d71cdfa356a5a0ac7bca390a2961916d",
5560
+ "bytes": 1700
5561
+ },
5562
+ {
5563
+ "path": "skills/frontend/critical-rendering-path-review/references/lab-vs-field-evidence.md",
5564
+ "sha256": "a5b5d446a0aeb3ea68dc15d3feb94a1fcbbe734f12e0b82b3bfe74db8ac7a79e",
5565
+ "bytes": 6924
5566
+ },
5567
+ {
5568
+ "path": "skills/frontend/critical-rendering-path-review/references/layout-shift-sources.md",
5569
+ "sha256": "697cc5652cc520246d1639b133dcb7d25f88ab977101f629025222fe66fd817e",
5570
+ "bytes": 6871
5571
+ },
5572
+ {
5573
+ "path": "skills/frontend/critical-rendering-path-review/references/resource-loading-order.md",
5574
+ "sha256": "73ae7500c6ab66fe053ec96f83e9bb8e6dde018c39cc24865d4f1cfe632f00a7",
5575
+ "bytes": 7595
5576
+ }
5577
+ ]
5578
+ },
5579
+ {
5580
+ "id": "css-architecture-design-system-review",
5581
+ "path": "skills/frontend/css-architecture-design-system-review",
5582
+ "aggregate_sha256": "791be7cccbed60e51c270cf877722f5c851cebc41e16e630cf627f44f757eb80",
5583
+ "files": [
5584
+ {
5585
+ "path": "skills/frontend/css-architecture-design-system-review/SKILL.md",
5586
+ "sha256": "8b067a92890b357f3f406f3cec6c51ec803b176cd3dd26a89ca76a57483db367",
5587
+ "bytes": 7223
5588
+ },
5589
+ {
5590
+ "path": "skills/frontend/css-architecture-design-system-review/metadata.json",
5591
+ "sha256": "b774ff61cca72722f1830b78a950e0baa4144beef394a0a52fe7cf767dec2054",
5592
+ "bytes": 1636
5593
+ },
5594
+ {
5595
+ "path": "skills/frontend/css-architecture-design-system-review/references/cascade-layer-strategy.md",
5596
+ "sha256": "25afcdf43980eddd958f5b0a5d1fea4a18ba3027a98969c77df67d4a1954f6e1",
5597
+ "bytes": 6670
5598
+ },
5599
+ {
5600
+ "path": "skills/frontend/css-architecture-design-system-review/references/responsive-strategy.md",
5601
+ "sha256": "43f506296d4bc105012b4bf4d4e40991b5c44fb740a03e6486f8698050c5e50e",
5602
+ "bytes": 7087
5603
+ },
5604
+ {
5605
+ "path": "skills/frontend/css-architecture-design-system-review/references/token-conformance.md",
5606
+ "sha256": "dccc4bcaaa5922262624e911891a540d2da8949ae8a4a692ef3a3d3f28e00f95",
5607
+ "bytes": 5776
5608
+ }
5609
+ ]
5610
+ },
5259
5611
  {
5260
5612
  "id": "d365-commerce",
5261
5613
  "path": "skills/microsoft/d365-commerce",
@@ -5898,6 +6250,33 @@
5898
6250
  }
5899
6251
  ]
5900
6252
  },
6253
+ {
6254
+ "id": "design-token-governance-review",
6255
+ "path": "skills/frontend/design-token-governance-review",
6256
+ "aggregate_sha256": "6ef94b5237cc2c240887ab236f339cb1670c5e1a56084c80db67797c7842f052",
6257
+ "files": [
6258
+ {
6259
+ "path": "skills/frontend/design-token-governance-review/SKILL.md",
6260
+ "sha256": "7d0e8cb627b275136bb0580f0c851714d9f71110925689ffdee9061d54cbf99f",
6261
+ "bytes": 5662
6262
+ },
6263
+ {
6264
+ "path": "skills/frontend/design-token-governance-review/metadata.json",
6265
+ "sha256": "7cf14aaa3f722eeedbd36d51cf76b96ff8b8c1a110264d540a773e931eadce0e",
6266
+ "bytes": 1079
6267
+ },
6268
+ {
6269
+ "path": "skills/frontend/design-token-governance-review/references/contrast-compliance-review.md",
6270
+ "sha256": "2e9a587bebef1f3801939a3b0c969ecb6edb826046527f4dfc4f6a494b805c8b",
6271
+ "bytes": 8314
6272
+ },
6273
+ {
6274
+ "path": "skills/frontend/design-token-governance-review/references/token-source-and-pipeline-review.md",
6275
+ "sha256": "38d709126938fd96ad40c5380566898a08b5d7f524320f48969531dd6e3cd839",
6276
+ "bytes": 8371
6277
+ }
6278
+ ]
6279
+ },
5901
6280
  {
5902
6281
  "id": "dotnet-aspire-cloud-native-review",
5903
6282
  "path": "skills/dotnet/dotnet-aspire-cloud-native-review",
@@ -6113,6 +6492,70 @@
6113
6492
  }
6114
6493
  ]
6115
6494
  },
6495
+ {
6496
+ "id": "e2e-testing-playwright-review",
6497
+ "path": "skills/frontend/e2e-testing-playwright-review",
6498
+ "aggregate_sha256": "1491ef17bed6110c245a0dd86349fa13f3fc7d64ef28d85428d9d6f95adb5ddb",
6499
+ "files": [
6500
+ {
6501
+ "path": "skills/frontend/e2e-testing-playwright-review/SKILL.md",
6502
+ "sha256": "72852890b0184a6af0fd41d920971ee6263f6733dca37e46c034fccb372014dc",
6503
+ "bytes": 6066
6504
+ },
6505
+ {
6506
+ "path": "skills/frontend/e2e-testing-playwright-review/metadata.json",
6507
+ "sha256": "eb4b615d762fff7141f5ae253d783790ba6fe34f4ab718c9e8a4cc0eed50b687",
6508
+ "bytes": 1347
6509
+ },
6510
+ {
6511
+ "path": "skills/frontend/e2e-testing-playwright-review/references/ci-sharding-and-parallelism.md",
6512
+ "sha256": "1b0a9174ee6b37ff87113cfbf4e9dd65fc99f4bd85f5a1e7e10054a4c83044f6",
6513
+ "bytes": 4246
6514
+ },
6515
+ {
6516
+ "path": "skills/frontend/e2e-testing-playwright-review/references/fixtures-and-auth-setup.md",
6517
+ "sha256": "f80dbb7869ab99b37bce8201b323c6b9d59f0bb2d52e0980e8ae68e18f0777c3",
6518
+ "bytes": 4433
6519
+ },
6520
+ {
6521
+ "path": "skills/frontend/e2e-testing-playwright-review/references/visual-assertion-tuning.md",
6522
+ "sha256": "f175660d34014c68a9f795169339a135b5d80b3ebb2b985a30d980aa19e85292",
6523
+ "bytes": 4696
6524
+ }
6525
+ ]
6526
+ },
6527
+ {
6528
+ "id": "edge-cache-data-bleed-review",
6529
+ "path": "skills/frontend/edge-cache-data-bleed-review",
6530
+ "aggregate_sha256": "c278ac81a0f3d5f9a32ec9419db88b33b19a42baf5ad22d635832e4f9e35ced8",
6531
+ "files": [
6532
+ {
6533
+ "path": "skills/frontend/edge-cache-data-bleed-review/SKILL.md",
6534
+ "sha256": "5a69855b8ab3eccf58f229704d74e507efd1ff82127e05447f72a5e156171cf8",
6535
+ "bytes": 9724
6536
+ },
6537
+ {
6538
+ "path": "skills/frontend/edge-cache-data-bleed-review/metadata.json",
6539
+ "sha256": "a18fc106297752ceca205c096ff5ce1ee23e15aa8f8acd2a060b19a15de55c29",
6540
+ "bytes": 1934
6541
+ },
6542
+ {
6543
+ "path": "skills/frontend/edge-cache-data-bleed-review/references/cache-control-and-vary-headers.md",
6544
+ "sha256": "672664329746f10ad1ddb64e8053efac0ae38a6edf44c130a69529331212c566",
6545
+ "bytes": 4007
6546
+ },
6547
+ {
6548
+ "path": "skills/frontend/edge-cache-data-bleed-review/references/caching-directives-and-route-config.md",
6549
+ "sha256": "ea332b9637436d9d8328d72553337b870e2ce8eac1003c55916d1ae4f8a4ffd0",
6550
+ "bytes": 4869
6551
+ },
6552
+ {
6553
+ "path": "skills/frontend/edge-cache-data-bleed-review/references/workflow-and-output.md",
6554
+ "sha256": "581fbd71bc47b26072997fe61cada5e7cae852c990356953d2a63c2d2caf0e90",
6555
+ "bytes": 7265
6556
+ }
6557
+ ]
6558
+ },
6116
6559
  {
6117
6560
  "id": "email-sender-authentication-review",
6118
6561
  "path": "skills/marketing/email-sender-authentication-review",
@@ -6135,6 +6578,38 @@
6135
6578
  }
6136
6579
  ]
6137
6580
  },
6581
+ {
6582
+ "id": "enterprise-red-team-review",
6583
+ "path": "skills/frontend/enterprise-red-team-review",
6584
+ "aggregate_sha256": "b96e86a107a7890a3b331d550de94306f9e5cd8e6ee65e580f2bcb4e55d9272b",
6585
+ "files": [
6586
+ {
6587
+ "path": "skills/frontend/enterprise-red-team-review/SKILL.md",
6588
+ "sha256": "866823217df335b9663fd53185d4527e6f2b8a0e8f8ea70be0eab276eb393b93",
6589
+ "bytes": 7877
6590
+ },
6591
+ {
6592
+ "path": "skills/frontend/enterprise-red-team-review/metadata.json",
6593
+ "sha256": "512ea37efe9e41ef989c85ce33b5802358628ac8088e98dc795fa417c92829e8",
6594
+ "bytes": 1198
6595
+ },
6596
+ {
6597
+ "path": "skills/frontend/enterprise-red-team-review/references/a11y-checklist.md",
6598
+ "sha256": "4d010cd6a97ba9373378af4b72070a6f25dc410a1d711d0c1b4ac19a4fd14c07",
6599
+ "bytes": 4725
6600
+ },
6601
+ {
6602
+ "path": "skills/frontend/enterprise-red-team-review/references/ai-code-review.md",
6603
+ "sha256": "355ef03baa54c84a8975e310df31434fce9a5979c2578f409cf41bf1d7581a24",
6604
+ "bytes": 5072
6605
+ },
6606
+ {
6607
+ "path": "skills/frontend/enterprise-red-team-review/references/security-checklist.md",
6608
+ "sha256": "e2e0fcc90a37dae692bba4b5153407ed1cc4e594d8422e14d24a35718c095d58",
6609
+ "bytes": 4804
6610
+ }
6611
+ ]
6612
+ },
6138
6613
  {
6139
6614
  "id": "environment-to-production-release-protocol",
6140
6615
  "path": "skills/cross-functional/environment-to-production-release-protocol",
@@ -6612,41 +7087,425 @@
6612
7087
  ]
6613
7088
  },
6614
7089
  {
6615
- "id": "fx-translation-advisor",
6616
- "path": "skills/accounting/fx-translation-advisor",
6617
- "aggregate_sha256": "37955645f2f0ff8f18171216b90a6e52f604739e76fdd1d3e01081f4bb872586",
7090
+ "id": "framework-upgrade-risk-review",
7091
+ "path": "skills/frontend/framework-upgrade-risk-review",
7092
+ "aggregate_sha256": "a5a6c696013f84d3eab130b5f188ca4b89f8581bf554576901465f5ad69ca30f",
6618
7093
  "files": [
6619
7094
  {
6620
- "path": "skills/accounting/fx-translation-advisor/README.md",
6621
- "sha256": "a4dcc835cfd9da76743fc6c1bbf70bb66aed96bc771086788f308adc210c23fc",
6622
- "bytes": 2094
7095
+ "path": "skills/frontend/framework-upgrade-risk-review/SKILL.md",
7096
+ "sha256": "547c7e9e3b8905b087d2ceed963a8b2181065f56b8cafafed049c4a1494ea4d0",
7097
+ "bytes": 7219
6623
7098
  },
6624
7099
  {
6625
- "path": "skills/accounting/fx-translation-advisor/SKILL.md",
6626
- "sha256": "31670c9fd718bae56852884cc6467ce8b528b5132cd13d7ea63cdd6d848e7335",
6627
- "bytes": 18796
7100
+ "path": "skills/frontend/framework-upgrade-risk-review/metadata.json",
7101
+ "sha256": "929bc7493d5188578dff64ab31f73609084ae85a92bebe744f66f0cd5b70ffe0",
7102
+ "bytes": 1268
6628
7103
  },
6629
7104
  {
6630
- "path": "skills/accounting/fx-translation-advisor/metadata.json",
6631
- "sha256": "69606e32882382f3612f4c0bb1476f901009785328bd61af2cf0ba4ece72dac3",
6632
- "bytes": 1954
7105
+ "path": "skills/frontend/framework-upgrade-risk-review/references/breaking-change-triage.md",
7106
+ "sha256": "0c8e61f5ac82bd822509c387b2dee25e7ff30dba1eb505bba1953afb5a8bd23c",
7107
+ "bytes": 5446
7108
+ },
7109
+ {
7110
+ "path": "skills/frontend/framework-upgrade-risk-review/references/dependency-compatibility-matrix.md",
7111
+ "sha256": "6cee4f7dbe53e1439cc6f42d6d8b5c4a4c526cb77fb566eb09954d20428af259",
7112
+ "bytes": 4753
6633
7113
  }
6634
7114
  ]
6635
7115
  },
6636
7116
  {
6637
- "id": "gcp-alloydb-ai-developer",
6638
- "path": "skills/gcp/gcp-alloydb-ai-developer",
6639
- "aggregate_sha256": "191bce85bf7891337692961562de36d8cab01f798c90e929fd97b5bb96675684",
7117
+ "id": "frontend-auth-session-security-review",
7118
+ "path": "skills/frontend/frontend-auth-session-security-review",
7119
+ "aggregate_sha256": "764496fd94c0ec1b1bb95bd2c6a76248aeede0f961163b36ef1ea5cd0f91754c",
6640
7120
  "files": [
6641
7121
  {
6642
- "path": "skills/gcp/gcp-alloydb-ai-developer/SKILL.md",
6643
- "sha256": "569f67f0713c1867d1dff145145ec05fd99381bfe7ac79121586b83aca40046e",
6644
- "bytes": 4436
7122
+ "path": "skills/frontend/frontend-auth-session-security-review/SKILL.md",
7123
+ "sha256": "012fda87316531832deba6781383ac7a09f59585aeba3ec42227d6ab416a6352",
7124
+ "bytes": 8721
6645
7125
  },
6646
7126
  {
6647
- "path": "skills/gcp/gcp-alloydb-ai-developer/metadata.json",
6648
- "sha256": "0f6b17ed46f47da8af10c3252354dfabcf484e43ce7e217a9e33ddadbd9d09a0",
6649
- "bytes": 960
7127
+ "path": "skills/frontend/frontend-auth-session-security-review/metadata.json",
7128
+ "sha256": "28361d444cdf52ba9d87ae2cbe48d776f983630c9ee9c39529616226514010ec",
7129
+ "bytes": 1736
7130
+ },
7131
+ {
7132
+ "path": "skills/frontend/frontend-auth-session-security-review/references/csrf-redirect-and-oauth.md",
7133
+ "sha256": "3559bcbfc7b0e623a04ee6563f23c0760b09cd4895532dcf56df94185498f220",
7134
+ "bytes": 9522
7135
+ },
7136
+ {
7137
+ "path": "skills/frontend/frontend-auth-session-security-review/references/token-storage-and-cookies.md",
7138
+ "sha256": "7d2cd792de3396b07f184dc00a7f678cf2c06d6296fa9b068345345ab2ec6957",
7139
+ "bytes": 5729
7140
+ },
7141
+ {
7142
+ "path": "skills/frontend/frontend-auth-session-security-review/references/workflow-and-output.md",
7143
+ "sha256": "8e6b528435ea7a8c66fe93f73e6c0629bef5141b2a63bb259ca3823c4e4c2879",
7144
+ "bytes": 8702
7145
+ }
7146
+ ]
7147
+ },
7148
+ {
7149
+ "id": "frontend-bff-boundary-review",
7150
+ "path": "skills/frontend/frontend-bff-boundary-review",
7151
+ "aggregate_sha256": "be2f094740ae170ea554b3d4f64d5fb31c7fab3bf1b57c570a2657ca07944cc7",
7152
+ "files": [
7153
+ {
7154
+ "path": "skills/frontend/frontend-bff-boundary-review/SKILL.md",
7155
+ "sha256": "491a14d0eeb91f9f0b5b023ee250cbb0a2dc1af74b94afe862961de04a8ad58c",
7156
+ "bytes": 8032
7157
+ },
7158
+ {
7159
+ "path": "skills/frontend/frontend-bff-boundary-review/metadata.json",
7160
+ "sha256": "e3d9e2299a6c43f9746df6f04a7ec5fcfcd5bd17848e0819741444f95ec45a92",
7161
+ "bytes": 1763
7162
+ },
7163
+ {
7164
+ "path": "skills/frontend/frontend-bff-boundary-review/references/owasp-api-trust-boundary.md",
7165
+ "sha256": "5f082f8aa720e27120cf10d9f4bf2dc90ff2e89beaba6591d4aafd2be9c9f678",
7166
+ "bytes": 5984
7167
+ },
7168
+ {
7169
+ "path": "skills/frontend/frontend-bff-boundary-review/references/workflow-and-output.md",
7170
+ "sha256": "60ce33f19e6bd69483d8acdfcae8dfaacab4568dda7e59be2f0639b3ff6f9e2b",
7171
+ "bytes": 10550
7172
+ }
7173
+ ]
7174
+ },
7175
+ {
7176
+ "id": "frontend-board-chair",
7177
+ "path": "skills/frontend/frontend-board-chair",
7178
+ "aggregate_sha256": "e0a7724faebb7afc83711beef4885963997027ec071bb2a5068b841bb17c63c7",
7179
+ "files": [
7180
+ {
7181
+ "path": "skills/frontend/frontend-board-chair/SKILL.md",
7182
+ "sha256": "4a4ff1a19e353d96f7b3a65bb5cafefa75dd87ba5339e83fa40309055635820a",
7183
+ "bytes": 6145
7184
+ },
7185
+ {
7186
+ "path": "skills/frontend/frontend-board-chair/metadata.json",
7187
+ "sha256": "d40d3c2595322ef1f16bb74f541a3bdfc13855153312783558e71bce569d9575",
7188
+ "bytes": 1146
7189
+ },
7190
+ {
7191
+ "path": "skills/frontend/frontend-board-chair/references/conflict-resolution.md",
7192
+ "sha256": "1b3deae178d024feb5b5111357fbfdd507d03ef1f207dab9f9b00d45f2c41e61",
7193
+ "bytes": 5455
7194
+ },
7195
+ {
7196
+ "path": "skills/frontend/frontend-board-chair/references/evidence-and-handoff.md",
7197
+ "sha256": "a819bd922d30a9715d30b204b69036e0b9af14bd028c85148b18d6f430820691",
7198
+ "bytes": 5179
7199
+ },
7200
+ {
7201
+ "path": "skills/frontend/frontend-board-chair/references/workflow-routing.md",
7202
+ "sha256": "a0c9c2212cdad9317d7f2ef7d6ec6efbb5d88888312bef7f763131c6975e44e3",
7203
+ "bytes": 7238
7204
+ }
7205
+ ]
7206
+ },
7207
+ {
7208
+ "id": "frontend-dom-xss-csp-review",
7209
+ "path": "skills/frontend/frontend-dom-xss-csp-review",
7210
+ "aggregate_sha256": "e5ac7f6ced439503e867287f594405991ea30c539164225e1f8ea66b6f54b6a2",
7211
+ "files": [
7212
+ {
7213
+ "path": "skills/frontend/frontend-dom-xss-csp-review/SKILL.md",
7214
+ "sha256": "c6fd719aec87f3620dfac57eec219d60a78212f8d10dbf514b200996e21ffa54",
7215
+ "bytes": 9949
7216
+ },
7217
+ {
7218
+ "path": "skills/frontend/frontend-dom-xss-csp-review/metadata.json",
7219
+ "sha256": "f9ba58635f2da1e1b243f97525552080ed3b8e135ca672541d4eee258531750b",
7220
+ "bytes": 1845
7221
+ },
7222
+ {
7223
+ "path": "skills/frontend/frontend-dom-xss-csp-review/references/csp-directive-review.md",
7224
+ "sha256": "5a486212f68b2e0ef34a14fb60335bd9ae66be202fc06e7759431a8fe0dd1186",
7225
+ "bytes": 8213
7226
+ },
7227
+ {
7228
+ "path": "skills/frontend/frontend-dom-xss-csp-review/references/dom-xss-sink-source-taxonomy.md",
7229
+ "sha256": "dc8c2c98289b24222873271ac41f3b522c2cb363f60d3307692ab851528e3231",
7230
+ "bytes": 8025
7231
+ },
7232
+ {
7233
+ "path": "skills/frontend/frontend-dom-xss-csp-review/references/third-party-script-governance.md",
7234
+ "sha256": "bf4751af022aa5aabd332848e3f82eea916e357b126f30c89b7e3c53d214e914",
7235
+ "bytes": 10683
7236
+ },
7237
+ {
7238
+ "path": "skills/frontend/frontend-dom-xss-csp-review/references/trusted-types-enforcement.md",
7239
+ "sha256": "7f03bc72945f64320c16187fa92ebf25eb5dba3ef882457d709f3adb50ce4977",
7240
+ "bytes": 8726
7241
+ },
7242
+ {
7243
+ "path": "skills/frontend/frontend-dom-xss-csp-review/references/workflow-and-output.md",
7244
+ "sha256": "8f18b68abe6ec7dd6aedccf638803b0e60c7310ea16bb7e0d5571cd5e01f2fab",
7245
+ "bytes": 6944
7246
+ }
7247
+ ]
7248
+ },
7249
+ {
7250
+ "id": "frontend-error-boundary-resilience-review",
7251
+ "path": "skills/frontend/frontend-error-boundary-resilience-review",
7252
+ "aggregate_sha256": "169fb6d040cecca7904a5b8e20b5ffa940b6bceed635f11d59b83ced3ddcab5b",
7253
+ "files": [
7254
+ {
7255
+ "path": "skills/frontend/frontend-error-boundary-resilience-review/SKILL.md",
7256
+ "sha256": "b7315c26906d77ae3d0c6ca0082a0e96876f17ccfb90427f1e95c327d1dd56d1",
7257
+ "bytes": 7077
7258
+ },
7259
+ {
7260
+ "path": "skills/frontend/frontend-error-boundary-resilience-review/metadata.json",
7261
+ "sha256": "d4a09d2fe80e07e1d46ab5187bd0990b39c3e036863ccf2fe3e7167eff8f2f29",
7262
+ "bytes": 1379
7263
+ },
7264
+ {
7265
+ "path": "skills/frontend/frontend-error-boundary-resilience-review/references/boundary-placement-and-granularity.md",
7266
+ "sha256": "4161584fc92dde9ecdf42d1d2ba79b19fe879acaa13c56ed300e21677ca548b9",
7267
+ "bytes": 7020
7268
+ },
7269
+ {
7270
+ "path": "skills/frontend/frontend-error-boundary-resilience-review/references/fallback-ux-and-accessibility.md",
7271
+ "sha256": "f874e2946192f3e000d75388fabeb84a108f96f3cd6584f697e73e40393a3380",
7272
+ "bytes": 7071
7273
+ },
7274
+ {
7275
+ "path": "skills/frontend/frontend-error-boundary-resilience-review/references/observability-and-recovery.md",
7276
+ "sha256": "7094aaaff9a743a4465a485cb6cb78a59edcc33cf0c124b753d6fc9835bf4902",
7277
+ "bytes": 8601
7278
+ }
7279
+ ]
7280
+ },
7281
+ {
7282
+ "id": "frontend-finops-cost-to-serve-review",
7283
+ "path": "skills/frontend/frontend-finops-cost-to-serve-review",
7284
+ "aggregate_sha256": "f23b7a6db2899f52bda7e46333581d7018787a71bc160ebf681eda632a3242f3",
7285
+ "files": [
7286
+ {
7287
+ "path": "skills/frontend/frontend-finops-cost-to-serve-review/SKILL.md",
7288
+ "sha256": "ee2fc491adf7d86f0d98e48ac31a700aaf2e402f8f88b4f7408516e5079d19eb",
7289
+ "bytes": 6515
7290
+ },
7291
+ {
7292
+ "path": "skills/frontend/frontend-finops-cost-to-serve-review/metadata.json",
7293
+ "sha256": "0d31fed64f0dbd7cf4618e2bf07a9e9f57e93bdd1164182cf19993a94a512c2b",
7294
+ "bytes": 1192
7295
+ },
7296
+ {
7297
+ "path": "skills/frontend/frontend-finops-cost-to-serve-review/references/ssr-isr-invocation-cost-modeling.md",
7298
+ "sha256": "b926165a7ad885be28a1a4d55733b6ed655779682e194005312a1c76d4a56b8a",
7299
+ "bytes": 7767
7300
+ },
7301
+ {
7302
+ "path": "skills/frontend/frontend-finops-cost-to-serve-review/references/third-party-script-cost-attribution.md",
7303
+ "sha256": "29aba8000884d472fbff7704df96dfae847712da3db6a3f88d50631bcc22f86c",
7304
+ "bytes": 6879
7305
+ }
7306
+ ]
7307
+ },
7308
+ {
7309
+ "id": "frontend-maestro",
7310
+ "path": "skills/frontend/frontend-maestro",
7311
+ "aggregate_sha256": "90764c85c5cac62219b9962ebc2ea1d53db7c20ed485b282e87058f5c217e165",
7312
+ "files": [
7313
+ {
7314
+ "path": "skills/frontend/frontend-maestro/SKILL.md",
7315
+ "sha256": "b5b24bdcc34afcb7f6537c249567b5219ea24b72a7a42a6b412a43e99955cc26",
7316
+ "bytes": 6806
7317
+ },
7318
+ {
7319
+ "path": "skills/frontend/frontend-maestro/metadata.json",
7320
+ "sha256": "1ecc8a848845975da4f8b4d9783fde591a3f142b8b7115bbfb0cc71ac21848b0",
7321
+ "bytes": 1297
7322
+ },
7323
+ {
7324
+ "path": "skills/frontend/frontend-maestro/references/official-sources.md",
7325
+ "sha256": "b57cecb3abd0855dd82b552d9703e946ce80e16b750b889cd336e09e531f7dc2",
7326
+ "bytes": 3572
7327
+ },
7328
+ {
7329
+ "path": "skills/frontend/frontend-maestro/references/routing-quality-and-safety.md",
7330
+ "sha256": "684199ffe71d86280e2b3ba0bf962bd597efe6c72d256d6183bc8a0ef1dc3f00",
7331
+ "bytes": 5743
7332
+ },
7333
+ {
7334
+ "path": "skills/frontend/frontend-maestro/references/safety-checklist.md",
7335
+ "sha256": "ae51673574bde8349a2f0c6fa2774baff7b134c0589d6d1c6d410333f1fc6688",
7336
+ "bytes": 4134
7337
+ },
7338
+ {
7339
+ "path": "skills/frontend/frontend-maestro/references/workflow-and-output.md",
7340
+ "sha256": "6e1f6c3dfce08325f449102814930d2d28660438025ef97d3848e10cdeb3e6b4",
7341
+ "bytes": 11001
7342
+ }
7343
+ ]
7344
+ },
7345
+ {
7346
+ "id": "frontend-migration-modernization-plan",
7347
+ "path": "skills/frontend/frontend-migration-modernization-plan",
7348
+ "aggregate_sha256": "ca454de2db2ab3e1880ba0e1c6e07f2fb2dd7a2175bbae3233a4ab5119c45d39",
7349
+ "files": [
7350
+ {
7351
+ "path": "skills/frontend/frontend-migration-modernization-plan/SKILL.md",
7352
+ "sha256": "e952e2378012fbe13b5724b8ca332dbf424f9aa45d085ede9eebe836100da1ba",
7353
+ "bytes": 6131
7354
+ },
7355
+ {
7356
+ "path": "skills/frontend/frontend-migration-modernization-plan/metadata.json",
7357
+ "sha256": "d283f940f1cc5552287f45b6fd0ebc9409d90f9d82a4b150db1e588374ea4129",
7358
+ "bytes": 1285
7359
+ },
7360
+ {
7361
+ "path": "skills/frontend/frontend-migration-modernization-plan/references/rewrite-vs-incremental-decision.md",
7362
+ "sha256": "cf6c1919827ef3372d7bbf3759b59c6269bd7d708ccea7be47030af2170312ec",
7363
+ "bytes": 4537
7364
+ },
7365
+ {
7366
+ "path": "skills/frontend/frontend-migration-modernization-plan/references/rollback-and-exit-criteria.md",
7367
+ "sha256": "39386d5f31610db267c964d2e69401fdc762a3817323dd6000526f6a89b6ce9b",
7368
+ "bytes": 6536
7369
+ },
7370
+ {
7371
+ "path": "skills/frontend/frontend-migration-modernization-plan/references/strangler-boundary-design.md",
7372
+ "sha256": "56b8e89d53b69fdbcd107e19e962d8ba918ccb7d11da42f00694f61ce3f3aca3",
7373
+ "bytes": 6437
7374
+ }
7375
+ ]
7376
+ },
7377
+ {
7378
+ "id": "frontend-observability-rum-instrumentation",
7379
+ "path": "skills/frontend/frontend-observability-rum-instrumentation",
7380
+ "aggregate_sha256": "59a57859e47162db8db5be3397b153ab4db14cfbd458bbb238a776b2de7b1571",
7381
+ "files": [
7382
+ {
7383
+ "path": "skills/frontend/frontend-observability-rum-instrumentation/SKILL.md",
7384
+ "sha256": "3c199f8b2ddd4a808991bfb02eaa402ba5d18962c55dcae00e31e1016f3c2529",
7385
+ "bytes": 7521
7386
+ },
7387
+ {
7388
+ "path": "skills/frontend/frontend-observability-rum-instrumentation/metadata.json",
7389
+ "sha256": "69fb886d2d67a0dd425b7744b1d71c694a86aa4d8dea6de9760f4f0b708498ea",
7390
+ "bytes": 1256
7391
+ },
7392
+ {
7393
+ "path": "skills/frontend/frontend-observability-rum-instrumentation/references/opentelemetry-web-tracing-wiring.md",
7394
+ "sha256": "a676f5587af94a58353ec325f63adf8dc3faec7ad5fcc1f49f80b410adbf2400",
7395
+ "bytes": 7708
7396
+ },
7397
+ {
7398
+ "path": "skills/frontend/frontend-observability-rum-instrumentation/references/sampling-cardinality-pii-controls.md",
7399
+ "sha256": "7d6901260c874428d0ff6ea7c3d89b45c0fba884ea5cc5c2919e18da967e4cef",
7400
+ "bytes": 8061
7401
+ },
7402
+ {
7403
+ "path": "skills/frontend/frontend-observability-rum-instrumentation/references/web-vitals-attribution-wiring.md",
7404
+ "sha256": "58f7d6fb1329f96d85eaeea6395add7919579cdc3e9f824469667617e2d184aa",
7405
+ "bytes": 6792
7406
+ }
7407
+ ]
7408
+ },
7409
+ {
7410
+ "id": "frontend-platform-architecture-review",
7411
+ "path": "skills/frontend/frontend-platform-architecture-review",
7412
+ "aggregate_sha256": "163a580f2eb57eb14f62db6dc8f79bbf1d8dc510c45991f6146f2f1f2b400a5b",
7413
+ "files": [
7414
+ {
7415
+ "path": "skills/frontend/frontend-platform-architecture-review/SKILL.md",
7416
+ "sha256": "66a9ade0bfcde8c3188d15d2fa0e93cfc7d296ea02e9b27bac1d11295cae4055",
7417
+ "bytes": 6416
7418
+ },
7419
+ {
7420
+ "path": "skills/frontend/frontend-platform-architecture-review/metadata.json",
7421
+ "sha256": "1b1b493739faf979d9a2ac6a398694ba708fc382d8b5164db15767fc54f3c5c7",
7422
+ "bytes": 1527
7423
+ },
7424
+ {
7425
+ "path": "skills/frontend/frontend-platform-architecture-review/references/rendering-topology-and-budgets.md",
7426
+ "sha256": "26b971a0c7fc5d754d2ae3c52ddd7993a05166e7d394c356f439b599d45a4582",
7427
+ "bytes": 6684
7428
+ },
7429
+ {
7430
+ "path": "skills/frontend/frontend-platform-architecture-review/references/workflow-and-output.md",
7431
+ "sha256": "e64f4fb6127289324bd91d30296138d49ff04960d2c16644fa1fbe5680150fd1",
7432
+ "bytes": 5531
7433
+ }
7434
+ ]
7435
+ },
7436
+ {
7437
+ "id": "frontend-testing-strategy-review",
7438
+ "path": "skills/frontend/frontend-testing-strategy-review",
7439
+ "aggregate_sha256": "495fa6448b262e87782866f34969eabd457b0c11f135074b35fef76a55e34a3b",
7440
+ "files": [
7441
+ {
7442
+ "path": "skills/frontend/frontend-testing-strategy-review/SKILL.md",
7443
+ "sha256": "42671814dab8a86de1dcf75b6925ff4c876046f18e0696291f88e60995f87495",
7444
+ "bytes": 6392
7445
+ },
7446
+ {
7447
+ "path": "skills/frontend/frontend-testing-strategy-review/metadata.json",
7448
+ "sha256": "da99cb335abcdef0213cef7b68caeb0b414342ced67d901a3ebb42eae223cb10",
7449
+ "bytes": 1251
7450
+ },
7451
+ {
7452
+ "path": "skills/frontend/frontend-testing-strategy-review/references/e2e-framework-review.md",
7453
+ "sha256": "1fb1f63be802613a00a2c69f31d0b25fa0a7cd8c1d6cf08c2ce69f0aa32fd1a3",
7454
+ "bytes": 5756
7455
+ },
7456
+ {
7457
+ "path": "skills/frontend/frontend-testing-strategy-review/references/flaky-test-governance.md",
7458
+ "sha256": "32d1a9a190c3cd3c242b7adfb87f1eeeef192b65f055e71d38668331ca614186",
7459
+ "bytes": 5019
7460
+ },
7461
+ {
7462
+ "path": "skills/frontend/frontend-testing-strategy-review/references/pyramid-shape-and-coverage.md",
7463
+ "sha256": "c4b08c6f265c91f978b134d58c8d753dafa17125559c1013399c42ee0ae05827",
7464
+ "bytes": 5028
7465
+ },
7466
+ {
7467
+ "path": "skills/frontend/frontend-testing-strategy-review/references/unit-component-framework-review.md",
7468
+ "sha256": "2412c1d015dd96a9f72bd7e85b5080c441faecb2d38fefaf9816b7954252bdde",
7469
+ "bytes": 5052
7470
+ }
7471
+ ]
7472
+ },
7473
+ {
7474
+ "id": "fx-translation-advisor",
7475
+ "path": "skills/accounting/fx-translation-advisor",
7476
+ "aggregate_sha256": "37955645f2f0ff8f18171216b90a6e52f604739e76fdd1d3e01081f4bb872586",
7477
+ "files": [
7478
+ {
7479
+ "path": "skills/accounting/fx-translation-advisor/README.md",
7480
+ "sha256": "a4dcc835cfd9da76743fc6c1bbf70bb66aed96bc771086788f308adc210c23fc",
7481
+ "bytes": 2094
7482
+ },
7483
+ {
7484
+ "path": "skills/accounting/fx-translation-advisor/SKILL.md",
7485
+ "sha256": "31670c9fd718bae56852884cc6467ce8b528b5132cd13d7ea63cdd6d848e7335",
7486
+ "bytes": 18796
7487
+ },
7488
+ {
7489
+ "path": "skills/accounting/fx-translation-advisor/metadata.json",
7490
+ "sha256": "69606e32882382f3612f4c0bb1476f901009785328bd61af2cf0ba4ece72dac3",
7491
+ "bytes": 1954
7492
+ }
7493
+ ]
7494
+ },
7495
+ {
7496
+ "id": "gcp-alloydb-ai-developer",
7497
+ "path": "skills/gcp/gcp-alloydb-ai-developer",
7498
+ "aggregate_sha256": "191bce85bf7891337692961562de36d8cab01f798c90e929fd97b5bb96675684",
7499
+ "files": [
7500
+ {
7501
+ "path": "skills/gcp/gcp-alloydb-ai-developer/SKILL.md",
7502
+ "sha256": "569f67f0713c1867d1dff145145ec05fd99381bfe7ac79121586b83aca40046e",
7503
+ "bytes": 4436
7504
+ },
7505
+ {
7506
+ "path": "skills/gcp/gcp-alloydb-ai-developer/metadata.json",
7507
+ "sha256": "0f6b17ed46f47da8af10c3252354dfabcf484e43ce7e217a9e33ddadbd9d09a0",
7508
+ "bytes": 960
6650
7509
  }
6651
7510
  ]
6652
7511
  },
@@ -7950,6 +8809,38 @@
7950
8809
  }
7951
8810
  ]
7952
8811
  },
8812
+ {
8813
+ "id": "graphql-client-security-review",
8814
+ "path": "skills/frontend/graphql-client-security-review",
8815
+ "aggregate_sha256": "0da661e003e0e03d4e50d5e5acb9357fb8ed2ee0db519c0da5e1e1d7d39c0c7a",
8816
+ "files": [
8817
+ {
8818
+ "path": "skills/frontend/graphql-client-security-review/SKILL.md",
8819
+ "sha256": "1ecfd3e99aa0697cdeff2ab27a576461ebd413922c12a726a03afd78728bc78f",
8820
+ "bytes": 9803
8821
+ },
8822
+ {
8823
+ "path": "skills/frontend/graphql-client-security-review/metadata.json",
8824
+ "sha256": "144c48657e6806f6e9ecbab0300d791323d88c8166cf8378e9d7cee34f083bfd",
8825
+ "bytes": 2177
8826
+ },
8827
+ {
8828
+ "path": "skills/frontend/graphql-client-security-review/references/cache-lifecycle-and-query-surface.md",
8829
+ "sha256": "8c6663b9e99cc0942641e4649175a8087a4dc0ad31f351d2ffeadbbecd4ccc48",
8830
+ "bytes": 6910
8831
+ },
8832
+ {
8833
+ "path": "skills/frontend/graphql-client-security-review/references/devtools-and-auth-header-risk.md",
8834
+ "sha256": "8cc1fe866f87e4cdfbe13409bc58900fcb21213d49ae383a3b98052687f3bb4c",
8835
+ "bytes": 6222
8836
+ },
8837
+ {
8838
+ "path": "skills/frontend/graphql-client-security-review/references/workflow-and-output.md",
8839
+ "sha256": "178621a0058381b5a355b6b7c3303ae5e767cf58e786470ea2c864455d96da81",
8840
+ "bytes": 7974
8841
+ }
8842
+ ]
8843
+ },
7953
8844
  {
7954
8845
  "id": "hedge-accounting-advisor",
7955
8846
  "path": "skills/accounting/hedge-accounting-advisor",
@@ -8233,6 +9124,38 @@
8233
9124
  }
8234
9125
  ]
8235
9126
  },
9127
+ {
9128
+ "id": "html-semantics-accessibility-review",
9129
+ "path": "skills/frontend/html-semantics-accessibility-review",
9130
+ "aggregate_sha256": "66b603944864add89b6d0cfbaec13fcf7194c60ce71b6113894bd9bdb9c85036",
9131
+ "files": [
9132
+ {
9133
+ "path": "skills/frontend/html-semantics-accessibility-review/SKILL.md",
9134
+ "sha256": "dca517196d7fc6f8178bc718a5b04ac99724ba699c26823582cf8eaa79d887f2",
9135
+ "bytes": 6115
9136
+ },
9137
+ {
9138
+ "path": "skills/frontend/html-semantics-accessibility-review/metadata.json",
9139
+ "sha256": "60bc02d82bc03752219e30d2f3d3cf042c1d947d1a6efc66c4ce1f4a297a2dcd",
9140
+ "bytes": 1523
9141
+ },
9142
+ {
9143
+ "path": "skills/frontend/html-semantics-accessibility-review/references/apg-pattern-index.md",
9144
+ "sha256": "8379212b9f7317732a2f02fe92139b7187adf4567b3867e63cca6f0f61872858",
9145
+ "bytes": 5056
9146
+ },
9147
+ {
9148
+ "path": "skills/frontend/html-semantics-accessibility-review/references/heading-landmark-rules.md",
9149
+ "sha256": "80cf1eca1fa7cfdf64ec3984486f75d2bbaa16085836b163ab8334455ffd71cf",
9150
+ "bytes": 4821
9151
+ },
9152
+ {
9153
+ "path": "skills/frontend/html-semantics-accessibility-review/references/wcag-criterion-mapping.md",
9154
+ "sha256": "1bd7ddceef13e2b8bc99a7b6b34fcaa50c8a3b80135a2242788bc7906a3f8c40",
9155
+ "bytes": 4639
9156
+ }
9157
+ ]
9158
+ },
8236
9159
  {
8237
9160
  "id": "huawei-cce-container-platform-operator",
8238
9161
  "path": "skills/huawei/huawei-cce-container-platform-operator",
@@ -9364,6 +10287,38 @@
9364
10287
  }
9365
10288
  ]
9366
10289
  },
10290
+ {
10291
+ "id": "i18n-l10n-readiness-review",
10292
+ "path": "skills/frontend/i18n-l10n-readiness-review",
10293
+ "aggregate_sha256": "61730b13a3393979267811315be789c4b83b7db5c39430f4551ab7fd773cb766",
10294
+ "files": [
10295
+ {
10296
+ "path": "skills/frontend/i18n-l10n-readiness-review/SKILL.md",
10297
+ "sha256": "bf07fb5b6be805ad1766d26c2907199adc7e0bf540c987983630d0c82245920c",
10298
+ "bytes": 7026
10299
+ },
10300
+ {
10301
+ "path": "skills/frontend/i18n-l10n-readiness-review/metadata.json",
10302
+ "sha256": "461243278fe9bd91486116c65a815c6fed464c6bfc30d021cbd0042e3a13bf1e",
10303
+ "bytes": 1091
10304
+ },
10305
+ {
10306
+ "path": "skills/frontend/i18n-l10n-readiness-review/references/intl-formatting-audit.md",
10307
+ "sha256": "7863c50452e80ff1bda88773ed076caddaab321a243a9e4c237a280963c384a5",
10308
+ "bytes": 5586
10309
+ },
10310
+ {
10311
+ "path": "skills/frontend/i18n-l10n-readiness-review/references/pluralization-icu-messageformat.md",
10312
+ "sha256": "4dcb73e913125cfb40ac5f2dac8ed0424ba68f6bb2153f38b55033ec69ac99f0",
10313
+ "bytes": 6994
10314
+ },
10315
+ {
10316
+ "path": "skills/frontend/i18n-l10n-readiness-review/references/rtl-logical-properties-audit.md",
10317
+ "sha256": "988d50fdb29ca6dcb45324a40f01956155c9c7cd21969a6fbfea5f49f925a794",
10318
+ "bytes": 7324
10319
+ }
10320
+ ]
10321
+ },
9367
10322
  {
9368
10323
  "id": "identity-to-data-access-protocol",
9369
10324
  "path": "skills/cross-functional/identity-to-data-access-protocol",
@@ -9676,6 +10631,38 @@
9676
10631
  }
9677
10632
  ]
9678
10633
  },
10634
+ {
10635
+ "id": "javascript-runtime-async-review",
10636
+ "path": "skills/frontend/javascript-runtime-async-review",
10637
+ "aggregate_sha256": "3117d189a01b7aa41486676ca57a5fcc0a670d402a5ece97189a9d4f8393c5e8",
10638
+ "files": [
10639
+ {
10640
+ "path": "skills/frontend/javascript-runtime-async-review/SKILL.md",
10641
+ "sha256": "2f740e34c25218f31e9ee85580c56df147ce5648d52724701ff2f1206bdeb3e9",
10642
+ "bytes": 6679
10643
+ },
10644
+ {
10645
+ "path": "skills/frontend/javascript-runtime-async-review/metadata.json",
10646
+ "sha256": "87b749f973c7a9dbeb4738af0747857e85e0abbd6bb2c968db4f9ec604bfc374",
10647
+ "bytes": 1741
10648
+ },
10649
+ {
10650
+ "path": "skills/frontend/javascript-runtime-async-review/references/event-loop-tracing.md",
10651
+ "sha256": "c7a9c8526ee724a2070ed594c70f759d5b28b532fbff46fae6aabfa5abbac3db",
10652
+ "bytes": 6422
10653
+ },
10654
+ {
10655
+ "path": "skills/frontend/javascript-runtime-async-review/references/race-condition-patterns.md",
10656
+ "sha256": "ca1b72e3867922654930c0f01472244d06a36418f996e0d181d697fb8bda1f46",
10657
+ "bytes": 7738
10658
+ },
10659
+ {
10660
+ "path": "skills/frontend/javascript-runtime-async-review/references/rejection-audit.md",
10661
+ "sha256": "fb1e72db9e92a6331379c6a6d1e07d7e19d3028ad8d7d5ff2e15aa07a60e3292",
10662
+ "bytes": 6930
10663
+ }
10664
+ ]
10665
+ },
9679
10666
  {
9680
10667
  "id": "kubecost-chargeback-allocation-review",
9681
10668
  "path": "skills/kubernetes/kubecost-chargeback-allocation-review",
@@ -10110,13 +11097,45 @@
10110
11097
  ]
10111
11098
  },
10112
11099
  {
10113
- "id": "legal-counsel-review",
10114
- "path": "skills/legal/legal-counsel-review",
10115
- "aggregate_sha256": "266b7283c3aa9301ce57ae20187dc6e2c3f609378ebe4375b01367726d20a404",
11100
+ "id": "legacy-jquery-to-modern-framework-review",
11101
+ "path": "skills/frontend/legacy-jquery-to-modern-framework-review",
11102
+ "aggregate_sha256": "78cf28cd58fad9c9bdceaa50126717bacd00056fa0c5126189306ec0e8b675e2",
10116
11103
  "files": [
10117
11104
  {
10118
- "path": "skills/legal/legal-counsel-review/SKILL.md",
10119
- "sha256": "3f5d5812da4700a67e2b4c7c8b6d505fd81a27796a9d4c6b1cf0c5805c07d42d",
11105
+ "path": "skills/frontend/legacy-jquery-to-modern-framework-review/SKILL.md",
11106
+ "sha256": "00e209eca97b4b88d754e0676e8815880f6b0143a40e3cd498121dc687fd3150",
11107
+ "bytes": 8214
11108
+ },
11109
+ {
11110
+ "path": "skills/frontend/legacy-jquery-to-modern-framework-review/metadata.json",
11111
+ "sha256": "7e47ce0642e852b75b9895251401aac33701268e76c411c8995d843e03da7801",
11112
+ "bytes": 1470
11113
+ },
11114
+ {
11115
+ "path": "skills/frontend/legacy-jquery-to-modern-framework-review/references/dom-mutation-and-plugin-side-effects.md",
11116
+ "sha256": "34c57db775e191101eb4f8f74d2d228a1f7d4ed3ffcefb19e9c80a36b9ba106e",
11117
+ "bytes": 7236
11118
+ },
11119
+ {
11120
+ "path": "skills/frontend/legacy-jquery-to-modern-framework-review/references/event-delegation-inventory.md",
11121
+ "sha256": "1d313c5347b5a1651a83b06e56b76209ab192b281a18ef27d85b53e64f45bdc7",
11122
+ "bytes": 6970
11123
+ },
11124
+ {
11125
+ "path": "skills/frontend/legacy-jquery-to-modern-framework-review/references/legacy-a11y-shim-audit.md",
11126
+ "sha256": "89f41815b4ecc6f3f45fb82b90de59a6d9c7b866823dd07071cd0be78a29e2b7",
11127
+ "bytes": 7214
11128
+ }
11129
+ ]
11130
+ },
11131
+ {
11132
+ "id": "legal-counsel-review",
11133
+ "path": "skills/legal/legal-counsel-review",
11134
+ "aggregate_sha256": "266b7283c3aa9301ce57ae20187dc6e2c3f609378ebe4375b01367726d20a404",
11135
+ "files": [
11136
+ {
11137
+ "path": "skills/legal/legal-counsel-review/SKILL.md",
11138
+ "sha256": "3f5d5812da4700a67e2b4c7c8b6d505fd81a27796a9d4c6b1cf0c5805c07d42d",
10120
11139
  "bytes": 5297
10121
11140
  },
10122
11141
  {
@@ -10868,6 +11887,33 @@
10868
11887
  }
10869
11888
  ]
10870
11889
  },
11890
+ {
11891
+ "id": "microfrontend-boundary-review",
11892
+ "path": "skills/frontend/microfrontend-boundary-review",
11893
+ "aggregate_sha256": "571bd6fa38f37a29a8af820acc996154635131b667e6326a3b7b0c42b7313341",
11894
+ "files": [
11895
+ {
11896
+ "path": "skills/frontend/microfrontend-boundary-review/SKILL.md",
11897
+ "sha256": "6af4dd677099af3763e116fa268a246b8070e58ba024109ad0b41fcb8cc44c9d",
11898
+ "bytes": 9030
11899
+ },
11900
+ {
11901
+ "path": "skills/frontend/microfrontend-boundary-review/metadata.json",
11902
+ "sha256": "ae7b179e44f1d886007d7d146f864922a994117d316500317f223aaacfe6b145",
11903
+ "bytes": 1910
11904
+ },
11905
+ {
11906
+ "path": "skills/frontend/microfrontend-boundary-review/references/shared-runtime-security.md",
11907
+ "sha256": "0d381bf1aac53844ad163909d9cdaad451493d43f196223f9c2814f8aa735694",
11908
+ "bytes": 6218
11909
+ },
11910
+ {
11911
+ "path": "skills/frontend/microfrontend-boundary-review/references/workflow-and-output.md",
11912
+ "sha256": "a882e9dc44227bd52b120faa2fb31940959e8b2bad1bd7a4afc0a7a9f67e9168",
11913
+ "bytes": 5378
11914
+ }
11915
+ ]
11916
+ },
10871
11917
  {
10872
11918
  "id": "microsoft-business-impact-value-realization",
10873
11919
  "path": "skills/microsoft/microsoft-business-impact-value-realization",
@@ -10937,6 +11983,38 @@
10937
11983
  }
10938
11984
  ]
10939
11985
  },
11986
+ {
11987
+ "id": "monorepo-package-governance-review",
11988
+ "path": "skills/frontend/monorepo-package-governance-review",
11989
+ "aggregate_sha256": "2aefd9b202b0258f77df6d2c34703a15a4ea0b650bddcb2eac81a035efabae7d",
11990
+ "files": [
11991
+ {
11992
+ "path": "skills/frontend/monorepo-package-governance-review/SKILL.md",
11993
+ "sha256": "02a050ed37b424267c84f047d00c2a16a5a204f2d7e4f409a9186c5fbe879147",
11994
+ "bytes": 7199
11995
+ },
11996
+ {
11997
+ "path": "skills/frontend/monorepo-package-governance-review/metadata.json",
11998
+ "sha256": "97b88576c7fa37ead40c46a64739c7240fdc204980b2b3d9abde67df090f5969",
11999
+ "bytes": 2593
12000
+ },
12001
+ {
12002
+ "path": "skills/frontend/monorepo-package-governance-review/references/dependency-lockfile-governance.md",
12003
+ "sha256": "ebf5881198b83230ab35f7405a4a09b356fcfae449b1e44a68d96af613973746",
12004
+ "bytes": 7922
12005
+ },
12006
+ {
12007
+ "path": "skills/frontend/monorepo-package-governance-review/references/npm-supply-chain-governance.md",
12008
+ "sha256": "764c960e001ae8323e855a3e17196e2fb77f685e5cfb02c8ecefcc3400f01a16",
12009
+ "bytes": 13162
12010
+ },
12011
+ {
12012
+ "path": "skills/frontend/monorepo-package-governance-review/references/task-graph-review.md",
12013
+ "sha256": "169e00723e5f69ab2679403e64920eadc7664301831b7e19eef7189629ebabb2",
12014
+ "bytes": 7757
12015
+ }
12016
+ ]
12017
+ },
10940
12018
  {
10941
12019
  "id": "netsuite-administrator-skill",
10942
12020
  "path": "skills/netsuite/netsuite-administrator-skill",
@@ -11962,6 +13040,134 @@
11962
13040
  }
11963
13041
  ]
11964
13042
  },
13043
+ {
13044
+ "id": "nextjs-app-router-data-fetching-review",
13045
+ "path": "skills/frontend/nextjs-app-router-data-fetching-review",
13046
+ "aggregate_sha256": "19576ebdca026faa35dccec5783d0412ecb7bc24d0e78be3b67f7ebafe7728b0",
13047
+ "files": [
13048
+ {
13049
+ "path": "skills/frontend/nextjs-app-router-data-fetching-review/SKILL.md",
13050
+ "sha256": "6ba983b545dae5c0daa82284a1aaf0e82e79bef9381e8961cc2d2fcc247f4276",
13051
+ "bytes": 5717
13052
+ },
13053
+ {
13054
+ "path": "skills/frontend/nextjs-app-router-data-fetching-review/metadata.json",
13055
+ "sha256": "02c3a71810bec434c391d55a0126598da6ac15b7254a03770c1c5e2ef30ab507",
13056
+ "bytes": 1796
13057
+ },
13058
+ {
13059
+ "path": "skills/frontend/nextjs-app-router-data-fetching-review/references/owasp-a01-broken-access-control.md",
13060
+ "sha256": "c1405d53f142a2caaf80948be65104db9824c972cc2b004ce988cef8440922ae",
13061
+ "bytes": 4053
13062
+ },
13063
+ {
13064
+ "path": "skills/frontend/nextjs-app-router-data-fetching-review/references/workflow-and-output.md",
13065
+ "sha256": "f4f524d401f8d9e439d0892d95581943afdca5124c40e70fffe94952373d048a",
13066
+ "bytes": 9337
13067
+ }
13068
+ ]
13069
+ },
13070
+ {
13071
+ "id": "nextjs-rendering-caching-review",
13072
+ "path": "skills/frontend/nextjs-rendering-caching-review",
13073
+ "aggregate_sha256": "15b024f4610698448d63b25ce891c924645b8d73dbafc98e0d8a69e8a9d127a6",
13074
+ "files": [
13075
+ {
13076
+ "path": "skills/frontend/nextjs-rendering-caching-review/SKILL.md",
13077
+ "sha256": "1af966078849145379c8de2b4567f184c655b045acfeeb17507d16f8f84a1f47",
13078
+ "bytes": 6218
13079
+ },
13080
+ {
13081
+ "path": "skills/frontend/nextjs-rendering-caching-review/metadata.json",
13082
+ "sha256": "23e2488ea332e3f023929fb92f41cdacb71a72e6c4b1d55162644bbd5b741068",
13083
+ "bytes": 1618
13084
+ },
13085
+ {
13086
+ "path": "skills/frontend/nextjs-rendering-caching-review/references/cache-tag-invalidation.md",
13087
+ "sha256": "321a865268c2cc30ca418c68e6fb1caf8fc7858a6382467ef12c36931664a2d2",
13088
+ "bytes": 5087
13089
+ },
13090
+ {
13091
+ "path": "skills/frontend/nextjs-rendering-caching-review/references/isr-reference.md",
13092
+ "sha256": "513e488560c82ccc28e174340d18252e2460c8e24309f756b4d6cab32714817d",
13093
+ "bytes": 5715
13094
+ },
13095
+ {
13096
+ "path": "skills/frontend/nextjs-rendering-caching-review/references/workflow-and-output.md",
13097
+ "sha256": "0fe0272f7d19d965c1802f322ab6eb66ca657cb9dd006a8c31bfbf87270eb5b9",
13098
+ "bytes": 7800
13099
+ }
13100
+ ]
13101
+ },
13102
+ {
13103
+ "id": "nextjs-server-security-review",
13104
+ "path": "skills/frontend/nextjs-server-security-review",
13105
+ "aggregate_sha256": "c8f750fd8398567bc4cd5364480b93a1cb81bf70b6a5d7bee1894d74750cb731",
13106
+ "files": [
13107
+ {
13108
+ "path": "skills/frontend/nextjs-server-security-review/SKILL.md",
13109
+ "sha256": "d713ae8fcb8672d9921c8b08f4397b7871ad9d3c1604a2c93f32d1be14e45953",
13110
+ "bytes": 9103
13111
+ },
13112
+ {
13113
+ "path": "skills/frontend/nextjs-server-security-review/metadata.json",
13114
+ "sha256": "65d5bf76525cb86d275147fbfdea188d85e13c208aacae721b2b56cc99dca5cc",
13115
+ "bytes": 2027
13116
+ },
13117
+ {
13118
+ "path": "skills/frontend/nextjs-server-security-review/references/env-and-ssrf-surfaces.md",
13119
+ "sha256": "c5e8f5a0233909b51af38ee299caf22b56c40e73d78bf7d8dfe56a5ca9ccb5df",
13120
+ "bytes": 6928
13121
+ },
13122
+ {
13123
+ "path": "skills/frontend/nextjs-server-security-review/references/middleware-and-server-actions.md",
13124
+ "sha256": "66d59ec3b420bc220c12920c3fdf37248a6245e7980be81324bd874315192061",
13125
+ "bytes": 5488
13126
+ },
13127
+ {
13128
+ "path": "skills/frontend/nextjs-server-security-review/references/workflow-and-output.md",
13129
+ "sha256": "d9fec3b09d81116c7373543c1ff23d8e21453fdd7c933bd2acbc7a43167c65aa",
13130
+ "bytes": 6786
13131
+ }
13132
+ ]
13133
+ },
13134
+ {
13135
+ "id": "nuxt-fullstack-security-review",
13136
+ "path": "skills/frontend/nuxt-fullstack-security-review",
13137
+ "aggregate_sha256": "0898736a697ecb626a384484c5bb530c2c3f564e2da19c62d17aea4ddf4d42b0",
13138
+ "files": [
13139
+ {
13140
+ "path": "skills/frontend/nuxt-fullstack-security-review/SKILL.md",
13141
+ "sha256": "fcb966db924475b86d413a862db55426047f4919219dea4b9efa777ccb07a5fb",
13142
+ "bytes": 9592
13143
+ },
13144
+ {
13145
+ "path": "skills/frontend/nuxt-fullstack-security-review/metadata.json",
13146
+ "sha256": "bb5fe9bf7543832e97d5db3ed2efc984304cc955ad6844a050b58b0aaad6dbe9",
13147
+ "bytes": 2416
13148
+ },
13149
+ {
13150
+ "path": "skills/frontend/nuxt-fullstack-security-review/references/acceptance-rubric.md",
13151
+ "sha256": "113cfdc90d70aefb0712e56056b64495640fa50c504640e567d7daee8d7b8e10",
13152
+ "bytes": 6702
13153
+ },
13154
+ {
13155
+ "path": "skills/frontend/nuxt-fullstack-security-review/references/runtime-config-and-cross-request-state.md",
13156
+ "sha256": "f1b0e8666427a8c655246a82229d95f580fa317793839b9df50b5dac6cfc3e78",
13157
+ "bytes": 8792
13158
+ },
13159
+ {
13160
+ "path": "skills/frontend/nuxt-fullstack-security-review/references/ssrf-payload-and-response-headers.md",
13161
+ "sha256": "92c85376d7ffe96f4c0be1f80e71f06b2f12454f5eac90ed50c39746a628b70f",
13162
+ "bytes": 13307
13163
+ },
13164
+ {
13165
+ "path": "skills/frontend/nuxt-fullstack-security-review/references/workflow-and-output.md",
13166
+ "sha256": "d463338239fe852d55f2b8e3c416501fbaac5c8f0501be1ce84a1d189b6ba882",
13167
+ "bytes": 7986
13168
+ }
13169
+ ]
13170
+ },
11965
13171
  {
11966
13172
  "id": "nvidia-agentic-ai-platform-review",
11967
13173
  "path": "skills/nvidia/nvidia-agentic-ai-platform-review",
@@ -14191,6 +15397,38 @@
14191
15397
  }
14192
15398
  ]
14193
15399
  },
15400
+ {
15401
+ "id": "pci-payment-ui-security-review",
15402
+ "path": "skills/frontend/pci-payment-ui-security-review",
15403
+ "aggregate_sha256": "b79e40ae57aacfd1c36fa095b1ad3766971011a9822c8e7bc7cd97a2b96d8398",
15404
+ "files": [
15405
+ {
15406
+ "path": "skills/frontend/pci-payment-ui-security-review/SKILL.md",
15407
+ "sha256": "a8910544461ac0a3360f7402653708b9d75fb6c7fd751f22250bee4d03d88f85",
15408
+ "bytes": 9864
15409
+ },
15410
+ {
15411
+ "path": "skills/frontend/pci-payment-ui-security-review/metadata.json",
15412
+ "sha256": "a1059b3a745fcb5dfe4bc1c9628628f9e416c28c798bb27ffdb9b9e98dfe3c36",
15413
+ "bytes": 1994
15414
+ },
15415
+ {
15416
+ "path": "skills/frontend/pci-payment-ui-security-review/references/hosted-fields-and-tokenization.md",
15417
+ "sha256": "a671cacab7419b3c641ae968fce5695748ddb722c853cf755da6cb8946aa0a8d",
15418
+ "bytes": 7906
15419
+ },
15420
+ {
15421
+ "path": "skills/frontend/pci-payment-ui-security-review/references/script-integrity-and-scope.md",
15422
+ "sha256": "8d13bfaf6bab50bd061ace5840aa7f8148a1dae6e1e4efd89b51b5e5e6bbe5e7",
15423
+ "bytes": 6331
15424
+ },
15425
+ {
15426
+ "path": "skills/frontend/pci-payment-ui-security-review/references/workflow-and-output.md",
15427
+ "sha256": "3d9106578443441159a2fe5816cc273cae2107b7acaa5e5834d6ba639987d1c0",
15428
+ "bytes": 8344
15429
+ }
15430
+ ]
15431
+ },
14194
15432
  {
14195
15433
  "id": "playwright-e2e-execution-run",
14196
15434
  "path": "skills/qa/playwright-e2e-execution-run",
@@ -14439,6 +15677,43 @@
14439
15677
  }
14440
15678
  ]
14441
15679
  },
15680
+ {
15681
+ "id": "product-analytics-experimentation-review",
15682
+ "path": "skills/frontend/product-analytics-experimentation-review",
15683
+ "aggregate_sha256": "624f0671fa1405ec9834b132b3f239733719ca1169de299887046e65e60a049c",
15684
+ "files": [
15685
+ {
15686
+ "path": "skills/frontend/product-analytics-experimentation-review/SKILL.md",
15687
+ "sha256": "b21bcdc395b740e41906251a748e6f04c4e507ad806d4f5c4ccdb7ebc19ba744",
15688
+ "bytes": 10682
15689
+ },
15690
+ {
15691
+ "path": "skills/frontend/product-analytics-experimentation-review/metadata.json",
15692
+ "sha256": "fdaeb7f7f04744a7363e4a1dd8795801b4d577b2353d55c480fc9a1043826d59",
15693
+ "bytes": 1658
15694
+ },
15695
+ {
15696
+ "path": "skills/frontend/product-analytics-experimentation-review/references/consent-and-pii-in-events.md",
15697
+ "sha256": "8cc8c78e670fa9254005c7042a1e021894b385188a44315d131ea52cc40af363",
15698
+ "bytes": 6173
15699
+ },
15700
+ {
15701
+ "path": "skills/frontend/product-analytics-experimentation-review/references/privacy-consent-depth-for-analytics.md",
15702
+ "sha256": "dee99ab5c1a89f0c622b966be5c6cd7293e04d6205300e7875eea68e2278cbb3",
15703
+ "bytes": 10993
15704
+ },
15705
+ {
15706
+ "path": "skills/frontend/product-analytics-experimentation-review/references/srm-and-bucketing-integrity.md",
15707
+ "sha256": "ec1386459b16c4ad8611395d679d47a0533c25e8c4080894c12d0cbc017c9aed",
15708
+ "bytes": 6799
15709
+ },
15710
+ {
15711
+ "path": "skills/frontend/product-analytics-experimentation-review/references/stopping-rules-and-peeking.md",
15712
+ "sha256": "89ab21d502d7848465a696e1557124ba677e6e6010d21fb084ab63cb8ab04ade",
15713
+ "bytes": 6461
15714
+ }
15715
+ ]
15716
+ },
14442
15717
  {
14443
15718
  "id": "programmatic-supply-chain-integrity-review",
14444
15719
  "path": "skills/marketing/programmatic-supply-chain-integrity-review",
@@ -14483,6 +15758,129 @@
14483
15758
  }
14484
15759
  ]
14485
15760
  },
15761
+ {
15762
+ "id": "pwa-offline-readiness-review",
15763
+ "path": "skills/frontend/pwa-offline-readiness-review",
15764
+ "aggregate_sha256": "45d866afe8ee2921b3dd47088b9a5c74e5dfd998b1a88109b9151dd0778d85ef",
15765
+ "files": [
15766
+ {
15767
+ "path": "skills/frontend/pwa-offline-readiness-review/SKILL.md",
15768
+ "sha256": "53c822554372db5b63313a08491326337257ce9eb7041eb2ebe053809f20cfb4",
15769
+ "bytes": 8845
15770
+ },
15771
+ {
15772
+ "path": "skills/frontend/pwa-offline-readiness-review/metadata.json",
15773
+ "sha256": "52073c61be4c09de763f17d6b9ba9fd70af698a60c2a9fe3c08de7d3783edc1c",
15774
+ "bytes": 1453
15775
+ },
15776
+ {
15777
+ "path": "skills/frontend/pwa-offline-readiness-review/references/live-verification-protocol.md",
15778
+ "sha256": "314f5aba11e16c297ebdea8c4307de86b6cd9eee6027f1047ed78561332d8b2a",
15779
+ "bytes": 6324
15780
+ },
15781
+ {
15782
+ "path": "skills/frontend/pwa-offline-readiness-review/references/manifest-installability-checklist.md",
15783
+ "sha256": "ffd40d468a202a0f60901542f5a2a44585e6a5554d9210b87522ba4ec187dbd9",
15784
+ "bytes": 4803
15785
+ },
15786
+ {
15787
+ "path": "skills/frontend/pwa-offline-readiness-review/references/offline-fallback-precache-pattern.md",
15788
+ "sha256": "65113ce0e70e0a3ab1a4c5b22b558068d755e212aa703ba82be8170919514b85",
15789
+ "bytes": 7075
15790
+ }
15791
+ ]
15792
+ },
15793
+ {
15794
+ "id": "react-component-architecture-review",
15795
+ "path": "skills/frontend/react-component-architecture-review",
15796
+ "aggregate_sha256": "002a472c6cd9bea69cb860a48fb99e9edc9dcab5fc653f727316d6b3b5e86635",
15797
+ "files": [
15798
+ {
15799
+ "path": "skills/frontend/react-component-architecture-review/SKILL.md",
15800
+ "sha256": "e2b9b323e584e888ced9e8f0c1b09111f6b748c344b270f441ca6b5c8e28e8b6",
15801
+ "bytes": 4932
15802
+ },
15803
+ {
15804
+ "path": "skills/frontend/react-component-architecture-review/metadata.json",
15805
+ "sha256": "848dcdac83bf3d65736984eb9007297ec34a66e0e32699aefc091c03830a5773",
15806
+ "bytes": 1364
15807
+ },
15808
+ {
15809
+ "path": "skills/frontend/react-component-architecture-review/references/composite-widget-patterns.md",
15810
+ "sha256": "e2ec0a3318aac5b028d6d26ddc359c6f6d6ffed0e4496ba660ce3ee2502f1f03",
15811
+ "bytes": 4049
15812
+ },
15813
+ {
15814
+ "path": "skills/frontend/react-component-architecture-review/references/workflow-and-output.md",
15815
+ "sha256": "c40abadd7e32f984d44c4aa4449f429bbaccbcf9c96a7b4c33a869ddf8f7d7cb",
15816
+ "bytes": 6376
15817
+ }
15818
+ ]
15819
+ },
15820
+ {
15821
+ "id": "react-rsc-data-boundary-review",
15822
+ "path": "skills/frontend/react-rsc-data-boundary-review",
15823
+ "aggregate_sha256": "0754b21b4a17031ec102afb7ca01772ac6a1c36bfd5482107152aed6f9fb089d",
15824
+ "files": [
15825
+ {
15826
+ "path": "skills/frontend/react-rsc-data-boundary-review/SKILL.md",
15827
+ "sha256": "83f7175d6d8198f18cffe9c244fcebf5cf933c42f5e2393dca293df99434def0",
15828
+ "bytes": 9241
15829
+ },
15830
+ {
15831
+ "path": "skills/frontend/react-rsc-data-boundary-review/metadata.json",
15832
+ "sha256": "8bcc8e15b05a3c87c6bf13eef5a44257b684ab8b503ee7fb0305f7c156a49c15",
15833
+ "bytes": 1927
15834
+ },
15835
+ {
15836
+ "path": "skills/frontend/react-rsc-data-boundary-review/references/boundary-data-leaks-and-taint.md",
15837
+ "sha256": "fba774482c082c8b74f9356646051b3842b3a5509d048fdac93f23758cad1cc3",
15838
+ "bytes": 7605
15839
+ },
15840
+ {
15841
+ "path": "skills/frontend/react-rsc-data-boundary-review/references/server-actions-and-env-exposure.md",
15842
+ "sha256": "e7c1831de987dd8878e2bd7e05394640003c014152c7dcd9ff41144a44f06587",
15843
+ "bytes": 7176
15844
+ },
15845
+ {
15846
+ "path": "skills/frontend/react-rsc-data-boundary-review/references/workflow-and-output.md",
15847
+ "sha256": "a331824b48c1a35df01c652e566c887517995f785f925b7d026a73cb738e0dd3",
15848
+ "bytes": 7178
15849
+ }
15850
+ ]
15851
+ },
15852
+ {
15853
+ "id": "react-state-effects-review",
15854
+ "path": "skills/frontend/react-state-effects-review",
15855
+ "aggregate_sha256": "0b79100373b9e1e6d0b6dfb9e7e0f3fc4ee3d7eab0012a67242b885139bf2026",
15856
+ "files": [
15857
+ {
15858
+ "path": "skills/frontend/react-state-effects-review/SKILL.md",
15859
+ "sha256": "7a208aee068abd4e2f1d0eafaffe3094e694d1c462ea80dd285f4542a6b87d26",
15860
+ "bytes": 7083
15861
+ },
15862
+ {
15863
+ "path": "skills/frontend/react-state-effects-review/metadata.json",
15864
+ "sha256": "e2cbc36bab209a7656ec6242444904e75b4cee44682bc681eff2ae71b2957a52",
15865
+ "bytes": 1411
15866
+ },
15867
+ {
15868
+ "path": "skills/frontend/react-state-effects-review/references/effect-cleanup-and-race-conditions.md",
15869
+ "sha256": "0f761fd0ff7a3beddb4ced4d54823e8760ca2746e610c862a946f3b5f55fe5a3",
15870
+ "bytes": 6143
15871
+ },
15872
+ {
15873
+ "path": "skills/frontend/react-state-effects-review/references/stale-closures-and-dependency-arrays.md",
15874
+ "sha256": "d2d00b32c00cd1706fa341a200996099b30cc8f2010b481dc246d7d5204e4966",
15875
+ "bytes": 7566
15876
+ },
15877
+ {
15878
+ "path": "skills/frontend/react-state-effects-review/references/workflow-and-output.md",
15879
+ "sha256": "a4d155631cf2355b42e3da2b0d9801b630a142826c4a69d34eb1b9d560570e72",
15880
+ "bytes": 6632
15881
+ }
15882
+ ]
15883
+ },
14486
15884
  {
14487
15885
  "id": "revenue-recognition-advisor",
14488
15886
  "path": "skills/accounting/revenue-recognition-advisor",
@@ -14537,6 +15935,43 @@
14537
15935
  }
14538
15936
  ]
14539
15937
  },
15938
+ {
15939
+ "id": "routing-navigation-review",
15940
+ "path": "skills/frontend/routing-navigation-review",
15941
+ "aggregate_sha256": "adb5e1a1428d2f35225503a0ef4aeaa117a56ab5b0768a15ed3c1338bf8657f3",
15942
+ "files": [
15943
+ {
15944
+ "path": "skills/frontend/routing-navigation-review/SKILL.md",
15945
+ "sha256": "168b6710d1512d078fcfef8e756b1b02d1e5f786661f99d1fffed7a51f0542d4",
15946
+ "bytes": 9354
15947
+ },
15948
+ {
15949
+ "path": "skills/frontend/routing-navigation-review/metadata.json",
15950
+ "sha256": "a13fcd9843a0bbb3899e5547f4f73486ac2f949ff2589afdc2f84ef6f8c37b7e",
15951
+ "bytes": 1243
15952
+ },
15953
+ {
15954
+ "path": "skills/frontend/routing-navigation-review/references/code-splitting-and-url-state.md",
15955
+ "sha256": "1127603f3282f29b3a08f2981c4a60ca1dcebeb4923f4655daf7a1ad4a77b900",
15956
+ "bytes": 6656
15957
+ },
15958
+ {
15959
+ "path": "skills/frontend/routing-navigation-review/references/focus-and-navigation-blocking.md",
15960
+ "sha256": "879ce6332014881b1d05e7ce29ee796d7885009b1f6594bece36b0037e36ea81",
15961
+ "bytes": 7587
15962
+ },
15963
+ {
15964
+ "path": "skills/frontend/routing-navigation-review/references/server-enforcement-patterns.md",
15965
+ "sha256": "4230e25065f75ec3c28cd6a23e1b588e1e2ab3e9f50ef22ad93978438a0fd9c0",
15966
+ "bytes": 7311
15967
+ },
15968
+ {
15969
+ "path": "skills/frontend/routing-navigation-review/references/workflow-and-output.md",
15970
+ "sha256": "3b81c96aa8351e092dc1c0ecbbb4089a066fae6fb99b6019b8c1f2168fc1af59",
15971
+ "bytes": 7664
15972
+ }
15973
+ ]
15974
+ },
14540
15975
  {
14541
15976
  "id": "rpa-workflow-resilience-review",
14542
15977
  "path": "skills/qa/rpa-workflow-resilience-review",
@@ -17403,6 +18838,38 @@
17403
18838
  }
17404
18839
  ]
17405
18840
  },
18841
+ {
18842
+ "id": "service-worker-cache-strategy-review",
18843
+ "path": "skills/frontend/service-worker-cache-strategy-review",
18844
+ "aggregate_sha256": "5ad1c3a46f62f3aa61e6dee00ff9ce626814d3f8bbc67de6e184f37fc291bb54",
18845
+ "files": [
18846
+ {
18847
+ "path": "skills/frontend/service-worker-cache-strategy-review/SKILL.md",
18848
+ "sha256": "e6d5b9cb7ceef3c9a23833e65bed0ffed1147870deaefe023b02b3a4ef8bf339",
18849
+ "bytes": 8100
18850
+ },
18851
+ {
18852
+ "path": "skills/frontend/service-worker-cache-strategy-review/metadata.json",
18853
+ "sha256": "f970444a0dc93821869cdd8c1b050f1c38572025c0f96d4f0a240e6582e5d437",
18854
+ "bytes": 1677
18855
+ },
18856
+ {
18857
+ "path": "skills/frontend/service-worker-cache-strategy-review/references/cache-security-and-scope-audit.md",
18858
+ "sha256": "0d7f18a96cfdca4a2bb99447a30d7470975475b2b5e66e4177043e54643d50fd",
18859
+ "bytes": 6107
18860
+ },
18861
+ {
18862
+ "path": "skills/frontend/service-worker-cache-strategy-review/references/route-classification-matrix.md",
18863
+ "sha256": "5141f60673c40a17c0eacf779b64d947855e2464c3e5ddef7bd283ef3d800b60",
18864
+ "bytes": 5307
18865
+ },
18866
+ {
18867
+ "path": "skills/frontend/service-worker-cache-strategy-review/references/workbox-strategy-semantics.md",
18868
+ "sha256": "b627960300a69aa2acbf9fcd386eafb14a8507aef4f992abff117bd41e51c566",
18869
+ "bytes": 6438
18870
+ }
18871
+ ]
18872
+ },
17406
18873
  {
17407
18874
  "id": "sigstore-cosign-supply-chain-review",
17408
18875
  "path": "skills/sigstore/sigstore-cosign-supply-chain-review",
@@ -17506,6 +18973,156 @@
17506
18973
  }
17507
18974
  ]
17508
18975
  },
18976
+ {
18977
+ "id": "ssr-hydration-streaming-diagnosis",
18978
+ "path": "skills/frontend/ssr-hydration-streaming-diagnosis",
18979
+ "aggregate_sha256": "4dadd50a83997e4383105af49b6b0fe71a3b706affdebaf17fb69220570e547c",
18980
+ "files": [
18981
+ {
18982
+ "path": "skills/frontend/ssr-hydration-streaming-diagnosis/SKILL.md",
18983
+ "sha256": "3d34e1c282f9468033807ae4b4c02713e02730c97cab2db45932de8450e99a79",
18984
+ "bytes": 7817
18985
+ },
18986
+ {
18987
+ "path": "skills/frontend/ssr-hydration-streaming-diagnosis/metadata.json",
18988
+ "sha256": "936d74711ec976be0a22f8625dcc173f7420f32f1c9d0f3add137a544e918019",
18989
+ "bytes": 1543
18990
+ },
18991
+ {
18992
+ "path": "skills/frontend/ssr-hydration-streaming-diagnosis/references/fetch-waterfall-and-auth-timing.md",
18993
+ "sha256": "848b5a52624b1a99e14d0b687cbf750fdb7bc3ee0bedeca6251cfeec084ea5f9",
18994
+ "bytes": 6365
18995
+ },
18996
+ {
18997
+ "path": "skills/frontend/ssr-hydration-streaming-diagnosis/references/hydration-mismatch-diagnosis.md",
18998
+ "sha256": "f25983a8b33b433f11049cc06b794c4d4f92c9a807739838cbf33afc27d7ab32",
18999
+ "bytes": 6115
19000
+ },
19001
+ {
19002
+ "path": "skills/frontend/ssr-hydration-streaming-diagnosis/references/suspense-streaming-structure.md",
19003
+ "sha256": "0e79d07afe49b9308537591c46177c02f2c9255c792fe83035ae038c637390c0",
19004
+ "bytes": 6506
19005
+ }
19006
+ ]
19007
+ },
19008
+ {
19009
+ "id": "state-management-decision-review",
19010
+ "path": "skills/frontend/state-management-decision-review",
19011
+ "aggregate_sha256": "7dc4f9d2502d650e9d3f273d85dcad239a7ea601a207dc5e6a9c40e9037829a6",
19012
+ "files": [
19013
+ {
19014
+ "path": "skills/frontend/state-management-decision-review/SKILL.md",
19015
+ "sha256": "32ccd40c14cb634ebab1bada27a1eea2a185554941303ae8e7bea676c882ff45",
19016
+ "bytes": 9575
19017
+ },
19018
+ {
19019
+ "path": "skills/frontend/state-management-decision-review/metadata.json",
19020
+ "sha256": "771bd770a82bea5ee1bed111d8bc951ec633a7cb3c315484f1af80fceda329dc",
19021
+ "bytes": 1947
19022
+ },
19023
+ {
19024
+ "path": "skills/frontend/state-management-decision-review/references/client-store-topology-and-rerenders.md",
19025
+ "sha256": "75df90d07d52b15877c83124ba3d323c69b192d6fce337488897f1de53a7aca4",
19026
+ "bytes": 8337
19027
+ },
19028
+ {
19029
+ "path": "skills/frontend/state-management-decision-review/references/server-state-caching-and-invalidation.md",
19030
+ "sha256": "1e8e199e87a1eb146ef84a71b8fa6d517b560165805d6354212fd602ed073e23",
19031
+ "bytes": 8949
19032
+ },
19033
+ {
19034
+ "path": "skills/frontend/state-management-decision-review/references/workflow-and-output.md",
19035
+ "sha256": "a37ad3b15023d0f35351198d6b01be2ef8542c045bd752cf8686ae76b8987f88",
19036
+ "bytes": 6392
19037
+ }
19038
+ ]
19039
+ },
19040
+ {
19041
+ "id": "sveltekit-actions-load-security-review",
19042
+ "path": "skills/frontend/sveltekit-actions-load-security-review",
19043
+ "aggregate_sha256": "65a9027c4dedc2334851207c71cc52dfae1f0d939594f86c2630b754d2a29d8a",
19044
+ "files": [
19045
+ {
19046
+ "path": "skills/frontend/sveltekit-actions-load-security-review/SKILL.md",
19047
+ "sha256": "91e2a75f314a3aa324dd83d8bd84d764d5d3952523eb36505b371e689455435c",
19048
+ "bytes": 9657
19049
+ },
19050
+ {
19051
+ "path": "skills/frontend/sveltekit-actions-load-security-review/metadata.json",
19052
+ "sha256": "a83b431f05e4532d9069d5f52d52ca9fd9ca053191e056213b7351152d796e91",
19053
+ "bytes": 2208
19054
+ },
19055
+ {
19056
+ "path": "skills/frontend/sveltekit-actions-load-security-review/references/cookies-and-html-bindings.md",
19057
+ "sha256": "855d22a4af9032c9fdbb148aea71baba213cf570cdafdb519a4476a3e297b7a6",
19058
+ "bytes": 5233
19059
+ },
19060
+ {
19061
+ "path": "skills/frontend/sveltekit-actions-load-security-review/references/csrf-and-auth-boundaries.md",
19062
+ "sha256": "b6c9fef7e5f53e706e816ed93bcc73d7838c40a0f0c9ab2bae1d851d8a62c92a",
19063
+ "bytes": 6053
19064
+ },
19065
+ {
19066
+ "path": "skills/frontend/sveltekit-actions-load-security-review/references/workflow-and-output.md",
19067
+ "sha256": "469534eed5f1d53e966aa51d767d07da812b8a6ed71586009a5d1805c3433109",
19068
+ "bytes": 7073
19069
+ }
19070
+ ]
19071
+ },
19072
+ {
19073
+ "id": "sveltekit-progressive-enhancement-review",
19074
+ "path": "skills/frontend/sveltekit-progressive-enhancement-review",
19075
+ "aggregate_sha256": "73a22ed080507f7677d277d240716f2f322b0ba06af5b9386bf9a7ad4cb4263e",
19076
+ "files": [
19077
+ {
19078
+ "path": "skills/frontend/sveltekit-progressive-enhancement-review/SKILL.md",
19079
+ "sha256": "5c48aab2bfc0e29b7b03720cf4d89b4398af35591bceceeec5827d50bf7f8fbb",
19080
+ "bytes": 8068
19081
+ },
19082
+ {
19083
+ "path": "skills/frontend/sveltekit-progressive-enhancement-review/metadata.json",
19084
+ "sha256": "3ae6ef03b21f02d65879c5447c9577764dd70ccf98473214b13a1f3357f14389",
19085
+ "bytes": 1226
19086
+ },
19087
+ {
19088
+ "path": "skills/frontend/sveltekit-progressive-enhancement-review/references/failure-state-and-accessibility.md",
19089
+ "sha256": "06279588305020b093b6ec63a2a914ede4e765f87f23ba7345abff051e439ebf",
19090
+ "bytes": 5080
19091
+ },
19092
+ {
19093
+ "path": "skills/frontend/sveltekit-progressive-enhancement-review/references/workflow-and-output.md",
19094
+ "sha256": "a79352ac28dca6696a891e4475e667e8cd3e9e52fa8976aab73ba2ffed665651",
19095
+ "bytes": 8398
19096
+ }
19097
+ ]
19098
+ },
19099
+ {
19100
+ "id": "sveltekit-routing-load-review",
19101
+ "path": "skills/frontend/sveltekit-routing-load-review",
19102
+ "aggregate_sha256": "e97c4d6fb4ae820085d2d5d3d655b30a9872b68efe5015909e9fe268c37a418f",
19103
+ "files": [
19104
+ {
19105
+ "path": "skills/frontend/sveltekit-routing-load-review/SKILL.md",
19106
+ "sha256": "50b47e23fe88eccbae4690007e07b65ba312ce71f35d484cfafd2e01151b1d82",
19107
+ "bytes": 6555
19108
+ },
19109
+ {
19110
+ "path": "skills/frontend/sveltekit-routing-load-review/metadata.json",
19111
+ "sha256": "710ef9b09909645f2d96d18813a82210684d1a34eaf69354bdec346e4acebce5",
19112
+ "bytes": 1140
19113
+ },
19114
+ {
19115
+ "path": "skills/frontend/sveltekit-routing-load-review/references/routing-conventions.md",
19116
+ "sha256": "ecd7019da73f13c700a4757bed92fa0144764d8d8a4afd1646240b4d86a7c64e",
19117
+ "bytes": 4499
19118
+ },
19119
+ {
19120
+ "path": "skills/frontend/sveltekit-routing-load-review/references/workflow-and-output.md",
19121
+ "sha256": "8da469f92fbfbb6c7714454a33ffe27329c511bdd7a30fa6155402350363473e",
19122
+ "bytes": 7702
19123
+ }
19124
+ ]
19125
+ },
17509
19126
  {
17510
19127
  "id": "tax-provision-advisor",
17511
19128
  "path": "skills/accounting/tax-provision-advisor",
@@ -17648,6 +19265,70 @@
17648
19265
  }
17649
19266
  ]
17650
19267
  },
19268
+ {
19269
+ "id": "tree-shaking-dead-code-review",
19270
+ "path": "skills/frontend/tree-shaking-dead-code-review",
19271
+ "aggregate_sha256": "de2faaff42a4f97a04ecdc33cecb3d03cf9c1116366ac4b881161a291e1598fb",
19272
+ "files": [
19273
+ {
19274
+ "path": "skills/frontend/tree-shaking-dead-code-review/SKILL.md",
19275
+ "sha256": "3c3680f90f566f450b343e2187e6bdc807a303b4d38fd440bcb3704a089bdc0b",
19276
+ "bytes": 8626
19277
+ },
19278
+ {
19279
+ "path": "skills/frontend/tree-shaking-dead-code-review/metadata.json",
19280
+ "sha256": "b61be563cd80684c4f451f6c563c932293daaea129cd81b880c9689421b8d16f",
19281
+ "bytes": 1709
19282
+ },
19283
+ {
19284
+ "path": "skills/frontend/tree-shaking-dead-code-review/references/esm-cjs-interop-and-verification.md",
19285
+ "sha256": "0e57c939e4c51883ce5e5339df464164859beb14c6cd5d4b8aa6e1e8adcf5cd8",
19286
+ "bytes": 6166
19287
+ },
19288
+ {
19289
+ "path": "skills/frontend/tree-shaking-dead-code-review/references/module-format-and-sideeffects.md",
19290
+ "sha256": "f081ae37882c77ec437cbe75245eef9d7f2aade5b8ab1e687c70aaee7643d433",
19291
+ "bytes": 5279
19292
+ },
19293
+ {
19294
+ "path": "skills/frontend/tree-shaking-dead-code-review/references/rollup-vite-treeshake-options.md",
19295
+ "sha256": "9ecc69c8ee1b7f297b89fb3ff585d066ba6066535ccf1ccde2db53738a933944",
19296
+ "bytes": 5493
19297
+ }
19298
+ ]
19299
+ },
19300
+ {
19301
+ "id": "typescript-contracts-review",
19302
+ "path": "skills/frontend/typescript-contracts-review",
19303
+ "aggregate_sha256": "cf2f78048fe80d1f9b1814bdce0d2f76eb9b81c9aa89966170438247f44ad534",
19304
+ "files": [
19305
+ {
19306
+ "path": "skills/frontend/typescript-contracts-review/SKILL.md",
19307
+ "sha256": "9fdbe62fc84b461ca18e326a9261df3c98143da0bfbad51cb6900f1b0fd7aa16",
19308
+ "bytes": 8327
19309
+ },
19310
+ {
19311
+ "path": "skills/frontend/typescript-contracts-review/metadata.json",
19312
+ "sha256": "c617f40901f0800c589ac5237757fa46a557b081c58701ef0b1da3001e0cac42",
19313
+ "bytes": 1743
19314
+ },
19315
+ {
19316
+ "path": "skills/frontend/typescript-contracts-review/references/public-api-surface-diff.md",
19317
+ "sha256": "f0a022778c09de781bcc425576c73462791015f20cfa1c1f740f9fae15efe061",
19318
+ "bytes": 7055
19319
+ },
19320
+ {
19321
+ "path": "skills/frontend/typescript-contracts-review/references/strict-flag-posture.md",
19322
+ "sha256": "f35e966352763e89fe3b474ed762dc260f60a1f83fe5df6d9a025038a11266c7",
19323
+ "bytes": 7487
19324
+ },
19325
+ {
19326
+ "path": "skills/frontend/typescript-contracts-review/references/trust-boundary-validation.md",
19327
+ "sha256": "64e018246dec68599f949139f13b0051101fe1ffaef78e9ec6fa24330568b905",
19328
+ "bytes": 8770
19329
+ }
19330
+ ]
19331
+ },
17651
19332
  {
17652
19333
  "id": "variance-analysis-advisor",
17653
19334
  "path": "skills/finance/variance-analysis-advisor",
@@ -17697,6 +19378,208 @@
17697
19378
  }
17698
19379
  ]
17699
19380
  },
19381
+ {
19382
+ "id": "visual-regression-storybook-review",
19383
+ "path": "skills/frontend/visual-regression-storybook-review",
19384
+ "aggregate_sha256": "d6ce4dc7546c173855870bc40b7aaaa5fb2d9bea6178e3026025c6ab0d5db93a",
19385
+ "files": [
19386
+ {
19387
+ "path": "skills/frontend/visual-regression-storybook-review/SKILL.md",
19388
+ "sha256": "140489235c15e56f83860a9167348db3d78b0c30b3de73df0103a2ee47861c4c",
19389
+ "bytes": 6435
19390
+ },
19391
+ {
19392
+ "path": "skills/frontend/visual-regression-storybook-review/metadata.json",
19393
+ "sha256": "c56f455d152b007a83940af6e8134aacbdcbddfcdf320358605e12ed1060fd69",
19394
+ "bytes": 1276
19395
+ },
19396
+ {
19397
+ "path": "skills/frontend/visual-regression-storybook-review/references/accessibility-addon-gating.md",
19398
+ "sha256": "be4de120d2e0f49d70e19c5f958f6bc1ac24cf18077975d46638a2bc9d9c5256",
19399
+ "bytes": 7102
19400
+ },
19401
+ {
19402
+ "path": "skills/frontend/visual-regression-storybook-review/references/test-runner-and-chromatic-wiring.md",
19403
+ "sha256": "f99a69d3746a06d33a655a5f98a86d715a2b9c20e52e00ed95e753783a5d4c32",
19404
+ "bytes": 5864
19405
+ },
19406
+ {
19407
+ "path": "skills/frontend/visual-regression-storybook-review/references/theme-and-variant-coverage.md",
19408
+ "sha256": "1926276fd0fe438e53e9e16e8a203b38599c9577aa4d08d08aae7951ef92a853",
19409
+ "bytes": 5654
19410
+ }
19411
+ ]
19412
+ },
19413
+ {
19414
+ "id": "vue-composition-api-architecture-review",
19415
+ "path": "skills/frontend/vue-composition-api-architecture-review",
19416
+ "aggregate_sha256": "3fb4e4ac575ebd9d6392743fa35aa21d217d5730d05cd0d9abdfc82f80ca09c1",
19417
+ "files": [
19418
+ {
19419
+ "path": "skills/frontend/vue-composition-api-architecture-review/SKILL.md",
19420
+ "sha256": "f461d5670ba8ac7c2d13f01fc95fc8c44c19c3d76083bb5c73ea35357e00b1c7",
19421
+ "bytes": 7269
19422
+ },
19423
+ {
19424
+ "path": "skills/frontend/vue-composition-api-architecture-review/metadata.json",
19425
+ "sha256": "3dbcd30b258a29decf66b0b8a959e95a5629cb0f0749df6629e6707062a2aa88",
19426
+ "bytes": 1493
19427
+ },
19428
+ {
19429
+ "path": "skills/frontend/vue-composition-api-architecture-review/references/composable-and-script-setup-conventions.md",
19430
+ "sha256": "349089154b13705584535da53366e096d572a270b71bcb00a711438b5ea22ae5",
19431
+ "bytes": 6570
19432
+ },
19433
+ {
19434
+ "path": "skills/frontend/vue-composition-api-architecture-review/references/reactivity-boundaries.md",
19435
+ "sha256": "63835d2159c5129aeee88b8dcad526a5b9ae1d6a97982ad8c6c40a7993531085",
19436
+ "bytes": 6572
19437
+ },
19438
+ {
19439
+ "path": "skills/frontend/vue-composition-api-architecture-review/references/workflow-and-output.md",
19440
+ "sha256": "12fcaa2fa5fe3e2f5bf91fd724660c2f0d0f24b273b4a5601c6d6a265296b212",
19441
+ "bytes": 6110
19442
+ }
19443
+ ]
19444
+ },
19445
+ {
19446
+ "id": "vue-router-navigation-security-review",
19447
+ "path": "skills/frontend/vue-router-navigation-security-review",
19448
+ "aggregate_sha256": "7b8d1b8f3d6c445373c909f8d09b32ca7e3b00c8b480c22f1a53a1d891be31f8",
19449
+ "files": [
19450
+ {
19451
+ "path": "skills/frontend/vue-router-navigation-security-review/SKILL.md",
19452
+ "sha256": "217240bd89f314465e86d3dd7150a8626cf6fbaa7811300545683e1dd0028729",
19453
+ "bytes": 10317
19454
+ },
19455
+ {
19456
+ "path": "skills/frontend/vue-router-navigation-security-review/metadata.json",
19457
+ "sha256": "e88672df3864bc53894f0f038460bcd1832849d7c15b98ee0b851358c5d6e302",
19458
+ "bytes": 2294
19459
+ },
19460
+ {
19461
+ "path": "skills/frontend/vue-router-navigation-security-review/references/acceptance-rubric.md",
19462
+ "sha256": "33852ebe137a141c4fdfcc3e6f55454e9b2b96c807fe73c6189c2fa40230eb20",
19463
+ "bytes": 7520
19464
+ },
19465
+ {
19466
+ "path": "skills/frontend/vue-router-navigation-security-review/references/client-guards-and-control-flow.md",
19467
+ "sha256": "5206bb09a9af22d1072e1cb116579aea1b013b77feab202d88c7ba0032ed25f9",
19468
+ "bytes": 9818
19469
+ },
19470
+ {
19471
+ "path": "skills/frontend/vue-router-navigation-security-review/references/open-redirect-and-injection.md",
19472
+ "sha256": "723dbfb30730a6692fa1c5822e88af9320224ef0cdf0a359119a5005429d25fc",
19473
+ "bytes": 9462
19474
+ },
19475
+ {
19476
+ "path": "skills/frontend/vue-router-navigation-security-review/references/workflow-and-output.md",
19477
+ "sha256": "d8012d40460085f6cfe5d6a288d530faa86e026bb51aa6439f4375325b642508",
19478
+ "bytes": 9360
19479
+ }
19480
+ ]
19481
+ },
19482
+ {
19483
+ "id": "vue-ssr-security-review",
19484
+ "path": "skills/frontend/vue-ssr-security-review",
19485
+ "aggregate_sha256": "cfc1a53c01902f4c1489397ac00e571940db8eafb7f6a10991ae667735a24b17",
19486
+ "files": [
19487
+ {
19488
+ "path": "skills/frontend/vue-ssr-security-review/SKILL.md",
19489
+ "sha256": "5ddc6626700a2d7a230ffcc7de9741150df2b12c0b0f406a8780013512cb4260",
19490
+ "bytes": 8154
19491
+ },
19492
+ {
19493
+ "path": "skills/frontend/vue-ssr-security-review/metadata.json",
19494
+ "sha256": "99e16138d11b5c36f185f3554e1b8287fee4190127a9756eb5a1d34754748e40",
19495
+ "bytes": 1473
19496
+ },
19497
+ {
19498
+ "path": "skills/frontend/vue-ssr-security-review/references/cross-request-state-pollution.md",
19499
+ "sha256": "8dd8023d8bbde1f370e27a956720a1449f2c8c8079cbeee3707efbafea35ada9",
19500
+ "bytes": 7102
19501
+ },
19502
+ {
19503
+ "path": "skills/frontend/vue-ssr-security-review/references/injection-and-dynamic-urls.md",
19504
+ "sha256": "e986981e24484c8f741d7550206f61fb7c8f3dc7a593c21710fa7b65fbc087d3",
19505
+ "bytes": 8932
19506
+ },
19507
+ {
19508
+ "path": "skills/frontend/vue-ssr-security-review/references/workflow-and-output.md",
19509
+ "sha256": "c8d2f4e4f93b074b4bd3d13ab030e1a3609af8ef4c00037d2540867028340c97",
19510
+ "bytes": 6786
19511
+ }
19512
+ ]
19513
+ },
19514
+ {
19515
+ "id": "vue-state-store-security-review",
19516
+ "path": "skills/frontend/vue-state-store-security-review",
19517
+ "aggregate_sha256": "0d6689990ebb870c344470a6f5109528cc3dd487680a01c50a10abfbcfa32d42",
19518
+ "files": [
19519
+ {
19520
+ "path": "skills/frontend/vue-state-store-security-review/SKILL.md",
19521
+ "sha256": "c66ebb90e2b7bb3158f73e68ba2201ff7df8b0f72ab8c6fe558e556d9030d406",
19522
+ "bytes": 11275
19523
+ },
19524
+ {
19525
+ "path": "skills/frontend/vue-state-store-security-review/metadata.json",
19526
+ "sha256": "f6f90e295148c4b143fa8277ec9c7d1b50c0ab2f2e32c87288ebe07fa34d168b",
19527
+ "bytes": 2358
19528
+ },
19529
+ {
19530
+ "path": "skills/frontend/vue-state-store-security-review/references/acceptance-rubric.md",
19531
+ "sha256": "b1fa3d73c3ad61563d833a705774855a93272b016fe3c94a8f8cd6a66a46e08b",
19532
+ "bytes": 6889
19533
+ },
19534
+ {
19535
+ "path": "skills/frontend/vue-state-store-security-review/references/persistence-and-hydration.md",
19536
+ "sha256": "fe2ac9ba2f0bf114dd40ed4c3022dadf901c1d78f73f659dcd57d803c93e8d90",
19537
+ "bytes": 11301
19538
+ },
19539
+ {
19540
+ "path": "skills/frontend/vue-state-store-security-review/references/untrusted-payloads-and-authorization.md",
19541
+ "sha256": "5fd6555f470ad72646a00377e4d1fc977f29d1ef189e8aff23ae7c9e41db7808",
19542
+ "bytes": 10052
19543
+ },
19544
+ {
19545
+ "path": "skills/frontend/vue-state-store-security-review/references/workflow-and-output.md",
19546
+ "sha256": "606ba88e893ac49686c0fd7ef168b4c30f34be7cf4beb80b7f43565cf19bfbbc",
19547
+ "bytes": 10022
19548
+ }
19549
+ ]
19550
+ },
19551
+ {
19552
+ "id": "wcag-22-accessibility-audit",
19553
+ "path": "skills/frontend/wcag-22-accessibility-audit",
19554
+ "aggregate_sha256": "5f7aa371a6ddc63c8111b50704dc287a0afd6ad3bed49682f33005b6559c7796",
19555
+ "files": [
19556
+ {
19557
+ "path": "skills/frontend/wcag-22-accessibility-audit/SKILL.md",
19558
+ "sha256": "279f2c11a6944de58aa9f61b20cc8042435d6824c5614b3301eb23d50bb67df9",
19559
+ "bytes": 7144
19560
+ },
19561
+ {
19562
+ "path": "skills/frontend/wcag-22-accessibility-audit/metadata.json",
19563
+ "sha256": "c2a820fef5a053bbe81527aa9f664f5f84bfaafe6f1c8780e1792b641d122801",
19564
+ "bytes": 1194
19565
+ },
19566
+ {
19567
+ "path": "skills/frontend/wcag-22-accessibility-audit/references/act-rules-detection-boundary.md",
19568
+ "sha256": "780b1f12944c85ba30852736b5895d51a83b7602f0ce9934e94517e2264f90d9",
19569
+ "bytes": 4712
19570
+ },
19571
+ {
19572
+ "path": "skills/frontend/wcag-22-accessibility-audit/references/legal-exposure-severity.md",
19573
+ "sha256": "75eda73a8401f6b9472ac1546dbb95bc568eef5bfe8d6404211ebe794ad3cfc0",
19574
+ "bytes": 5076
19575
+ },
19576
+ {
19577
+ "path": "skills/frontend/wcag-22-accessibility-audit/references/wcag22-sc-index.md",
19578
+ "sha256": "d4c5f5b8d8096621998352894d62846560f597b08342d064071fb0c5a33fdc47",
19579
+ "bytes": 6638
19580
+ }
19581
+ ]
19582
+ },
17700
19583
  {
17701
19584
  "id": "working-capital-advisor",
17702
19585
  "path": "skills/finance/working-capital-advisor",