lsd-pi 1.2.0 → 1.2.1

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 (505) hide show
  1. package/dist/onboarding.js +3 -3
  2. package/dist/resources/agents/scout.md +6 -0
  3. package/dist/resources/extensions/slash-commands/plan.js +7 -1
  4. package/dist/resources/extensions/subagent/index.js +10 -2
  5. package/dist/resources/extensions/usage/index.js +87 -36
  6. package/package.json +1 -1
  7. package/packages/pi-ai/dist/models.generated.d.ts +222 -1
  8. package/packages/pi-ai/dist/models.generated.d.ts.map +1 -1
  9. package/packages/pi-ai/dist/models.generated.js +227 -6
  10. package/packages/pi-ai/dist/models.generated.js.map +1 -1
  11. package/packages/pi-ai/dist/models.test.js +28 -0
  12. package/packages/pi-ai/dist/models.test.js.map +1 -1
  13. package/packages/pi-ai/scripts/generate-models.ts +10 -100
  14. package/packages/pi-ai/src/models.generated.ts +227 -6
  15. package/packages/pi-ai/src/models.test.ts +30 -0
  16. package/packages/pi-coding-agent/dist/core/agent-session.d.ts +2 -0
  17. package/packages/pi-coding-agent/dist/core/agent-session.d.ts.map +1 -1
  18. package/packages/pi-coding-agent/dist/core/agent-session.js +28 -0
  19. package/packages/pi-coding-agent/dist/core/agent-session.js.map +1 -1
  20. package/packages/pi-coding-agent/dist/core/system-prompt.d.ts.map +1 -1
  21. package/packages/pi-coding-agent/dist/core/system-prompt.js +10 -0
  22. package/packages/pi-coding-agent/dist/core/system-prompt.js.map +1 -1
  23. package/packages/pi-coding-agent/dist/tests/path-display.test.js +13 -0
  24. package/packages/pi-coding-agent/dist/tests/path-display.test.js.map +1 -1
  25. package/packages/pi-coding-agent/dist/tests/settings-manager-scout-policy.test.d.ts +2 -0
  26. package/packages/pi-coding-agent/dist/tests/settings-manager-scout-policy.test.d.ts.map +1 -0
  27. package/packages/pi-coding-agent/dist/tests/settings-manager-scout-policy.test.js +15 -0
  28. package/packages/pi-coding-agent/dist/tests/settings-manager-scout-policy.test.js.map +1 -0
  29. package/packages/pi-coding-agent/src/core/agent-session.ts +35 -0
  30. package/packages/pi-coding-agent/src/core/system-prompt.ts +26 -0
  31. package/packages/pi-coding-agent/src/tests/path-display.test.ts +14 -0
  32. package/src/resources/agents/scout.md +6 -0
  33. package/src/resources/extensions/slash-commands/plan.ts +11 -1
  34. package/src/resources/extensions/subagent/index.ts +10 -2
  35. package/src/resources/extensions/usage/index.ts +92 -38
  36. package/dist/resources/agents/javascript-pro.md +0 -280
  37. package/dist/resources/agents/researcher.md +0 -29
  38. package/dist/resources/agents/teams-builder.md +0 -74
  39. package/dist/resources/agents/teams-reviewer.md +0 -113
  40. package/dist/resources/agents/typescript-pro.md +0 -255
  41. package/dist/resources/skills/accessibility/SKILL.md +0 -522
  42. package/dist/resources/skills/accessibility/references/WCAG.md +0 -162
  43. package/dist/resources/skills/core-web-vitals/SKILL.md +0 -441
  44. package/dist/resources/skills/core-web-vitals/references/LCP.md +0 -208
  45. package/dist/resources/skills/frontend-design/SKILL.md +0 -45
  46. package/dist/resources/skills/make-interfaces-feel-better/SKILL.md +0 -122
  47. package/dist/resources/skills/make-interfaces-feel-better/animations.md +0 -379
  48. package/dist/resources/skills/make-interfaces-feel-better/performance.md +0 -88
  49. package/dist/resources/skills/make-interfaces-feel-better/surfaces.md +0 -247
  50. package/dist/resources/skills/make-interfaces-feel-better/typography.md +0 -123
  51. package/dist/resources/skills/react-best-practices/README.md +0 -123
  52. package/dist/resources/skills/react-best-practices/SKILL.md +0 -136
  53. package/dist/resources/skills/react-best-practices/metadata.json +0 -15
  54. package/dist/resources/skills/react-best-practices/rules/_sections.md +0 -46
  55. package/dist/resources/skills/react-best-practices/rules/_template.md +0 -28
  56. package/dist/resources/skills/react-best-practices/rules/advanced-event-handler-refs.md +0 -55
  57. package/dist/resources/skills/react-best-practices/rules/advanced-init-once.md +0 -42
  58. package/dist/resources/skills/react-best-practices/rules/advanced-use-latest.md +0 -39
  59. package/dist/resources/skills/react-best-practices/rules/async-api-routes.md +0 -38
  60. package/dist/resources/skills/react-best-practices/rules/async-defer-await.md +0 -80
  61. package/dist/resources/skills/react-best-practices/rules/async-dependencies.md +0 -51
  62. package/dist/resources/skills/react-best-practices/rules/async-parallel.md +0 -28
  63. package/dist/resources/skills/react-best-practices/rules/async-suspense-boundaries.md +0 -99
  64. package/dist/resources/skills/react-best-practices/rules/bundle-barrel-imports.md +0 -59
  65. package/dist/resources/skills/react-best-practices/rules/bundle-conditional.md +0 -31
  66. package/dist/resources/skills/react-best-practices/rules/bundle-defer-third-party.md +0 -49
  67. package/dist/resources/skills/react-best-practices/rules/bundle-dynamic-imports.md +0 -35
  68. package/dist/resources/skills/react-best-practices/rules/bundle-preload.md +0 -50
  69. package/dist/resources/skills/react-best-practices/rules/client-event-listeners.md +0 -74
  70. package/dist/resources/skills/react-best-practices/rules/client-localstorage-schema.md +0 -71
  71. package/dist/resources/skills/react-best-practices/rules/client-passive-event-listeners.md +0 -48
  72. package/dist/resources/skills/react-best-practices/rules/client-swr-dedup.md +0 -56
  73. package/dist/resources/skills/react-best-practices/rules/js-batch-dom-css.md +0 -107
  74. package/dist/resources/skills/react-best-practices/rules/js-cache-function-results.md +0 -80
  75. package/dist/resources/skills/react-best-practices/rules/js-cache-property-access.md +0 -28
  76. package/dist/resources/skills/react-best-practices/rules/js-cache-storage.md +0 -70
  77. package/dist/resources/skills/react-best-practices/rules/js-combine-iterations.md +0 -32
  78. package/dist/resources/skills/react-best-practices/rules/js-early-exit.md +0 -50
  79. package/dist/resources/skills/react-best-practices/rules/js-hoist-regexp.md +0 -45
  80. package/dist/resources/skills/react-best-practices/rules/js-index-maps.md +0 -37
  81. package/dist/resources/skills/react-best-practices/rules/js-length-check-first.md +0 -49
  82. package/dist/resources/skills/react-best-practices/rules/js-min-max-loop.md +0 -82
  83. package/dist/resources/skills/react-best-practices/rules/js-set-map-lookups.md +0 -24
  84. package/dist/resources/skills/react-best-practices/rules/js-tosorted-immutable.md +0 -57
  85. package/dist/resources/skills/react-best-practices/rules/rendering-activity.md +0 -26
  86. package/dist/resources/skills/react-best-practices/rules/rendering-animate-svg-wrapper.md +0 -47
  87. package/dist/resources/skills/react-best-practices/rules/rendering-conditional-render.md +0 -40
  88. package/dist/resources/skills/react-best-practices/rules/rendering-content-visibility.md +0 -38
  89. package/dist/resources/skills/react-best-practices/rules/rendering-hoist-jsx.md +0 -46
  90. package/dist/resources/skills/react-best-practices/rules/rendering-hydration-no-flicker.md +0 -82
  91. package/dist/resources/skills/react-best-practices/rules/rendering-hydration-suppress-warning.md +0 -30
  92. package/dist/resources/skills/react-best-practices/rules/rendering-svg-precision.md +0 -28
  93. package/dist/resources/skills/react-best-practices/rules/rendering-usetransition-loading.md +0 -75
  94. package/dist/resources/skills/react-best-practices/rules/rerender-defer-reads.md +0 -39
  95. package/dist/resources/skills/react-best-practices/rules/rerender-dependencies.md +0 -45
  96. package/dist/resources/skills/react-best-practices/rules/rerender-derived-state-no-effect.md +0 -40
  97. package/dist/resources/skills/react-best-practices/rules/rerender-derived-state.md +0 -29
  98. package/dist/resources/skills/react-best-practices/rules/rerender-functional-setstate.md +0 -74
  99. package/dist/resources/skills/react-best-practices/rules/rerender-lazy-state-init.md +0 -58
  100. package/dist/resources/skills/react-best-practices/rules/rerender-memo-with-default-value.md +0 -38
  101. package/dist/resources/skills/react-best-practices/rules/rerender-memo.md +0 -44
  102. package/dist/resources/skills/react-best-practices/rules/rerender-move-effect-to-event.md +0 -45
  103. package/dist/resources/skills/react-best-practices/rules/rerender-simple-expression-in-memo.md +0 -35
  104. package/dist/resources/skills/react-best-practices/rules/rerender-transitions.md +0 -40
  105. package/dist/resources/skills/react-best-practices/rules/rerender-use-ref-transient-values.md +0 -73
  106. package/dist/resources/skills/react-best-practices/rules/server-after-nonblocking.md +0 -73
  107. package/dist/resources/skills/react-best-practices/rules/server-auth-actions.md +0 -96
  108. package/dist/resources/skills/react-best-practices/rules/server-cache-lru.md +0 -41
  109. package/dist/resources/skills/react-best-practices/rules/server-cache-react.md +0 -76
  110. package/dist/resources/skills/react-best-practices/rules/server-dedup-props.md +0 -65
  111. package/dist/resources/skills/react-best-practices/rules/server-parallel-fetching.md +0 -83
  112. package/dist/resources/skills/react-best-practices/rules/server-serialization.md +0 -38
  113. package/dist/resources/skills/userinterface-wiki/SKILL.md +0 -253
  114. package/dist/resources/skills/userinterface-wiki/rules/_sections.md +0 -66
  115. package/dist/resources/skills/userinterface-wiki/rules/_template.md +0 -24
  116. package/dist/resources/skills/userinterface-wiki/rules/a11y-reduced-motion-check.md +0 -30
  117. package/dist/resources/skills/userinterface-wiki/rules/a11y-toggle-setting.md +0 -30
  118. package/dist/resources/skills/userinterface-wiki/rules/a11y-visual-equivalent.md +0 -36
  119. package/dist/resources/skills/userinterface-wiki/rules/a11y-volume-control.md +0 -28
  120. package/dist/resources/skills/userinterface-wiki/rules/appropriate-confirmations-only.md +0 -19
  121. package/dist/resources/skills/userinterface-wiki/rules/appropriate-errors-warnings.md +0 -18
  122. package/dist/resources/skills/userinterface-wiki/rules/appropriate-no-decorative.md +0 -21
  123. package/dist/resources/skills/userinterface-wiki/rules/appropriate-no-high-frequency.md +0 -28
  124. package/dist/resources/skills/userinterface-wiki/rules/appropriate-no-punishing.md +0 -27
  125. package/dist/resources/skills/userinterface-wiki/rules/container-callback-ref.md +0 -31
  126. package/dist/resources/skills/userinterface-wiki/rules/container-guard-initial-zero.md +0 -25
  127. package/dist/resources/skills/userinterface-wiki/rules/container-no-excessive-use.md +0 -13
  128. package/dist/resources/skills/userinterface-wiki/rules/container-overflow-hidden.md +0 -25
  129. package/dist/resources/skills/userinterface-wiki/rules/container-transition-delay.md +0 -21
  130. package/dist/resources/skills/userinterface-wiki/rules/container-two-div-pattern.md +0 -35
  131. package/dist/resources/skills/userinterface-wiki/rules/container-use-resize-observer.md +0 -48
  132. package/dist/resources/skills/userinterface-wiki/rules/context-cleanup-nodes.md +0 -25
  133. package/dist/resources/skills/userinterface-wiki/rules/context-resume-suspended.md +0 -28
  134. package/dist/resources/skills/userinterface-wiki/rules/context-reuse-single.md +0 -30
  135. package/dist/resources/skills/userinterface-wiki/rules/design-filter-for-character.md +0 -25
  136. package/dist/resources/skills/userinterface-wiki/rules/design-noise-for-percussion.md +0 -26
  137. package/dist/resources/skills/userinterface-wiki/rules/design-oscillator-for-tonal.md +0 -22
  138. package/dist/resources/skills/userinterface-wiki/rules/duration-max-300ms.md +0 -21
  139. package/dist/resources/skills/userinterface-wiki/rules/duration-press-hover.md +0 -21
  140. package/dist/resources/skills/userinterface-wiki/rules/duration-shorten-before-curve.md +0 -21
  141. package/dist/resources/skills/userinterface-wiki/rules/duration-small-state.md +0 -15
  142. package/dist/resources/skills/userinterface-wiki/rules/easing-entrance-ease-out.md +0 -21
  143. package/dist/resources/skills/userinterface-wiki/rules/easing-exit-ease-in.md +0 -21
  144. package/dist/resources/skills/userinterface-wiki/rules/easing-for-state-change.md +0 -27
  145. package/dist/resources/skills/userinterface-wiki/rules/easing-linear-only-progress.md +0 -21
  146. package/dist/resources/skills/userinterface-wiki/rules/easing-natural-decay.md +0 -22
  147. package/dist/resources/skills/userinterface-wiki/rules/easing-no-linear-motion.md +0 -22
  148. package/dist/resources/skills/userinterface-wiki/rules/easing-transition-ease-in-out.md +0 -15
  149. package/dist/resources/skills/userinterface-wiki/rules/envelope-exponential-decay.md +0 -21
  150. package/dist/resources/skills/userinterface-wiki/rules/envelope-no-zero-target.md +0 -21
  151. package/dist/resources/skills/userinterface-wiki/rules/envelope-set-initial-value.md +0 -22
  152. package/dist/resources/skills/userinterface-wiki/rules/exit-key-required.md +0 -29
  153. package/dist/resources/skills/userinterface-wiki/rules/exit-matches-initial.md +0 -29
  154. package/dist/resources/skills/userinterface-wiki/rules/exit-prop-required.md +0 -33
  155. package/dist/resources/skills/userinterface-wiki/rules/exit-requires-wrapper.md +0 -27
  156. package/dist/resources/skills/userinterface-wiki/rules/impl-default-subtle.md +0 -21
  157. package/dist/resources/skills/userinterface-wiki/rules/impl-preload-audio.md +0 -34
  158. package/dist/resources/skills/userinterface-wiki/rules/impl-reset-current-time.md +0 -26
  159. package/dist/resources/skills/userinterface-wiki/rules/mode-pop-layout-for-lists.md +0 -25
  160. package/dist/resources/skills/userinterface-wiki/rules/mode-sync-layout-conflict.md +0 -29
  161. package/dist/resources/skills/userinterface-wiki/rules/mode-wait-doubles-duration.md +0 -25
  162. package/dist/resources/skills/userinterface-wiki/rules/morphing-aria-hidden.md +0 -21
  163. package/dist/resources/skills/userinterface-wiki/rules/morphing-consistent-viewbox.md +0 -23
  164. package/dist/resources/skills/userinterface-wiki/rules/morphing-group-variants.md +0 -33
  165. package/dist/resources/skills/userinterface-wiki/rules/morphing-jump-non-grouped.md +0 -29
  166. package/dist/resources/skills/userinterface-wiki/rules/morphing-reduced-motion.md +0 -28
  167. package/dist/resources/skills/userinterface-wiki/rules/morphing-spring-rotation.md +0 -23
  168. package/dist/resources/skills/userinterface-wiki/rules/morphing-strokelinecap-round.md +0 -21
  169. package/dist/resources/skills/userinterface-wiki/rules/morphing-three-lines.md +0 -32
  170. package/dist/resources/skills/userinterface-wiki/rules/morphing-use-collapsed.md +0 -33
  171. package/dist/resources/skills/userinterface-wiki/rules/native-backdrop-styling.md +0 -27
  172. package/dist/resources/skills/userinterface-wiki/rules/native-placeholder-styling.md +0 -27
  173. package/dist/resources/skills/userinterface-wiki/rules/native-selection-styling.md +0 -18
  174. package/dist/resources/skills/userinterface-wiki/rules/nested-consistent-timing.md +0 -25
  175. package/dist/resources/skills/userinterface-wiki/rules/nested-propagate-required.md +0 -41
  176. package/dist/resources/skills/userinterface-wiki/rules/none-context-menu-entrance.md +0 -25
  177. package/dist/resources/skills/userinterface-wiki/rules/none-high-frequency.md +0 -29
  178. package/dist/resources/skills/userinterface-wiki/rules/none-keyboard-navigation.md +0 -32
  179. package/dist/resources/skills/userinterface-wiki/rules/param-click-duration.md +0 -21
  180. package/dist/resources/skills/userinterface-wiki/rules/param-filter-frequency-range.md +0 -21
  181. package/dist/resources/skills/userinterface-wiki/rules/param-q-value-range.md +0 -21
  182. package/dist/resources/skills/userinterface-wiki/rules/param-reasonable-gain.md +0 -21
  183. package/dist/resources/skills/userinterface-wiki/rules/physics-active-state.md +0 -23
  184. package/dist/resources/skills/userinterface-wiki/rules/physics-no-excessive-stagger.md +0 -22
  185. package/dist/resources/skills/userinterface-wiki/rules/physics-spring-for-overshoot.md +0 -23
  186. package/dist/resources/skills/userinterface-wiki/rules/physics-subtle-deformation.md +0 -22
  187. package/dist/resources/skills/userinterface-wiki/rules/prefetch-hit-slop.md +0 -27
  188. package/dist/resources/skills/userinterface-wiki/rules/prefetch-keyboard-tab.md +0 -19
  189. package/dist/resources/skills/userinterface-wiki/rules/prefetch-not-everything.md +0 -22
  190. package/dist/resources/skills/userinterface-wiki/rules/prefetch-touch-fallback.md +0 -34
  191. package/dist/resources/skills/userinterface-wiki/rules/prefetch-trajectory-over-hover.md +0 -32
  192. package/dist/resources/skills/userinterface-wiki/rules/prefetch-use-selectively.md +0 -13
  193. package/dist/resources/skills/userinterface-wiki/rules/presence-disable-interactions.md +0 -31
  194. package/dist/resources/skills/userinterface-wiki/rules/presence-hook-in-child.md +0 -31
  195. package/dist/resources/skills/userinterface-wiki/rules/presence-safe-to-remove.md +0 -37
  196. package/dist/resources/skills/userinterface-wiki/rules/pseudo-content-required.md +0 -28
  197. package/dist/resources/skills/userinterface-wiki/rules/pseudo-first-line-styling.md +0 -27
  198. package/dist/resources/skills/userinterface-wiki/rules/pseudo-hit-target-expansion.md +0 -31
  199. package/dist/resources/skills/userinterface-wiki/rules/pseudo-marker-styling.md +0 -28
  200. package/dist/resources/skills/userinterface-wiki/rules/pseudo-over-dom-node.md +0 -32
  201. package/dist/resources/skills/userinterface-wiki/rules/pseudo-position-relative-parent.md +0 -33
  202. package/dist/resources/skills/userinterface-wiki/rules/pseudo-z-index-layering.md +0 -37
  203. package/dist/resources/skills/userinterface-wiki/rules/spring-for-gestures.md +0 -27
  204. package/dist/resources/skills/userinterface-wiki/rules/spring-for-interruptible.md +0 -27
  205. package/dist/resources/skills/userinterface-wiki/rules/spring-params-balanced.md +0 -29
  206. package/dist/resources/skills/userinterface-wiki/rules/spring-preserves-velocity.md +0 -28
  207. package/dist/resources/skills/userinterface-wiki/rules/staging-dim-background.md +0 -22
  208. package/dist/resources/skills/userinterface-wiki/rules/staging-one-focal-point.md +0 -24
  209. package/dist/resources/skills/userinterface-wiki/rules/staging-z-index-hierarchy.md +0 -22
  210. package/dist/resources/skills/userinterface-wiki/rules/timing-consistent.md +0 -24
  211. package/dist/resources/skills/userinterface-wiki/rules/timing-no-entrance-context-menu.md +0 -22
  212. package/dist/resources/skills/userinterface-wiki/rules/timing-under-300ms.md +0 -22
  213. package/dist/resources/skills/userinterface-wiki/rules/transition-name-cleanup.md +0 -28
  214. package/dist/resources/skills/userinterface-wiki/rules/transition-name-required.md +0 -27
  215. package/dist/resources/skills/userinterface-wiki/rules/transition-name-unique.md +0 -24
  216. package/dist/resources/skills/userinterface-wiki/rules/transition-over-js-library.md +0 -32
  217. package/dist/resources/skills/userinterface-wiki/rules/transition-style-pseudo-elements.md +0 -24
  218. package/dist/resources/skills/userinterface-wiki/rules/type-antialiased-on-retina.md +0 -18
  219. package/dist/resources/skills/userinterface-wiki/rules/type-disambiguation-stylistic-set.md +0 -15
  220. package/dist/resources/skills/userinterface-wiki/rules/type-font-display-swap.md +0 -28
  221. package/dist/resources/skills/userinterface-wiki/rules/type-justify-with-hyphens.md +0 -24
  222. package/dist/resources/skills/userinterface-wiki/rules/type-letter-spacing-uppercase.md +0 -28
  223. package/dist/resources/skills/userinterface-wiki/rules/type-no-font-synthesis.md +0 -18
  224. package/dist/resources/skills/userinterface-wiki/rules/type-oldstyle-nums-for-prose.md +0 -21
  225. package/dist/resources/skills/userinterface-wiki/rules/type-opentype-contextual-alternates.md +0 -15
  226. package/dist/resources/skills/userinterface-wiki/rules/type-optical-sizing-auto.md +0 -25
  227. package/dist/resources/skills/userinterface-wiki/rules/type-proper-fractions.md +0 -15
  228. package/dist/resources/skills/userinterface-wiki/rules/type-slashed-zero.md +0 -17
  229. package/dist/resources/skills/userinterface-wiki/rules/type-tabular-nums-for-data.md +0 -21
  230. package/dist/resources/skills/userinterface-wiki/rules/type-text-wrap-balance-headings.md +0 -21
  231. package/dist/resources/skills/userinterface-wiki/rules/type-text-wrap-pretty.md +0 -16
  232. package/dist/resources/skills/userinterface-wiki/rules/type-underline-offset.md +0 -25
  233. package/dist/resources/skills/userinterface-wiki/rules/type-variable-weight-continuous.md +0 -23
  234. package/dist/resources/skills/userinterface-wiki/rules/ux-aesthetic-usability.md +0 -32
  235. package/dist/resources/skills/userinterface-wiki/rules/ux-cognitive-load-reduce.md +0 -49
  236. package/dist/resources/skills/userinterface-wiki/rules/ux-common-region-boundaries.md +0 -50
  237. package/dist/resources/skills/userinterface-wiki/rules/ux-doherty-perceived-speed.md +0 -29
  238. package/dist/resources/skills/userinterface-wiki/rules/ux-doherty-under-400ms.md +0 -30
  239. package/dist/resources/skills/userinterface-wiki/rules/ux-fitts-hit-area.md +0 -32
  240. package/dist/resources/skills/userinterface-wiki/rules/ux-fitts-target-size.md +0 -31
  241. package/dist/resources/skills/userinterface-wiki/rules/ux-goal-gradient-progress.md +0 -33
  242. package/dist/resources/skills/userinterface-wiki/rules/ux-hicks-minimize-choices.md +0 -45
  243. package/dist/resources/skills/userinterface-wiki/rules/ux-jakobs-familiar-patterns.md +0 -37
  244. package/dist/resources/skills/userinterface-wiki/rules/ux-millers-chunking.md +0 -23
  245. package/dist/resources/skills/userinterface-wiki/rules/ux-pareto-prioritize-features.md +0 -36
  246. package/dist/resources/skills/userinterface-wiki/rules/ux-peak-end-finish-strong.md +0 -35
  247. package/dist/resources/skills/userinterface-wiki/rules/ux-postels-accept-messy-input.md +0 -45
  248. package/dist/resources/skills/userinterface-wiki/rules/ux-pragnanz-simplify.md +0 -33
  249. package/dist/resources/skills/userinterface-wiki/rules/ux-progressive-disclosure.md +0 -41
  250. package/dist/resources/skills/userinterface-wiki/rules/ux-proximity-grouping.md +0 -38
  251. package/dist/resources/skills/userinterface-wiki/rules/ux-serial-position.md +0 -31
  252. package/dist/resources/skills/userinterface-wiki/rules/ux-similarity-consistency.md +0 -35
  253. package/dist/resources/skills/userinterface-wiki/rules/ux-teslers-complexity.md +0 -28
  254. package/dist/resources/skills/userinterface-wiki/rules/ux-uniform-connectedness.md +0 -43
  255. package/dist/resources/skills/userinterface-wiki/rules/ux-von-restorff-emphasis.md +0 -29
  256. package/dist/resources/skills/userinterface-wiki/rules/ux-zeigarnik-show-incomplete.md +0 -36
  257. package/dist/resources/skills/userinterface-wiki/rules/visual-animate-shadow-pseudo.md +0 -49
  258. package/dist/resources/skills/userinterface-wiki/rules/visual-border-alpha-colors.md +0 -25
  259. package/dist/resources/skills/userinterface-wiki/rules/visual-button-shadow-anatomy.md +0 -49
  260. package/dist/resources/skills/userinterface-wiki/rules/visual-concentric-radius.md +0 -40
  261. package/dist/resources/skills/userinterface-wiki/rules/visual-consistent-spacing-scale.md +0 -35
  262. package/dist/resources/skills/userinterface-wiki/rules/visual-layered-shadows.md +0 -30
  263. package/dist/resources/skills/userinterface-wiki/rules/visual-no-pure-black-shadow.md +0 -25
  264. package/dist/resources/skills/userinterface-wiki/rules/visual-shadow-direction.md +0 -25
  265. package/dist/resources/skills/userinterface-wiki/rules/visual-shadow-matches-elevation.md +0 -23
  266. package/dist/resources/skills/userinterface-wiki/rules/weight-duration-matches-action.md +0 -29
  267. package/dist/resources/skills/userinterface-wiki/rules/weight-match-action.md +0 -32
  268. package/dist/resources/skills/web-design-guidelines/SKILL.md +0 -39
  269. package/dist/resources/skills/web-quality-audit/SKILL.md +0 -168
  270. package/dist/resources/skills/web-quality-audit/scripts/analyze.sh +0 -91
  271. package/src/resources/agents/javascript-pro.md +0 -280
  272. package/src/resources/agents/researcher.md +0 -29
  273. package/src/resources/agents/teams-builder.md +0 -74
  274. package/src/resources/agents/teams-reviewer.md +0 -113
  275. package/src/resources/agents/typescript-pro.md +0 -255
  276. package/src/resources/skills/accessibility/SKILL.md +0 -522
  277. package/src/resources/skills/accessibility/references/WCAG.md +0 -162
  278. package/src/resources/skills/core-web-vitals/SKILL.md +0 -441
  279. package/src/resources/skills/core-web-vitals/references/LCP.md +0 -208
  280. package/src/resources/skills/frontend-design/SKILL.md +0 -45
  281. package/src/resources/skills/make-interfaces-feel-better/SKILL.md +0 -122
  282. package/src/resources/skills/make-interfaces-feel-better/animations.md +0 -379
  283. package/src/resources/skills/make-interfaces-feel-better/performance.md +0 -88
  284. package/src/resources/skills/make-interfaces-feel-better/surfaces.md +0 -247
  285. package/src/resources/skills/make-interfaces-feel-better/typography.md +0 -123
  286. package/src/resources/skills/react-best-practices/README.md +0 -123
  287. package/src/resources/skills/react-best-practices/SKILL.md +0 -136
  288. package/src/resources/skills/react-best-practices/metadata.json +0 -15
  289. package/src/resources/skills/react-best-practices/rules/_sections.md +0 -46
  290. package/src/resources/skills/react-best-practices/rules/_template.md +0 -28
  291. package/src/resources/skills/react-best-practices/rules/advanced-event-handler-refs.md +0 -55
  292. package/src/resources/skills/react-best-practices/rules/advanced-init-once.md +0 -42
  293. package/src/resources/skills/react-best-practices/rules/advanced-use-latest.md +0 -39
  294. package/src/resources/skills/react-best-practices/rules/async-api-routes.md +0 -38
  295. package/src/resources/skills/react-best-practices/rules/async-defer-await.md +0 -80
  296. package/src/resources/skills/react-best-practices/rules/async-dependencies.md +0 -51
  297. package/src/resources/skills/react-best-practices/rules/async-parallel.md +0 -28
  298. package/src/resources/skills/react-best-practices/rules/async-suspense-boundaries.md +0 -99
  299. package/src/resources/skills/react-best-practices/rules/bundle-barrel-imports.md +0 -59
  300. package/src/resources/skills/react-best-practices/rules/bundle-conditional.md +0 -31
  301. package/src/resources/skills/react-best-practices/rules/bundle-defer-third-party.md +0 -49
  302. package/src/resources/skills/react-best-practices/rules/bundle-dynamic-imports.md +0 -35
  303. package/src/resources/skills/react-best-practices/rules/bundle-preload.md +0 -50
  304. package/src/resources/skills/react-best-practices/rules/client-event-listeners.md +0 -74
  305. package/src/resources/skills/react-best-practices/rules/client-localstorage-schema.md +0 -71
  306. package/src/resources/skills/react-best-practices/rules/client-passive-event-listeners.md +0 -48
  307. package/src/resources/skills/react-best-practices/rules/client-swr-dedup.md +0 -56
  308. package/src/resources/skills/react-best-practices/rules/js-batch-dom-css.md +0 -107
  309. package/src/resources/skills/react-best-practices/rules/js-cache-function-results.md +0 -80
  310. package/src/resources/skills/react-best-practices/rules/js-cache-property-access.md +0 -28
  311. package/src/resources/skills/react-best-practices/rules/js-cache-storage.md +0 -70
  312. package/src/resources/skills/react-best-practices/rules/js-combine-iterations.md +0 -32
  313. package/src/resources/skills/react-best-practices/rules/js-early-exit.md +0 -50
  314. package/src/resources/skills/react-best-practices/rules/js-hoist-regexp.md +0 -45
  315. package/src/resources/skills/react-best-practices/rules/js-index-maps.md +0 -37
  316. package/src/resources/skills/react-best-practices/rules/js-length-check-first.md +0 -49
  317. package/src/resources/skills/react-best-practices/rules/js-min-max-loop.md +0 -82
  318. package/src/resources/skills/react-best-practices/rules/js-set-map-lookups.md +0 -24
  319. package/src/resources/skills/react-best-practices/rules/js-tosorted-immutable.md +0 -57
  320. package/src/resources/skills/react-best-practices/rules/rendering-activity.md +0 -26
  321. package/src/resources/skills/react-best-practices/rules/rendering-animate-svg-wrapper.md +0 -47
  322. package/src/resources/skills/react-best-practices/rules/rendering-conditional-render.md +0 -40
  323. package/src/resources/skills/react-best-practices/rules/rendering-content-visibility.md +0 -38
  324. package/src/resources/skills/react-best-practices/rules/rendering-hoist-jsx.md +0 -46
  325. package/src/resources/skills/react-best-practices/rules/rendering-hydration-no-flicker.md +0 -82
  326. package/src/resources/skills/react-best-practices/rules/rendering-hydration-suppress-warning.md +0 -30
  327. package/src/resources/skills/react-best-practices/rules/rendering-svg-precision.md +0 -28
  328. package/src/resources/skills/react-best-practices/rules/rendering-usetransition-loading.md +0 -75
  329. package/src/resources/skills/react-best-practices/rules/rerender-defer-reads.md +0 -39
  330. package/src/resources/skills/react-best-practices/rules/rerender-dependencies.md +0 -45
  331. package/src/resources/skills/react-best-practices/rules/rerender-derived-state-no-effect.md +0 -40
  332. package/src/resources/skills/react-best-practices/rules/rerender-derived-state.md +0 -29
  333. package/src/resources/skills/react-best-practices/rules/rerender-functional-setstate.md +0 -74
  334. package/src/resources/skills/react-best-practices/rules/rerender-lazy-state-init.md +0 -58
  335. package/src/resources/skills/react-best-practices/rules/rerender-memo-with-default-value.md +0 -38
  336. package/src/resources/skills/react-best-practices/rules/rerender-memo.md +0 -44
  337. package/src/resources/skills/react-best-practices/rules/rerender-move-effect-to-event.md +0 -45
  338. package/src/resources/skills/react-best-practices/rules/rerender-simple-expression-in-memo.md +0 -35
  339. package/src/resources/skills/react-best-practices/rules/rerender-transitions.md +0 -40
  340. package/src/resources/skills/react-best-practices/rules/rerender-use-ref-transient-values.md +0 -73
  341. package/src/resources/skills/react-best-practices/rules/server-after-nonblocking.md +0 -73
  342. package/src/resources/skills/react-best-practices/rules/server-auth-actions.md +0 -96
  343. package/src/resources/skills/react-best-practices/rules/server-cache-lru.md +0 -41
  344. package/src/resources/skills/react-best-practices/rules/server-cache-react.md +0 -76
  345. package/src/resources/skills/react-best-practices/rules/server-dedup-props.md +0 -65
  346. package/src/resources/skills/react-best-practices/rules/server-parallel-fetching.md +0 -83
  347. package/src/resources/skills/react-best-practices/rules/server-serialization.md +0 -38
  348. package/src/resources/skills/userinterface-wiki/SKILL.md +0 -253
  349. package/src/resources/skills/userinterface-wiki/rules/_sections.md +0 -66
  350. package/src/resources/skills/userinterface-wiki/rules/_template.md +0 -24
  351. package/src/resources/skills/userinterface-wiki/rules/a11y-reduced-motion-check.md +0 -30
  352. package/src/resources/skills/userinterface-wiki/rules/a11y-toggle-setting.md +0 -30
  353. package/src/resources/skills/userinterface-wiki/rules/a11y-visual-equivalent.md +0 -36
  354. package/src/resources/skills/userinterface-wiki/rules/a11y-volume-control.md +0 -28
  355. package/src/resources/skills/userinterface-wiki/rules/appropriate-confirmations-only.md +0 -19
  356. package/src/resources/skills/userinterface-wiki/rules/appropriate-errors-warnings.md +0 -18
  357. package/src/resources/skills/userinterface-wiki/rules/appropriate-no-decorative.md +0 -21
  358. package/src/resources/skills/userinterface-wiki/rules/appropriate-no-high-frequency.md +0 -28
  359. package/src/resources/skills/userinterface-wiki/rules/appropriate-no-punishing.md +0 -27
  360. package/src/resources/skills/userinterface-wiki/rules/container-callback-ref.md +0 -31
  361. package/src/resources/skills/userinterface-wiki/rules/container-guard-initial-zero.md +0 -25
  362. package/src/resources/skills/userinterface-wiki/rules/container-no-excessive-use.md +0 -13
  363. package/src/resources/skills/userinterface-wiki/rules/container-overflow-hidden.md +0 -25
  364. package/src/resources/skills/userinterface-wiki/rules/container-transition-delay.md +0 -21
  365. package/src/resources/skills/userinterface-wiki/rules/container-two-div-pattern.md +0 -35
  366. package/src/resources/skills/userinterface-wiki/rules/container-use-resize-observer.md +0 -48
  367. package/src/resources/skills/userinterface-wiki/rules/context-cleanup-nodes.md +0 -25
  368. package/src/resources/skills/userinterface-wiki/rules/context-resume-suspended.md +0 -28
  369. package/src/resources/skills/userinterface-wiki/rules/context-reuse-single.md +0 -30
  370. package/src/resources/skills/userinterface-wiki/rules/design-filter-for-character.md +0 -25
  371. package/src/resources/skills/userinterface-wiki/rules/design-noise-for-percussion.md +0 -26
  372. package/src/resources/skills/userinterface-wiki/rules/design-oscillator-for-tonal.md +0 -22
  373. package/src/resources/skills/userinterface-wiki/rules/duration-max-300ms.md +0 -21
  374. package/src/resources/skills/userinterface-wiki/rules/duration-press-hover.md +0 -21
  375. package/src/resources/skills/userinterface-wiki/rules/duration-shorten-before-curve.md +0 -21
  376. package/src/resources/skills/userinterface-wiki/rules/duration-small-state.md +0 -15
  377. package/src/resources/skills/userinterface-wiki/rules/easing-entrance-ease-out.md +0 -21
  378. package/src/resources/skills/userinterface-wiki/rules/easing-exit-ease-in.md +0 -21
  379. package/src/resources/skills/userinterface-wiki/rules/easing-for-state-change.md +0 -27
  380. package/src/resources/skills/userinterface-wiki/rules/easing-linear-only-progress.md +0 -21
  381. package/src/resources/skills/userinterface-wiki/rules/easing-natural-decay.md +0 -22
  382. package/src/resources/skills/userinterface-wiki/rules/easing-no-linear-motion.md +0 -22
  383. package/src/resources/skills/userinterface-wiki/rules/easing-transition-ease-in-out.md +0 -15
  384. package/src/resources/skills/userinterface-wiki/rules/envelope-exponential-decay.md +0 -21
  385. package/src/resources/skills/userinterface-wiki/rules/envelope-no-zero-target.md +0 -21
  386. package/src/resources/skills/userinterface-wiki/rules/envelope-set-initial-value.md +0 -22
  387. package/src/resources/skills/userinterface-wiki/rules/exit-key-required.md +0 -29
  388. package/src/resources/skills/userinterface-wiki/rules/exit-matches-initial.md +0 -29
  389. package/src/resources/skills/userinterface-wiki/rules/exit-prop-required.md +0 -33
  390. package/src/resources/skills/userinterface-wiki/rules/exit-requires-wrapper.md +0 -27
  391. package/src/resources/skills/userinterface-wiki/rules/impl-default-subtle.md +0 -21
  392. package/src/resources/skills/userinterface-wiki/rules/impl-preload-audio.md +0 -34
  393. package/src/resources/skills/userinterface-wiki/rules/impl-reset-current-time.md +0 -26
  394. package/src/resources/skills/userinterface-wiki/rules/mode-pop-layout-for-lists.md +0 -25
  395. package/src/resources/skills/userinterface-wiki/rules/mode-sync-layout-conflict.md +0 -29
  396. package/src/resources/skills/userinterface-wiki/rules/mode-wait-doubles-duration.md +0 -25
  397. package/src/resources/skills/userinterface-wiki/rules/morphing-aria-hidden.md +0 -21
  398. package/src/resources/skills/userinterface-wiki/rules/morphing-consistent-viewbox.md +0 -23
  399. package/src/resources/skills/userinterface-wiki/rules/morphing-group-variants.md +0 -33
  400. package/src/resources/skills/userinterface-wiki/rules/morphing-jump-non-grouped.md +0 -29
  401. package/src/resources/skills/userinterface-wiki/rules/morphing-reduced-motion.md +0 -28
  402. package/src/resources/skills/userinterface-wiki/rules/morphing-spring-rotation.md +0 -23
  403. package/src/resources/skills/userinterface-wiki/rules/morphing-strokelinecap-round.md +0 -21
  404. package/src/resources/skills/userinterface-wiki/rules/morphing-three-lines.md +0 -32
  405. package/src/resources/skills/userinterface-wiki/rules/morphing-use-collapsed.md +0 -33
  406. package/src/resources/skills/userinterface-wiki/rules/native-backdrop-styling.md +0 -27
  407. package/src/resources/skills/userinterface-wiki/rules/native-placeholder-styling.md +0 -27
  408. package/src/resources/skills/userinterface-wiki/rules/native-selection-styling.md +0 -18
  409. package/src/resources/skills/userinterface-wiki/rules/nested-consistent-timing.md +0 -25
  410. package/src/resources/skills/userinterface-wiki/rules/nested-propagate-required.md +0 -41
  411. package/src/resources/skills/userinterface-wiki/rules/none-context-menu-entrance.md +0 -25
  412. package/src/resources/skills/userinterface-wiki/rules/none-high-frequency.md +0 -29
  413. package/src/resources/skills/userinterface-wiki/rules/none-keyboard-navigation.md +0 -32
  414. package/src/resources/skills/userinterface-wiki/rules/param-click-duration.md +0 -21
  415. package/src/resources/skills/userinterface-wiki/rules/param-filter-frequency-range.md +0 -21
  416. package/src/resources/skills/userinterface-wiki/rules/param-q-value-range.md +0 -21
  417. package/src/resources/skills/userinterface-wiki/rules/param-reasonable-gain.md +0 -21
  418. package/src/resources/skills/userinterface-wiki/rules/physics-active-state.md +0 -23
  419. package/src/resources/skills/userinterface-wiki/rules/physics-no-excessive-stagger.md +0 -22
  420. package/src/resources/skills/userinterface-wiki/rules/physics-spring-for-overshoot.md +0 -23
  421. package/src/resources/skills/userinterface-wiki/rules/physics-subtle-deformation.md +0 -22
  422. package/src/resources/skills/userinterface-wiki/rules/prefetch-hit-slop.md +0 -27
  423. package/src/resources/skills/userinterface-wiki/rules/prefetch-keyboard-tab.md +0 -19
  424. package/src/resources/skills/userinterface-wiki/rules/prefetch-not-everything.md +0 -22
  425. package/src/resources/skills/userinterface-wiki/rules/prefetch-touch-fallback.md +0 -34
  426. package/src/resources/skills/userinterface-wiki/rules/prefetch-trajectory-over-hover.md +0 -32
  427. package/src/resources/skills/userinterface-wiki/rules/prefetch-use-selectively.md +0 -13
  428. package/src/resources/skills/userinterface-wiki/rules/presence-disable-interactions.md +0 -31
  429. package/src/resources/skills/userinterface-wiki/rules/presence-hook-in-child.md +0 -31
  430. package/src/resources/skills/userinterface-wiki/rules/presence-safe-to-remove.md +0 -37
  431. package/src/resources/skills/userinterface-wiki/rules/pseudo-content-required.md +0 -28
  432. package/src/resources/skills/userinterface-wiki/rules/pseudo-first-line-styling.md +0 -27
  433. package/src/resources/skills/userinterface-wiki/rules/pseudo-hit-target-expansion.md +0 -31
  434. package/src/resources/skills/userinterface-wiki/rules/pseudo-marker-styling.md +0 -28
  435. package/src/resources/skills/userinterface-wiki/rules/pseudo-over-dom-node.md +0 -32
  436. package/src/resources/skills/userinterface-wiki/rules/pseudo-position-relative-parent.md +0 -33
  437. package/src/resources/skills/userinterface-wiki/rules/pseudo-z-index-layering.md +0 -37
  438. package/src/resources/skills/userinterface-wiki/rules/spring-for-gestures.md +0 -27
  439. package/src/resources/skills/userinterface-wiki/rules/spring-for-interruptible.md +0 -27
  440. package/src/resources/skills/userinterface-wiki/rules/spring-params-balanced.md +0 -29
  441. package/src/resources/skills/userinterface-wiki/rules/spring-preserves-velocity.md +0 -28
  442. package/src/resources/skills/userinterface-wiki/rules/staging-dim-background.md +0 -22
  443. package/src/resources/skills/userinterface-wiki/rules/staging-one-focal-point.md +0 -24
  444. package/src/resources/skills/userinterface-wiki/rules/staging-z-index-hierarchy.md +0 -22
  445. package/src/resources/skills/userinterface-wiki/rules/timing-consistent.md +0 -24
  446. package/src/resources/skills/userinterface-wiki/rules/timing-no-entrance-context-menu.md +0 -22
  447. package/src/resources/skills/userinterface-wiki/rules/timing-under-300ms.md +0 -22
  448. package/src/resources/skills/userinterface-wiki/rules/transition-name-cleanup.md +0 -28
  449. package/src/resources/skills/userinterface-wiki/rules/transition-name-required.md +0 -27
  450. package/src/resources/skills/userinterface-wiki/rules/transition-name-unique.md +0 -24
  451. package/src/resources/skills/userinterface-wiki/rules/transition-over-js-library.md +0 -32
  452. package/src/resources/skills/userinterface-wiki/rules/transition-style-pseudo-elements.md +0 -24
  453. package/src/resources/skills/userinterface-wiki/rules/type-antialiased-on-retina.md +0 -18
  454. package/src/resources/skills/userinterface-wiki/rules/type-disambiguation-stylistic-set.md +0 -15
  455. package/src/resources/skills/userinterface-wiki/rules/type-font-display-swap.md +0 -28
  456. package/src/resources/skills/userinterface-wiki/rules/type-justify-with-hyphens.md +0 -24
  457. package/src/resources/skills/userinterface-wiki/rules/type-letter-spacing-uppercase.md +0 -28
  458. package/src/resources/skills/userinterface-wiki/rules/type-no-font-synthesis.md +0 -18
  459. package/src/resources/skills/userinterface-wiki/rules/type-oldstyle-nums-for-prose.md +0 -21
  460. package/src/resources/skills/userinterface-wiki/rules/type-opentype-contextual-alternates.md +0 -15
  461. package/src/resources/skills/userinterface-wiki/rules/type-optical-sizing-auto.md +0 -25
  462. package/src/resources/skills/userinterface-wiki/rules/type-proper-fractions.md +0 -15
  463. package/src/resources/skills/userinterface-wiki/rules/type-slashed-zero.md +0 -17
  464. package/src/resources/skills/userinterface-wiki/rules/type-tabular-nums-for-data.md +0 -21
  465. package/src/resources/skills/userinterface-wiki/rules/type-text-wrap-balance-headings.md +0 -21
  466. package/src/resources/skills/userinterface-wiki/rules/type-text-wrap-pretty.md +0 -16
  467. package/src/resources/skills/userinterface-wiki/rules/type-underline-offset.md +0 -25
  468. package/src/resources/skills/userinterface-wiki/rules/type-variable-weight-continuous.md +0 -23
  469. package/src/resources/skills/userinterface-wiki/rules/ux-aesthetic-usability.md +0 -32
  470. package/src/resources/skills/userinterface-wiki/rules/ux-cognitive-load-reduce.md +0 -49
  471. package/src/resources/skills/userinterface-wiki/rules/ux-common-region-boundaries.md +0 -50
  472. package/src/resources/skills/userinterface-wiki/rules/ux-doherty-perceived-speed.md +0 -29
  473. package/src/resources/skills/userinterface-wiki/rules/ux-doherty-under-400ms.md +0 -30
  474. package/src/resources/skills/userinterface-wiki/rules/ux-fitts-hit-area.md +0 -32
  475. package/src/resources/skills/userinterface-wiki/rules/ux-fitts-target-size.md +0 -31
  476. package/src/resources/skills/userinterface-wiki/rules/ux-goal-gradient-progress.md +0 -33
  477. package/src/resources/skills/userinterface-wiki/rules/ux-hicks-minimize-choices.md +0 -45
  478. package/src/resources/skills/userinterface-wiki/rules/ux-jakobs-familiar-patterns.md +0 -37
  479. package/src/resources/skills/userinterface-wiki/rules/ux-millers-chunking.md +0 -23
  480. package/src/resources/skills/userinterface-wiki/rules/ux-pareto-prioritize-features.md +0 -36
  481. package/src/resources/skills/userinterface-wiki/rules/ux-peak-end-finish-strong.md +0 -35
  482. package/src/resources/skills/userinterface-wiki/rules/ux-postels-accept-messy-input.md +0 -45
  483. package/src/resources/skills/userinterface-wiki/rules/ux-pragnanz-simplify.md +0 -33
  484. package/src/resources/skills/userinterface-wiki/rules/ux-progressive-disclosure.md +0 -41
  485. package/src/resources/skills/userinterface-wiki/rules/ux-proximity-grouping.md +0 -38
  486. package/src/resources/skills/userinterface-wiki/rules/ux-serial-position.md +0 -31
  487. package/src/resources/skills/userinterface-wiki/rules/ux-similarity-consistency.md +0 -35
  488. package/src/resources/skills/userinterface-wiki/rules/ux-teslers-complexity.md +0 -28
  489. package/src/resources/skills/userinterface-wiki/rules/ux-uniform-connectedness.md +0 -43
  490. package/src/resources/skills/userinterface-wiki/rules/ux-von-restorff-emphasis.md +0 -29
  491. package/src/resources/skills/userinterface-wiki/rules/ux-zeigarnik-show-incomplete.md +0 -36
  492. package/src/resources/skills/userinterface-wiki/rules/visual-animate-shadow-pseudo.md +0 -49
  493. package/src/resources/skills/userinterface-wiki/rules/visual-border-alpha-colors.md +0 -25
  494. package/src/resources/skills/userinterface-wiki/rules/visual-button-shadow-anatomy.md +0 -49
  495. package/src/resources/skills/userinterface-wiki/rules/visual-concentric-radius.md +0 -40
  496. package/src/resources/skills/userinterface-wiki/rules/visual-consistent-spacing-scale.md +0 -35
  497. package/src/resources/skills/userinterface-wiki/rules/visual-layered-shadows.md +0 -30
  498. package/src/resources/skills/userinterface-wiki/rules/visual-no-pure-black-shadow.md +0 -25
  499. package/src/resources/skills/userinterface-wiki/rules/visual-shadow-direction.md +0 -25
  500. package/src/resources/skills/userinterface-wiki/rules/visual-shadow-matches-elevation.md +0 -23
  501. package/src/resources/skills/userinterface-wiki/rules/weight-duration-matches-action.md +0 -29
  502. package/src/resources/skills/userinterface-wiki/rules/weight-match-action.md +0 -32
  503. package/src/resources/skills/web-design-guidelines/SKILL.md +0 -39
  504. package/src/resources/skills/web-quality-audit/SKILL.md +0 -168
  505. package/src/resources/skills/web-quality-audit/scripts/analyze.sh +0 -91
@@ -1,22 +0,0 @@
1
- ---
2
- title: Prefetch by Intent, Not Viewport
3
- impact: HIGH
4
- tags: prefetch, viewport, intent, bundle-size
5
- ---
6
-
7
- ## Prefetch by Intent, Not Viewport
8
-
9
- Don't prefetch everything visible in the viewport. Prefetch based on user intent to avoid wasted bandwidth.
10
-
11
- **Incorrect (prefetch all visible links):**
12
-
13
- ```tsx
14
- <Link href="/page" prefetch={true}>Page</Link>
15
- ```
16
-
17
- **Correct (intent-based prefetching):**
18
-
19
- ```tsx
20
- <Link href="/page" prefetch={false}>Page</Link>
21
- // Let trajectory/hover prediction handle it
22
- ```
@@ -1,34 +0,0 @@
1
- ---
2
- title: Fall Back Gracefully on Touch Devices
3
- impact: MEDIUM
4
- tags: prefetch, touch, mobile, fallback
5
- ---
6
-
7
- ## Fall Back Gracefully on Touch Devices
8
-
9
- Touch devices have no cursor. Fall back to viewport or touch-start strategies automatically.
10
-
11
- **Incorrect (assumes cursor exists):**
12
-
13
- ```tsx
14
- function PrefetchLink({ href, children }) {
15
- return (
16
- <Link
17
- href={href}
18
- onMouseMove={() => prefetch(href)}
19
- >
20
- {children}
21
- </Link>
22
- );
23
- }
24
- ```
25
-
26
- **Correct (device-aware strategy):**
27
-
28
- ```tsx
29
- const { elementRef } = useForesight({
30
- callback: () => router.prefetch(href),
31
- hitSlop: 20,
32
- });
33
- // Automatically falls back to touch-start on mobile
34
- ```
@@ -1,32 +0,0 @@
1
- ---
2
- title: Trajectory Prediction Over Hover Prefetching
3
- impact: HIGH
4
- tags: prefetch, trajectory, hover, performance
5
- ---
6
-
7
- ## Trajectory Prediction Over Hover Prefetching
8
-
9
- Hover prefetching starts too late. Trajectory prediction fires while the cursor is still in motion, reclaiming 100-200ms.
10
-
11
- **Incorrect (waits for hover):**
12
-
13
- ```tsx
14
- <Link
15
- href="/about"
16
- onMouseEnter={() => router.prefetch("/about")}
17
- >
18
- About
19
- </Link>
20
- ```
21
-
22
- **Correct (trajectory-based):**
23
-
24
- ```tsx
25
- const { elementRef } = useForesight({
26
- callback: () => router.prefetch("/about"),
27
- hitSlop: 20,
28
- name: "about-link",
29
- });
30
-
31
- <Link ref={elementRef} href="/about">About</Link>
32
- ```
@@ -1,13 +0,0 @@
1
- ---
2
- title: Use Predictive Prefetching Selectively
3
- impact: MEDIUM
4
- tags: prefetch, selective, performance
5
- ---
6
-
7
- ## Use Predictive Prefetching Selectively
8
-
9
- Predictive prefetching doesn't belong in every project. Use it where navigation latency is noticeable.
10
-
11
- **Good use cases:** data-heavy dashboards, multi-page apps with slow API responses, e-commerce product pages.
12
-
13
- **Bad use cases:** static sites with instant navigation, single-page apps with all data preloaded.
@@ -1,31 +0,0 @@
1
- ---
2
- title: Disable Interactions on Exiting Elements
3
- impact: MEDIUM
4
- tags: presence, interaction, exit
5
- ---
6
-
7
- ## Disable Interactions on Exiting Elements
8
-
9
- Disable interactions on exiting elements using isPresent.
10
-
11
- **Incorrect (clickable during exit):**
12
-
13
- ```tsx
14
- function Card() {
15
- const isPresent = useIsPresent();
16
- return <button onClick={handleClick}>Click</button>;
17
- }
18
- ```
19
-
20
- **Correct (disabled during exit):**
21
-
22
- ```tsx
23
- function Card() {
24
- const isPresent = useIsPresent();
25
- return (
26
- <button onClick={handleClick} disabled={!isPresent}>
27
- Click
28
- </button>
29
- );
30
- }
31
- ```
@@ -1,31 +0,0 @@
1
- ---
2
- title: useIsPresent in Child Component
3
- impact: HIGH
4
- tags: presence, hook, component-hierarchy
5
- ---
6
-
7
- ## useIsPresent in Child Component
8
-
9
- useIsPresent must be called from child of AnimatePresence, not parent.
10
-
11
- **Incorrect (hook in parent):**
12
-
13
- ```tsx
14
- function Parent() {
15
- const isPresent = useIsPresent();
16
- return (
17
- <AnimatePresence>
18
- {show && <Child />}
19
- </AnimatePresence>
20
- );
21
- }
22
- ```
23
-
24
- **Correct (hook in child):**
25
-
26
- ```tsx
27
- function Child() {
28
- const isPresent = useIsPresent();
29
- return <motion.div data-exiting={!isPresent} />;
30
- }
31
- ```
@@ -1,37 +0,0 @@
1
- ---
2
- title: Call safeToRemove After Async Work
3
- impact: HIGH
4
- tags: presence, safe-to-remove, async
5
- ---
6
-
7
- ## Call safeToRemove After Async Work
8
-
9
- When using usePresence, always call safeToRemove after async work.
10
-
11
- **Incorrect (missing safeToRemove):**
12
-
13
- ```tsx
14
- function AsyncComponent() {
15
- const [isPresent, safeToRemove] = usePresence();
16
-
17
- useEffect(() => {
18
- if (!isPresent) {
19
- cleanup();
20
- }
21
- }, [isPresent]);
22
- }
23
- ```
24
-
25
- **Correct (safeToRemove called):**
26
-
27
- ```tsx
28
- function AsyncComponent() {
29
- const [isPresent, safeToRemove] = usePresence();
30
-
31
- useEffect(() => {
32
- if (!isPresent) {
33
- cleanup().then(safeToRemove);
34
- }
35
- }, [isPresent, safeToRemove]);
36
- }
37
- ```
@@ -1,28 +0,0 @@
1
- ---
2
- title: Content Property Required for Pseudo-Elements
3
- impact: HIGH
4
- tags: pseudo, content, before-after
5
- ---
6
-
7
- ## Content Property Required for Pseudo-Elements
8
-
9
- ::before and ::after require content property to render.
10
-
11
- **Incorrect (missing content):**
12
-
13
- ```css
14
- .button::before {
15
- position: absolute;
16
- background: var(--gray-3);
17
- }
18
- ```
19
-
20
- **Correct (content set):**
21
-
22
- ```css
23
- .button::before {
24
- content: "";
25
- position: absolute;
26
- background: var(--gray-3);
27
- }
28
- ```
@@ -1,27 +0,0 @@
1
- ---
2
- title: Use ::first-line for Typographic Treatments
3
- impact: LOW
4
- tags: pseudo, first-line, typography
5
- ---
6
-
7
- ## Use ::first-line for Typographic Treatments
8
-
9
- Use ::first-line for drop-cap-adjacent styling without JavaScript or hardcoded spans.
10
-
11
- **Incorrect (manual span):**
12
-
13
- ```tsx
14
- <p>
15
- <span className={styles["first-line"]}>The opening line of this paragraph</span>
16
- is styled differently from the rest.
17
- </p>
18
- ```
19
-
20
- **Correct (native ::first-line):**
21
-
22
- ```css
23
- .article p:first-of-type::first-line {
24
- font-variant-caps: small-caps;
25
- font-weight: var(--font-weight-medium);
26
- }
27
- ```
@@ -1,31 +0,0 @@
1
- ---
2
- title: Hit Target Expansion with Pseudo-Elements
3
- impact: MEDIUM
4
- tags: pseudo, hit-target, accessibility
5
- ---
6
-
7
- ## Hit Target Expansion with Pseudo-Elements
8
-
9
- Use negative inset values to expand hit targets without extra markup.
10
-
11
- **Incorrect (wrapper for hit target):**
12
-
13
- ```tsx
14
- <div className={styles.wrapper}>
15
- <a className={styles.link}>Link</a>
16
- </div>
17
- ```
18
-
19
- **Correct (pseudo-element expansion):**
20
-
21
- ```css
22
- .link {
23
- position: relative;
24
- }
25
-
26
- .link::before {
27
- content: "";
28
- position: absolute;
29
- inset: -8px -12px;
30
- }
31
- ```
@@ -1,28 +0,0 @@
1
- ---
2
- title: Use ::marker for Custom List Bullets
3
- impact: LOW
4
- tags: pseudo, marker, list, bullets
5
- ---
6
-
7
- ## Use ::marker for Custom List Bullets
8
-
9
- Use ::marker to style list bullets without extra elements or background-image hacks.
10
-
11
- **Incorrect (background image hack):**
12
-
13
- ```css
14
- li {
15
- list-style: none;
16
- background: url("bullet.svg") no-repeat 0 4px;
17
- padding-left: 20px;
18
- }
19
- ```
20
-
21
- **Correct (native ::marker):**
22
-
23
- ```css
24
- li::marker {
25
- color: var(--gray-8);
26
- font-size: 0.8em;
27
- }
28
- ```
@@ -1,32 +0,0 @@
1
- ---
2
- title: Pseudo-Elements Over DOM Nodes
3
- impact: MEDIUM
4
- tags: pseudo, dom, decorative
5
- ---
6
-
7
- ## Pseudo-Elements Over DOM Nodes
8
-
9
- Use pseudo-elements for decorative content instead of extra DOM nodes.
10
-
11
- **Incorrect (extra DOM node):**
12
-
13
- ```tsx
14
- <button className={styles.button}>
15
- <span className={styles.background} />
16
- Click me
17
- </button>
18
- ```
19
-
20
- **Correct (pseudo-element):**
21
-
22
- ```tsx
23
- <button className={styles.button}>
24
- Click me
25
- </button>
26
- ```
27
- ```css
28
- .button::before {
29
- content: "";
30
- /* decorative background */
31
- }
32
- ```
@@ -1,33 +0,0 @@
1
- ---
2
- title: Position Relative Parent for Pseudo-Elements
3
- impact: HIGH
4
- tags: pseudo, position, relative
5
- ---
6
-
7
- ## Position Relative Parent for Pseudo-Elements
8
-
9
- Parent must have position: relative for absolute pseudo-elements.
10
-
11
- **Incorrect (no position on parent):**
12
-
13
- ```css
14
- .button::before {
15
- content: "";
16
- position: absolute;
17
- inset: 0;
18
- }
19
- ```
20
-
21
- **Correct (parent positioned):**
22
-
23
- ```css
24
- .button {
25
- position: relative;
26
- }
27
-
28
- .button::before {
29
- content: "";
30
- position: absolute;
31
- inset: 0;
32
- }
33
- ```
@@ -1,37 +0,0 @@
1
- ---
2
- title: Z-Index Layering for Pseudo-Elements
3
- impact: MEDIUM
4
- tags: pseudo, z-index, layering
5
- ---
6
-
7
- ## Z-Index Layering for Pseudo-Elements
8
-
9
- Pseudo-elements need z-index to layer correctly with content.
10
-
11
- **Incorrect (covers text):**
12
-
13
- ```css
14
- .button::before {
15
- content: "";
16
- position: absolute;
17
- inset: 0;
18
- background: var(--gray-3);
19
- }
20
- ```
21
-
22
- **Correct (layered behind):**
23
-
24
- ```css
25
- .button {
26
- position: relative;
27
- z-index: 1;
28
- }
29
-
30
- .button::before {
31
- content: "";
32
- position: absolute;
33
- inset: 0;
34
- background: var(--gray-3);
35
- z-index: -1;
36
- }
37
- ```
@@ -1,27 +0,0 @@
1
- ---
2
- title: Springs for Gesture-Driven Motion
3
- impact: HIGH
4
- tags: spring, gesture, drag
5
- ---
6
-
7
- ## Springs for Gesture-Driven Motion
8
-
9
- Gesture-driven motion (drag, flick, swipe) must use springs.
10
-
11
- **Incorrect (easing for drag):**
12
-
13
- ```tsx
14
- <motion.div
15
- drag="x"
16
- transition={{ duration: 0.3, ease: "easeOut" }}
17
- />
18
- ```
19
-
20
- **Correct (spring for drag):**
21
-
22
- ```tsx
23
- <motion.div
24
- drag="x"
25
- transition={{ type: "spring", stiffness: 500, damping: 30 }}
26
- />
27
- ```
@@ -1,27 +0,0 @@
1
- ---
2
- title: Springs for Interruptible Motion
3
- impact: HIGH
4
- tags: spring, interruptible, animation
5
- ---
6
-
7
- ## Springs for Interruptible Motion
8
-
9
- Motion that can be interrupted must use springs.
10
-
11
- **Incorrect (easing for interruptible):**
12
-
13
- ```tsx
14
- <motion.div
15
- animate={{ x: isOpen ? 200 : 0 }}
16
- transition={{ duration: 0.3 }}
17
- />
18
- ```
19
-
20
- **Correct (spring for interruptible):**
21
-
22
- ```tsx
23
- <motion.div
24
- animate={{ x: isOpen ? 200 : 0 }}
25
- transition={{ type: "spring", stiffness: 400, damping: 25 }}
26
- />
27
- ```
@@ -1,29 +0,0 @@
1
- ---
2
- title: Balanced Spring Parameters
3
- impact: MEDIUM
4
- tags: spring, stiffness, damping
5
- ---
6
-
7
- ## Balanced Spring Parameters
8
-
9
- Spring parameters must be balanced; avoid excessive oscillation.
10
-
11
- **Incorrect (too bouncy):**
12
-
13
- ```tsx
14
- transition={{
15
- type: "spring",
16
- stiffness: 1000,
17
- damping: 5,
18
- }}
19
- ```
20
-
21
- **Correct (balanced):**
22
-
23
- ```tsx
24
- transition={{
25
- type: "spring",
26
- stiffness: 500,
27
- damping: 30,
28
- }}
29
- ```
@@ -1,28 +0,0 @@
1
- ---
2
- title: Springs Preserve Input Velocity
3
- impact: MEDIUM
4
- tags: spring, velocity, drag
5
- ---
6
-
7
- ## Springs Preserve Input Velocity
8
-
9
- When velocity matters, use springs to preserve input energy.
10
-
11
- **Incorrect (velocity ignored):**
12
-
13
- ```tsx
14
- onDragEnd={(e, info) => {
15
- animate(target, { x: 0 }, { duration: 0.3 });
16
- }}
17
- ```
18
-
19
- **Correct (velocity preserved):**
20
-
21
- ```tsx
22
- onDragEnd={(e, info) => {
23
- animate(target, { x: 0 }, {
24
- type: "spring",
25
- velocity: info.velocity.x,
26
- });
27
- }}
28
- ```
@@ -1,22 +0,0 @@
1
- ---
2
- title: Dim Background for Focus
3
- impact: MEDIUM
4
- impactDescription: Transparent overlays fail to direct focus; dimmed backgrounds isolate the modal and reduce distraction.
5
- tags: staging, modal, overlay
6
- ---
7
-
8
- ## Dim Background for Focus
9
-
10
- Modal/dialog backgrounds should dim to direct focus.
11
-
12
- **Incorrect (transparent overlay):**
13
-
14
- ```css
15
- .overlay { background: transparent; }
16
- ```
17
-
18
- **Correct (dimmed overlay):**
19
-
20
- ```css
21
- .overlay { background: var(--black-a6); }
22
- ```
@@ -1,24 +0,0 @@
1
- ---
2
- title: Single Focal Point
3
- impact: MEDIUM
4
- impactDescription: Competing animations split attention and reduce clarity; one focal point guides the user effectively.
5
- tags: staging, focus, attention
6
- ---
7
-
8
- ## Single Focal Point
9
-
10
- Only one element should animate prominently at a time.
11
-
12
- **Incorrect (competing animations):**
13
-
14
- ```tsx
15
- <motion.div animate={{ scale: 1.1 }} />
16
- <motion.div animate={{ scale: 1.1 }} />
17
- ```
18
-
19
- **Correct (single focal point):**
20
-
21
- ```tsx
22
- <motion.div animate={{ scale: 1.1 }} />
23
- <motion.div animate={{ scale: 1 }} />
24
- ```
@@ -1,22 +0,0 @@
1
- ---
2
- title: Z-Index Layering for Animated Elements
3
- impact: MEDIUM
4
- impactDescription: Missing z-index causes tooltips and overlays to render behind other content, breaking the visual hierarchy.
5
- tags: staging, z-index, layering
6
- ---
7
-
8
- ## Z-Index Layering for Animated Elements
9
-
10
- Animated elements must respect z-index layering.
11
-
12
- **Incorrect (no z-index):**
13
-
14
- ```css
15
- .tooltip { /* No z-index, may render behind other elements */ }
16
- ```
17
-
18
- **Correct (explicit z-index):**
19
-
20
- ```css
21
- .tooltip { z-index: 50; }
22
- ```
@@ -1,24 +0,0 @@
1
- ---
2
- title: Consistent Timing for Similar Elements
3
- impact: CRITICAL
4
- impactDescription: Inconsistent timing across similar elements creates a disjointed, unpolished feel and undermines design system coherence.
5
- tags: timing, consistency, animation
6
- ---
7
-
8
- ## Consistent Timing for Similar Elements
9
-
10
- Similar elements must use identical timing values.
11
-
12
- **Incorrect (inconsistent timing):**
13
-
14
- ```css
15
- .button-primary { transition: 200ms; }
16
- .button-secondary { transition: 150ms; }
17
- ```
18
-
19
- **Correct (consistent timing):**
20
-
21
- ```css
22
- .button-primary { transition: 200ms; }
23
- .button-secondary { transition: 200ms; }
24
- ```
@@ -1,22 +0,0 @@
1
- ---
2
- title: No Entrance Animation on Context Menus
3
- impact: HIGH
4
- impactDescription: Entrance animations on context menus delay access to options and feel unnecessary for ephemeral UI.
5
- tags: timing, context-menu, entrance
6
- ---
7
-
8
- ## No Entrance Animation on Context Menus
9
-
10
- Context menus should not animate on entrance (exit only).
11
-
12
- **Incorrect (animates entrance):**
13
-
14
- ```tsx
15
- <motion.div initial={{ opacity: 0 }} animate={{ opacity: 1 }} />
16
- ```
17
-
18
- **Correct (exit only):**
19
-
20
- ```tsx
21
- <motion.div exit={{ opacity: 0 }} />
22
- ```
@@ -1,22 +0,0 @@
1
- ---
2
- title: User Animations Under 300ms
3
- impact: CRITICAL
4
- impactDescription: Exceeding 300ms for user-initiated actions degrades perceived responsiveness and makes the interface feel sluggish.
5
- tags: timing, duration, animation
6
- ---
7
-
8
- ## User Animations Under 300ms
9
-
10
- User-initiated animations must complete within 300ms.
11
-
12
- **Incorrect (exceeds 300ms limit):**
13
-
14
- ```css
15
- .button { transition: transform 400ms; }
16
- ```
17
-
18
- **Correct (within 300ms):**
19
-
20
- ```css
21
- .button { transition: transform 200ms; }
22
- ```