lsd-pi 1.1.10 → 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 (545) 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/index.js +2 -0
  4. package/dist/resources/extensions/slash-commands/init.js +47 -0
  5. package/dist/resources/extensions/slash-commands/plan.js +238 -51
  6. package/dist/resources/extensions/slash-commands/tools.js +14 -27
  7. package/dist/resources/extensions/subagent/index.js +14 -11
  8. package/dist/resources/extensions/usage/index.js +87 -36
  9. package/package.json +1 -1
  10. package/packages/pi-ai/dist/models.generated.d.ts +222 -1
  11. package/packages/pi-ai/dist/models.generated.d.ts.map +1 -1
  12. package/packages/pi-ai/dist/models.generated.js +227 -6
  13. package/packages/pi-ai/dist/models.generated.js.map +1 -1
  14. package/packages/pi-ai/dist/models.test.js +28 -0
  15. package/packages/pi-ai/dist/models.test.js.map +1 -1
  16. package/packages/pi-ai/scripts/generate-models.ts +10 -100
  17. package/packages/pi-ai/src/models.generated.ts +227 -6
  18. package/packages/pi-ai/src/models.test.ts +30 -0
  19. package/packages/pi-coding-agent/dist/core/agent-session.d.ts +2 -0
  20. package/packages/pi-coding-agent/dist/core/agent-session.d.ts.map +1 -1
  21. package/packages/pi-coding-agent/dist/core/agent-session.js +39 -5
  22. package/packages/pi-coding-agent/dist/core/agent-session.js.map +1 -1
  23. package/packages/pi-coding-agent/dist/core/resource-loader-lsd-md.test.js +59 -7
  24. package/packages/pi-coding-agent/dist/core/resource-loader-lsd-md.test.js.map +1 -1
  25. package/packages/pi-coding-agent/dist/core/resource-loader.js +4 -4
  26. package/packages/pi-coding-agent/dist/core/resource-loader.js.map +1 -1
  27. package/packages/pi-coding-agent/dist/core/sdk.d.ts +1 -1
  28. package/packages/pi-coding-agent/dist/core/sdk.d.ts.map +1 -1
  29. package/packages/pi-coding-agent/dist/core/sdk.js +18 -7
  30. package/packages/pi-coding-agent/dist/core/sdk.js.map +1 -1
  31. package/packages/pi-coding-agent/dist/core/sdk.test.js +80 -0
  32. package/packages/pi-coding-agent/dist/core/sdk.test.js.map +1 -1
  33. package/packages/pi-coding-agent/dist/core/settings-manager.d.ts +12 -5
  34. package/packages/pi-coding-agent/dist/core/settings-manager.d.ts.map +1 -1
  35. package/packages/pi-coding-agent/dist/core/settings-manager.js +23 -9
  36. package/packages/pi-coding-agent/dist/core/settings-manager.js.map +1 -1
  37. package/packages/pi-coding-agent/dist/core/system-prompt.d.ts.map +1 -1
  38. package/packages/pi-coding-agent/dist/core/system-prompt.js +10 -0
  39. package/packages/pi-coding-agent/dist/core/system-prompt.js.map +1 -1
  40. package/packages/pi-coding-agent/dist/modes/interactive/components/settings-selector.d.ts +8 -4
  41. package/packages/pi-coding-agent/dist/modes/interactive/components/settings-selector.d.ts.map +1 -1
  42. package/packages/pi-coding-agent/dist/modes/interactive/components/settings-selector.js +32 -5
  43. package/packages/pi-coding-agent/dist/modes/interactive/components/settings-selector.js.map +1 -1
  44. package/packages/pi-coding-agent/dist/modes/interactive/components/tool-execution.d.ts.map +1 -1
  45. package/packages/pi-coding-agent/dist/modes/interactive/components/tool-execution.js +8 -0
  46. package/packages/pi-coding-agent/dist/modes/interactive/components/tool-execution.js.map +1 -1
  47. package/packages/pi-coding-agent/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  48. package/packages/pi-coding-agent/dist/modes/interactive/interactive-mode.js +34 -25
  49. package/packages/pi-coding-agent/dist/modes/interactive/interactive-mode.js.map +1 -1
  50. package/packages/pi-coding-agent/dist/tests/path-display.test.js +13 -0
  51. package/packages/pi-coding-agent/dist/tests/path-display.test.js.map +1 -1
  52. package/packages/pi-coding-agent/dist/tests/settings-manager-scout-policy.test.d.ts +2 -0
  53. package/packages/pi-coding-agent/dist/tests/settings-manager-scout-policy.test.d.ts.map +1 -0
  54. package/packages/pi-coding-agent/dist/tests/settings-manager-scout-policy.test.js +15 -0
  55. package/packages/pi-coding-agent/dist/tests/settings-manager-scout-policy.test.js.map +1 -0
  56. package/packages/pi-coding-agent/package.json +1 -1
  57. package/packages/pi-coding-agent/src/core/agent-session.ts +48 -5
  58. package/packages/pi-coding-agent/src/core/resource-loader-lsd-md.test.ts +67 -7
  59. package/packages/pi-coding-agent/src/core/resource-loader.ts +4 -4
  60. package/packages/pi-coding-agent/src/core/sdk.test.ts +100 -0
  61. package/packages/pi-coding-agent/src/core/sdk.ts +23 -8
  62. package/packages/pi-coding-agent/src/core/settings-manager.ts +36 -15
  63. package/packages/pi-coding-agent/src/core/system-prompt.ts +26 -0
  64. package/packages/pi-coding-agent/src/modes/interactive/components/settings-selector.ts +41 -10
  65. package/packages/pi-coding-agent/src/modes/interactive/components/tool-execution.ts +11 -0
  66. package/packages/pi-coding-agent/src/modes/interactive/interactive-mode.ts +43 -27
  67. package/packages/pi-coding-agent/src/tests/path-display.test.ts +14 -0
  68. package/pkg/package.json +1 -1
  69. package/src/resources/agents/scout.md +6 -0
  70. package/src/resources/extensions/slash-commands/index.ts +2 -0
  71. package/src/resources/extensions/slash-commands/init.ts +55 -0
  72. package/src/resources/extensions/slash-commands/plan.ts +279 -53
  73. package/src/resources/extensions/slash-commands/tools.ts +15 -29
  74. package/src/resources/extensions/subagent/index.ts +14 -11
  75. package/src/resources/extensions/usage/index.ts +92 -38
  76. package/dist/resources/agents/javascript-pro.md +0 -280
  77. package/dist/resources/agents/researcher.md +0 -29
  78. package/dist/resources/agents/teams-builder.md +0 -74
  79. package/dist/resources/agents/teams-reviewer.md +0 -113
  80. package/dist/resources/agents/typescript-pro.md +0 -255
  81. package/dist/resources/skills/accessibility/SKILL.md +0 -522
  82. package/dist/resources/skills/accessibility/references/WCAG.md +0 -162
  83. package/dist/resources/skills/core-web-vitals/SKILL.md +0 -441
  84. package/dist/resources/skills/core-web-vitals/references/LCP.md +0 -208
  85. package/dist/resources/skills/frontend-design/SKILL.md +0 -45
  86. package/dist/resources/skills/make-interfaces-feel-better/SKILL.md +0 -122
  87. package/dist/resources/skills/make-interfaces-feel-better/animations.md +0 -379
  88. package/dist/resources/skills/make-interfaces-feel-better/performance.md +0 -88
  89. package/dist/resources/skills/make-interfaces-feel-better/surfaces.md +0 -247
  90. package/dist/resources/skills/make-interfaces-feel-better/typography.md +0 -123
  91. package/dist/resources/skills/react-best-practices/README.md +0 -123
  92. package/dist/resources/skills/react-best-practices/SKILL.md +0 -136
  93. package/dist/resources/skills/react-best-practices/metadata.json +0 -15
  94. package/dist/resources/skills/react-best-practices/rules/_sections.md +0 -46
  95. package/dist/resources/skills/react-best-practices/rules/_template.md +0 -28
  96. package/dist/resources/skills/react-best-practices/rules/advanced-event-handler-refs.md +0 -55
  97. package/dist/resources/skills/react-best-practices/rules/advanced-init-once.md +0 -42
  98. package/dist/resources/skills/react-best-practices/rules/advanced-use-latest.md +0 -39
  99. package/dist/resources/skills/react-best-practices/rules/async-api-routes.md +0 -38
  100. package/dist/resources/skills/react-best-practices/rules/async-defer-await.md +0 -80
  101. package/dist/resources/skills/react-best-practices/rules/async-dependencies.md +0 -51
  102. package/dist/resources/skills/react-best-practices/rules/async-parallel.md +0 -28
  103. package/dist/resources/skills/react-best-practices/rules/async-suspense-boundaries.md +0 -99
  104. package/dist/resources/skills/react-best-practices/rules/bundle-barrel-imports.md +0 -59
  105. package/dist/resources/skills/react-best-practices/rules/bundle-conditional.md +0 -31
  106. package/dist/resources/skills/react-best-practices/rules/bundle-defer-third-party.md +0 -49
  107. package/dist/resources/skills/react-best-practices/rules/bundle-dynamic-imports.md +0 -35
  108. package/dist/resources/skills/react-best-practices/rules/bundle-preload.md +0 -50
  109. package/dist/resources/skills/react-best-practices/rules/client-event-listeners.md +0 -74
  110. package/dist/resources/skills/react-best-practices/rules/client-localstorage-schema.md +0 -71
  111. package/dist/resources/skills/react-best-practices/rules/client-passive-event-listeners.md +0 -48
  112. package/dist/resources/skills/react-best-practices/rules/client-swr-dedup.md +0 -56
  113. package/dist/resources/skills/react-best-practices/rules/js-batch-dom-css.md +0 -107
  114. package/dist/resources/skills/react-best-practices/rules/js-cache-function-results.md +0 -80
  115. package/dist/resources/skills/react-best-practices/rules/js-cache-property-access.md +0 -28
  116. package/dist/resources/skills/react-best-practices/rules/js-cache-storage.md +0 -70
  117. package/dist/resources/skills/react-best-practices/rules/js-combine-iterations.md +0 -32
  118. package/dist/resources/skills/react-best-practices/rules/js-early-exit.md +0 -50
  119. package/dist/resources/skills/react-best-practices/rules/js-hoist-regexp.md +0 -45
  120. package/dist/resources/skills/react-best-practices/rules/js-index-maps.md +0 -37
  121. package/dist/resources/skills/react-best-practices/rules/js-length-check-first.md +0 -49
  122. package/dist/resources/skills/react-best-practices/rules/js-min-max-loop.md +0 -82
  123. package/dist/resources/skills/react-best-practices/rules/js-set-map-lookups.md +0 -24
  124. package/dist/resources/skills/react-best-practices/rules/js-tosorted-immutable.md +0 -57
  125. package/dist/resources/skills/react-best-practices/rules/rendering-activity.md +0 -26
  126. package/dist/resources/skills/react-best-practices/rules/rendering-animate-svg-wrapper.md +0 -47
  127. package/dist/resources/skills/react-best-practices/rules/rendering-conditional-render.md +0 -40
  128. package/dist/resources/skills/react-best-practices/rules/rendering-content-visibility.md +0 -38
  129. package/dist/resources/skills/react-best-practices/rules/rendering-hoist-jsx.md +0 -46
  130. package/dist/resources/skills/react-best-practices/rules/rendering-hydration-no-flicker.md +0 -82
  131. package/dist/resources/skills/react-best-practices/rules/rendering-hydration-suppress-warning.md +0 -30
  132. package/dist/resources/skills/react-best-practices/rules/rendering-svg-precision.md +0 -28
  133. package/dist/resources/skills/react-best-practices/rules/rendering-usetransition-loading.md +0 -75
  134. package/dist/resources/skills/react-best-practices/rules/rerender-defer-reads.md +0 -39
  135. package/dist/resources/skills/react-best-practices/rules/rerender-dependencies.md +0 -45
  136. package/dist/resources/skills/react-best-practices/rules/rerender-derived-state-no-effect.md +0 -40
  137. package/dist/resources/skills/react-best-practices/rules/rerender-derived-state.md +0 -29
  138. package/dist/resources/skills/react-best-practices/rules/rerender-functional-setstate.md +0 -74
  139. package/dist/resources/skills/react-best-practices/rules/rerender-lazy-state-init.md +0 -58
  140. package/dist/resources/skills/react-best-practices/rules/rerender-memo-with-default-value.md +0 -38
  141. package/dist/resources/skills/react-best-practices/rules/rerender-memo.md +0 -44
  142. package/dist/resources/skills/react-best-practices/rules/rerender-move-effect-to-event.md +0 -45
  143. package/dist/resources/skills/react-best-practices/rules/rerender-simple-expression-in-memo.md +0 -35
  144. package/dist/resources/skills/react-best-practices/rules/rerender-transitions.md +0 -40
  145. package/dist/resources/skills/react-best-practices/rules/rerender-use-ref-transient-values.md +0 -73
  146. package/dist/resources/skills/react-best-practices/rules/server-after-nonblocking.md +0 -73
  147. package/dist/resources/skills/react-best-practices/rules/server-auth-actions.md +0 -96
  148. package/dist/resources/skills/react-best-practices/rules/server-cache-lru.md +0 -41
  149. package/dist/resources/skills/react-best-practices/rules/server-cache-react.md +0 -76
  150. package/dist/resources/skills/react-best-practices/rules/server-dedup-props.md +0 -65
  151. package/dist/resources/skills/react-best-practices/rules/server-parallel-fetching.md +0 -83
  152. package/dist/resources/skills/react-best-practices/rules/server-serialization.md +0 -38
  153. package/dist/resources/skills/userinterface-wiki/SKILL.md +0 -253
  154. package/dist/resources/skills/userinterface-wiki/rules/_sections.md +0 -66
  155. package/dist/resources/skills/userinterface-wiki/rules/_template.md +0 -24
  156. package/dist/resources/skills/userinterface-wiki/rules/a11y-reduced-motion-check.md +0 -30
  157. package/dist/resources/skills/userinterface-wiki/rules/a11y-toggle-setting.md +0 -30
  158. package/dist/resources/skills/userinterface-wiki/rules/a11y-visual-equivalent.md +0 -36
  159. package/dist/resources/skills/userinterface-wiki/rules/a11y-volume-control.md +0 -28
  160. package/dist/resources/skills/userinterface-wiki/rules/appropriate-confirmations-only.md +0 -19
  161. package/dist/resources/skills/userinterface-wiki/rules/appropriate-errors-warnings.md +0 -18
  162. package/dist/resources/skills/userinterface-wiki/rules/appropriate-no-decorative.md +0 -21
  163. package/dist/resources/skills/userinterface-wiki/rules/appropriate-no-high-frequency.md +0 -28
  164. package/dist/resources/skills/userinterface-wiki/rules/appropriate-no-punishing.md +0 -27
  165. package/dist/resources/skills/userinterface-wiki/rules/container-callback-ref.md +0 -31
  166. package/dist/resources/skills/userinterface-wiki/rules/container-guard-initial-zero.md +0 -25
  167. package/dist/resources/skills/userinterface-wiki/rules/container-no-excessive-use.md +0 -13
  168. package/dist/resources/skills/userinterface-wiki/rules/container-overflow-hidden.md +0 -25
  169. package/dist/resources/skills/userinterface-wiki/rules/container-transition-delay.md +0 -21
  170. package/dist/resources/skills/userinterface-wiki/rules/container-two-div-pattern.md +0 -35
  171. package/dist/resources/skills/userinterface-wiki/rules/container-use-resize-observer.md +0 -48
  172. package/dist/resources/skills/userinterface-wiki/rules/context-cleanup-nodes.md +0 -25
  173. package/dist/resources/skills/userinterface-wiki/rules/context-resume-suspended.md +0 -28
  174. package/dist/resources/skills/userinterface-wiki/rules/context-reuse-single.md +0 -30
  175. package/dist/resources/skills/userinterface-wiki/rules/design-filter-for-character.md +0 -25
  176. package/dist/resources/skills/userinterface-wiki/rules/design-noise-for-percussion.md +0 -26
  177. package/dist/resources/skills/userinterface-wiki/rules/design-oscillator-for-tonal.md +0 -22
  178. package/dist/resources/skills/userinterface-wiki/rules/duration-max-300ms.md +0 -21
  179. package/dist/resources/skills/userinterface-wiki/rules/duration-press-hover.md +0 -21
  180. package/dist/resources/skills/userinterface-wiki/rules/duration-shorten-before-curve.md +0 -21
  181. package/dist/resources/skills/userinterface-wiki/rules/duration-small-state.md +0 -15
  182. package/dist/resources/skills/userinterface-wiki/rules/easing-entrance-ease-out.md +0 -21
  183. package/dist/resources/skills/userinterface-wiki/rules/easing-exit-ease-in.md +0 -21
  184. package/dist/resources/skills/userinterface-wiki/rules/easing-for-state-change.md +0 -27
  185. package/dist/resources/skills/userinterface-wiki/rules/easing-linear-only-progress.md +0 -21
  186. package/dist/resources/skills/userinterface-wiki/rules/easing-natural-decay.md +0 -22
  187. package/dist/resources/skills/userinterface-wiki/rules/easing-no-linear-motion.md +0 -22
  188. package/dist/resources/skills/userinterface-wiki/rules/easing-transition-ease-in-out.md +0 -15
  189. package/dist/resources/skills/userinterface-wiki/rules/envelope-exponential-decay.md +0 -21
  190. package/dist/resources/skills/userinterface-wiki/rules/envelope-no-zero-target.md +0 -21
  191. package/dist/resources/skills/userinterface-wiki/rules/envelope-set-initial-value.md +0 -22
  192. package/dist/resources/skills/userinterface-wiki/rules/exit-key-required.md +0 -29
  193. package/dist/resources/skills/userinterface-wiki/rules/exit-matches-initial.md +0 -29
  194. package/dist/resources/skills/userinterface-wiki/rules/exit-prop-required.md +0 -33
  195. package/dist/resources/skills/userinterface-wiki/rules/exit-requires-wrapper.md +0 -27
  196. package/dist/resources/skills/userinterface-wiki/rules/impl-default-subtle.md +0 -21
  197. package/dist/resources/skills/userinterface-wiki/rules/impl-preload-audio.md +0 -34
  198. package/dist/resources/skills/userinterface-wiki/rules/impl-reset-current-time.md +0 -26
  199. package/dist/resources/skills/userinterface-wiki/rules/mode-pop-layout-for-lists.md +0 -25
  200. package/dist/resources/skills/userinterface-wiki/rules/mode-sync-layout-conflict.md +0 -29
  201. package/dist/resources/skills/userinterface-wiki/rules/mode-wait-doubles-duration.md +0 -25
  202. package/dist/resources/skills/userinterface-wiki/rules/morphing-aria-hidden.md +0 -21
  203. package/dist/resources/skills/userinterface-wiki/rules/morphing-consistent-viewbox.md +0 -23
  204. package/dist/resources/skills/userinterface-wiki/rules/morphing-group-variants.md +0 -33
  205. package/dist/resources/skills/userinterface-wiki/rules/morphing-jump-non-grouped.md +0 -29
  206. package/dist/resources/skills/userinterface-wiki/rules/morphing-reduced-motion.md +0 -28
  207. package/dist/resources/skills/userinterface-wiki/rules/morphing-spring-rotation.md +0 -23
  208. package/dist/resources/skills/userinterface-wiki/rules/morphing-strokelinecap-round.md +0 -21
  209. package/dist/resources/skills/userinterface-wiki/rules/morphing-three-lines.md +0 -32
  210. package/dist/resources/skills/userinterface-wiki/rules/morphing-use-collapsed.md +0 -33
  211. package/dist/resources/skills/userinterface-wiki/rules/native-backdrop-styling.md +0 -27
  212. package/dist/resources/skills/userinterface-wiki/rules/native-placeholder-styling.md +0 -27
  213. package/dist/resources/skills/userinterface-wiki/rules/native-selection-styling.md +0 -18
  214. package/dist/resources/skills/userinterface-wiki/rules/nested-consistent-timing.md +0 -25
  215. package/dist/resources/skills/userinterface-wiki/rules/nested-propagate-required.md +0 -41
  216. package/dist/resources/skills/userinterface-wiki/rules/none-context-menu-entrance.md +0 -25
  217. package/dist/resources/skills/userinterface-wiki/rules/none-high-frequency.md +0 -29
  218. package/dist/resources/skills/userinterface-wiki/rules/none-keyboard-navigation.md +0 -32
  219. package/dist/resources/skills/userinterface-wiki/rules/param-click-duration.md +0 -21
  220. package/dist/resources/skills/userinterface-wiki/rules/param-filter-frequency-range.md +0 -21
  221. package/dist/resources/skills/userinterface-wiki/rules/param-q-value-range.md +0 -21
  222. package/dist/resources/skills/userinterface-wiki/rules/param-reasonable-gain.md +0 -21
  223. package/dist/resources/skills/userinterface-wiki/rules/physics-active-state.md +0 -23
  224. package/dist/resources/skills/userinterface-wiki/rules/physics-no-excessive-stagger.md +0 -22
  225. package/dist/resources/skills/userinterface-wiki/rules/physics-spring-for-overshoot.md +0 -23
  226. package/dist/resources/skills/userinterface-wiki/rules/physics-subtle-deformation.md +0 -22
  227. package/dist/resources/skills/userinterface-wiki/rules/prefetch-hit-slop.md +0 -27
  228. package/dist/resources/skills/userinterface-wiki/rules/prefetch-keyboard-tab.md +0 -19
  229. package/dist/resources/skills/userinterface-wiki/rules/prefetch-not-everything.md +0 -22
  230. package/dist/resources/skills/userinterface-wiki/rules/prefetch-touch-fallback.md +0 -34
  231. package/dist/resources/skills/userinterface-wiki/rules/prefetch-trajectory-over-hover.md +0 -32
  232. package/dist/resources/skills/userinterface-wiki/rules/prefetch-use-selectively.md +0 -13
  233. package/dist/resources/skills/userinterface-wiki/rules/presence-disable-interactions.md +0 -31
  234. package/dist/resources/skills/userinterface-wiki/rules/presence-hook-in-child.md +0 -31
  235. package/dist/resources/skills/userinterface-wiki/rules/presence-safe-to-remove.md +0 -37
  236. package/dist/resources/skills/userinterface-wiki/rules/pseudo-content-required.md +0 -28
  237. package/dist/resources/skills/userinterface-wiki/rules/pseudo-first-line-styling.md +0 -27
  238. package/dist/resources/skills/userinterface-wiki/rules/pseudo-hit-target-expansion.md +0 -31
  239. package/dist/resources/skills/userinterface-wiki/rules/pseudo-marker-styling.md +0 -28
  240. package/dist/resources/skills/userinterface-wiki/rules/pseudo-over-dom-node.md +0 -32
  241. package/dist/resources/skills/userinterface-wiki/rules/pseudo-position-relative-parent.md +0 -33
  242. package/dist/resources/skills/userinterface-wiki/rules/pseudo-z-index-layering.md +0 -37
  243. package/dist/resources/skills/userinterface-wiki/rules/spring-for-gestures.md +0 -27
  244. package/dist/resources/skills/userinterface-wiki/rules/spring-for-interruptible.md +0 -27
  245. package/dist/resources/skills/userinterface-wiki/rules/spring-params-balanced.md +0 -29
  246. package/dist/resources/skills/userinterface-wiki/rules/spring-preserves-velocity.md +0 -28
  247. package/dist/resources/skills/userinterface-wiki/rules/staging-dim-background.md +0 -22
  248. package/dist/resources/skills/userinterface-wiki/rules/staging-one-focal-point.md +0 -24
  249. package/dist/resources/skills/userinterface-wiki/rules/staging-z-index-hierarchy.md +0 -22
  250. package/dist/resources/skills/userinterface-wiki/rules/timing-consistent.md +0 -24
  251. package/dist/resources/skills/userinterface-wiki/rules/timing-no-entrance-context-menu.md +0 -22
  252. package/dist/resources/skills/userinterface-wiki/rules/timing-under-300ms.md +0 -22
  253. package/dist/resources/skills/userinterface-wiki/rules/transition-name-cleanup.md +0 -28
  254. package/dist/resources/skills/userinterface-wiki/rules/transition-name-required.md +0 -27
  255. package/dist/resources/skills/userinterface-wiki/rules/transition-name-unique.md +0 -24
  256. package/dist/resources/skills/userinterface-wiki/rules/transition-over-js-library.md +0 -32
  257. package/dist/resources/skills/userinterface-wiki/rules/transition-style-pseudo-elements.md +0 -24
  258. package/dist/resources/skills/userinterface-wiki/rules/type-antialiased-on-retina.md +0 -18
  259. package/dist/resources/skills/userinterface-wiki/rules/type-disambiguation-stylistic-set.md +0 -15
  260. package/dist/resources/skills/userinterface-wiki/rules/type-font-display-swap.md +0 -28
  261. package/dist/resources/skills/userinterface-wiki/rules/type-justify-with-hyphens.md +0 -24
  262. package/dist/resources/skills/userinterface-wiki/rules/type-letter-spacing-uppercase.md +0 -28
  263. package/dist/resources/skills/userinterface-wiki/rules/type-no-font-synthesis.md +0 -18
  264. package/dist/resources/skills/userinterface-wiki/rules/type-oldstyle-nums-for-prose.md +0 -21
  265. package/dist/resources/skills/userinterface-wiki/rules/type-opentype-contextual-alternates.md +0 -15
  266. package/dist/resources/skills/userinterface-wiki/rules/type-optical-sizing-auto.md +0 -25
  267. package/dist/resources/skills/userinterface-wiki/rules/type-proper-fractions.md +0 -15
  268. package/dist/resources/skills/userinterface-wiki/rules/type-slashed-zero.md +0 -17
  269. package/dist/resources/skills/userinterface-wiki/rules/type-tabular-nums-for-data.md +0 -21
  270. package/dist/resources/skills/userinterface-wiki/rules/type-text-wrap-balance-headings.md +0 -21
  271. package/dist/resources/skills/userinterface-wiki/rules/type-text-wrap-pretty.md +0 -16
  272. package/dist/resources/skills/userinterface-wiki/rules/type-underline-offset.md +0 -25
  273. package/dist/resources/skills/userinterface-wiki/rules/type-variable-weight-continuous.md +0 -23
  274. package/dist/resources/skills/userinterface-wiki/rules/ux-aesthetic-usability.md +0 -32
  275. package/dist/resources/skills/userinterface-wiki/rules/ux-cognitive-load-reduce.md +0 -49
  276. package/dist/resources/skills/userinterface-wiki/rules/ux-common-region-boundaries.md +0 -50
  277. package/dist/resources/skills/userinterface-wiki/rules/ux-doherty-perceived-speed.md +0 -29
  278. package/dist/resources/skills/userinterface-wiki/rules/ux-doherty-under-400ms.md +0 -30
  279. package/dist/resources/skills/userinterface-wiki/rules/ux-fitts-hit-area.md +0 -32
  280. package/dist/resources/skills/userinterface-wiki/rules/ux-fitts-target-size.md +0 -31
  281. package/dist/resources/skills/userinterface-wiki/rules/ux-goal-gradient-progress.md +0 -33
  282. package/dist/resources/skills/userinterface-wiki/rules/ux-hicks-minimize-choices.md +0 -45
  283. package/dist/resources/skills/userinterface-wiki/rules/ux-jakobs-familiar-patterns.md +0 -37
  284. package/dist/resources/skills/userinterface-wiki/rules/ux-millers-chunking.md +0 -23
  285. package/dist/resources/skills/userinterface-wiki/rules/ux-pareto-prioritize-features.md +0 -36
  286. package/dist/resources/skills/userinterface-wiki/rules/ux-peak-end-finish-strong.md +0 -35
  287. package/dist/resources/skills/userinterface-wiki/rules/ux-postels-accept-messy-input.md +0 -45
  288. package/dist/resources/skills/userinterface-wiki/rules/ux-pragnanz-simplify.md +0 -33
  289. package/dist/resources/skills/userinterface-wiki/rules/ux-progressive-disclosure.md +0 -41
  290. package/dist/resources/skills/userinterface-wiki/rules/ux-proximity-grouping.md +0 -38
  291. package/dist/resources/skills/userinterface-wiki/rules/ux-serial-position.md +0 -31
  292. package/dist/resources/skills/userinterface-wiki/rules/ux-similarity-consistency.md +0 -35
  293. package/dist/resources/skills/userinterface-wiki/rules/ux-teslers-complexity.md +0 -28
  294. package/dist/resources/skills/userinterface-wiki/rules/ux-uniform-connectedness.md +0 -43
  295. package/dist/resources/skills/userinterface-wiki/rules/ux-von-restorff-emphasis.md +0 -29
  296. package/dist/resources/skills/userinterface-wiki/rules/ux-zeigarnik-show-incomplete.md +0 -36
  297. package/dist/resources/skills/userinterface-wiki/rules/visual-animate-shadow-pseudo.md +0 -49
  298. package/dist/resources/skills/userinterface-wiki/rules/visual-border-alpha-colors.md +0 -25
  299. package/dist/resources/skills/userinterface-wiki/rules/visual-button-shadow-anatomy.md +0 -49
  300. package/dist/resources/skills/userinterface-wiki/rules/visual-concentric-radius.md +0 -40
  301. package/dist/resources/skills/userinterface-wiki/rules/visual-consistent-spacing-scale.md +0 -35
  302. package/dist/resources/skills/userinterface-wiki/rules/visual-layered-shadows.md +0 -30
  303. package/dist/resources/skills/userinterface-wiki/rules/visual-no-pure-black-shadow.md +0 -25
  304. package/dist/resources/skills/userinterface-wiki/rules/visual-shadow-direction.md +0 -25
  305. package/dist/resources/skills/userinterface-wiki/rules/visual-shadow-matches-elevation.md +0 -23
  306. package/dist/resources/skills/userinterface-wiki/rules/weight-duration-matches-action.md +0 -29
  307. package/dist/resources/skills/userinterface-wiki/rules/weight-match-action.md +0 -32
  308. package/dist/resources/skills/web-design-guidelines/SKILL.md +0 -39
  309. package/dist/resources/skills/web-quality-audit/SKILL.md +0 -168
  310. package/dist/resources/skills/web-quality-audit/scripts/analyze.sh +0 -91
  311. package/src/resources/agents/javascript-pro.md +0 -280
  312. package/src/resources/agents/researcher.md +0 -29
  313. package/src/resources/agents/teams-builder.md +0 -74
  314. package/src/resources/agents/teams-reviewer.md +0 -113
  315. package/src/resources/agents/typescript-pro.md +0 -255
  316. package/src/resources/skills/accessibility/SKILL.md +0 -522
  317. package/src/resources/skills/accessibility/references/WCAG.md +0 -162
  318. package/src/resources/skills/core-web-vitals/SKILL.md +0 -441
  319. package/src/resources/skills/core-web-vitals/references/LCP.md +0 -208
  320. package/src/resources/skills/frontend-design/SKILL.md +0 -45
  321. package/src/resources/skills/make-interfaces-feel-better/SKILL.md +0 -122
  322. package/src/resources/skills/make-interfaces-feel-better/animations.md +0 -379
  323. package/src/resources/skills/make-interfaces-feel-better/performance.md +0 -88
  324. package/src/resources/skills/make-interfaces-feel-better/surfaces.md +0 -247
  325. package/src/resources/skills/make-interfaces-feel-better/typography.md +0 -123
  326. package/src/resources/skills/react-best-practices/README.md +0 -123
  327. package/src/resources/skills/react-best-practices/SKILL.md +0 -136
  328. package/src/resources/skills/react-best-practices/metadata.json +0 -15
  329. package/src/resources/skills/react-best-practices/rules/_sections.md +0 -46
  330. package/src/resources/skills/react-best-practices/rules/_template.md +0 -28
  331. package/src/resources/skills/react-best-practices/rules/advanced-event-handler-refs.md +0 -55
  332. package/src/resources/skills/react-best-practices/rules/advanced-init-once.md +0 -42
  333. package/src/resources/skills/react-best-practices/rules/advanced-use-latest.md +0 -39
  334. package/src/resources/skills/react-best-practices/rules/async-api-routes.md +0 -38
  335. package/src/resources/skills/react-best-practices/rules/async-defer-await.md +0 -80
  336. package/src/resources/skills/react-best-practices/rules/async-dependencies.md +0 -51
  337. package/src/resources/skills/react-best-practices/rules/async-parallel.md +0 -28
  338. package/src/resources/skills/react-best-practices/rules/async-suspense-boundaries.md +0 -99
  339. package/src/resources/skills/react-best-practices/rules/bundle-barrel-imports.md +0 -59
  340. package/src/resources/skills/react-best-practices/rules/bundle-conditional.md +0 -31
  341. package/src/resources/skills/react-best-practices/rules/bundle-defer-third-party.md +0 -49
  342. package/src/resources/skills/react-best-practices/rules/bundle-dynamic-imports.md +0 -35
  343. package/src/resources/skills/react-best-practices/rules/bundle-preload.md +0 -50
  344. package/src/resources/skills/react-best-practices/rules/client-event-listeners.md +0 -74
  345. package/src/resources/skills/react-best-practices/rules/client-localstorage-schema.md +0 -71
  346. package/src/resources/skills/react-best-practices/rules/client-passive-event-listeners.md +0 -48
  347. package/src/resources/skills/react-best-practices/rules/client-swr-dedup.md +0 -56
  348. package/src/resources/skills/react-best-practices/rules/js-batch-dom-css.md +0 -107
  349. package/src/resources/skills/react-best-practices/rules/js-cache-function-results.md +0 -80
  350. package/src/resources/skills/react-best-practices/rules/js-cache-property-access.md +0 -28
  351. package/src/resources/skills/react-best-practices/rules/js-cache-storage.md +0 -70
  352. package/src/resources/skills/react-best-practices/rules/js-combine-iterations.md +0 -32
  353. package/src/resources/skills/react-best-practices/rules/js-early-exit.md +0 -50
  354. package/src/resources/skills/react-best-practices/rules/js-hoist-regexp.md +0 -45
  355. package/src/resources/skills/react-best-practices/rules/js-index-maps.md +0 -37
  356. package/src/resources/skills/react-best-practices/rules/js-length-check-first.md +0 -49
  357. package/src/resources/skills/react-best-practices/rules/js-min-max-loop.md +0 -82
  358. package/src/resources/skills/react-best-practices/rules/js-set-map-lookups.md +0 -24
  359. package/src/resources/skills/react-best-practices/rules/js-tosorted-immutable.md +0 -57
  360. package/src/resources/skills/react-best-practices/rules/rendering-activity.md +0 -26
  361. package/src/resources/skills/react-best-practices/rules/rendering-animate-svg-wrapper.md +0 -47
  362. package/src/resources/skills/react-best-practices/rules/rendering-conditional-render.md +0 -40
  363. package/src/resources/skills/react-best-practices/rules/rendering-content-visibility.md +0 -38
  364. package/src/resources/skills/react-best-practices/rules/rendering-hoist-jsx.md +0 -46
  365. package/src/resources/skills/react-best-practices/rules/rendering-hydration-no-flicker.md +0 -82
  366. package/src/resources/skills/react-best-practices/rules/rendering-hydration-suppress-warning.md +0 -30
  367. package/src/resources/skills/react-best-practices/rules/rendering-svg-precision.md +0 -28
  368. package/src/resources/skills/react-best-practices/rules/rendering-usetransition-loading.md +0 -75
  369. package/src/resources/skills/react-best-practices/rules/rerender-defer-reads.md +0 -39
  370. package/src/resources/skills/react-best-practices/rules/rerender-dependencies.md +0 -45
  371. package/src/resources/skills/react-best-practices/rules/rerender-derived-state-no-effect.md +0 -40
  372. package/src/resources/skills/react-best-practices/rules/rerender-derived-state.md +0 -29
  373. package/src/resources/skills/react-best-practices/rules/rerender-functional-setstate.md +0 -74
  374. package/src/resources/skills/react-best-practices/rules/rerender-lazy-state-init.md +0 -58
  375. package/src/resources/skills/react-best-practices/rules/rerender-memo-with-default-value.md +0 -38
  376. package/src/resources/skills/react-best-practices/rules/rerender-memo.md +0 -44
  377. package/src/resources/skills/react-best-practices/rules/rerender-move-effect-to-event.md +0 -45
  378. package/src/resources/skills/react-best-practices/rules/rerender-simple-expression-in-memo.md +0 -35
  379. package/src/resources/skills/react-best-practices/rules/rerender-transitions.md +0 -40
  380. package/src/resources/skills/react-best-practices/rules/rerender-use-ref-transient-values.md +0 -73
  381. package/src/resources/skills/react-best-practices/rules/server-after-nonblocking.md +0 -73
  382. package/src/resources/skills/react-best-practices/rules/server-auth-actions.md +0 -96
  383. package/src/resources/skills/react-best-practices/rules/server-cache-lru.md +0 -41
  384. package/src/resources/skills/react-best-practices/rules/server-cache-react.md +0 -76
  385. package/src/resources/skills/react-best-practices/rules/server-dedup-props.md +0 -65
  386. package/src/resources/skills/react-best-practices/rules/server-parallel-fetching.md +0 -83
  387. package/src/resources/skills/react-best-practices/rules/server-serialization.md +0 -38
  388. package/src/resources/skills/userinterface-wiki/SKILL.md +0 -253
  389. package/src/resources/skills/userinterface-wiki/rules/_sections.md +0 -66
  390. package/src/resources/skills/userinterface-wiki/rules/_template.md +0 -24
  391. package/src/resources/skills/userinterface-wiki/rules/a11y-reduced-motion-check.md +0 -30
  392. package/src/resources/skills/userinterface-wiki/rules/a11y-toggle-setting.md +0 -30
  393. package/src/resources/skills/userinterface-wiki/rules/a11y-visual-equivalent.md +0 -36
  394. package/src/resources/skills/userinterface-wiki/rules/a11y-volume-control.md +0 -28
  395. package/src/resources/skills/userinterface-wiki/rules/appropriate-confirmations-only.md +0 -19
  396. package/src/resources/skills/userinterface-wiki/rules/appropriate-errors-warnings.md +0 -18
  397. package/src/resources/skills/userinterface-wiki/rules/appropriate-no-decorative.md +0 -21
  398. package/src/resources/skills/userinterface-wiki/rules/appropriate-no-high-frequency.md +0 -28
  399. package/src/resources/skills/userinterface-wiki/rules/appropriate-no-punishing.md +0 -27
  400. package/src/resources/skills/userinterface-wiki/rules/container-callback-ref.md +0 -31
  401. package/src/resources/skills/userinterface-wiki/rules/container-guard-initial-zero.md +0 -25
  402. package/src/resources/skills/userinterface-wiki/rules/container-no-excessive-use.md +0 -13
  403. package/src/resources/skills/userinterface-wiki/rules/container-overflow-hidden.md +0 -25
  404. package/src/resources/skills/userinterface-wiki/rules/container-transition-delay.md +0 -21
  405. package/src/resources/skills/userinterface-wiki/rules/container-two-div-pattern.md +0 -35
  406. package/src/resources/skills/userinterface-wiki/rules/container-use-resize-observer.md +0 -48
  407. package/src/resources/skills/userinterface-wiki/rules/context-cleanup-nodes.md +0 -25
  408. package/src/resources/skills/userinterface-wiki/rules/context-resume-suspended.md +0 -28
  409. package/src/resources/skills/userinterface-wiki/rules/context-reuse-single.md +0 -30
  410. package/src/resources/skills/userinterface-wiki/rules/design-filter-for-character.md +0 -25
  411. package/src/resources/skills/userinterface-wiki/rules/design-noise-for-percussion.md +0 -26
  412. package/src/resources/skills/userinterface-wiki/rules/design-oscillator-for-tonal.md +0 -22
  413. package/src/resources/skills/userinterface-wiki/rules/duration-max-300ms.md +0 -21
  414. package/src/resources/skills/userinterface-wiki/rules/duration-press-hover.md +0 -21
  415. package/src/resources/skills/userinterface-wiki/rules/duration-shorten-before-curve.md +0 -21
  416. package/src/resources/skills/userinterface-wiki/rules/duration-small-state.md +0 -15
  417. package/src/resources/skills/userinterface-wiki/rules/easing-entrance-ease-out.md +0 -21
  418. package/src/resources/skills/userinterface-wiki/rules/easing-exit-ease-in.md +0 -21
  419. package/src/resources/skills/userinterface-wiki/rules/easing-for-state-change.md +0 -27
  420. package/src/resources/skills/userinterface-wiki/rules/easing-linear-only-progress.md +0 -21
  421. package/src/resources/skills/userinterface-wiki/rules/easing-natural-decay.md +0 -22
  422. package/src/resources/skills/userinterface-wiki/rules/easing-no-linear-motion.md +0 -22
  423. package/src/resources/skills/userinterface-wiki/rules/easing-transition-ease-in-out.md +0 -15
  424. package/src/resources/skills/userinterface-wiki/rules/envelope-exponential-decay.md +0 -21
  425. package/src/resources/skills/userinterface-wiki/rules/envelope-no-zero-target.md +0 -21
  426. package/src/resources/skills/userinterface-wiki/rules/envelope-set-initial-value.md +0 -22
  427. package/src/resources/skills/userinterface-wiki/rules/exit-key-required.md +0 -29
  428. package/src/resources/skills/userinterface-wiki/rules/exit-matches-initial.md +0 -29
  429. package/src/resources/skills/userinterface-wiki/rules/exit-prop-required.md +0 -33
  430. package/src/resources/skills/userinterface-wiki/rules/exit-requires-wrapper.md +0 -27
  431. package/src/resources/skills/userinterface-wiki/rules/impl-default-subtle.md +0 -21
  432. package/src/resources/skills/userinterface-wiki/rules/impl-preload-audio.md +0 -34
  433. package/src/resources/skills/userinterface-wiki/rules/impl-reset-current-time.md +0 -26
  434. package/src/resources/skills/userinterface-wiki/rules/mode-pop-layout-for-lists.md +0 -25
  435. package/src/resources/skills/userinterface-wiki/rules/mode-sync-layout-conflict.md +0 -29
  436. package/src/resources/skills/userinterface-wiki/rules/mode-wait-doubles-duration.md +0 -25
  437. package/src/resources/skills/userinterface-wiki/rules/morphing-aria-hidden.md +0 -21
  438. package/src/resources/skills/userinterface-wiki/rules/morphing-consistent-viewbox.md +0 -23
  439. package/src/resources/skills/userinterface-wiki/rules/morphing-group-variants.md +0 -33
  440. package/src/resources/skills/userinterface-wiki/rules/morphing-jump-non-grouped.md +0 -29
  441. package/src/resources/skills/userinterface-wiki/rules/morphing-reduced-motion.md +0 -28
  442. package/src/resources/skills/userinterface-wiki/rules/morphing-spring-rotation.md +0 -23
  443. package/src/resources/skills/userinterface-wiki/rules/morphing-strokelinecap-round.md +0 -21
  444. package/src/resources/skills/userinterface-wiki/rules/morphing-three-lines.md +0 -32
  445. package/src/resources/skills/userinterface-wiki/rules/morphing-use-collapsed.md +0 -33
  446. package/src/resources/skills/userinterface-wiki/rules/native-backdrop-styling.md +0 -27
  447. package/src/resources/skills/userinterface-wiki/rules/native-placeholder-styling.md +0 -27
  448. package/src/resources/skills/userinterface-wiki/rules/native-selection-styling.md +0 -18
  449. package/src/resources/skills/userinterface-wiki/rules/nested-consistent-timing.md +0 -25
  450. package/src/resources/skills/userinterface-wiki/rules/nested-propagate-required.md +0 -41
  451. package/src/resources/skills/userinterface-wiki/rules/none-context-menu-entrance.md +0 -25
  452. package/src/resources/skills/userinterface-wiki/rules/none-high-frequency.md +0 -29
  453. package/src/resources/skills/userinterface-wiki/rules/none-keyboard-navigation.md +0 -32
  454. package/src/resources/skills/userinterface-wiki/rules/param-click-duration.md +0 -21
  455. package/src/resources/skills/userinterface-wiki/rules/param-filter-frequency-range.md +0 -21
  456. package/src/resources/skills/userinterface-wiki/rules/param-q-value-range.md +0 -21
  457. package/src/resources/skills/userinterface-wiki/rules/param-reasonable-gain.md +0 -21
  458. package/src/resources/skills/userinterface-wiki/rules/physics-active-state.md +0 -23
  459. package/src/resources/skills/userinterface-wiki/rules/physics-no-excessive-stagger.md +0 -22
  460. package/src/resources/skills/userinterface-wiki/rules/physics-spring-for-overshoot.md +0 -23
  461. package/src/resources/skills/userinterface-wiki/rules/physics-subtle-deformation.md +0 -22
  462. package/src/resources/skills/userinterface-wiki/rules/prefetch-hit-slop.md +0 -27
  463. package/src/resources/skills/userinterface-wiki/rules/prefetch-keyboard-tab.md +0 -19
  464. package/src/resources/skills/userinterface-wiki/rules/prefetch-not-everything.md +0 -22
  465. package/src/resources/skills/userinterface-wiki/rules/prefetch-touch-fallback.md +0 -34
  466. package/src/resources/skills/userinterface-wiki/rules/prefetch-trajectory-over-hover.md +0 -32
  467. package/src/resources/skills/userinterface-wiki/rules/prefetch-use-selectively.md +0 -13
  468. package/src/resources/skills/userinterface-wiki/rules/presence-disable-interactions.md +0 -31
  469. package/src/resources/skills/userinterface-wiki/rules/presence-hook-in-child.md +0 -31
  470. package/src/resources/skills/userinterface-wiki/rules/presence-safe-to-remove.md +0 -37
  471. package/src/resources/skills/userinterface-wiki/rules/pseudo-content-required.md +0 -28
  472. package/src/resources/skills/userinterface-wiki/rules/pseudo-first-line-styling.md +0 -27
  473. package/src/resources/skills/userinterface-wiki/rules/pseudo-hit-target-expansion.md +0 -31
  474. package/src/resources/skills/userinterface-wiki/rules/pseudo-marker-styling.md +0 -28
  475. package/src/resources/skills/userinterface-wiki/rules/pseudo-over-dom-node.md +0 -32
  476. package/src/resources/skills/userinterface-wiki/rules/pseudo-position-relative-parent.md +0 -33
  477. package/src/resources/skills/userinterface-wiki/rules/pseudo-z-index-layering.md +0 -37
  478. package/src/resources/skills/userinterface-wiki/rules/spring-for-gestures.md +0 -27
  479. package/src/resources/skills/userinterface-wiki/rules/spring-for-interruptible.md +0 -27
  480. package/src/resources/skills/userinterface-wiki/rules/spring-params-balanced.md +0 -29
  481. package/src/resources/skills/userinterface-wiki/rules/spring-preserves-velocity.md +0 -28
  482. package/src/resources/skills/userinterface-wiki/rules/staging-dim-background.md +0 -22
  483. package/src/resources/skills/userinterface-wiki/rules/staging-one-focal-point.md +0 -24
  484. package/src/resources/skills/userinterface-wiki/rules/staging-z-index-hierarchy.md +0 -22
  485. package/src/resources/skills/userinterface-wiki/rules/timing-consistent.md +0 -24
  486. package/src/resources/skills/userinterface-wiki/rules/timing-no-entrance-context-menu.md +0 -22
  487. package/src/resources/skills/userinterface-wiki/rules/timing-under-300ms.md +0 -22
  488. package/src/resources/skills/userinterface-wiki/rules/transition-name-cleanup.md +0 -28
  489. package/src/resources/skills/userinterface-wiki/rules/transition-name-required.md +0 -27
  490. package/src/resources/skills/userinterface-wiki/rules/transition-name-unique.md +0 -24
  491. package/src/resources/skills/userinterface-wiki/rules/transition-over-js-library.md +0 -32
  492. package/src/resources/skills/userinterface-wiki/rules/transition-style-pseudo-elements.md +0 -24
  493. package/src/resources/skills/userinterface-wiki/rules/type-antialiased-on-retina.md +0 -18
  494. package/src/resources/skills/userinterface-wiki/rules/type-disambiguation-stylistic-set.md +0 -15
  495. package/src/resources/skills/userinterface-wiki/rules/type-font-display-swap.md +0 -28
  496. package/src/resources/skills/userinterface-wiki/rules/type-justify-with-hyphens.md +0 -24
  497. package/src/resources/skills/userinterface-wiki/rules/type-letter-spacing-uppercase.md +0 -28
  498. package/src/resources/skills/userinterface-wiki/rules/type-no-font-synthesis.md +0 -18
  499. package/src/resources/skills/userinterface-wiki/rules/type-oldstyle-nums-for-prose.md +0 -21
  500. package/src/resources/skills/userinterface-wiki/rules/type-opentype-contextual-alternates.md +0 -15
  501. package/src/resources/skills/userinterface-wiki/rules/type-optical-sizing-auto.md +0 -25
  502. package/src/resources/skills/userinterface-wiki/rules/type-proper-fractions.md +0 -15
  503. package/src/resources/skills/userinterface-wiki/rules/type-slashed-zero.md +0 -17
  504. package/src/resources/skills/userinterface-wiki/rules/type-tabular-nums-for-data.md +0 -21
  505. package/src/resources/skills/userinterface-wiki/rules/type-text-wrap-balance-headings.md +0 -21
  506. package/src/resources/skills/userinterface-wiki/rules/type-text-wrap-pretty.md +0 -16
  507. package/src/resources/skills/userinterface-wiki/rules/type-underline-offset.md +0 -25
  508. package/src/resources/skills/userinterface-wiki/rules/type-variable-weight-continuous.md +0 -23
  509. package/src/resources/skills/userinterface-wiki/rules/ux-aesthetic-usability.md +0 -32
  510. package/src/resources/skills/userinterface-wiki/rules/ux-cognitive-load-reduce.md +0 -49
  511. package/src/resources/skills/userinterface-wiki/rules/ux-common-region-boundaries.md +0 -50
  512. package/src/resources/skills/userinterface-wiki/rules/ux-doherty-perceived-speed.md +0 -29
  513. package/src/resources/skills/userinterface-wiki/rules/ux-doherty-under-400ms.md +0 -30
  514. package/src/resources/skills/userinterface-wiki/rules/ux-fitts-hit-area.md +0 -32
  515. package/src/resources/skills/userinterface-wiki/rules/ux-fitts-target-size.md +0 -31
  516. package/src/resources/skills/userinterface-wiki/rules/ux-goal-gradient-progress.md +0 -33
  517. package/src/resources/skills/userinterface-wiki/rules/ux-hicks-minimize-choices.md +0 -45
  518. package/src/resources/skills/userinterface-wiki/rules/ux-jakobs-familiar-patterns.md +0 -37
  519. package/src/resources/skills/userinterface-wiki/rules/ux-millers-chunking.md +0 -23
  520. package/src/resources/skills/userinterface-wiki/rules/ux-pareto-prioritize-features.md +0 -36
  521. package/src/resources/skills/userinterface-wiki/rules/ux-peak-end-finish-strong.md +0 -35
  522. package/src/resources/skills/userinterface-wiki/rules/ux-postels-accept-messy-input.md +0 -45
  523. package/src/resources/skills/userinterface-wiki/rules/ux-pragnanz-simplify.md +0 -33
  524. package/src/resources/skills/userinterface-wiki/rules/ux-progressive-disclosure.md +0 -41
  525. package/src/resources/skills/userinterface-wiki/rules/ux-proximity-grouping.md +0 -38
  526. package/src/resources/skills/userinterface-wiki/rules/ux-serial-position.md +0 -31
  527. package/src/resources/skills/userinterface-wiki/rules/ux-similarity-consistency.md +0 -35
  528. package/src/resources/skills/userinterface-wiki/rules/ux-teslers-complexity.md +0 -28
  529. package/src/resources/skills/userinterface-wiki/rules/ux-uniform-connectedness.md +0 -43
  530. package/src/resources/skills/userinterface-wiki/rules/ux-von-restorff-emphasis.md +0 -29
  531. package/src/resources/skills/userinterface-wiki/rules/ux-zeigarnik-show-incomplete.md +0 -36
  532. package/src/resources/skills/userinterface-wiki/rules/visual-animate-shadow-pseudo.md +0 -49
  533. package/src/resources/skills/userinterface-wiki/rules/visual-border-alpha-colors.md +0 -25
  534. package/src/resources/skills/userinterface-wiki/rules/visual-button-shadow-anatomy.md +0 -49
  535. package/src/resources/skills/userinterface-wiki/rules/visual-concentric-radius.md +0 -40
  536. package/src/resources/skills/userinterface-wiki/rules/visual-consistent-spacing-scale.md +0 -35
  537. package/src/resources/skills/userinterface-wiki/rules/visual-layered-shadows.md +0 -30
  538. package/src/resources/skills/userinterface-wiki/rules/visual-no-pure-black-shadow.md +0 -25
  539. package/src/resources/skills/userinterface-wiki/rules/visual-shadow-direction.md +0 -25
  540. package/src/resources/skills/userinterface-wiki/rules/visual-shadow-matches-elevation.md +0 -23
  541. package/src/resources/skills/userinterface-wiki/rules/weight-duration-matches-action.md +0 -29
  542. package/src/resources/skills/userinterface-wiki/rules/weight-match-action.md +0 -32
  543. package/src/resources/skills/web-design-guidelines/SKILL.md +0 -39
  544. package/src/resources/skills/web-quality-audit/SKILL.md +0 -168
  545. package/src/resources/skills/web-quality-audit/scripts/analyze.sh +0 -91
@@ -6,11 +6,6 @@ function getSettingsManager() {
6
6
  function isHashlineMode(activeToolNames) {
7
7
  return activeToolNames.includes("hashline_read") || activeToolNames.includes("hashline_edit");
8
8
  }
9
- function getCoreToolNames(activeToolNames) {
10
- return isHashlineMode(activeToolNames)
11
- ? ["hashline_read", "bash", "lsp", "tool_search", "tool_enable"]
12
- : ["read", "bash", "lsp", "tool_search", "tool_enable"];
13
- }
14
9
  function getBalancedToolNames(activeToolNames) {
15
10
  return isHashlineMode(activeToolNames)
16
11
  ? [
@@ -25,6 +20,7 @@ function getBalancedToolNames(activeToolNames) {
25
20
  "Skill",
26
21
  "subagent",
27
22
  "await_subagent",
23
+ "ask_user_questions",
28
24
  ]
29
25
  : [
30
26
  "read",
@@ -38,8 +34,12 @@ function getBalancedToolNames(activeToolNames) {
38
34
  "Skill",
39
35
  "subagent",
40
36
  "await_subagent",
37
+ "ask_user_questions",
41
38
  ];
42
39
  }
40
+ function getFullToolNames(pi) {
41
+ return pi.getAllTools().map((tool) => tool.name).filter((name) => Boolean(name));
42
+ }
43
43
  function scoreTool(query, tool) {
44
44
  const name = (tool.name ?? "").toLowerCase();
45
45
  const description = (tool.description ?? "").toLowerCase();
@@ -153,43 +153,30 @@ export default function toolSearchExtension(pi) {
153
153
  },
154
154
  });
155
155
  pi.registerCommand("tools", {
156
- description: "Toggle lazy tool-search mode",
156
+ description: "Manage default tool profiles",
157
157
  handler: async (args, _ctx) => {
158
158
  const input = args.trim();
159
159
  const settings = getSettingsManager();
160
160
  const currentActive = pi.getActiveTools();
161
161
  const toolProfile = settings.getToolProfile();
162
- const toolSearchEnabled = toolProfile === "minimal";
163
162
  if (!input) {
164
163
  pi.sendMessage({
165
164
  customType: "tools:status",
166
165
  content: [
167
166
  `Tool profile: ${toolProfile}`,
168
- `Tool search mode: ${toolSearchEnabled ? "on" : "off"}`,
169
167
  `Active tools: ${currentActive.length}`,
170
168
  currentActive.length > 0 ? currentActive.join(", ") : "(none)",
171
169
  "",
172
170
  "Usage:",
173
- " /tools on Enable lazy tool-search mode and switch to a small core tool set",
174
- " /tools off Disable lazy tool-search mode and restore the balanced tool profile",
175
171
  " /tools balanced Switch to the balanced tool profile",
176
- " /tools minimal Switch to the minimal core tool profile",
172
+ " /tools full Switch to the full tool profile (all available tools)",
173
+ " /tools on Alias for /tools full",
174
+ " /tools off Alias for /tools balanced",
177
175
  ].join("\n"),
178
176
  display: true,
179
177
  });
180
178
  return;
181
179
  }
182
- if (["on", "enable", "mode on"].includes(input)) {
183
- settings.setToolProfile("minimal");
184
- const nextActive = getCoreToolNames(currentActive);
185
- pi.setActiveTools(nextActive);
186
- pi.sendMessage({
187
- customType: "tools:mode",
188
- content: `Tool search mode enabled. Active tools reduced to: ${pi.getActiveTools().join(", ")}`,
189
- display: true,
190
- });
191
- return;
192
- }
193
180
  if (["off", "disable", "mode off", "balanced", "default"].includes(input)) {
194
181
  settings.setToolProfile("balanced");
195
182
  const nextActive = getBalancedToolNames(currentActive);
@@ -201,20 +188,20 @@ export default function toolSearchExtension(pi) {
201
188
  });
202
189
  return;
203
190
  }
204
- if (["minimal", "core"].includes(input)) {
205
- settings.setToolProfile("minimal");
206
- const nextActive = getCoreToolNames(currentActive);
191
+ if (["on", "enable", "mode on", "full", "all"].includes(input)) {
192
+ settings.setToolProfile("full");
193
+ const nextActive = getFullToolNames(pi);
207
194
  pi.setActiveTools(nextActive);
208
195
  pi.sendMessage({
209
196
  customType: "tools:mode",
210
- content: `Minimal tool profile active: ${pi.getActiveTools().join(", ")}`,
197
+ content: `Full tool profile active: ${pi.getActiveTools().join(", ")}`,
211
198
  display: true,
212
199
  });
213
200
  return;
214
201
  }
215
202
  pi.sendMessage({
216
203
  customType: "tools:help",
217
- content: `Unknown /tools subcommand: ${input}\n\nTry /tools, /tools on, /tools off, /tools balanced, or /tools minimal.`,
204
+ content: `Unknown /tools subcommand: ${input}\n\nTry /tools, /tools balanced, /tools full, /tools on, or /tools off.`,
218
205
  display: true,
219
206
  });
220
207
  },
@@ -579,7 +579,7 @@ const ChainItem = Type.Object({
579
579
  })),
580
580
  });
581
581
  const AgentScopeSchema = StringEnum(["user", "project", "both"], {
582
- description: 'Which agent directories to use. Default: "both" (user + project-local).',
582
+ description: 'Which agent directories to use. Default: "both".',
583
583
  default: "both",
584
584
  });
585
585
  const SubagentParams = Type.Object({
@@ -786,15 +786,21 @@ export default function (pi) {
786
786
  "Modes: single ({ agent, task }), parallel ({ tasks: [{agent, task},...] }), chain ({ chain: [{agent, task},...] } with {previous} placeholder).",
787
787
  "Agents are defined as .md files in the configured user agent directory (for LSD this is typically ~/.lsd/agent/agents/) or project-local .lsd/agents/, with legacy support for .gsd/agents/ and .pi/agents/.",
788
788
  "Use the /subagent command to list available agents and their descriptions.",
789
- "Use chain mode to pipeline: scout finds context, planner designs, worker implements.",
790
789
  "Set background: true (single mode only) to run detached — returns immediately with a sa_xxxx job ID. Completion is announced back into the session. Use await_subagent or /subagents to manage background jobs.",
791
790
  ].join(" "),
792
791
  promptGuidelines: [
793
792
  "Use subagent to delegate self-contained tasks that benefit from an isolated context window.",
794
- "Use scout agent first when you need codebase context before implementing.",
795
- "Use chain mode for scout→planner→worker or worker→reviewer→worker pipelines.",
793
+ "When scout is the right fit, call the subagent tool directly — do not type '/subagent' as a shell-like command.",
794
+ "Valid call shapes: single mode uses { agent, task }, parallel mode uses { tasks: [{ agent, task }, ...] }, and chain mode uses { chain: [{ agent, task }, ...] }.",
795
+ "Recon planning rule: use no scout for narrow known-file work, one scout for one broad unfamiliar subsystem, and parallel scouts only when the work spans multiple loosely-coupled subsystems.",
796
+ "Use scout only for broad or unfamiliar codebase reconnaissance before you read many files yourself; save direct reads for targeted lookups once the relevant files are known.",
797
+ "Do not use scout as the reviewer, auditor, or final judge. Scout should map architecture, files, ownership, and likely hotspots for another agent or the parent model to evaluate.",
798
+ "If understanding the task would require scanning multiple files or folders to figure out architecture, routes, data flow, or ownership, launch scout first with single mode: { agent: 'scout', task: '...' }.",
799
+ "If reconnaissance spans multiple loosely-coupled subsystems, prefer parallel scout subagents with { tasks: [{ agent: 'scout', task: 'map frontend...' }, { agent: 'scout', task: 'map backend...' }] }.",
800
+ "When using scout for a review-like request, phrase the task as mapping: ask for architecture, key files, hotspots, and likely risk areas to inspect next — not for a final ranked review.",
801
+ "For broad review or audit requests, use scout only as a prep step; the parent model or a reviewer should make the final judgments.",
802
+ "Skip scout when the user already named the exact file/function to inspect or the task is obviously narrow.",
796
803
  "Use parallel mode when tasks are independent and don't need each other's output.",
797
- "Always check available agents with /subagent before choosing one.",
798
804
  "Use background: true when the user wants to keep chatting while a long-running agent works in parallel.",
799
805
  "If the user wants to wait for a background subagent result, use await_subagent.",
800
806
  ],
@@ -1081,8 +1087,7 @@ export default function (pi) {
1081
1087
  const scope = args.agentScope ?? "both";
1082
1088
  if (args.chain && args.chain.length > 0) {
1083
1089
  let text = theme.fg("toolTitle", theme.bold("subagent ")) +
1084
- theme.fg("accent", `chain (${args.chain.length} steps)`) +
1085
- theme.fg("muted", ` [${scope}]`);
1090
+ theme.fg("accent", `chain (${args.chain.length} steps)`);
1086
1091
  for (let i = 0; i < Math.min(args.chain.length, 3); i++) {
1087
1092
  const step = args.chain[i];
1088
1093
  // Clean up {previous} placeholder for display
@@ -1101,8 +1106,7 @@ export default function (pi) {
1101
1106
  }
1102
1107
  if (args.tasks && args.tasks.length > 0) {
1103
1108
  let text = theme.fg("toolTitle", theme.bold("subagent ")) +
1104
- theme.fg("accent", `parallel (${args.tasks.length} tasks)`) +
1105
- theme.fg("muted", ` [${scope}]`);
1109
+ theme.fg("accent", `parallel (${args.tasks.length} tasks)`);
1106
1110
  for (const t of args.tasks.slice(0, 3)) {
1107
1111
  const preview = t.task.length > 40 ? `${t.task.slice(0, 40)}...` : t.task;
1108
1112
  text += `\n ${theme.fg("accent", t.agent)}${theme.fg("dim", ` ${preview}`)}`;
@@ -1114,8 +1118,7 @@ export default function (pi) {
1114
1118
  const agentName = args.agent || "...";
1115
1119
  const preview = args.task ? (args.task.length > 60 ? `${args.task.slice(0, 60)}...` : args.task) : "...";
1116
1120
  let text = theme.fg("toolTitle", theme.bold("subagent ")) +
1117
- theme.fg("accent", agentName) +
1118
- theme.fg("muted", ` [${scope}]`);
1121
+ theme.fg("accent", agentName);
1119
1122
  text += `\n ${theme.fg("dim", preview)}`;
1120
1123
  return new Text(text, 0, 0);
1121
1124
  },
@@ -222,12 +222,15 @@ function makeGroupKey(groupBy, project, model) {
222
222
  }
223
223
  function collectUsage(sessionFiles, startMs, endMs, scope, groupBy) {
224
224
  const rows = new Map();
225
+ const userPromptRows = new Map();
225
226
  let filesScanned = 0;
226
227
  let matchedMessages = 0;
228
+ let matchedUserPrompts = 0;
227
229
  for (const file of sessionFiles) {
228
230
  filesScanned++;
229
231
  let projectLabel = basename(file);
230
232
  let headerResolved = false;
233
+ let currentModel = "";
231
234
  const raw = readFileSync(file, "utf-8");
232
235
  for (const line of raw.split("\n")) {
233
236
  if (!line.trim())
@@ -246,42 +249,83 @@ function collectUsage(sessionFiles, startMs, endMs, scope, groupBy) {
246
249
  headerResolved = true;
247
250
  }
248
251
  }
252
+ // Track model changes
253
+ if (parsed?.type === "model_change" && parsed.provider && parsed.modelId) {
254
+ currentModel = `${parsed.provider}/${parsed.modelId}`;
255
+ }
249
256
  const message = parsed?.type === "message" ? parsed.message : undefined;
250
- if (!message || message.role !== "assistant")
251
- continue;
252
- const timestamp = Number(message.timestamp ?? 0);
253
- if (!timestamp || timestamp < startMs || timestamp >= endMs)
257
+ if (!message)
254
258
  continue;
255
- matchedMessages++;
256
- const model = makeModelLabel(message);
257
- const key = makeGroupKey(groupBy, projectLabel, model);
258
- const usage = message.usage ?? {};
259
- const input = Number(usage.input ?? 0);
260
- const output = Number(usage.output ?? 0);
261
- const cacheRead = Number(usage.cacheRead ?? 0);
262
- const cacheWrite = Number(usage.cacheWrite ?? 0);
263
- const cost = Number(usage.cost?.total ?? 0);
264
- const total = input + output + cacheRead + cacheWrite;
265
- const existing = rows.get(key) ?? {
266
- key,
267
- project: groupBy === "model" ? "—" : projectLabel,
268
- model: groupBy === "project" ? "—" : model,
269
- messages: 0,
270
- input: 0,
271
- output: 0,
272
- cacheRead: 0,
273
- cacheWrite: 0,
274
- total: 0,
275
- cost: 0,
276
- };
277
- existing.messages += 1;
278
- existing.input += input;
279
- existing.output += output;
280
- existing.cacheRead += cacheRead;
281
- existing.cacheWrite += cacheWrite;
282
- existing.total += total;
283
- existing.cost += cost;
284
- rows.set(key, existing);
259
+ if (message.role === "assistant") {
260
+ const timestamp = Number(message.timestamp ?? 0);
261
+ if (!timestamp || timestamp < startMs || timestamp >= endMs)
262
+ continue;
263
+ matchedMessages++;
264
+ const model = message.provider && message.model ? `${message.provider}/${message.model}` : currentModel;
265
+ const key = makeGroupKey(groupBy, projectLabel, model);
266
+ const usage = message.usage ?? {};
267
+ const input = Number(usage.input ?? 0);
268
+ const output = Number(usage.output ?? 0);
269
+ const cacheRead = Number(usage.cacheRead ?? 0);
270
+ const cacheWrite = Number(usage.cacheWrite ?? 0);
271
+ const cost = Number(usage.cost?.total ?? 0);
272
+ const total = input + output + cacheRead + cacheWrite;
273
+ const existing = rows.get(key) ?? {
274
+ key,
275
+ project: groupBy === "model" ? "—" : projectLabel,
276
+ model: groupBy === "project" ? "—" : model,
277
+ messages: 0,
278
+ userPrompts: 0,
279
+ input: 0,
280
+ output: 0,
281
+ cacheRead: 0,
282
+ cacheWrite: 0,
283
+ total: 0,
284
+ cost: 0,
285
+ };
286
+ existing.messages += 1;
287
+ existing.input += input;
288
+ existing.output += output;
289
+ existing.cacheRead += cacheRead;
290
+ existing.cacheWrite += cacheWrite;
291
+ existing.total += total;
292
+ existing.cost += cost;
293
+ rows.set(key, existing);
294
+ }
295
+ else if (message.role === "user") {
296
+ const timestamp = Number(message.timestamp ?? 0);
297
+ if (!timestamp || timestamp < startMs || timestamp >= endMs)
298
+ continue;
299
+ matchedUserPrompts++;
300
+ const model = currentModel;
301
+ const key = makeGroupKey(groupBy, projectLabel, model);
302
+ const existing = userPromptRows.get(key) ?? {
303
+ key,
304
+ project: groupBy === "model" ? "—" : projectLabel,
305
+ model: groupBy === "project" ? "—" : model,
306
+ messages: 0,
307
+ userPrompts: 0,
308
+ input: 0,
309
+ output: 0,
310
+ cacheRead: 0,
311
+ cacheWrite: 0,
312
+ total: 0,
313
+ cost: 0,
314
+ };
315
+ existing.userPrompts += 1;
316
+ userPromptRows.set(key, existing);
317
+ }
318
+ }
319
+ }
320
+ // Merge user prompt counts into the main rows
321
+ for (const [key, userRow] of userPromptRows.entries()) {
322
+ const existing = rows.get(key);
323
+ if (existing) {
324
+ existing.userPrompts = userRow.userPrompts;
325
+ }
326
+ else {
327
+ // User prompts without assistant responses (edge case)
328
+ rows.set(key, userRow);
285
329
  }
286
330
  }
287
331
  const orderedRows = [...rows.values()].sort((left, right) => {
@@ -291,6 +335,7 @@ function collectUsage(sessionFiles, startMs, endMs, scope, groupBy) {
291
335
  });
292
336
  const totals = orderedRows.reduce((acc, row) => {
293
337
  acc.messages += row.messages;
338
+ acc.userPrompts += row.userPrompts;
294
339
  acc.input += row.input;
295
340
  acc.output += row.output;
296
341
  acc.cacheRead += row.cacheRead;
@@ -298,7 +343,7 @@ function collectUsage(sessionFiles, startMs, endMs, scope, groupBy) {
298
343
  acc.total += row.total;
299
344
  acc.cost += row.cost;
300
345
  return acc;
301
- }, { messages: 0, input: 0, output: 0, cacheRead: 0, cacheWrite: 0, total: 0, cost: 0 });
346
+ }, { messages: 0, userPrompts: 0, input: 0, output: 0, cacheRead: 0, cacheWrite: 0, total: 0, cost: 0 });
302
347
  return {
303
348
  label: "",
304
349
  scope,
@@ -318,6 +363,7 @@ function renderTable(report) {
318
363
  : "model";
319
364
  const displayRows = report.rows.map((row) => ({
320
365
  label: row.key,
366
+ userPrompts: String(row.userPrompts),
321
367
  msgs: String(row.messages),
322
368
  input: formatInt(row.input),
323
369
  output: formatInt(row.output),
@@ -328,6 +374,7 @@ function renderTable(report) {
328
374
  }));
329
375
  const widths = {
330
376
  label: Math.max(firstColumnHeader.length, ...displayRows.map((row) => row.label.length), 5),
377
+ userPrompts: Math.max(11, ...displayRows.map((row) => row.userPrompts.length), String(report.totals.userPrompts).length),
331
378
  msgs: Math.max(4, ...displayRows.map((row) => row.msgs.length), String(report.totals.messages).length),
332
379
  input: Math.max(5, ...displayRows.map((row) => row.input.length), formatInt(report.totals.input).length),
333
380
  output: Math.max(6, ...displayRows.map((row) => row.output.length), formatInt(report.totals.output).length),
@@ -338,6 +385,7 @@ function renderTable(report) {
338
385
  };
339
386
  const header = [
340
387
  firstColumnHeader.padEnd(widths.label),
388
+ "user prompts".padStart(widths.userPrompts),
341
389
  "msgs".padStart(widths.msgs),
342
390
  "input".padStart(widths.input),
343
391
  "output".padStart(widths.output),
@@ -349,6 +397,7 @@ function renderTable(report) {
349
397
  const divider = "-".repeat(header.length);
350
398
  const body = displayRows.map((row) => [
351
399
  row.label.padEnd(widths.label),
400
+ row.userPrompts.padStart(widths.userPrompts),
352
401
  row.msgs.padStart(widths.msgs),
353
402
  row.input.padStart(widths.input),
354
403
  row.output.padStart(widths.output),
@@ -359,6 +408,7 @@ function renderTable(report) {
359
408
  ].join(" "));
360
409
  const totalsLine = [
361
410
  "TOTAL".padEnd(widths.label),
411
+ String(report.totals.userPrompts).padStart(widths.userPrompts),
362
412
  String(report.totals.messages).padStart(widths.msgs),
363
413
  formatInt(report.totals.input).padStart(widths.input),
364
414
  formatInt(report.totals.output).padStart(widths.output),
@@ -377,7 +427,8 @@ function renderReport(report) {
377
427
  `Grouped by: ${report.groupBy}`,
378
428
  `Sessions root: ${report.sessionsRoot}`,
379
429
  `Session files scanned: ${report.filesScanned}`,
380
- `Assistant messages matched: ${report.matchedMessages}`,
430
+ `User prompts: ${report.totals.userPrompts}`,
431
+ `Assistant messages: ${report.matchedMessages}`,
381
432
  ].join("\n");
382
433
  if (report.rows.length === 0) {
383
434
  return `${summary}\n\nNo assistant usage found for that range.`;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lsd-pi",
3
- "version": "1.1.10",
3
+ "version": "1.2.1",
4
4
  "description": "LSD — Looks Sort of Done coding agent",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -5994,6 +5994,108 @@ export declare const MODELS: {
5994
5994
  };
5995
5995
  };
5996
5996
  readonly "openai-codex": {
5997
+ readonly "gpt-5": {
5998
+ id: string;
5999
+ name: string;
6000
+ api: "openai-codex-responses";
6001
+ provider: string;
6002
+ baseUrl: string;
6003
+ reasoning: true;
6004
+ input: ("text" | "image")[];
6005
+ cost: {
6006
+ input: number;
6007
+ output: number;
6008
+ cacheRead: number;
6009
+ cacheWrite: number;
6010
+ };
6011
+ contextWindow: number;
6012
+ maxTokens: number;
6013
+ };
6014
+ readonly "gpt-5-chat-latest": {
6015
+ id: string;
6016
+ name: string;
6017
+ api: "openai-codex-responses";
6018
+ provider: string;
6019
+ baseUrl: string;
6020
+ reasoning: false;
6021
+ input: ("text" | "image")[];
6022
+ cost: {
6023
+ input: number;
6024
+ output: number;
6025
+ cacheRead: number;
6026
+ cacheWrite: number;
6027
+ };
6028
+ contextWindow: number;
6029
+ maxTokens: number;
6030
+ };
6031
+ readonly "gpt-5-codex": {
6032
+ id: string;
6033
+ name: string;
6034
+ api: "openai-codex-responses";
6035
+ provider: string;
6036
+ baseUrl: string;
6037
+ reasoning: true;
6038
+ input: ("text" | "image")[];
6039
+ cost: {
6040
+ input: number;
6041
+ output: number;
6042
+ cacheRead: number;
6043
+ cacheWrite: number;
6044
+ };
6045
+ contextWindow: number;
6046
+ maxTokens: number;
6047
+ };
6048
+ readonly "gpt-5-mini": {
6049
+ id: string;
6050
+ name: string;
6051
+ api: "openai-codex-responses";
6052
+ provider: string;
6053
+ baseUrl: string;
6054
+ reasoning: true;
6055
+ input: ("text" | "image")[];
6056
+ cost: {
6057
+ input: number;
6058
+ output: number;
6059
+ cacheRead: number;
6060
+ cacheWrite: number;
6061
+ };
6062
+ contextWindow: number;
6063
+ maxTokens: number;
6064
+ };
6065
+ readonly "gpt-5-nano": {
6066
+ id: string;
6067
+ name: string;
6068
+ api: "openai-codex-responses";
6069
+ provider: string;
6070
+ baseUrl: string;
6071
+ reasoning: true;
6072
+ input: ("text" | "image")[];
6073
+ cost: {
6074
+ input: number;
6075
+ output: number;
6076
+ cacheRead: number;
6077
+ cacheWrite: number;
6078
+ };
6079
+ contextWindow: number;
6080
+ maxTokens: number;
6081
+ };
6082
+ readonly "gpt-5-pro": {
6083
+ id: string;
6084
+ name: string;
6085
+ api: "openai-codex-responses";
6086
+ provider: string;
6087
+ baseUrl: string;
6088
+ reasoning: true;
6089
+ input: ("text" | "image")[];
6090
+ cost: {
6091
+ input: number;
6092
+ output: number;
6093
+ cacheRead: number;
6094
+ cacheWrite: number;
6095
+ };
6096
+ contextWindow: number;
6097
+ maxTokens: number;
6098
+ };
5997
6099
  readonly "gpt-5.1": {
5998
6100
  id: string;
5999
6101
  name: string;
@@ -6011,6 +6113,40 @@ export declare const MODELS: {
6011
6113
  contextWindow: number;
6012
6114
  maxTokens: number;
6013
6115
  };
6116
+ readonly "gpt-5.1-chat-latest": {
6117
+ id: string;
6118
+ name: string;
6119
+ api: "openai-codex-responses";
6120
+ provider: string;
6121
+ baseUrl: string;
6122
+ reasoning: true;
6123
+ input: ("text" | "image")[];
6124
+ cost: {
6125
+ input: number;
6126
+ output: number;
6127
+ cacheRead: number;
6128
+ cacheWrite: number;
6129
+ };
6130
+ contextWindow: number;
6131
+ maxTokens: number;
6132
+ };
6133
+ readonly "gpt-5.1-codex": {
6134
+ id: string;
6135
+ name: string;
6136
+ api: "openai-codex-responses";
6137
+ provider: string;
6138
+ baseUrl: string;
6139
+ reasoning: true;
6140
+ input: ("text" | "image")[];
6141
+ cost: {
6142
+ input: number;
6143
+ output: number;
6144
+ cacheRead: number;
6145
+ cacheWrite: number;
6146
+ };
6147
+ contextWindow: number;
6148
+ maxTokens: number;
6149
+ };
6014
6150
  readonly "gpt-5.1-codex-max": {
6015
6151
  id: string;
6016
6152
  name: string;
@@ -6062,6 +6198,23 @@ export declare const MODELS: {
6062
6198
  contextWindow: number;
6063
6199
  maxTokens: number;
6064
6200
  };
6201
+ readonly "gpt-5.2-chat-latest": {
6202
+ id: string;
6203
+ name: string;
6204
+ api: "openai-codex-responses";
6205
+ provider: string;
6206
+ baseUrl: string;
6207
+ reasoning: true;
6208
+ input: ("text" | "image")[];
6209
+ cost: {
6210
+ input: number;
6211
+ output: number;
6212
+ cacheRead: number;
6213
+ cacheWrite: number;
6214
+ };
6215
+ contextWindow: number;
6216
+ maxTokens: number;
6217
+ };
6065
6218
  readonly "gpt-5.2-codex": {
6066
6219
  id: string;
6067
6220
  name: string;
@@ -6079,6 +6232,23 @@ export declare const MODELS: {
6079
6232
  contextWindow: number;
6080
6233
  maxTokens: number;
6081
6234
  };
6235
+ readonly "gpt-5.2-pro": {
6236
+ id: string;
6237
+ name: string;
6238
+ api: "openai-codex-responses";
6239
+ provider: string;
6240
+ baseUrl: string;
6241
+ reasoning: true;
6242
+ input: ("text" | "image")[];
6243
+ cost: {
6244
+ input: number;
6245
+ output: number;
6246
+ cacheRead: number;
6247
+ cacheWrite: number;
6248
+ };
6249
+ contextWindow: number;
6250
+ maxTokens: number;
6251
+ };
6082
6252
  readonly "gpt-5.3-codex": {
6083
6253
  id: string;
6084
6254
  name: string;
@@ -6103,7 +6273,7 @@ export declare const MODELS: {
6103
6273
  provider: string;
6104
6274
  baseUrl: string;
6105
6275
  reasoning: true;
6106
- input: "text"[];
6276
+ input: ("text" | "image")[];
6107
6277
  cost: {
6108
6278
  input: number;
6109
6279
  output: number;
@@ -6130,6 +6300,57 @@ export declare const MODELS: {
6130
6300
  contextWindow: number;
6131
6301
  maxTokens: number;
6132
6302
  };
6303
+ readonly "gpt-5.4-mini": {
6304
+ id: string;
6305
+ name: string;
6306
+ api: "openai-codex-responses";
6307
+ provider: string;
6308
+ baseUrl: string;
6309
+ reasoning: true;
6310
+ input: ("text" | "image")[];
6311
+ cost: {
6312
+ input: number;
6313
+ output: number;
6314
+ cacheRead: number;
6315
+ cacheWrite: number;
6316
+ };
6317
+ contextWindow: number;
6318
+ maxTokens: number;
6319
+ };
6320
+ readonly "gpt-5.4-nano": {
6321
+ id: string;
6322
+ name: string;
6323
+ api: "openai-codex-responses";
6324
+ provider: string;
6325
+ baseUrl: string;
6326
+ reasoning: true;
6327
+ input: ("text" | "image")[];
6328
+ cost: {
6329
+ input: number;
6330
+ output: number;
6331
+ cacheRead: number;
6332
+ cacheWrite: number;
6333
+ };
6334
+ contextWindow: number;
6335
+ maxTokens: number;
6336
+ };
6337
+ readonly "gpt-5.4-pro": {
6338
+ id: string;
6339
+ name: string;
6340
+ api: "openai-codex-responses";
6341
+ provider: string;
6342
+ baseUrl: string;
6343
+ reasoning: true;
6344
+ input: ("text" | "image")[];
6345
+ cost: {
6346
+ input: number;
6347
+ output: number;
6348
+ cacheRead: number;
6349
+ cacheWrite: number;
6350
+ };
6351
+ contextWindow: number;
6352
+ maxTokens: number;
6353
+ };
6133
6354
  };
6134
6355
  readonly opencode: {
6135
6356
  readonly "big-pickle": {