@olives/devos 2.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 (741) hide show
  1. package/.agents/AGENTS.md +316 -0
  2. package/.agents/README.md +55 -0
  3. package/.agents/agents/architect.md +18 -0
  4. package/.agents/agents/dba.md +25 -0
  5. package/.agents/agents/developer.md +40 -0
  6. package/.agents/agents/devops.md +18 -0
  7. package/.agents/agents/memory-manager.md +38 -0
  8. package/.agents/agents/orchestrator.md +92 -0
  9. package/.agents/agents/qa.md +53 -0
  10. package/.agents/agents/release-manager.md +41 -0
  11. package/.agents/agents/researcher.md +19 -0
  12. package/.agents/agents/security.md +27 -0
  13. package/.agents/agents/tester.md +21 -0
  14. package/.agents/commands/README.md +42 -0
  15. package/.agents/commands/architect.md +16 -0
  16. package/.agents/commands/commit.md +15 -0
  17. package/.agents/commands/deploy.md +18 -0
  18. package/.agents/commands/fix.md +19 -0
  19. package/.agents/commands/refactor.md +19 -0
  20. package/.agents/commands/research.md +19 -0
  21. package/.agents/commands/review.md +21 -0
  22. package/.agents/commands/secure.md +23 -0
  23. package/.agents/commands/status.md +16 -0
  24. package/.agents/commands/test.md +16 -0
  25. package/.agents/scripts/commit.sh +73 -0
  26. package/.agents/scripts/install-hooks.sh +72 -0
  27. package/.agents/skills/agent-browser/SKILL.md +50 -0
  28. package/.agents/skills/agent-development/SKILL.md +415 -0
  29. package/.agents/skills/agent-development/examples/agent-creation-prompt.md +238 -0
  30. package/.agents/skills/agent-development/examples/complete-agent-examples.md +427 -0
  31. package/.agents/skills/agent-development/references/agent-creation-system-prompt.md +207 -0
  32. package/.agents/skills/agent-development/references/system-prompt-design.md +411 -0
  33. package/.agents/skills/agent-development/references/triggering-examples.md +491 -0
  34. package/.agents/skills/agent-development/scripts/validate-agent.sh +217 -0
  35. package/.agents/skills/backend-dev-guidelines/SKILL.md +352 -0
  36. package/.agents/skills/backend-dev-guidelines/resources/architecture-overview.md +451 -0
  37. package/.agents/skills/backend-dev-guidelines/resources/async-and-errors.md +307 -0
  38. package/.agents/skills/backend-dev-guidelines/resources/complete-examples.md +638 -0
  39. package/.agents/skills/backend-dev-guidelines/resources/configuration.md +275 -0
  40. package/.agents/skills/backend-dev-guidelines/resources/database-patterns.md +224 -0
  41. package/.agents/skills/backend-dev-guidelines/resources/middleware-guide.md +213 -0
  42. package/.agents/skills/backend-dev-guidelines/resources/routing-and-controllers.md +756 -0
  43. package/.agents/skills/backend-dev-guidelines/resources/sentry-and-monitoring.md +336 -0
  44. package/.agents/skills/backend-dev-guidelines/resources/services-and-repositories.md +789 -0
  45. package/.agents/skills/backend-dev-guidelines/resources/testing-guide.md +235 -0
  46. package/.agents/skills/backend-dev-guidelines/resources/validation-patterns.md +754 -0
  47. package/.agents/skills/backend-development/SKILL.md +156 -0
  48. package/.agents/skills/backend-patterns/SKILL.md +562 -0
  49. package/.agents/skills/brainstorming/SKILL.md +159 -0
  50. package/.agents/skills/brainstorming/scripts/frame-template.html +213 -0
  51. package/.agents/skills/brainstorming/scripts/helper.js +167 -0
  52. package/.agents/skills/brainstorming/scripts/server.cjs +723 -0
  53. package/.agents/skills/brainstorming/scripts/start-server.sh +209 -0
  54. package/.agents/skills/brainstorming/scripts/stop-server.sh +120 -0
  55. package/.agents/skills/brainstorming/spec-document-reviewer-prompt.md +49 -0
  56. package/.agents/skills/brainstorming/visual-companion.md +291 -0
  57. package/.agents/skills/code-reviewer/SKILL.md +65 -0
  58. package/.agents/skills/content-strategy/SKILL.md +365 -0
  59. package/.agents/skills/content-strategy/evals/evals.json +90 -0
  60. package/.agents/skills/content-strategy/references/headless-cms.md +194 -0
  61. package/.agents/skills/deploy-to-vercel/SKILL.md +296 -0
  62. package/.agents/skills/deploy-to-vercel/resources/deploy-codex.sh +301 -0
  63. package/.agents/skills/deploy-to-vercel/resources/deploy.sh +301 -0
  64. package/.agents/skills/deployment-checklist/SKILL.md +119 -0
  65. package/.agents/skills/design/SKILL.md +170 -0
  66. package/.agents/skills/design-an-interface/SKILL.md +94 -0
  67. package/.agents/skills/expose-localhost/SKILL.md +211 -0
  68. package/.agents/skills/expose-localhost/references/TROUBLESHOOTING.md +27 -0
  69. package/.agents/skills/find-skills/SKILL.md +142 -0
  70. package/.agents/skills/frontend-ui-engineering/SKILL.md +328 -0
  71. package/.agents/skills/git-commit/SKILL.md +124 -0
  72. package/.agents/skills/git-ops/SKILL.md +53 -0
  73. package/.agents/skills/git-workflow/SKILL.md +167 -0
  74. package/.agents/skills/google-agents-cli-adk-code/SKILL.md +72 -0
  75. package/.agents/skills/google-agents-cli-adk-code/references/adk-python.md +937 -0
  76. package/.agents/skills/google-agents-cli-adk-code/references/adk-workflows.md +507 -0
  77. package/.agents/skills/google-agents-cli-workflow/SKILL.md +310 -0
  78. package/.agents/skills/google-agents-cli-workflow/references/commands.md +12 -0
  79. package/.agents/skills/google-agents-cli-workflow/references/internals.md +24 -0
  80. package/.agents/skills/google-agents-cli-workflow/references/samples.md +59 -0
  81. package/.agents/skills/google-agents-cli-workflow/references/spec-template.md +25 -0
  82. package/.agents/skills/google-agents-cli-workflow/references/terminology.md +11 -0
  83. package/.agents/skills/grill-me/SKILL.md +47 -0
  84. package/.agents/skills/grill-with-docs/SKILL.md +7 -0
  85. package/.agents/skills/human-checkpoint/SKILL.md +21 -0
  86. package/.agents/skills/image/SKILL.md +340 -0
  87. package/.agents/skills/image/evals/evals.json +89 -0
  88. package/.agents/skills/image/references/ai-image-prompting.md +229 -0
  89. package/.agents/skills/image-generation/SKILL.md +374 -0
  90. package/.agents/skills/imagegen/LICENSE.txt +201 -0
  91. package/.agents/skills/imagegen/SKILL.md +279 -0
  92. package/.agents/skills/imagegen/agents/openai.yaml +6 -0
  93. package/.agents/skills/imagegen/assets/imagegen-small.svg +5 -0
  94. package/.agents/skills/imagegen/assets/imagegen.png +0 -0
  95. package/.agents/skills/imagegen/references/cli.md +160 -0
  96. package/.agents/skills/imagegen/references/codex-network.md +33 -0
  97. package/.agents/skills/imagegen/references/image-api.md +49 -0
  98. package/.agents/skills/imagegen/references/prompting.md +98 -0
  99. package/.agents/skills/imagegen/references/sample-prompts.md +376 -0
  100. package/.agents/skills/imagegen/scripts/image_gen.py +926 -0
  101. package/.agents/skills/imagegen-frontend-web/SKILL.md +987 -0
  102. package/.agents/skills/laravel-security/SKILL.md +948 -0
  103. package/.agents/skills/laravel-specialist/SKILL.md +264 -0
  104. package/.agents/skills/laravel-specialist/references/eloquent.md +351 -0
  105. package/.agents/skills/laravel-specialist/references/livewire.md +512 -0
  106. package/.agents/skills/laravel-specialist/references/queues.md +423 -0
  107. package/.agents/skills/laravel-specialist/references/routing.md +362 -0
  108. package/.agents/skills/laravel-specialist/references/testing.md +522 -0
  109. package/.agents/skills/laravel-tdd/SKILL.md +675 -0
  110. package/.agents/skills/laravel-verification/SKILL.md +180 -0
  111. package/.agents/skills/modern-web-guidance/SKILL.md +114 -0
  112. package/.agents/skills/modern-web-guidance/guides/accessibility/accessibility.md +463 -0
  113. package/.agents/skills/modern-web-guidance/guides/accessibility/accessible-error-announcement.md +207 -0
  114. package/.agents/skills/modern-web-guidance/guides/built-in-ai/language-detection.md +89 -0
  115. package/.agents/skills/modern-web-guidance/guides/built-in-ai/language-model.md +189 -0
  116. package/.agents/skills/modern-web-guidance/guides/built-in-ai/prompt-api.md +189 -0
  117. package/.agents/skills/modern-web-guidance/guides/built-in-ai/summarizer.md +154 -0
  118. package/.agents/skills/modern-web-guidance/guides/built-in-ai/translator.md +162 -0
  119. package/.agents/skills/modern-web-guidance/guides/css/css.md +527 -0
  120. package/.agents/skills/modern-web-guidance/guides/css/highlight-text-ranges.md +128 -0
  121. package/.agents/skills/modern-web-guidance/guides/css-layout/css-layout.md +305 -0
  122. package/.agents/skills/modern-web-guidance/guides/forms/animated-select-picker.md +178 -0
  123. package/.agents/skills/modern-web-guidance/guides/forms/autofill-address-form.md +75 -0
  124. package/.agents/skills/modern-web-guidance/guides/forms/autofill-highlight-inputs.md +45 -0
  125. package/.agents/skills/modern-web-guidance/guides/forms/autofill-payment-form.md +125 -0
  126. package/.agents/skills/modern-web-guidance/guides/forms/autofill-sign-in-form.md +135 -0
  127. package/.agents/skills/modern-web-guidance/guides/forms/autofill-sign-up-form.md +145 -0
  128. package/.agents/skills/modern-web-guidance/guides/forms/brand-consistent-forms.md +255 -0
  129. package/.agents/skills/modern-web-guidance/guides/forms/branded-select-styling.md +114 -0
  130. package/.agents/skills/modern-web-guidance/guides/forms/custom-select-picker-layouts.md +103 -0
  131. package/.agents/skills/modern-web-guidance/guides/forms/form-fields-automatically-fit-contents.md +121 -0
  132. package/.agents/skills/modern-web-guidance/guides/forms/forms.md +372 -0
  133. package/.agents/skills/modern-web-guidance/guides/forms/required-field-feedback.md +214 -0
  134. package/.agents/skills/modern-web-guidance/guides/forms/rich-media-picker.md +132 -0
  135. package/.agents/skills/modern-web-guidance/guides/forms/select-menu-interaction.md +180 -0
  136. package/.agents/skills/modern-web-guidance/guides/forms/validate-input-after-interaction.md +258 -0
  137. package/.agents/skills/modern-web-guidance/guides/html/html.md +407 -0
  138. package/.agents/skills/modern-web-guidance/guides/passkeys/passkey-authentication.md +205 -0
  139. package/.agents/skills/modern-web-guidance/guides/passkeys/passkey-conditional-create.md +134 -0
  140. package/.agents/skills/modern-web-guidance/guides/passkeys/passkey-management.md +211 -0
  141. package/.agents/skills/modern-web-guidance/guides/passkeys/passkey-reauthentication.md +128 -0
  142. package/.agents/skills/modern-web-guidance/guides/passkeys/passkey-registration.md +181 -0
  143. package/.agents/skills/modern-web-guidance/guides/passkeys/passkeys.md +38 -0
  144. package/.agents/skills/modern-web-guidance/guides/performance/batch-analytics-events.md +154 -0
  145. package/.agents/skills/modern-web-guidance/guides/performance/break-up-long-tasks.md +60 -0
  146. package/.agents/skills/modern-web-guidance/guides/performance/calculate-total-foreground-time.md +69 -0
  147. package/.agents/skills/modern-web-guidance/guides/performance/conditional-async-dependencies.md +71 -0
  148. package/.agents/skills/modern-web-guidance/guides/performance/defer-rendering-heavy-content.md +106 -0
  149. package/.agents/skills/modern-web-guidance/guides/performance/defer-work-until-scroll-ends.md +78 -0
  150. package/.agents/skills/modern-web-guidance/guides/performance/deprioritize-background-fetches.md +37 -0
  151. package/.agents/skills/modern-web-guidance/guides/performance/detect-initial-visibility-state.md +99 -0
  152. package/.agents/skills/modern-web-guidance/guides/performance/efficient-background-processing.md +117 -0
  153. package/.agents/skills/modern-web-guidance/guides/performance/faster-spa-view-transitions.md +79 -0
  154. package/.agents/skills/modern-web-guidance/guides/performance/full-session-analytics.md +135 -0
  155. package/.agents/skills/modern-web-guidance/guides/performance/identify-heavy-scripts.md +69 -0
  156. package/.agents/skills/modern-web-guidance/guides/performance/identify-inp-causes.md +73 -0
  157. package/.agents/skills/modern-web-guidance/guides/performance/improve-next-page-load-performance.md +119 -0
  158. package/.agents/skills/modern-web-guidance/guides/performance/interactions-in-complex-layouts.md +78 -0
  159. package/.agents/skills/modern-web-guidance/guides/performance/optimize-image-priority.md +61 -0
  160. package/.agents/skills/modern-web-guidance/guides/performance/optimize-preload-priority.md +41 -0
  161. package/.agents/skills/modern-web-guidance/guides/performance/optimize-script-priority.md +38 -0
  162. package/.agents/skills/modern-web-guidance/guides/performance/performance.md +366 -0
  163. package/.agents/skills/modern-web-guidance/guides/performance/resolution-optimized-pseudo-elements.md +47 -0
  164. package/.agents/skills/modern-web-guidance/guides/performance/schedule-tasks-by-priority.md +59 -0
  165. package/.agents/skills/modern-web-guidance/guides/performance/sequence-distributed-events.md +76 -0
  166. package/.agents/skills/modern-web-guidance/guides/privacy/privacy.md +247 -0
  167. package/.agents/skills/modern-web-guidance/guides/security/security.md +350 -0
  168. package/.agents/skills/modern-web-guidance/guides/user-experience/adapt-scrollbar-to-contrast-preferences.md +74 -0
  169. package/.agents/skills/modern-web-guidance/guides/user-experience/anchor-positioning-tab-underline.md +95 -0
  170. package/.agents/skills/modern-web-guidance/guides/user-experience/animate-element-entry-exit.md +131 -0
  171. package/.agents/skills/modern-web-guidance/guides/user-experience/animate-to-from-top-layer.md +140 -0
  172. package/.agents/skills/modern-web-guidance/guides/user-experience/animate-to-intrinsic-sizes.md +127 -0
  173. package/.agents/skills/modern-web-guidance/guides/user-experience/apply-webgl-shaders.md +239 -0
  174. package/.agents/skills/modern-web-guidance/guides/user-experience/calculate-event-differentials.md +85 -0
  175. package/.agents/skills/modern-web-guidance/guides/user-experience/calculate-with-intrinsic-sizes.md +196 -0
  176. package/.agents/skills/modern-web-guidance/guides/user-experience/capture-location-agnostic-data.md +63 -0
  177. package/.agents/skills/modern-web-guidance/guides/user-experience/carousel-slide-effects.md +187 -0
  178. package/.agents/skills/modern-web-guidance/guides/user-experience/carousel-snap-highlights.md +136 -0
  179. package/.agents/skills/modern-web-guidance/guides/user-experience/child-state-based-styling.md +101 -0
  180. package/.agents/skills/modern-web-guidance/guides/user-experience/complex-shapes.md +73 -0
  181. package/.agents/skills/modern-web-guidance/guides/user-experience/component-specific-light-dark-theme.md +179 -0
  182. package/.agents/skills/modern-web-guidance/guides/user-experience/consistent-cross-document-transitions.md +226 -0
  183. package/.agents/skills/modern-web-guidance/guides/user-experience/content-based-styling.md +118 -0
  184. package/.agents/skills/modern-web-guidance/guides/user-experience/coordinate-global-events.md +79 -0
  185. package/.agents/skills/modern-web-guidance/guides/user-experience/cross-document-transitions.md +127 -0
  186. package/.agents/skills/modern-web-guidance/guides/user-experience/custom-button-actions.md +173 -0
  187. package/.agents/skills/modern-web-guidance/guides/user-experience/customize-scrollbar-color-and-thickness.md +59 -0
  188. package/.agents/skills/modern-web-guidance/guides/user-experience/dark-mode.md +295 -0
  189. package/.agents/skills/modern-web-guidance/guides/user-experience/declarative-dialog-popover-control.md +238 -0
  190. package/.agents/skills/modern-web-guidance/guides/user-experience/deliver-optimized-decorative-images.md +49 -0
  191. package/.agents/skills/modern-web-guidance/guides/user-experience/design-token-reactivity.md +174 -0
  192. package/.agents/skills/modern-web-guidance/guides/user-experience/directional-navigation-transitions.md +125 -0
  193. package/.agents/skills/modern-web-guidance/guides/user-experience/dynamic-sibling-animations.md +54 -0
  194. package/.agents/skills/modern-web-guidance/guides/user-experience/dynamic-sibling-styling.md +98 -0
  195. package/.agents/skills/modern-web-guidance/guides/user-experience/export-html-media-from-canvas.md +256 -0
  196. package/.agents/skills/modern-web-guidance/guides/user-experience/expose-canvas-content-to-browser-features.md +401 -0
  197. package/.agents/skills/modern-web-guidance/guides/user-experience/flicker-free-client-side-ab-testing.md +168 -0
  198. package/.agents/skills/modern-web-guidance/guides/user-experience/fluid-scaling.md +78 -0
  199. package/.agents/skills/modern-web-guidance/guides/user-experience/format-human-readable-durations.md +87 -0
  200. package/.agents/skills/modern-web-guidance/guides/user-experience/group-element-transitions.md +124 -0
  201. package/.agents/skills/modern-web-guidance/guides/user-experience/improve-text-layout-and-legibility.md +76 -0
  202. package/.agents/skills/modern-web-guidance/guides/user-experience/individual-transform-properties.md +92 -0
  203. package/.agents/skills/modern-web-guidance/guides/user-experience/interactive-content-in-3d-scenes.md +383 -0
  204. package/.agents/skills/modern-web-guidance/guides/user-experience/interactive-content-reveal.md +118 -0
  205. package/.agents/skills/modern-web-guidance/guides/user-experience/interest-triggered-action-previews.md +79 -0
  206. package/.agents/skills/modern-web-guidance/guides/user-experience/interest-triggered-tooltips.md +132 -0
  207. package/.agents/skills/modern-web-guidance/guides/user-experience/light-dismiss-a-dialog.md +84 -0
  208. package/.agents/skills/modern-web-guidance/guides/user-experience/manage-recurring-intervals.md +73 -0
  209. package/.agents/skills/modern-web-guidance/guides/user-experience/model-partial-time-concepts.md +96 -0
  210. package/.agents/skills/modern-web-guidance/guides/user-experience/move-dom-element-without-losing-state.md +57 -0
  211. package/.agents/skills/modern-web-guidance/guides/user-experience/navigation-drawer.md +357 -0
  212. package/.agents/skills/modern-web-guidance/guides/user-experience/overflow-clipping-control.md +180 -0
  213. package/.agents/skills/modern-web-guidance/guides/user-experience/parallax-scroll-effects.md +230 -0
  214. package/.agents/skills/modern-web-guidance/guides/user-experience/persistent-app-tours.md +112 -0
  215. package/.agents/skills/modern-web-guidance/guides/user-experience/persistent-toast-notifications.md +30 -0
  216. package/.agents/skills/modern-web-guidance/guides/user-experience/persistent-top-layer-ui.md +48 -0
  217. package/.agents/skills/modern-web-guidance/guides/user-experience/physics-based-easing.md +118 -0
  218. package/.agents/skills/modern-web-guidance/guides/user-experience/platform-controls-dismiss-dialog.md +38 -0
  219. package/.agents/skills/modern-web-guidance/guides/user-experience/position-aware-tooltips.md +154 -0
  220. package/.agents/skills/modern-web-guidance/guides/user-experience/precise-text-alignment.md +99 -0
  221. package/.agents/skills/modern-web-guidance/guides/user-experience/prevent-text-wrapping.md +62 -0
  222. package/.agents/skills/modern-web-guidance/guides/user-experience/pull-to-reveal.md +83 -0
  223. package/.agents/skills/modern-web-guidance/guides/user-experience/reduce-style-repetition.md +87 -0
  224. package/.agents/skills/modern-web-guidance/guides/user-experience/resilient-context-menus-and-nested-dropdowns.md +102 -0
  225. package/.agents/skills/modern-web-guidance/guides/user-experience/same-document-transitions.md +177 -0
  226. package/.agents/skills/modern-web-guidance/guides/user-experience/scroll-entry-exit-effects.md +173 -0
  227. package/.agents/skills/modern-web-guidance/guides/user-experience/scroll-position-aware-elements.md +128 -0
  228. package/.agents/skills/modern-web-guidance/guides/user-experience/scroll-progress-indicator.md +133 -0
  229. package/.agents/skills/modern-web-guidance/guides/user-experience/scroll-snap-realtime-feedback.md +153 -0
  230. package/.agents/skills/modern-web-guidance/guides/user-experience/scroll-snap-state-sync.md +93 -0
  231. package/.agents/skills/modern-web-guidance/guides/user-experience/scroll-target-on-load.md +56 -0
  232. package/.agents/skills/modern-web-guidance/guides/user-experience/scrollability-affordance-hints.md +124 -0
  233. package/.agents/skills/modern-web-guidance/guides/user-experience/scrollytelling.md +181 -0
  234. package/.agents/skills/modern-web-guidance/guides/user-experience/search-hidden-content.md +136 -0
  235. package/.agents/skills/modern-web-guidance/guides/user-experience/shaped-cutouts.md +146 -0
  236. package/.agents/skills/modern-web-guidance/guides/user-experience/shrinking-header-on-scroll.md +126 -0
  237. package/.agents/skills/modern-web-guidance/guides/user-experience/size-aware-styling.md +104 -0
  238. package/.agents/skills/modern-web-guidance/guides/user-experience/soft-edge-content-fade.md +62 -0
  239. package/.agents/skills/modern-web-guidance/guides/user-experience/stabilize-reactive-state.md +72 -0
  240. package/.agents/skills/modern-web-guidance/guides/user-experience/stack-drill-down.md +680 -0
  241. package/.agents/skills/modern-web-guidance/guides/user-experience/style-parent-with-has.md +199 -0
  242. package/.agents/skills/modern-web-guidance/guides/user-experience/support-global-calendar-systems.md +107 -0
  243. package/.agents/skills/modern-web-guidance/guides/user-experience/swipe-to-remove.md +527 -0
  244. package/.agents/skills/modern-web-guidance/guides/user-experience/visually-stable-font-fallbacks.md +49 -0
  245. package/.agents/skills/modern-web-guidance/guides/user-experience/visually-stable-mixed-fonts.md +61 -0
  246. package/.agents/skills/modern-web-guidance/guides/user-experience/visually-texture-content.md +76 -0
  247. package/.agents/skills/modern-web-guidance/guides/webmcp/agentic-forms.md +116 -0
  248. package/.agents/skills/modern-web-guidance/guides/webmcp/agentic-javascript-tools.md +116 -0
  249. package/.agents/skills/modern-web-guidance/guides/webmcp/webmcp.md +43 -0
  250. package/.agents/skills/nextjs-app-router-patterns/SKILL.md +114 -0
  251. package/.agents/skills/nextjs-app-router-patterns/references/details.md +428 -0
  252. package/.agents/skills/nextjs-developer/SKILL.md +145 -0
  253. package/.agents/skills/nextjs-developer/references/app-router.md +311 -0
  254. package/.agents/skills/nextjs-developer/references/data-fetching.md +482 -0
  255. package/.agents/skills/nextjs-developer/references/deployment.md +545 -0
  256. package/.agents/skills/nextjs-developer/references/server-actions.md +462 -0
  257. package/.agents/skills/nextjs-developer/references/server-components.md +384 -0
  258. package/.agents/skills/nextjs-supabase-auth/SKILL.md +313 -0
  259. package/.agents/skills/nodejs-backend-patterns/SKILL.md +45 -0
  260. package/.agents/skills/nodejs-backend-patterns/references/advanced-patterns.md +430 -0
  261. package/.agents/skills/nodejs-backend-patterns/references/details.md +599 -0
  262. package/.agents/skills/performance-engineer/SKILL.md +181 -0
  263. package/.agents/skills/project-requirements/SKILL.md +43 -0
  264. package/.agents/skills/qa/SKILL.md +130 -0
  265. package/.agents/skills/security-review/LICENSE +22 -0
  266. package/.agents/skills/security-review/SKILL.md +312 -0
  267. package/.agents/skills/security-review/infrastructure/docker.md +432 -0
  268. package/.agents/skills/security-review/languages/javascript.md +387 -0
  269. package/.agents/skills/security-review/languages/python.md +363 -0
  270. package/.agents/skills/security-review/references/api-security.md +519 -0
  271. package/.agents/skills/security-review/references/authentication.md +353 -0
  272. package/.agents/skills/security-review/references/authorization.md +372 -0
  273. package/.agents/skills/security-review/references/business-logic.md +443 -0
  274. package/.agents/skills/security-review/references/cryptography.md +329 -0
  275. package/.agents/skills/security-review/references/csrf.md +398 -0
  276. package/.agents/skills/security-review/references/data-protection.md +378 -0
  277. package/.agents/skills/security-review/references/deserialization.md +410 -0
  278. package/.agents/skills/security-review/references/error-handling.md +436 -0
  279. package/.agents/skills/security-review/references/file-security.md +457 -0
  280. package/.agents/skills/security-review/references/injection.md +259 -0
  281. package/.agents/skills/security-review/references/logging.md +433 -0
  282. package/.agents/skills/security-review/references/misconfiguration.md +435 -0
  283. package/.agents/skills/security-review/references/modern-threats.md +475 -0
  284. package/.agents/skills/security-review/references/ssrf.md +413 -0
  285. package/.agents/skills/security-review/references/supply-chain.md +405 -0
  286. package/.agents/skills/security-review/references/xss.md +336 -0
  287. package/.agents/skills/seo-aeo-best-practices/SKILL.md +37 -0
  288. package/.agents/skills/seo-aeo-best-practices/references/aeo-considerations.md +159 -0
  289. package/.agents/skills/seo-aeo-best-practices/references/eeat-principles.md +127 -0
  290. package/.agents/skills/seo-aeo-best-practices/references/structured-data.md +183 -0
  291. package/.agents/skills/seo-aeo-best-practices/references/technical-seo.md +188 -0
  292. package/.agents/skills/seo-geo/.claude-plugin/plugin.json +29 -0
  293. package/.agents/skills/seo-geo/SKILL.md +250 -0
  294. package/.agents/skills/seo-geo/examples/opc-skills-case-study.md +330 -0
  295. package/.agents/skills/seo-geo/references/geo-research.md +319 -0
  296. package/.agents/skills/seo-geo/references/google-docs-summary.md +65 -0
  297. package/.agents/skills/seo-geo/references/platform-algorithms.md +354 -0
  298. package/.agents/skills/seo-geo/references/schema-templates.md +517 -0
  299. package/.agents/skills/seo-geo/references/seo-checklist.md +249 -0
  300. package/.agents/skills/seo-geo/references/tools-and-apis.md +313 -0
  301. package/.agents/skills/seo-geo/scripts/autocomplete_ideas.py +74 -0
  302. package/.agents/skills/seo-geo/scripts/backlinks.py +37 -0
  303. package/.agents/skills/seo-geo/scripts/competitor_gap.py +80 -0
  304. package/.agents/skills/seo-geo/scripts/credential.py +12 -0
  305. package/.agents/skills/seo-geo/scripts/dataforseo_api.py +104 -0
  306. package/.agents/skills/seo-geo/scripts/domain_overview.py +44 -0
  307. package/.agents/skills/seo-geo/scripts/keyword_research.py +38 -0
  308. package/.agents/skills/seo-geo/scripts/related_keywords.py +84 -0
  309. package/.agents/skills/seo-geo/scripts/seo_audit.py +151 -0
  310. package/.agents/skills/seo-geo/scripts/serp_analysis.py +41 -0
  311. package/.agents/skills/shadcn-ui/README.md +248 -0
  312. package/.agents/skills/shadcn-ui/SKILL.md +326 -0
  313. package/.agents/skills/shadcn-ui/examples/auth-layout.tsx +177 -0
  314. package/.agents/skills/shadcn-ui/examples/data-table.tsx +313 -0
  315. package/.agents/skills/shadcn-ui/examples/form-pattern.tsx +177 -0
  316. package/.agents/skills/shadcn-ui/resources/component-catalog.md +481 -0
  317. package/.agents/skills/shadcn-ui/resources/customization-guide.md +516 -0
  318. package/.agents/skills/shadcn-ui/resources/migration-guide.md +463 -0
  319. package/.agents/skills/shadcn-ui/resources/setup-guide.md +412 -0
  320. package/.agents/skills/shadcn-ui/scripts/verify-setup.sh +134 -0
  321. package/.agents/skills/skill-creator/LICENSE.txt +202 -0
  322. package/.agents/skills/skill-creator/SKILL.md +485 -0
  323. package/.agents/skills/skill-creator/agents/analyzer.md +274 -0
  324. package/.agents/skills/skill-creator/agents/comparator.md +202 -0
  325. package/.agents/skills/skill-creator/agents/grader.md +223 -0
  326. package/.agents/skills/skill-creator/assets/eval_review.html +146 -0
  327. package/.agents/skills/skill-creator/eval-viewer/generate_review.py +471 -0
  328. package/.agents/skills/skill-creator/eval-viewer/viewer.html +1325 -0
  329. package/.agents/skills/skill-creator/references/schemas.md +430 -0
  330. package/.agents/skills/skill-creator/scripts/__init__.py +0 -0
  331. package/.agents/skills/skill-creator/scripts/aggregate_benchmark.py +401 -0
  332. package/.agents/skills/skill-creator/scripts/generate_report.py +326 -0
  333. package/.agents/skills/skill-creator/scripts/improve_description.py +247 -0
  334. package/.agents/skills/skill-creator/scripts/package_skill.py +136 -0
  335. package/.agents/skills/skill-creator/scripts/quick_validate.py +103 -0
  336. package/.agents/skills/skill-creator/scripts/run_eval.py +310 -0
  337. package/.agents/skills/skill-creator/scripts/run_loop.py +328 -0
  338. package/.agents/skills/skill-creator/scripts/utils.py +47 -0
  339. package/.agents/skills/stacks/SKILL.md +21 -0
  340. package/.agents/skills/stacks/django.md +187 -0
  341. package/.agents/skills/stacks/express.md +16 -0
  342. package/.agents/skills/stacks/fastapi.md +17 -0
  343. package/.agents/skills/stacks/laravel.md +18 -0
  344. package/.agents/skills/stacks/nextjs.md +20 -0
  345. package/.agents/skills/stacks/react-native.md +170 -0
  346. package/.agents/skills/supabase/CHANGELOG.md +35 -0
  347. package/.agents/skills/supabase/SKILL.md +135 -0
  348. package/.agents/skills/supabase/assets/feedback-issue-template.md +17 -0
  349. package/.agents/skills/supabase/references/skill-feedback.md +17 -0
  350. package/.agents/skills/supabase-postgres-best-practices/CHANGELOG.md +29 -0
  351. package/.agents/skills/supabase-postgres-best-practices/SKILL.md +64 -0
  352. package/.agents/skills/supabase-postgres-best-practices/references/_contributing.md +170 -0
  353. package/.agents/skills/supabase-postgres-best-practices/references/_sections.md +39 -0
  354. package/.agents/skills/supabase-postgres-best-practices/references/_template.md +34 -0
  355. package/.agents/skills/supabase-postgres-best-practices/references/advanced-full-text-search.md +55 -0
  356. package/.agents/skills/supabase-postgres-best-practices/references/advanced-jsonb-indexing.md +49 -0
  357. package/.agents/skills/supabase-postgres-best-practices/references/conn-idle-timeout.md +46 -0
  358. package/.agents/skills/supabase-postgres-best-practices/references/conn-limits.md +44 -0
  359. package/.agents/skills/supabase-postgres-best-practices/references/conn-pooling.md +41 -0
  360. package/.agents/skills/supabase-postgres-best-practices/references/conn-prepared-statements.md +46 -0
  361. package/.agents/skills/supabase-postgres-best-practices/references/data-batch-inserts.md +54 -0
  362. package/.agents/skills/supabase-postgres-best-practices/references/data-n-plus-one.md +53 -0
  363. package/.agents/skills/supabase-postgres-best-practices/references/data-pagination.md +50 -0
  364. package/.agents/skills/supabase-postgres-best-practices/references/data-upsert.md +50 -0
  365. package/.agents/skills/supabase-postgres-best-practices/references/lock-advisory.md +56 -0
  366. package/.agents/skills/supabase-postgres-best-practices/references/lock-deadlock-prevention.md +68 -0
  367. package/.agents/skills/supabase-postgres-best-practices/references/lock-short-transactions.md +50 -0
  368. package/.agents/skills/supabase-postgres-best-practices/references/lock-skip-locked.md +54 -0
  369. package/.agents/skills/supabase-postgres-best-practices/references/monitor-explain-analyze.md +45 -0
  370. package/.agents/skills/supabase-postgres-best-practices/references/monitor-pg-stat-statements.md +55 -0
  371. package/.agents/skills/supabase-postgres-best-practices/references/monitor-vacuum-analyze.md +55 -0
  372. package/.agents/skills/supabase-postgres-best-practices/references/query-composite-indexes.md +44 -0
  373. package/.agents/skills/supabase-postgres-best-practices/references/query-covering-indexes.md +40 -0
  374. package/.agents/skills/supabase-postgres-best-practices/references/query-index-types.md +48 -0
  375. package/.agents/skills/supabase-postgres-best-practices/references/query-missing-indexes.md +43 -0
  376. package/.agents/skills/supabase-postgres-best-practices/references/query-partial-indexes.md +45 -0
  377. package/.agents/skills/supabase-postgres-best-practices/references/schema-constraints.md +80 -0
  378. package/.agents/skills/supabase-postgres-best-practices/references/schema-data-types.md +46 -0
  379. package/.agents/skills/supabase-postgres-best-practices/references/schema-foreign-key-indexes.md +59 -0
  380. package/.agents/skills/supabase-postgres-best-practices/references/schema-lowercase-identifiers.md +55 -0
  381. package/.agents/skills/supabase-postgres-best-practices/references/schema-partitioning.md +55 -0
  382. package/.agents/skills/supabase-postgres-best-practices/references/schema-primary-keys.md +61 -0
  383. package/.agents/skills/supabase-postgres-best-practices/references/security-privileges.md +54 -0
  384. package/.agents/skills/supabase-postgres-best-practices/references/security-rls-basics.md +50 -0
  385. package/.agents/skills/supabase-postgres-best-practices/references/security-rls-performance.md +63 -0
  386. package/.agents/skills/task-contract/SKILL.md +29 -0
  387. package/.agents/skills/token-optimization/SKILL.md +40 -0
  388. package/.agents/skills/ui-designer/SKILL.md +76 -0
  389. package/.agents/skills/ui-ux-pro-max/SKILL.md +704 -0
  390. package/.agents/skills/ui-ux-pro-max/data/_sync_all.py +414 -0
  391. package/.agents/skills/ui-ux-pro-max/data/app-interface.csv +31 -0
  392. package/.agents/skills/ui-ux-pro-max/data/charts.csv +26 -0
  393. package/.agents/skills/ui-ux-pro-max/data/colors.csv +162 -0
  394. package/.agents/skills/ui-ux-pro-max/data/design.csv +1776 -0
  395. package/.agents/skills/ui-ux-pro-max/data/draft.csv +1779 -0
  396. package/.agents/skills/ui-ux-pro-max/data/google-fonts.csv +1924 -0
  397. package/.agents/skills/ui-ux-pro-max/data/icons.csv +106 -0
  398. package/.agents/skills/ui-ux-pro-max/data/landing.csv +35 -0
  399. package/.agents/skills/ui-ux-pro-max/data/motion.csv +17 -0
  400. package/.agents/skills/ui-ux-pro-max/data/products.csv +162 -0
  401. package/.agents/skills/ui-ux-pro-max/data/react-performance.csv +45 -0
  402. package/.agents/skills/ui-ux-pro-max/data/stacks/angular.csv +51 -0
  403. package/.agents/skills/ui-ux-pro-max/data/stacks/astro.csv +54 -0
  404. package/.agents/skills/ui-ux-pro-max/data/stacks/flutter.csv +53 -0
  405. package/.agents/skills/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -0
  406. package/.agents/skills/ui-ux-pro-max/data/stacks/jetpack-compose.csv +53 -0
  407. package/.agents/skills/ui-ux-pro-max/data/stacks/laravel.csv +51 -0
  408. package/.agents/skills/ui-ux-pro-max/data/stacks/nextjs.csv +53 -0
  409. package/.agents/skills/ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -0
  410. package/.agents/skills/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -0
  411. package/.agents/skills/ui-ux-pro-max/data/stacks/react-native.csv +52 -0
  412. package/.agents/skills/ui-ux-pro-max/data/stacks/react.csv +54 -0
  413. package/.agents/skills/ui-ux-pro-max/data/stacks/shadcn.csv +61 -0
  414. package/.agents/skills/ui-ux-pro-max/data/stacks/svelte.csv +54 -0
  415. package/.agents/skills/ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
  416. package/.agents/skills/ui-ux-pro-max/data/stacks/threejs.csv +54 -0
  417. package/.agents/skills/ui-ux-pro-max/data/stacks/vue.csv +50 -0
  418. package/.agents/skills/ui-ux-pro-max/data/styles.csv +85 -0
  419. package/.agents/skills/ui-ux-pro-max/data/typography.csv +74 -0
  420. package/.agents/skills/ui-ux-pro-max/data/ui-reasoning.csv +162 -0
  421. package/.agents/skills/ui-ux-pro-max/data/ux-guidelines.csv +100 -0
  422. package/.agents/skills/ui-ux-pro-max/scripts/core.py +274 -0
  423. package/.agents/skills/ui-ux-pro-max/scripts/design_system.py +1329 -0
  424. package/.agents/skills/ui-ux-pro-max/scripts/search.py +127 -0
  425. package/.agents/skills/vercel-cli-with-tokens/SKILL.md +353 -0
  426. package/.agents/skills/vercel-composition-patterns/AGENTS.md +946 -0
  427. package/.agents/skills/vercel-composition-patterns/README.md +60 -0
  428. package/.agents/skills/vercel-composition-patterns/SKILL.md +89 -0
  429. package/.agents/skills/vercel-composition-patterns/metadata.json +11 -0
  430. package/.agents/skills/vercel-composition-patterns/rules/_sections.md +29 -0
  431. package/.agents/skills/vercel-composition-patterns/rules/_template.md +24 -0
  432. package/.agents/skills/vercel-composition-patterns/rules/architecture-avoid-boolean-props.md +100 -0
  433. package/.agents/skills/vercel-composition-patterns/rules/architecture-compound-components.md +112 -0
  434. package/.agents/skills/vercel-composition-patterns/rules/patterns-children-over-render-props.md +87 -0
  435. package/.agents/skills/vercel-composition-patterns/rules/patterns-explicit-variants.md +100 -0
  436. package/.agents/skills/vercel-composition-patterns/rules/react19-no-forwardref.md +42 -0
  437. package/.agents/skills/vercel-composition-patterns/rules/state-context-interface.md +191 -0
  438. package/.agents/skills/vercel-composition-patterns/rules/state-decouple-implementation.md +113 -0
  439. package/.agents/skills/vercel-composition-patterns/rules/state-lift-state.md +125 -0
  440. package/.agents/skills/vercel-optimize/AGENTS.md +48 -0
  441. package/.agents/skills/vercel-optimize/CONTRIBUTING.md +41 -0
  442. package/.agents/skills/vercel-optimize/README.md +91 -0
  443. package/.agents/skills/vercel-optimize/SKILL.md +322 -0
  444. package/.agents/skills/vercel-optimize/lib/auth-route.mjs +23 -0
  445. package/.agents/skills/vercel-optimize/lib/budget-summary.mjs +182 -0
  446. package/.agents/skills/vercel-optimize/lib/citations.mjs +139 -0
  447. package/.agents/skills/vercel-optimize/lib/cost-coverage.mjs +143 -0
  448. package/.agents/skills/vercel-optimize/lib/dedup-recs.mjs +325 -0
  449. package/.agents/skills/vercel-optimize/lib/deep-dive.mjs +350 -0
  450. package/.agents/skills/vercel-optimize/lib/display-labels.mjs +185 -0
  451. package/.agents/skills/vercel-optimize/lib/extract-claims.mjs +550 -0
  452. package/.agents/skills/vercel-optimize/lib/framework-support.mjs +67 -0
  453. package/.agents/skills/vercel-optimize/lib/gates/build-minutes-fanout.mjs +69 -0
  454. package/.agents/skills/vercel-optimize/lib/gates/cold-start.mjs +66 -0
  455. package/.agents/skills/vercel-optimize/lib/gates/contract.mjs +79 -0
  456. package/.agents/skills/vercel-optimize/lib/gates/cwv-poor.mjs +87 -0
  457. package/.agents/skills/vercel-optimize/lib/gates/external-api-slow.mjs +55 -0
  458. package/.agents/skills/vercel-optimize/lib/gates/hard-gates.mjs +73 -0
  459. package/.agents/skills/vercel-optimize/lib/gates/index.mjs +45 -0
  460. package/.agents/skills/vercel-optimize/lib/gates/isr-overrevalidation.mjs +62 -0
  461. package/.agents/skills/vercel-optimize/lib/gates/middleware-heavy.mjs +51 -0
  462. package/.agents/skills/vercel-optimize/lib/gates/observability-events-attribution.mjs +56 -0
  463. package/.agents/skills/vercel-optimize/lib/gates/platform-bot-protection.mjs +115 -0
  464. package/.agents/skills/vercel-optimize/lib/gates/platform-fluid-compute.mjs +83 -0
  465. package/.agents/skills/vercel-optimize/lib/gates/region-misconfig.mjs +64 -0
  466. package/.agents/skills/vercel-optimize/lib/gates/route-errors.mjs +80 -0
  467. package/.agents/skills/vercel-optimize/lib/gates/scanner-driven.mjs +122 -0
  468. package/.agents/skills/vercel-optimize/lib/gates/select-candidates.mjs +134 -0
  469. package/.agents/skills/vercel-optimize/lib/gates/slow-route.mjs +88 -0
  470. package/.agents/skills/vercel-optimize/lib/gates/types.d.ts +38 -0
  471. package/.agents/skills/vercel-optimize/lib/gates/uncached-route.mjs +93 -0
  472. package/.agents/skills/vercel-optimize/lib/gates/usage-spike-triage.mjs +121 -0
  473. package/.agents/skills/vercel-optimize/lib/grade-recommendation.mjs +155 -0
  474. package/.agents/skills/vercel-optimize/lib/impact-label.mjs +126 -0
  475. package/.agents/skills/vercel-optimize/lib/impact-magnitude.mjs +60 -0
  476. package/.agents/skills/vercel-optimize/lib/investigation-brief.mjs +610 -0
  477. package/.agents/skills/vercel-optimize/lib/observation-safety.mjs +174 -0
  478. package/.agents/skills/vercel-optimize/lib/project-facts.mjs +99 -0
  479. package/.agents/skills/vercel-optimize/lib/queries.mjs +315 -0
  480. package/.agents/skills/vercel-optimize/lib/reconcile-candidates.mjs +372 -0
  481. package/.agents/skills/vercel-optimize/lib/render-report.mjs +955 -0
  482. package/.agents/skills/vercel-optimize/lib/repo-root.mjs +86 -0
  483. package/.agents/skills/vercel-optimize/lib/route-normalize.mjs +220 -0
  484. package/.agents/skills/vercel-optimize/lib/sanitizers/bot-protection-certainty.mjs +38 -0
  485. package/.agents/skills/vercel-optimize/lib/sanitizers/cache-tag-invalidation-certainty.mjs +30 -0
  486. package/.agents/skills/vercel-optimize/lib/sanitizers/count-correct.mjs +52 -0
  487. package/.agents/skills/vercel-optimize/lib/sanitizers/function-duration-invocations.mjs +38 -0
  488. package/.agents/skills/vercel-optimize/lib/sanitizers/index.mjs +79 -0
  489. package/.agents/skills/vercel-optimize/lib/sanitizers/middleware-conflict.mjs +36 -0
  490. package/.agents/skills/vercel-optimize/lib/sanitizers/missing-citation.mjs +16 -0
  491. package/.agents/skills/vercel-optimize/lib/sanitizers/pre-release.mjs +74 -0
  492. package/.agents/skills/vercel-optimize/lib/sanitizers/rate-limit.mjs +67 -0
  493. package/.agents/skills/vercel-optimize/lib/sanitizers/rendering-mode-mislabel.mjs +38 -0
  494. package/.agents/skills/vercel-optimize/lib/sanitizers/undeclared-dep.mjs +78 -0
  495. package/.agents/skills/vercel-optimize/lib/sanitizers/vercel-directive-strip.mjs +37 -0
  496. package/.agents/skills/vercel-optimize/lib/sanitizers/window-units.mjs +32 -0
  497. package/.agents/skills/vercel-optimize/lib/scanners/cache-components-suspense-dedupe.mjs +109 -0
  498. package/.agents/skills/vercel-optimize/lib/scanners/edge-heavy-import.mjs +94 -0
  499. package/.agents/skills/vercel-optimize/lib/scanners/force-dynamic.mjs +42 -0
  500. package/.agents/skills/vercel-optimize/lib/scanners/headers-in-page.mjs +44 -0
  501. package/.agents/skills/vercel-optimize/lib/scanners/index.mjs +35 -0
  502. package/.agents/skills/vercel-optimize/lib/scanners/large-static-asset.mjs +92 -0
  503. package/.agents/skills/vercel-optimize/lib/scanners/max-age-without-s-maxage.mjs +42 -0
  504. package/.agents/skills/vercel-optimize/lib/scanners/middleware-broad-matcher.mjs +55 -0
  505. package/.agents/skills/vercel-optimize/lib/scanners/missing-cache-headers.mjs +90 -0
  506. package/.agents/skills/vercel-optimize/lib/scanners/prisma-include-tree.mjs +42 -0
  507. package/.agents/skills/vercel-optimize/lib/scanners/region-pin-in-config.mjs +88 -0
  508. package/.agents/skills/vercel-optimize/lib/scanners/source-maps-production.mjs +36 -0
  509. package/.agents/skills/vercel-optimize/lib/scanners/sveltekit-prerender-missing.mjs +43 -0
  510. package/.agents/skills/vercel-optimize/lib/scanners/turbo-force-bypass.mjs +129 -0
  511. package/.agents/skills/vercel-optimize/lib/scanners/unoptimized-image.mjs +113 -0
  512. package/.agents/skills/vercel-optimize/lib/scanners/use-cache-date-stamp.mjs +106 -0
  513. package/.agents/skills/vercel-optimize/lib/support-topics.mjs +355 -0
  514. package/.agents/skills/vercel-optimize/lib/throttle.mjs +273 -0
  515. package/.agents/skills/vercel-optimize/lib/util.mjs +17 -0
  516. package/.agents/skills/vercel-optimize/lib/vercel.mjs +864 -0
  517. package/.agents/skills/vercel-optimize/lib/verify-claim.mjs +1296 -0
  518. package/.agents/skills/vercel-optimize/lib/workspace-resolver.mjs +521 -0
  519. package/.agents/skills/vercel-optimize/metadata.json +14 -0
  520. package/.agents/skills/vercel-optimize/references/candidates.md +176 -0
  521. package/.agents/skills/vercel-optimize/references/data-collection.md +218 -0
  522. package/.agents/skills/vercel-optimize/references/docs-library.json +683 -0
  523. package/.agents/skills/vercel-optimize/references/doctrine.md +105 -0
  524. package/.agents/skills/vercel-optimize/references/observability-plus.md +108 -0
  525. package/.agents/skills/vercel-optimize/references/playbooks/README.md +53 -0
  526. package/.agents/skills/vercel-optimize/references/playbooks/ai-application.md +32 -0
  527. package/.agents/skills/vercel-optimize/references/playbooks/api-service.md +30 -0
  528. package/.agents/skills/vercel-optimize/references/playbooks/content-site.md +30 -0
  529. package/.agents/skills/vercel-optimize/references/playbooks/ecommerce.md +30 -0
  530. package/.agents/skills/vercel-optimize/references/playbooks/marketing.md +30 -0
  531. package/.agents/skills/vercel-optimize/references/playbooks/saas.md +31 -0
  532. package/.agents/skills/vercel-optimize/references/playbooks/sveltekit.md +75 -0
  533. package/.agents/skills/vercel-optimize/references/recommendations.md +203 -0
  534. package/.agents/skills/vercel-optimize/references/scanner-patterns.md +251 -0
  535. package/.agents/skills/vercel-optimize/references/scoring.md +205 -0
  536. package/.agents/skills/vercel-optimize/references/support-topics/README.md +46 -0
  537. package/.agents/skills/vercel-optimize/references/support-topics/astro-edge-middleware-scope.md +22 -0
  538. package/.agents/skills/vercel-optimize/references/support-topics/astro-output-mode-and-isr.md +22 -0
  539. package/.agents/skills/vercel-optimize/references/support-topics/auth-preserving-parallelization.md +22 -0
  540. package/.agents/skills/vercel-optimize/references/support-topics/bot-protection-product-guardrails.md +22 -0
  541. package/.agents/skills/vercel-optimize/references/support-topics/build-minutes-monorepo-fanout.md +23 -0
  542. package/.agents/skills/vercel-optimize/references/support-topics/cache-components-static-shell-boundaries.md +22 -0
  543. package/.agents/skills/vercel-optimize/references/support-topics/cache-components-suspense-dedupe-pitfall.md +23 -0
  544. package/.agents/skills/vercel-optimize/references/support-topics/cdn-cache-auth-safety.md +22 -0
  545. package/.agents/skills/vercel-optimize/references/support-topics/cold-start-initialization-bundle.md +22 -0
  546. package/.agents/skills/vercel-optimize/references/support-topics/core-web-vitals-client-bottlenecks.md +22 -0
  547. package/.agents/skills/vercel-optimize/references/support-topics/database-egress-pooling-region.md +22 -0
  548. package/.agents/skills/vercel-optimize/references/support-topics/dynamic-rendering-traps.md +22 -0
  549. package/.agents/skills/vercel-optimize/references/support-topics/external-api-critical-path-platform.md +22 -0
  550. package/.agents/skills/vercel-optimize/references/support-topics/external-api-critical-path.md +22 -0
  551. package/.agents/skills/vercel-optimize/references/support-topics/fast-data-transfer-payloads.md +22 -0
  552. package/.agents/skills/vercel-optimize/references/support-topics/fluid-compute-caveats.md +22 -0
  553. package/.agents/skills/vercel-optimize/references/support-topics/function-duration-io-and-after.md +22 -0
  554. package/.agents/skills/vercel-optimize/references/support-topics/function-invocation-reduction.md +22 -0
  555. package/.agents/skills/vercel-optimize/references/support-topics/function-region-misconfiguration-ttfb.md +23 -0
  556. package/.agents/skills/vercel-optimize/references/support-topics/image-optimization-cost-control.md +22 -0
  557. package/.agents/skills/vercel-optimize/references/support-topics/isr-revalidation-static-generation.md +22 -0
  558. package/.agents/skills/vercel-optimize/references/support-topics/middleware-proxy-edge-cost.md +22 -0
  559. package/.agents/skills/vercel-optimize/references/support-topics/next-fetch-revalidate-floor.md +22 -0
  560. package/.agents/skills/vercel-optimize/references/support-topics/next-font-cls-self-hosting.md +23 -0
  561. package/.agents/skills/vercel-optimize/references/support-topics/next-heavy-ui-lazy-load-boundaries.md +23 -0
  562. package/.agents/skills/vercel-optimize/references/support-topics/next-image-lcp-preload-sizes.md +23 -0
  563. package/.agents/skills/vercel-optimize/references/support-topics/next-route-handler-get-cache-defaults.md +22 -0
  564. package/.agents/skills/vercel-optimize/references/support-topics/next-script-third-party-strategy.md +23 -0
  565. package/.agents/skills/vercel-optimize/references/support-topics/nextjs-version-cache-semantics.md +22 -0
  566. package/.agents/skills/vercel-optimize/references/support-topics/not-found-catchall-request-waste.md +23 -0
  567. package/.agents/skills/vercel-optimize/references/support-topics/nuxt-route-rules-cache-isr.md +22 -0
  568. package/.agents/skills/vercel-optimize/references/support-topics/observability-events-cost-attribution.md +22 -0
  569. package/.agents/skills/vercel-optimize/references/support-topics/post-response-work-waituntil.md +22 -0
  570. package/.agents/skills/vercel-optimize/references/support-topics/route-error-durable-offload.md +22 -0
  571. package/.agents/skills/vercel-optimize/references/support-topics/route-error-runtime-limits.md +22 -0
  572. package/.agents/skills/vercel-optimize/references/support-topics/runtime-cache-reusable-data.md +22 -0
  573. package/.agents/skills/vercel-optimize/references/support-topics/sveltekit-isr-prerender-safety.md +22 -0
  574. package/.agents/skills/vercel-optimize/references/support-topics/sveltekit-split-cold-start-tradeoff.md +22 -0
  575. package/.agents/skills/vercel-optimize/references/support-topics/usage-spike-triage.md +22 -0
  576. package/.agents/skills/vercel-optimize/references/support-topics/use-cache-date-stamp-isr-write-amplifier.md +23 -0
  577. package/.agents/skills/vercel-optimize/references/support-topics/use-cache-remote-shared-origin-data.md +22 -0
  578. package/.agents/skills/vercel-optimize/references/support-topics/workflow-resumable-stream-routes.md +23 -0
  579. package/.agents/skills/vercel-optimize/references/verification.md +102 -0
  580. package/.agents/skills/vercel-optimize/references/voice.md +76 -0
  581. package/.agents/skills/vercel-optimize/scripts/budget-summary.mjs +56 -0
  582. package/.agents/skills/vercel-optimize/scripts/build-docs.mjs +74 -0
  583. package/.agents/skills/vercel-optimize/scripts/check-citations.mjs +81 -0
  584. package/.agents/skills/vercel-optimize/scripts/check-docs-fresh.mjs +93 -0
  585. package/.agents/skills/vercel-optimize/scripts/collect-signals.mjs +576 -0
  586. package/.agents/skills/vercel-optimize/scripts/collect-sub-agent-outputs.mjs +296 -0
  587. package/.agents/skills/vercel-optimize/scripts/deep-dive.mjs +319 -0
  588. package/.agents/skills/vercel-optimize/scripts/gate-investigations.mjs +166 -0
  589. package/.agents/skills/vercel-optimize/scripts/merge-signals.mjs +192 -0
  590. package/.agents/skills/vercel-optimize/scripts/prepare-investigation-brief.mjs +231 -0
  591. package/.agents/skills/vercel-optimize/scripts/reconcile-candidates.mjs +62 -0
  592. package/.agents/skills/vercel-optimize/scripts/render-report.mjs +437 -0
  593. package/.agents/skills/vercel-optimize/scripts/scan-codebase.mjs +313 -0
  594. package/.agents/skills/vercel-optimize/scripts/verify-and-regen.mjs +346 -0
  595. package/.agents/skills/vercel-optimize/scripts/verify-finding.mjs +19 -0
  596. package/.agents/skills/vercel-react-best-practices/AGENTS.md +3810 -0
  597. package/.agents/skills/vercel-react-best-practices/README.md +123 -0
  598. package/.agents/skills/vercel-react-best-practices/SKILL.md +149 -0
  599. package/.agents/skills/vercel-react-best-practices/metadata.json +15 -0
  600. package/.agents/skills/vercel-react-best-practices/rules/_sections.md +46 -0
  601. package/.agents/skills/vercel-react-best-practices/rules/_template.md +28 -0
  602. package/.agents/skills/vercel-react-best-practices/rules/advanced-effect-event-deps.md +56 -0
  603. package/.agents/skills/vercel-react-best-practices/rules/advanced-event-handler-refs.md +55 -0
  604. package/.agents/skills/vercel-react-best-practices/rules/advanced-init-once.md +42 -0
  605. package/.agents/skills/vercel-react-best-practices/rules/advanced-use-latest.md +39 -0
  606. package/.agents/skills/vercel-react-best-practices/rules/async-api-routes.md +38 -0
  607. package/.agents/skills/vercel-react-best-practices/rules/async-cheap-condition-before-await.md +37 -0
  608. package/.agents/skills/vercel-react-best-practices/rules/async-defer-await.md +82 -0
  609. package/.agents/skills/vercel-react-best-practices/rules/async-dependencies.md +51 -0
  610. package/.agents/skills/vercel-react-best-practices/rules/async-parallel.md +28 -0
  611. package/.agents/skills/vercel-react-best-practices/rules/async-suspense-boundaries.md +99 -0
  612. package/.agents/skills/vercel-react-best-practices/rules/bundle-analyzable-paths.md +63 -0
  613. package/.agents/skills/vercel-react-best-practices/rules/bundle-barrel-imports.md +60 -0
  614. package/.agents/skills/vercel-react-best-practices/rules/bundle-conditional.md +31 -0
  615. package/.agents/skills/vercel-react-best-practices/rules/bundle-defer-third-party.md +49 -0
  616. package/.agents/skills/vercel-react-best-practices/rules/bundle-dynamic-imports.md +35 -0
  617. package/.agents/skills/vercel-react-best-practices/rules/bundle-preload.md +50 -0
  618. package/.agents/skills/vercel-react-best-practices/rules/client-event-listeners.md +74 -0
  619. package/.agents/skills/vercel-react-best-practices/rules/client-localstorage-schema.md +71 -0
  620. package/.agents/skills/vercel-react-best-practices/rules/client-passive-event-listeners.md +48 -0
  621. package/.agents/skills/vercel-react-best-practices/rules/client-swr-dedup.md +56 -0
  622. package/.agents/skills/vercel-react-best-practices/rules/js-batch-dom-css.md +107 -0
  623. package/.agents/skills/vercel-react-best-practices/rules/js-cache-function-results.md +80 -0
  624. package/.agents/skills/vercel-react-best-practices/rules/js-cache-property-access.md +28 -0
  625. package/.agents/skills/vercel-react-best-practices/rules/js-cache-storage.md +70 -0
  626. package/.agents/skills/vercel-react-best-practices/rules/js-combine-iterations.md +32 -0
  627. package/.agents/skills/vercel-react-best-practices/rules/js-early-exit.md +50 -0
  628. package/.agents/skills/vercel-react-best-practices/rules/js-flatmap-filter.md +60 -0
  629. package/.agents/skills/vercel-react-best-practices/rules/js-hoist-regexp.md +45 -0
  630. package/.agents/skills/vercel-react-best-practices/rules/js-index-maps.md +37 -0
  631. package/.agents/skills/vercel-react-best-practices/rules/js-length-check-first.md +49 -0
  632. package/.agents/skills/vercel-react-best-practices/rules/js-min-max-loop.md +82 -0
  633. package/.agents/skills/vercel-react-best-practices/rules/js-request-idle-callback.md +105 -0
  634. package/.agents/skills/vercel-react-best-practices/rules/js-set-map-lookups.md +24 -0
  635. package/.agents/skills/vercel-react-best-practices/rules/js-tosorted-immutable.md +57 -0
  636. package/.agents/skills/vercel-react-best-practices/rules/rendering-activity.md +26 -0
  637. package/.agents/skills/vercel-react-best-practices/rules/rendering-animate-svg-wrapper.md +47 -0
  638. package/.agents/skills/vercel-react-best-practices/rules/rendering-conditional-render.md +40 -0
  639. package/.agents/skills/vercel-react-best-practices/rules/rendering-content-visibility.md +38 -0
  640. package/.agents/skills/vercel-react-best-practices/rules/rendering-hoist-jsx.md +46 -0
  641. package/.agents/skills/vercel-react-best-practices/rules/rendering-hydration-no-flicker.md +82 -0
  642. package/.agents/skills/vercel-react-best-practices/rules/rendering-hydration-suppress-warning.md +30 -0
  643. package/.agents/skills/vercel-react-best-practices/rules/rendering-resource-hints.md +85 -0
  644. package/.agents/skills/vercel-react-best-practices/rules/rendering-script-defer-async.md +68 -0
  645. package/.agents/skills/vercel-react-best-practices/rules/rendering-svg-precision.md +28 -0
  646. package/.agents/skills/vercel-react-best-practices/rules/rendering-usetransition-loading.md +75 -0
  647. package/.agents/skills/vercel-react-best-practices/rules/rerender-defer-reads.md +39 -0
  648. package/.agents/skills/vercel-react-best-practices/rules/rerender-dependencies.md +45 -0
  649. package/.agents/skills/vercel-react-best-practices/rules/rerender-derived-state-no-effect.md +40 -0
  650. package/.agents/skills/vercel-react-best-practices/rules/rerender-derived-state.md +29 -0
  651. package/.agents/skills/vercel-react-best-practices/rules/rerender-functional-setstate.md +74 -0
  652. package/.agents/skills/vercel-react-best-practices/rules/rerender-lazy-state-init.md +58 -0
  653. package/.agents/skills/vercel-react-best-practices/rules/rerender-memo-with-default-value.md +38 -0
  654. package/.agents/skills/vercel-react-best-practices/rules/rerender-memo.md +44 -0
  655. package/.agents/skills/vercel-react-best-practices/rules/rerender-move-effect-to-event.md +45 -0
  656. package/.agents/skills/vercel-react-best-practices/rules/rerender-no-inline-components.md +82 -0
  657. package/.agents/skills/vercel-react-best-practices/rules/rerender-simple-expression-in-memo.md +35 -0
  658. package/.agents/skills/vercel-react-best-practices/rules/rerender-split-combined-hooks.md +64 -0
  659. package/.agents/skills/vercel-react-best-practices/rules/rerender-transitions.md +40 -0
  660. package/.agents/skills/vercel-react-best-practices/rules/rerender-use-deferred-value.md +59 -0
  661. package/.agents/skills/vercel-react-best-practices/rules/rerender-use-ref-transient-values.md +73 -0
  662. package/.agents/skills/vercel-react-best-practices/rules/server-after-nonblocking.md +73 -0
  663. package/.agents/skills/vercel-react-best-practices/rules/server-auth-actions.md +96 -0
  664. package/.agents/skills/vercel-react-best-practices/rules/server-cache-lru.md +41 -0
  665. package/.agents/skills/vercel-react-best-practices/rules/server-cache-react.md +76 -0
  666. package/.agents/skills/vercel-react-best-practices/rules/server-dedup-props.md +65 -0
  667. package/.agents/skills/vercel-react-best-practices/rules/server-hoist-static-io.md +149 -0
  668. package/.agents/skills/vercel-react-best-practices/rules/server-no-shared-module-state.md +50 -0
  669. package/.agents/skills/vercel-react-best-practices/rules/server-parallel-fetching.md +83 -0
  670. package/.agents/skills/vercel-react-best-practices/rules/server-parallel-nested-fetching.md +34 -0
  671. package/.agents/skills/vercel-react-best-practices/rules/server-serialization.md +38 -0
  672. package/.agents/skills/vercel-react-native-skills/AGENTS.md +2897 -0
  673. package/.agents/skills/vercel-react-native-skills/README.md +165 -0
  674. package/.agents/skills/vercel-react-native-skills/SKILL.md +121 -0
  675. package/.agents/skills/vercel-react-native-skills/metadata.json +16 -0
  676. package/.agents/skills/vercel-react-native-skills/rules/_sections.md +86 -0
  677. package/.agents/skills/vercel-react-native-skills/rules/_template.md +28 -0
  678. package/.agents/skills/vercel-react-native-skills/rules/animation-derived-value.md +53 -0
  679. package/.agents/skills/vercel-react-native-skills/rules/animation-gesture-detector-press.md +95 -0
  680. package/.agents/skills/vercel-react-native-skills/rules/animation-gpu-properties.md +65 -0
  681. package/.agents/skills/vercel-react-native-skills/rules/design-system-compound-components.md +66 -0
  682. package/.agents/skills/vercel-react-native-skills/rules/fonts-config-plugin.md +71 -0
  683. package/.agents/skills/vercel-react-native-skills/rules/imports-design-system-folder.md +68 -0
  684. package/.agents/skills/vercel-react-native-skills/rules/js-hoist-intl.md +61 -0
  685. package/.agents/skills/vercel-react-native-skills/rules/list-performance-callbacks.md +44 -0
  686. package/.agents/skills/vercel-react-native-skills/rules/list-performance-function-references.md +132 -0
  687. package/.agents/skills/vercel-react-native-skills/rules/list-performance-images.md +53 -0
  688. package/.agents/skills/vercel-react-native-skills/rules/list-performance-inline-objects.md +97 -0
  689. package/.agents/skills/vercel-react-native-skills/rules/list-performance-item-expensive.md +94 -0
  690. package/.agents/skills/vercel-react-native-skills/rules/list-performance-item-memo.md +82 -0
  691. package/.agents/skills/vercel-react-native-skills/rules/list-performance-item-types.md +104 -0
  692. package/.agents/skills/vercel-react-native-skills/rules/list-performance-virtualize.md +67 -0
  693. package/.agents/skills/vercel-react-native-skills/rules/monorepo-native-deps-in-app.md +46 -0
  694. package/.agents/skills/vercel-react-native-skills/rules/monorepo-single-dependency-versions.md +63 -0
  695. package/.agents/skills/vercel-react-native-skills/rules/navigation-native-navigators.md +188 -0
  696. package/.agents/skills/vercel-react-native-skills/rules/react-compiler-destructure-functions.md +50 -0
  697. package/.agents/skills/vercel-react-native-skills/rules/react-compiler-reanimated-shared-values.md +48 -0
  698. package/.agents/skills/vercel-react-native-skills/rules/react-state-dispatcher.md +91 -0
  699. package/.agents/skills/vercel-react-native-skills/rules/react-state-fallback.md +56 -0
  700. package/.agents/skills/vercel-react-native-skills/rules/react-state-minimize.md +65 -0
  701. package/.agents/skills/vercel-react-native-skills/rules/rendering-no-falsy-and.md +74 -0
  702. package/.agents/skills/vercel-react-native-skills/rules/rendering-text-in-text-component.md +36 -0
  703. package/.agents/skills/vercel-react-native-skills/rules/scroll-position-no-state.md +82 -0
  704. package/.agents/skills/vercel-react-native-skills/rules/state-ground-truth.md +80 -0
  705. package/.agents/skills/vercel-react-native-skills/rules/ui-expo-image.md +66 -0
  706. package/.agents/skills/vercel-react-native-skills/rules/ui-image-gallery.md +104 -0
  707. package/.agents/skills/vercel-react-native-skills/rules/ui-measure-views.md +78 -0
  708. package/.agents/skills/vercel-react-native-skills/rules/ui-menus.md +174 -0
  709. package/.agents/skills/vercel-react-native-skills/rules/ui-native-modals.md +77 -0
  710. package/.agents/skills/vercel-react-native-skills/rules/ui-pressable.md +61 -0
  711. package/.agents/skills/vercel-react-native-skills/rules/ui-safe-area-scroll.md +65 -0
  712. package/.agents/skills/vercel-react-native-skills/rules/ui-scrollview-content-inset.md +45 -0
  713. package/.agents/skills/vercel-react-native-skills/rules/ui-styling.md +87 -0
  714. package/.agents/skills/vercel-react-view-transitions/AGENTS.md +955 -0
  715. package/.agents/skills/vercel-react-view-transitions/README.md +42 -0
  716. package/.agents/skills/vercel-react-view-transitions/SKILL.md +320 -0
  717. package/.agents/skills/vercel-react-view-transitions/metadata.json +12 -0
  718. package/.agents/skills/vercel-react-view-transitions/references/css-recipes.md +242 -0
  719. package/.agents/skills/vercel-react-view-transitions/references/implementation.md +182 -0
  720. package/.agents/skills/vercel-react-view-transitions/references/nextjs.md +176 -0
  721. package/.agents/skills/vercel-react-view-transitions/references/patterns.md +262 -0
  722. package/.agents/skills/web-design-guidelines/SKILL.md +39 -0
  723. package/.agents/skills/workflow-metrics/SKILL.md +18 -0
  724. package/.agents/skills/writing-guidelines/SKILL.md +39 -0
  725. package/CODING_STANDARDS.md +49 -0
  726. package/LICENSE +21 -0
  727. package/README.md +556 -0
  728. package/VERSION +1 -0
  729. package/bin/devos.js +893 -0
  730. package/docs/.gitkeep +0 -0
  731. package/docs/ARCHITECTURE.md +114 -0
  732. package/docs/CHANGELOG.md +61 -0
  733. package/docs/CURRENT_STATE.md +39 -0
  734. package/docs/FIELD_REPORT_2026-08-20.md +130 -0
  735. package/docs/GETTING_STARTED.md +130 -0
  736. package/docs/LESSONS.md +24 -0
  737. package/docs/PRE_COMMIT_HOOK.md +152 -0
  738. package/docs/SLASH_COMMANDS.md +116 -0
  739. package/docs/TUTORIAL.md +75 -0
  740. package/package.json +54 -0
  741. package/scripts/smoke-test.js +167 -0
@@ -0,0 +1,226 @@
1
+ # Consistent Cross-Document Transitions
2
+
3
+ ## The Problem
4
+
5
+ Cross-document view transitions animate elements between two pages during a same-origin navigation. The browser captures a snapshot of the old page, navigates, then animates from the snapshot to the new page. If the new page has not finished loading critical resources — stylesheets, layout scripts, or key DOM elements — the transition animates to an incomplete or unstyled state. This causes visual glitches such as elements morphing to wrong positions, content reflowing mid-animation, or fallback fonts flashing to web fonts after the transition completes.
6
+
7
+ ## The Solution
8
+
9
+ Use `blocking="render"` on critical `<link>` and `<script>` elements in the new page's `<head>`, and use `<link rel="expect">` to block rendering until specific DOM elements have been parsed. This ensures the browser does not begin the view transition animation until the new page's visual state is stable. The browser continues parsing the HTML in the background — only painting is deferred.
10
+
11
+ ### Implementation Strategy
12
+
13
+ 1. **MANDATORY:** Opt in to cross-document view transitions with the `@view-transition` CSS at-rule on both pages.
14
+ 2. **MANDATORY:** Ensure critical stylesheets are in the `<head>`. Stylesheets in the `<head>` are render-blocking by default. Dynamically injected stylesheets require explicit `blocking="render"`.
15
+ 3. **DO** use `blocking="render"` on `<script>` elements that must execute before the transition animates (e.g., scripts that apply a theme or affect the layout).
16
+ 4. **DO** use `<link rel="expect" href="#element-id" blocking="render">` to block rendering until above-the-fold content has been parsed. This applies to all transition types: full-page cross-fades (to avoid animating to a blank page), morph animations (to ensure named elements exist in the DOM), and script-dependent layouts (to ensure styled content is parsed).
17
+ 5. **DO NOT** block rendering on non-critical content. Only block on resources and elements that affect the initial viewport. Blocking on too much content delays the transition and degrades perceived performance.
18
+
19
+ ## Implementation Guide
20
+
21
+ ### Step 1: Opt in to Cross-Document View Transitions
22
+
23
+ MANDATORY: Both the source and destination pages must include the `@view-transition` at-rule. Without this, no cross-document transition occurs.
24
+
25
+ ```css
26
+ /*
27
+ MANDATORY: Include this rule in every page that participates
28
+ in cross-document view transitions.
29
+ `navigation: auto` enables transitions for standard navigations
30
+ (link clicks, form submissions, back/forward).
31
+ */
32
+ @view-transition {
33
+ navigation: auto;
34
+ }
35
+
36
+ /* MANDATORY Copy-Paste Safety: Disable cross-document view transitions for users requesting reduced motion */
37
+ @media (prefers-reduced-motion: reduce) {
38
+ @view-transition {
39
+ navigation: none;
40
+ }
41
+ }
42
+ ```
43
+
44
+ ### Step 2: Block Rendering Until Critical Scripts Execute
45
+
46
+ If a non-blocking script in the `<head>` must run before the transition animates (e.g., to apply a theme class or affect the layout), mark it with `blocking="render"`. Without this, `async`, `defer`, or `type="module"` scripts may execute after the transition has already started.
47
+
48
+ ```html
49
+ <head>
50
+ <!--
51
+ DO: Mark layout-critical scripts with blocking="render".
52
+ -->
53
+ <script type=module blocking="render">
54
+ // Example: apply a stored theme before the page renders,
55
+ // so the transition snapshot reflects the correct theme.
56
+ document.documentElement.dataset.theme =
57
+ localStorage.getItem('theme') || 'light';
58
+ </script>
59
+ </head>
60
+ ```
61
+
62
+ ### Step 3: Block Rendering Until Key DOM Elements Are Parsed
63
+
64
+ Stylesheets and `blocking="render"` scripts in the `<head>` only guarantee that the `<head>` has been fully processed. They do **not** wait for any `<body>` content to be parsed. Without additional blocking, the browser may take the new-page snapshot before above-the-fold elements exist in the DOM — resulting in a transition that animates to a blank or partially rendered page.
65
+
66
+ `<link rel="expect">` solves this by blocking rendering until a specific element (identified by its `id`) has been parsed. The `href` value must be a fragment identifier (e.g., `#hero`) matching the target element's `id` attribute. Once that element's closing tag is parsed, the render block is released.
67
+
68
+ **DO** use `<link rel="expect">` in all of the following scenarios:
69
+
70
+ #### Use Case 1: Full-Page Cross-Fade
71
+
72
+ Even when no individual elements have a `view-transition-name`, the default `root` transition cross-fades the entire page. If the new page's snapshot is taken before above-the-fold content is parsed, the cross-fade animates from the old page to a blank or incomplete page. Block rendering on an element that marks the end of the visible above-the-fold content.
73
+
74
+ ```html
75
+ <head>
76
+ <link rel="stylesheet" href="/css/styles.css">
77
+
78
+ <!--
79
+ DO: Block rendering until the main content area is parsed,
80
+ even for a simple cross-fade. Without this, the browser may
81
+ snapshot the page before visible content exists in the DOM,
82
+ causing the cross-fade to reveal a blank or partial page.
83
+ -->
84
+ <link rel="expect" href="#main-content" blocking="render">
85
+ </head>
86
+ <body>
87
+ <header>...</header>
88
+ <main id="main-content">
89
+ <h1>Page Title</h1>
90
+ <p>Above-the-fold content the user should see immediately.</p>
91
+ </main>
92
+ <!-- Content below the fold does NOT need to be blocked on -->
93
+ <section>...</section>
94
+ </body>
95
+ ```
96
+
97
+ #### Use Case 2: Morph Animations Between Specific Elements
98
+
99
+ When elements on both pages share a `view-transition-name`, the browser morphs them smoothly across the navigation. If the target element has not been parsed when the transition starts, the browser cannot find it — the morph degrades to separate exit and entry animations. Block rendering until the element with the `view-transition-name` has been parsed.
100
+
101
+ ```html
102
+ <head>
103
+ <link rel="stylesheet" href="/css/styles.css">
104
+
105
+ <!--
106
+ DO: Block rendering until the element participating in the
107
+ morph animation has been parsed. Without this, the browser
108
+ may start the transition before #hero exists, causing the
109
+ morph to degrade to a fade-out/fade-in.
110
+ -->
111
+ <link rel="expect" href="#hero" blocking="render">
112
+
113
+ <!--
114
+ When multiple blocking="render" resources are present,
115
+ rendering is blocked until ALL of them are satisfied.
116
+ Here, the browser waits for both the script to execute
117
+ AND the #hero element to be parsed — whichever comes last.
118
+ -->
119
+ <script async blocking="render" src="/js/transition-setup.js"></script>
120
+ </head>
121
+ <body>
122
+ <header>...</header>
123
+ <section id="hero">
124
+ <h1 style="view-transition-name: page-title">Product Name</h1>
125
+ <img style="view-transition-name: hero-image" src="/img/product.webp" alt="Product">
126
+ </section>
127
+ </body>
128
+ ```
129
+
130
+ ### Step 4: Use Media Queries for Responsive Render Blocking
131
+
132
+ Different viewport sizes may show different amounts of content above the fold. Use the `media` attribute on `<link rel="expect">` to block rendering only for the content visible at a given viewport width.
133
+
134
+ ```html
135
+ <head>
136
+ <!--
137
+ DO: Use media queries to conditionally block rendering.
138
+ On wide screens, both the hero and the sidebar are visible,
139
+ so block until both are parsed. On narrow screens, only the
140
+ hero is visible initially.
141
+ -->
142
+ <link
143
+ rel="expect"
144
+ href="#hero"
145
+ blocking="render"
146
+ media="screen and (width <= 768px)"
147
+ >
148
+ <link
149
+ rel="expect"
150
+ href="#sidebar"
151
+ blocking="render"
152
+ media="screen and (width > 768px)"
153
+ >
154
+ </head>
155
+ ```
156
+
157
+ ### Step 5: Use pagereveal for Context-Dependent Transitions (Optional)
158
+
159
+ The `pagereveal` event is **not required** for the core render-blocking strategy. It is only needed when `view-transition-name` values must be assigned dynamically based on where the user navigated from — for example, morphing a specific list item to a detail page heading.
160
+
161
+ If `view-transition-name` values are assigned statically in CSS, or if you are only using the default full-page cross-fade, skip this step entirely.
162
+
163
+ ```html
164
+ <head>
165
+ <!--
166
+ MANDATORY: The pagereveal listener must be registered before
167
+ the page renders. Use an async script with blocking="render"
168
+ so the listener is registered early without blocking parsing.
169
+ If the listener is registered too late (e.g., in a deferred
170
+ script), the event may have already fired.
171
+ -->
172
+ <script async blocking="render" src="/js/transition-setup.js"></script>
173
+ </head>
174
+ ```
175
+
176
+ ```javascript
177
+ // transition-setup.js
178
+ window.addEventListener('pagereveal', async (event) => {
179
+ if (!event.viewTransition) return;
180
+
181
+ const from = navigation.activation?.from;
182
+ if (!from) return;
183
+
184
+ const fromUrl = new URL(from.url);
185
+
186
+ // DO: Assign view-transition-name based on navigation context.
187
+ // This enables a morph animation from the product card on the
188
+ // list page to the heading on the detail page.
189
+ if (fromUrl.pathname === '/products/') {
190
+ const heading = document.querySelector('main h1');
191
+ if (heading) {
192
+ heading.style.viewTransitionName = 'product-title';
193
+ }
194
+
195
+ // MANDATORY: Remove the temporary name after the transition
196
+ // finishes. Stale names interfere with subsequent navigations
197
+ // and prevent the page from entering the bfcache.
198
+ await event.viewTransition.finished;
199
+ heading.style.viewTransitionName = '';
200
+ }
201
+ });
202
+ ```
203
+
204
+ ## Best Practices
205
+
206
+ - **DO** assign `view-transition-name` via CSS whenever possible. Reserve JavaScript assignment (via `pagereveal`) for cases where the name depends on navigation context.
207
+ - **DO** keep render-blocking scripts small and fast. The browser has a built-in timeout (around 4 seconds), after which the transition is skipped entirely with a `TimeoutError`.
208
+ - **DO NOT** use `<link rel="expect">` to block on elements deep in the page that are not visible in the initial viewport. This delays the transition without visual benefit.
209
+ - **DO NOT** assign the same `view-transition-name` to multiple elements on the same page. Duplicate names cause the entire transition to be skipped.
210
+ - **Assistive Technology Timing Impact**: Using `blocking="render"` delays visual updates and initial paint. While this prevents visual glitches for sighted users, it can cause processing latency or deferred initialization for screen readers and other assistive technologies that depend on rendered accessibility trees. Weigh the visual continuity benefits against the initial read latency for non-visual users, and ensure render-blocking scripts are minimal and extremely optimized.
211
+
212
+ ## Fallback Strategies
213
+
214
+ Cross-document view transitions has limited availability.
215
+ Supported by: Chrome 126 (Jun 2024), Edge 126 (Jun 2024), and Safari 18.2 (Dec 2024).
216
+ Unsupported in: Firefox.
217
+
218
+ Cross-document view transitions are an excellent candidate for progressive enhancement. In browsers that do not support them, the `@view-transition` rule is ignored and standard same-origin navigations occurs exactly as they would without the feature. Supporting browsers get smooth transitions; all others get standard navigation. Limited browser support is not a reason to avoid adoption.
219
+
220
+ All browsers that support cross-document view transitions also support `blocking="render"` and `<link rel="expect">`, so no separate fallback is needed for the render-blocking features described in this guide.
221
+
222
+ ## Other Considerations
223
+
224
+ 1. **Performance Impact**: Every render-blocking resource delays the view transition animation start. Minimize the number of render-blocking scripts and use `<link rel="expect">` only for elements that are above the fold. Prerender destination pages using the Speculation Rules API to eliminate loading delays entirely.
225
+ 2. **Timeout Behavior**: If the combined render-blocking time exceeds approximately 4 seconds, the browser skips the transition with a `TimeoutError`. Ensure critical resources load well within this window.
226
+ 3. **bfcache Compatibility**: Temporary `view-transition-name` assignments that are not cleaned up after the transition can prevent the page from entering the bfcache. Always remove dynamically assigned names in the `finished` callback.
@@ -0,0 +1,118 @@
1
+ Historically, applying different layouts to a component based on its content required either JavaScript or conditional logic in your HTML templating language to inject modifier classes (like `.card--has-image` or `.card--text-only`).
2
+
3
+ The `:has()` pseudo-class eliminates this need by acting as a parent selector. It allows you to conditionally style a container element based on the presence or absence of specific descendant elements.
4
+
5
+ Using `:has()`, you can easily define distinct layout variations entirely in CSS based on a component's actual DOM content. You can also optionally combine it with `:not()` to explicitly target the *absence* of content to define default layouts.
6
+
7
+ ### Implementing content-based container styling
8
+
9
+ **MANDATORY**: You must use the `:has()` selector on the container element to detect the presence of specific child content.
10
+
11
+ To build a component that changes its layout based on its content:
12
+
13
+ 1. **Define the default styling**: Apply the base layout styles to the container element (e.g., a simple single-column stack).
14
+ 2. **Apply content-based overrides**: Target the container with `:has([child-selector])` and apply the new layout styles for when that content is present (e.g., a multi-column grid).
15
+
16
+ *Example: A card component that switches to a side-by-side layout if an image is present.*
17
+
18
+ ```css
19
+ /* 1. Define the default state on the component container */
20
+ /* This applies when there is NO image */
21
+ .article-card {
22
+ display: flex;
23
+ flex-direction: column;
24
+ gap: 1rem;
25
+ padding: 1.5rem;
26
+ border: 1px solid #ccc;
27
+ border-radius: 8px;
28
+ }
29
+
30
+ /* 2. Apply styles when a specific child element is present */
31
+ /* MANDATORY: Target the container and use :has() to check for the descendant */
32
+ .article-card:has(img) {
33
+ /* Change the layout to a row if an image exists */
34
+ flex-direction: row;
35
+ align-items: center;
36
+ }
37
+
38
+ /* Optional: Style the image itself (no :has() needed here) */
39
+ .article-card img {
40
+ width: 150px;
41
+ height: auto;
42
+ border-radius: 4px;
43
+ }
44
+
45
+ /* You can also combine :has() and :not() to explicitly target the ABSENCE of content */
46
+ /* This selects a card that DOES NOT have an image */
47
+ .article-card:not(:has(img)) {
48
+ /* E.g., apply a different background color for text-only cards */
49
+ background-color: #f9f9f9;
50
+ }
51
+ ```
52
+
53
+ ```html
54
+ <!-- Assume an <h1> precedes these components in the document layout -->
55
+ <!-- A card WITH an image (will use row layout) -->
56
+ <article class="article-card">
57
+ <img src="thumbnail.jpg" alt="Article thumbnail" />
58
+ <div class="content">
59
+ <h2>Card With Image</h2>
60
+ <p>This card lays out its content horizontally.</p>
61
+ </div>
62
+ </article>
63
+
64
+ <!-- A card WITHOUT an image (will use default column layout) -->
65
+ <article class="article-card">
66
+ <div class="content">
67
+ <h2>Text-Only Card</h2>
68
+ <p>This card lays out its content vertically, and gets its background color from the :not(:has()) rule.</p>
69
+ </div>
70
+ </article>
71
+ ```
72
+
73
+ **Performance tip**: When using `:has()`, scope the selector to the most specific component container possible (like `.article-card`). Avoid anchoring it to very high-level elements like `body:has(img)` if the styling changes are highly localized, as broad `:has()` queries can trigger more layout recalculations.
74
+
75
+ ### Fallback strategies
76
+
77
+ Baseline status for :has(): Newly available. It's been Baseline since 2023-12-19.
78
+ Supported by: Chrome 105 (Sep 2022), Edge 105 (Sep 2022), Firefox 121 (Dec 2023), and Safari 15.4 (Mar 2022).
79
+
80
+ If the content-based layout styling is critical to the user experience or page design, you must provide a fallback for browsers that do not support the `:has()` selector. For purely decorative effects, `:has()` can be used as a progressive enhancement without a fallback.
81
+
82
+ **MANDATORY**: When implementing a fallback for critical layouts, you must use `@supports not selector(:has(*))` in your CSS to define a traditional class-based fallback (e.g., `.has-image`).
83
+
84
+ Unlike interactive state-based styling, content presence is typically known at render time. The most robust fallback is to have your server-side templating engine (or static site generator) inject a class like `.has-image` onto the container if the child element (like an image) exists in the data.
85
+
86
+ If server-side rendering is not an option, you must use a small script with `CSS.supports()` to detect the content and append the class on load or after dynamic content injection.
87
+
88
+ ```css
89
+ /* Fallback CSS for older browsers */
90
+ /* We check if the browser DOES NOT support the :has() selector */
91
+ @supports not selector(:has(*)) {
92
+ /* Define a traditional modifier class that applies the exact same layout overrides */
93
+ .article-card.has-image {
94
+ flex-direction: row;
95
+ align-items: center;
96
+ }
97
+
98
+ .article-card:not(.has-image) {
99
+ background-color: #f9f9f9;
100
+ }
101
+ }
102
+ ```
103
+
104
+ ```javascript
105
+ /* Fallback JavaScript for older browsers (if not using SSR to add the class) */
106
+ /* Check for support before running the script to avoid unnecessary work in modern browsers */
107
+ if (!CSS.supports('selector(:has(*))')) {
108
+ // Find all components that need checking
109
+ const cards = document.querySelectorAll('.article-card');
110
+
111
+ cards.forEach(card => {
112
+ // If the critical content exists, manually add the fallback class
113
+ if (card.querySelector('img')) {
114
+ card.classList.add('has-image');
115
+ }
116
+ });
117
+ }
118
+ ```
@@ -0,0 +1,79 @@
1
+ # Coordinating Global Events with Temporal
2
+
3
+ Scheduling events across different time zones is notoriously difficult with the legacy `Date` object, especially around Daylight Saving Time (DST) transitions when hours can be skipped or repeated.
4
+
5
+ The `Temporal` API provides `Temporal.ZonedDateTime` to represent a date and time in a specific time zone, handling DST transitions automatically and predictably.
6
+
7
+ ## How to Implement
8
+
9
+ To coordinate global events and handle potential DST conflicts:
10
+
11
+ 1. **MANDATORY:** **Create a ZonedDateTime**: Use `Temporal.ZonedDateTime.from()` to create a time-zone-aware date-time object.
12
+ 2. **MANDATORY:** **Handle Ambiguity**: Use the `disambiguation` option to control behavior when a time is ambiguous or does not exist (e.g., during clock changes).
13
+ 3. **MANDATORY:** **Convert Time Zones**: Use `.withTimeZone()` to see the equivalent time in another location.
14
+
15
+ ### Example: Scheduling and Conflict Detection
16
+
17
+ ```javascript
18
+ // 1. Define the event time and target time zone
19
+ const date = "2025-03-09";
20
+ const time = "02:30"; // This time is skipped in New York during Spring Forward
21
+ const timeZone = "America/New_York";
22
+ const inputStr = `${date}T${time}[${timeZone}]`;
23
+
24
+ // 2. Detect conflicts using 'reject'
25
+ let hasConflict = false;
26
+ try {
27
+ // 'reject' throws RangeError if the time is ambiguous or does not exist
28
+ Temporal.ZonedDateTime.from(inputStr, { disambiguation: 'reject' });
29
+ } catch (e) {
30
+ if (e instanceof RangeError) {
31
+ hasConflict = true;
32
+ console.log("This time falls in a DST transition gap or overlap.");
33
+ }
34
+ }
35
+
36
+ // 3. Resolve the time safely using 'compatible' (default)
37
+ // 'compatible' will resolve to a valid time even if skipped or repeated
38
+ const hostTime = Temporal.ZonedDateTime.from(inputStr, { disambiguation: 'compatible' });
39
+ console.log(`Resolved time: ${hostTime.toString()}`);
40
+
41
+ // 4. Convert to another time zone (e.g., Tokyo)
42
+ const tokyoTime = hostTime.withTimeZone("Asia/Tokyo");
43
+ console.log(`Tokyo time: ${tokyoTime.toString()}`);
44
+ ```
45
+
46
+ ## Strategic Implementation & Best Practices
47
+
48
+ - **DO** use `Temporal.ZonedDateTime` for events that are bound to a specific geographical location (like a meeting in a specific city).
49
+ - **DO** use `disambiguation: 'reject'` if you need to detect and warn users about scheduling conflicts during DST transitions.
50
+ - **DO** use `disambiguation: 'compatible'` (the default) when you want the system to automatically pick a sensible time when conflicts occur.
51
+ - **DO NOT** use `Temporal.PlainDateTime` for global events, as it does not carry time zone information and cannot account for DST changes.
52
+ - **DO** use `.withTimeZone()` to calculate the equivalent time in other locations without mutating the original object (Temporal objects are immutable).
53
+
54
+ ### Fallback strategies
55
+
56
+ Temporal has limited availability.
57
+ Supported by: Chrome 144 (Jan 2026), Edge 144 (Jan 2026), and Firefox 139 (May 2025).
58
+ Unsupported in: Safari.
59
+
60
+ For environments without native `Temporal` support, you must conditionally load the `@js-temporal/polyfill`.
61
+
62
+ ```javascript
63
+ // Check if Temporal is supported natively
64
+ (async () => {
65
+ if (typeof Temporal === 'undefined') {
66
+ // Load the polyfill conditionally
67
+ const module = await import("https://esm.sh/@js-temporal/polyfill");
68
+ globalThis.Temporal = module.Temporal;
69
+ // Extend Date.prototype if needed
70
+ Date.prototype.toTemporalInstant = module.toTemporalInstant;
71
+ initializeApp();
72
+ }
73
+ })();
74
+
75
+ function initializeApp() {
76
+ // Your app logic here
77
+ console.log("Temporal is ready:", typeof Temporal);
78
+ }
79
+ ```
@@ -0,0 +1,127 @@
1
+ Cross-document view transitions allow you to create smooth, app-like transitions between different pages of a Multi-Page Application (MPA). By default, the browser performs a cross-fade, but you can customize this to match your site's aesthetic.
2
+
3
+ ### Implementation Steps
4
+
5
+ #### 1. Opt-in to Cross-Document View Transitions
6
+
7
+ Both the source and destination pages must opt-in to view transitions for the browser to trigger them on navigation.
8
+
9
+ ```css
10
+ /* Respect user's preference for reduced motion */
11
+ @media (prefers-reduced-motion: no-preference) {
12
+ /* Add to a global stylesheet shared by both pages */
13
+ @view-transition {
14
+ /* Enables transitions for same-origin navigations */
15
+ navigation: auto;
16
+ }
17
+ }
18
+ ```
19
+
20
+ #### 2. Customize Transition Animations (Optional)
21
+
22
+ You can target the old and new states of the transition using pseudo-elements to create effects like slides or reveals.
23
+
24
+ ```css
25
+ /* Customizing the outgoing page animation */
26
+ ::view-transition-old(root) {
27
+ /* Move the old page out to the left */
28
+ animation: 0.4s ease-in both slide-out;
29
+ }
30
+
31
+ /* Customizing the incoming page animation */
32
+ ::view-transition-new(root) {
33
+ /* Move the new page in from the right */
34
+ animation: 0.4s ease-out both slide-in;
35
+ }
36
+
37
+ @keyframes slide-out {
38
+ to { transform: translateX(-20%); opacity: 0; }
39
+ }
40
+
41
+ @keyframes slide-in {
42
+ from { transform: translateX(100%); }
43
+ }
44
+ ```
45
+
46
+ #### 3. Create Directional Transitions (Optional)
47
+
48
+ You may want different transition effects depending on the pages you are navigating between. For instance, when navigating from a home page to a contact page, you may want the effect of new content coming from the right. When navigating back to the home page, it wouldn't make sense to have the same effect.
49
+
50
+ If the page you are navigating to will always have the same transition type, regardless of how you get to the page, you can specify it with `types` in the `@view-transition` rule.
51
+
52
+ ```css
53
+ @media (prefers-reduced-motion: no-preference) {
54
+ @view-transition {
55
+ navigation: auto;
56
+ /* Specify the types of view transitions that will always be used on this page. */
57
+ types: previous;
58
+ }
59
+ }
60
+ ```
61
+
62
+ You can also conditionally specify transition types inside of an event listener for `pagereveal`.
63
+
64
+ ```js
65
+ window.addEventListener("pagereveal", async (e) => {
66
+ if (e.viewTransition && window.navigation?.activation) {
67
+ // Use application-specific logic to compute a transition type
68
+ const transitionType = yourTransitionTypeLogic(navigation.activation.from, navigation.activation.entry);
69
+ e.viewTransition.types.add(transitionType);
70
+ }
71
+ });
72
+ ```
73
+
74
+ Then, use the `:active-view-transition-type()` pseudo selector to apply the different animations for each type.
75
+
76
+ ```css
77
+ :active-view-transition-type(next) {
78
+ &::view-transition-old(root) {
79
+ animation-name: slide-out-next;
80
+ }
81
+
82
+ &::view-transition-new(root) {
83
+ animation-name: slide-in-next;
84
+ }
85
+ }
86
+ :active-view-transition-type(previous) {
87
+ &::view-transition-old(root) {
88
+ animation-name: slide-out-previous;
89
+ }
90
+
91
+ &::view-transition-new(root) {
92
+ animation-name: slide-in-previous;
93
+ }
94
+ }
95
+ ```
96
+
97
+ ### Fallback strategies
98
+
99
+ Baseline status for View transitions: Newly available. It's been Baseline since 2025-10-14.
100
+ Supported by: Chrome 111 (Mar 2023), Edge 111 (Mar 2023), Firefox 144 (Oct 2025), and Safari 18 (Sep 2024).
101
+
102
+ Cross-document view transitions has limited availability.
103
+ Supported by: Chrome 126 (Jun 2024), Edge 126 (Jun 2024), and Safari 18.2 (Dec 2024).
104
+ Unsupported in: Firefox.
105
+
106
+ If a browser does not support view transitions, or cross-document view transitions, it will perform a standard instant page navigation. Cross-document view transitions are a progressive enhancement; the core functionality of the site remains unaffected.
107
+
108
+ To check for support in JavaScript:
109
+
110
+ ```javascript
111
+ if ('onpagereveal' in window) {
112
+ // Browser supports cross-document view transitions
113
+ }
114
+ ```
115
+
116
+ Baseline status for Navigation API: Newly available. It's been Baseline since 2026-01-13.
117
+ Supported by: Chrome 102 (May 2022), Edge 102 (May 2022), Firefox 147 (Jan 2026), and Safari 26.2 (Dec 2025).
118
+
119
+ If a browser does not support the Navigation API, you will not be able to use it to determine a transition type. Use an alternate method for determining the transition type, or provide a fallback transition type. Otherwise, the browser will perform a standard instant page navigation.
120
+
121
+ To check for support in JavaScript:
122
+
123
+ ```javascript
124
+ if (window.navigation?.activation) {
125
+ // Browser supports the Navigation API
126
+ }
127
+ ```