@nurix/etna 0.19.49 → 0.19.51

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 (436) hide show
  1. package/data/harness-index.json +1 -1
  2. package/data/harnesses/apollo/harness.json +2 -2
  3. package/data/harnesses/apollo/hooks/hooks.json +3 -1
  4. package/data/harnesses/apollo/skills/design/SKILL.md +55 -29
  5. package/data/harnesses/apollo/skills/design/references/compose.md +8 -4
  6. package/data/harnesses/apollo/skills/design/references/content.md +5 -5
  7. package/data/harnesses/apollo/skills/design/references/existing-apps.md +1 -1
  8. package/data/harnesses/apollo/skills/design/references/intake.md +11 -7
  9. package/data/harnesses/apollo/skills/design/references/object-pass.md +1 -1
  10. package/data/harnesses/apollo/skills/design/references/ship-gate.md +3 -3
  11. package/data/harnesses/apollo/skills/design/scripts/select-chart.mjs +26 -6
  12. package/data/harnesses/code/harness.json +2 -2
  13. package/data/harnesses/code/hooks/hooks.json +3 -1
  14. package/data/harnesses/code/skills/design/SKILL.md +55 -29
  15. package/data/harnesses/code/skills/design/references/compose.md +8 -4
  16. package/data/harnesses/code/skills/design/references/content.md +5 -5
  17. package/data/harnesses/code/skills/design/references/existing-apps.md +1 -1
  18. package/data/harnesses/code/skills/design/references/intake.md +11 -7
  19. package/data/harnesses/code/skills/design/references/object-pass.md +1 -1
  20. package/data/harnesses/code/skills/design/references/ship-gate.md +3 -3
  21. package/data/harnesses/code/skills/design/scripts/select-chart.mjs +26 -6
  22. package/package.json +2 -2
  23. package/data/harnesses/apollo/skills/design/data/blueprints/browse.md +0 -38
  24. package/data/harnesses/apollo/skills/design/data/blueprints/creation-flow.md +0 -38
  25. package/data/harnesses/apollo/skills/design/data/blueprints/dashboard.md +0 -38
  26. package/data/harnesses/apollo/skills/design/data/blueprints/grid.md +0 -38
  27. package/data/harnesses/apollo/skills/design/data/blueprints/queue.md +0 -38
  28. package/data/harnesses/apollo/skills/design/data/blueprints/record-detail.md +0 -38
  29. package/data/harnesses/apollo/skills/design/data/blueprints/settings.md +0 -38
  30. package/data/harnesses/apollo/skills/design/data/chart-styling/Readme.md +0 -33
  31. package/data/harnesses/apollo/skills/design/data/chart-styling/carbon-accessible-alert-semantic.md +0 -19
  32. package/data/harnesses/apollo/skills/design/data/chart-styling/carbon-monochrome-sequential-trend.md +0 -19
  33. package/data/harnesses/apollo/skills/design/data/chart-styling/datadog-classic-six-aligned.md +0 -19
  34. package/data/harnesses/apollo/skills/design/data/chart-styling/datawrapper-tiered-gray-hierarchy.md +0 -19
  35. package/data/harnesses/apollo/skills/design/data/chart-styling/econ-red-rule-horizontal.md +0 -19
  36. package/data/harnesses/apollo/skills/design/data/chart-styling/financial-diverging-threshold-overlay.md +0 -19
  37. package/data/harnesses/apollo/skills/design/data/chart-styling/ft-vocabulary-ranked-muted.md +0 -19
  38. package/data/harnesses/apollo/skills/design/data/chart-styling/grafana-dark-threshold-bands.md +0 -19
  39. package/data/harnesses/apollo/skills/design/data/chart-styling/material-rounded-explicit-label.md +0 -19
  40. package/data/harnesses/apollo/skills/design/data/chart-styling/nyt-ghost-grid-direct-label.md +0 -19
  41. package/data/harnesses/apollo/skills/design/data/chart-styling/plot-currentcolor-inherit.md +0 -19
  42. package/data/harnesses/apollo/skills/design/data/chart-styling/saas-gradient-glow-area.md +0 -19
  43. package/data/harnesses/apollo/skills/design/data/chart-styling/shadcn-composable-css-vars.md +0 -19
  44. package/data/harnesses/apollo/skills/design/data/charts/census.csv +0 -58
  45. package/data/harnesses/apollo/skills/design/data/checklists/browse.md +0 -21
  46. package/data/harnesses/apollo/skills/design/data/checklists/creation-flow.md +0 -20
  47. package/data/harnesses/apollo/skills/design/data/checklists/dashboard.md +0 -21
  48. package/data/harnesses/apollo/skills/design/data/checklists/grid.md +0 -21
  49. package/data/harnesses/apollo/skills/design/data/checklists/queue.md +0 -21
  50. package/data/harnesses/apollo/skills/design/data/checklists/record-detail.md +0 -21
  51. package/data/harnesses/apollo/skills/design/data/checklists/settings.md +0 -21
  52. package/data/harnesses/apollo/skills/design/data/chrome/board-column.md +0 -68
  53. package/data/harnesses/apollo/skills/design/data/chrome/data-table.md +0 -63
  54. package/data/harnesses/apollo/skills/design/data/chrome/side-panel.md +0 -60
  55. package/data/harnesses/apollo/skills/design/data/chrome/sidebar.md +0 -78
  56. package/data/harnesses/apollo/skills/design/data/chrome/stat-cards.md +0 -62
  57. package/data/harnesses/apollo/skills/design/data/chrome/topbar.md +0 -65
  58. package/data/harnesses/apollo/skills/design/data/color/accent-presets.md +0 -90
  59. package/data/harnesses/apollo/skills/design/data/color/aesop-earth-mute.md +0 -91
  60. package/data/harnesses/apollo/skills/design/data/color/arc-peach-play.md +0 -90
  61. package/data/harnesses/apollo/skills/design/data/color/attio-hunter-teal.md +0 -90
  62. package/data/harnesses/apollo/skills/design/data/color/carbon-cyan-signal.md +0 -90
  63. package/data/harnesses/apollo/skills/design/data/color/clay-parchment.md +0 -90
  64. package/data/harnesses/apollo/skills/design/data/color/duolingo-feather.md +0 -90
  65. package/data/harnesses/apollo/skills/design/data/color/geist-mono-signal.md +0 -90
  66. package/data/harnesses/apollo/skills/design/data/color/linear-graphite-violet.md +0 -90
  67. package/data/harnesses/apollo/skills/design/data/color/mercury-onyx-cobalt.md +0 -90
  68. package/data/harnesses/apollo/skills/design/data/color/notion-paper-ink.md +0 -90
  69. package/data/harnesses/apollo/skills/design/data/color/radix-slate-iris.md +0 -90
  70. package/data/harnesses/apollo/skills/design/data/color/raycast-void-spectrum.md +0 -90
  71. package/data/harnesses/apollo/skills/design/data/color/spectrum-celery-fuchsia.md +0 -90
  72. package/data/harnesses/apollo/skills/design/data/color/stripe-blurple-ruby.md +0 -90
  73. package/data/harnesses/apollo/skills/design/data/color/superhuman-cod-picton.md +0 -89
  74. package/data/harnesses/apollo/skills/design/data/corpora/operations-review/companies.csv +0 -15
  75. package/data/harnesses/apollo/skills/design/data/corpora/operations-review/corpus.md +0 -87
  76. package/data/harnesses/apollo/skills/design/data/corpora/operations-review/people.csv +0 -25
  77. package/data/harnesses/apollo/skills/design/data/corpora/procurement-approvals/companies.csv +0 -15
  78. package/data/harnesses/apollo/skills/design/data/corpora/procurement-approvals/corpus.md +0 -83
  79. package/data/harnesses/apollo/skills/design/data/corpora/procurement-approvals/people.csv +0 -25
  80. package/data/harnesses/apollo/skills/design/data/corpora/revenue-analytics/companies.csv +0 -15
  81. package/data/harnesses/apollo/skills/design/data/corpora/revenue-analytics/corpus.md +0 -89
  82. package/data/harnesses/apollo/skills/design/data/corpora/revenue-analytics/people.csv +0 -25
  83. package/data/harnesses/apollo/skills/design/data/elevation/ant-design-directional-shadow.md +0 -19
  84. package/data/harnesses/apollo/skills/design/data/elevation/apple-liquid-glass-material.md +0 -18
  85. package/data/harnesses/apollo/skills/design/data/elevation/atlassian-surface-shadow-pairing.md +0 -20
  86. package/data/harnesses/apollo/skills/design/data/elevation/fluent-2-key-ambient-ramp.md +0 -20
  87. package/data/harnesses/apollo/skills/design/data/elevation/github-primer-sparing-shadow.md +0 -19
  88. package/data/harnesses/apollo/skills/design/data/elevation/ibm-carbon-layer-and-border.md +0 -19
  89. package/data/harnesses/apollo/skills/design/data/elevation/linear-dark-surface-ladder.md +0 -17
  90. package/data/harnesses/apollo/skills/design/data/elevation/material-2-key-ambient-dp-ramp.md +0 -19
  91. package/data/harnesses/apollo/skills/design/data/elevation/material-3-tonal-elevation.md +0 -21
  92. package/data/harnesses/apollo/skills/design/data/elevation/neobrutalist-hard-offset.md +0 -19
  93. package/data/harnesses/apollo/skills/design/data/elevation/neumorphic-soft-dual-shadow.md +0 -18
  94. package/data/harnesses/apollo/skills/design/data/elevation/notion-warm-minimal-hairline.md +0 -17
  95. package/data/harnesses/apollo/skills/design/data/elevation/polaris-elevation-inset-bevel.md +0 -21
  96. package/data/harnesses/apollo/skills/design/data/elevation/radix-themes-alpha-ring-scale.md +0 -19
  97. package/data/harnesses/apollo/skills/design/data/elevation/shadcn-neutral-derived-radius.md +0 -19
  98. package/data/harnesses/apollo/skills/design/data/elevation/stripe-brand-tinted-dual-shadow.md +0 -18
  99. package/data/harnesses/apollo/skills/design/data/elevation/tailwind-default-utility-scale.md +0 -19
  100. package/data/harnesses/apollo/skills/design/data/elevation/vercel-geist-shadow-as-border.md +0 -20
  101. package/data/harnesses/apollo/skills/design/data/gradients/amber-attention-fill.md +0 -16
  102. package/data/harnesses/apollo/skills/design/data/gradients/cloud-shadow-wash.md +0 -16
  103. package/data/harnesses/apollo/skills/design/data/gradients/confident-lavender-wash.md +0 -16
  104. package/data/harnesses/apollo/skills/design/data/gradients/ember-ship-flare.md +0 -18
  105. package/data/harnesses/apollo/skills/design/data/gradients/full-metal-wash.md +0 -16
  106. package/data/harnesses/apollo/skills/design/data/gradients/indigo-ruby-cta-band.md +0 -18
  107. package/data/harnesses/apollo/skills/design/data/gradients/linear-graphite-wash.md +0 -18
  108. package/data/harnesses/apollo/skills/design/data/gradients/marble-quartz-wash.md +0 -16
  109. package/data/harnesses/apollo/skills/design/data/gradients/midnight-aurora-panel.md +0 -16
  110. package/data/harnesses/apollo/skills/design/data/gradients/neutral-volume-fill.md +0 -16
  111. package/data/harnesses/apollo/skills/design/data/gradients/revenue-uptrend-fill.md +0 -16
  112. package/data/harnesses/apollo/skills/design/data/gradients/risk-decline-fill.md +0 -16
  113. package/data/harnesses/apollo/skills/design/data/gradients/signal-blue-develop.md +0 -18
  114. package/data/harnesses/apollo/skills/design/data/gradients/slate-mist-wash.md +0 -16
  115. package/data/harnesses/apollo/skills/design/data/gradients/stripe-atmosphere-mesh.md +0 -18
  116. package/data/harnesses/apollo/skills/design/data/gradients/teal-signal-accent.md +0 -16
  117. package/data/harnesses/apollo/skills/design/data/gradients/violet-magenta-promo.md +0 -16
  118. package/data/harnesses/apollo/skills/design/data/iconography.md +0 -199
  119. package/data/harnesses/apollo/skills/design/data/motion/accordion-expand.md +0 -18
  120. package/data/harnesses/apollo/skills/design/data/motion/destructive-hold-confirm.md +0 -18
  121. package/data/harnesses/apollo/skills/design/data/motion/drag-dismiss-momentum.md +0 -18
  122. package/data/harnesses/apollo/skills/design/data/motion/empty-state-arrive.md +0 -18
  123. package/data/harnesses/apollo/skills/design/data/motion/hover-lift.md +0 -18
  124. package/data/harnesses/apollo/skills/design/data/motion/modal-center-arrive.md +0 -18
  125. package/data/harnesses/apollo/skills/design/data/motion/number-ticker-roll.md +0 -18
  126. package/data/harnesses/apollo/skills/design/data/motion/onboarding-bounce.md +0 -18
  127. package/data/harnesses/apollo/skills/design/data/motion/panel-slide.md +0 -18
  128. package/data/harnesses/apollo/skills/design/data/motion/press-feedback.md +0 -18
  129. package/data/harnesses/apollo/skills/design/data/motion/progress-linear-loop.md +0 -18
  130. package/data/harnesses/apollo/skills/design/data/motion/route-crossfade.md +0 -18
  131. package/data/harnesses/apollo/skills/design/data/motion/rubber-band-overscroll.md +0 -18
  132. package/data/harnesses/apollo/skills/design/data/motion/skeleton-shimmer.md +0 -18
  133. package/data/harnesses/apollo/skills/design/data/motion/stagger-arrive.md +0 -18
  134. package/data/harnesses/apollo/skills/design/data/motion/toast-enter-stack.md +0 -18
  135. package/data/harnesses/apollo/skills/design/data/motion/tooltip-chain-instant.md +0 -18
  136. package/data/harnesses/apollo/skills/design/data/motion/trigger-anchored-reveal.md +0 -18
  137. package/data/harnesses/apollo/skills/design/data/tells.csv +0 -34
  138. package/data/harnesses/apollo/skills/design/data/typography/anton-work-sans.md +0 -17
  139. package/data/harnesses/apollo/skills/design/data/typography/archivo-black-archivo.md +0 -17
  140. package/data/harnesses/apollo/skills/design/data/typography/bitter-karla.md +0 -17
  141. package/data/harnesses/apollo/skills/design/data/typography/dm-serif-dm-sans.md +0 -17
  142. package/data/harnesses/apollo/skills/design/data/typography/fraunces-inter.md +0 -17
  143. package/data/harnesses/apollo/skills/design/data/typography/geist-geist-mono.md +0 -17
  144. package/data/harnesses/apollo/skills/design/data/typography/hubot-sans-mona-sans.md +0 -17
  145. package/data/harnesses/apollo/skills/design/data/typography/ibm-plex-sans-operator-single-family.md +0 -17
  146. package/data/harnesses/apollo/skills/design/data/typography/instrument-serif-instrument-sans.md +0 -17
  147. package/data/harnesses/apollo/skills/design/data/typography/inter-operator-single-family.md +0 -17
  148. package/data/harnesses/apollo/skills/design/data/typography/libre-baskerville-libre-franklin.md +0 -17
  149. package/data/harnesses/apollo/skills/design/data/typography/newsreader-inter.md +0 -17
  150. package/data/harnesses/apollo/skills/design/data/typography/playfair-display-source-sans.md +0 -17
  151. package/data/harnesses/apollo/skills/design/data/typography/public-sans-operator-single-family.md +0 -17
  152. package/data/harnesses/apollo/skills/design/data/typography/sohne-inter-fintech.md +0 -17
  153. package/data/harnesses/apollo/skills/design/data/typography/source-serif-source-sans.md +0 -17
  154. package/data/harnesses/apollo/skills/design/data/typography/space-grotesk-work-sans-space-mono.md +0 -17
  155. package/data/harnesses/apollo/skills/design/data/typography/spectral-manrope.md +0 -17
  156. package/data/harnesses/apollo/skills/design/data/voices/bright-collaborator.md +0 -29
  157. package/data/harnesses/apollo/skills/design/data/voices/direct-operator.md +0 -29
  158. package/data/harnesses/apollo/skills/design/data/voices/earnest-helper.md +0 -29
  159. package/data/harnesses/apollo/skills/design/data/voices/editorial-composed.md +0 -29
  160. package/data/harnesses/apollo/skills/design/data/voices/quiet-concierge.md +0 -29
  161. package/data/harnesses/apollo/skills/design/data/voices/warm-guide.md +0 -29
  162. package/data/harnesses/apollo/skills/design/design-md/SCHEMA.md +0 -179
  163. package/data/harnesses/apollo/skills/design/design-md/index.csv +0 -67
  164. package/data/harnesses/apollo/skills/design/design-md/library/airbnb.md +0 -207
  165. package/data/harnesses/apollo/skills/design/design-md/library/airtable.md +0 -205
  166. package/data/harnesses/apollo/skills/design/design-md/library/anthropic-claude.md +0 -203
  167. package/data/harnesses/apollo/skills/design/design-md/library/apple.md +0 -206
  168. package/data/harnesses/apollo/skills/design/design-md/library/binance.md +0 -210
  169. package/data/harnesses/apollo/skills/design/design-md/library/bmw.md +0 -210
  170. package/data/harnesses/apollo/skills/design/design-md/library/cal.md +0 -209
  171. package/data/harnesses/apollo/skills/design/design-md/library/clay.md +0 -204
  172. package/data/harnesses/apollo/skills/design/design-md/library/clickhouse.md +0 -205
  173. package/data/harnesses/apollo/skills/design/design-md/library/cohere.md +0 -205
  174. package/data/harnesses/apollo/skills/design/design-md/library/coinbase.md +0 -198
  175. package/data/harnesses/apollo/skills/design/design-md/library/composio.md +0 -198
  176. package/data/harnesses/apollo/skills/design/design-md/library/cursor.md +0 -197
  177. package/data/harnesses/apollo/skills/design/design-md/library/elevenlabs.md +0 -199
  178. package/data/harnesses/apollo/skills/design/design-md/library/expo.md +0 -200
  179. package/data/harnesses/apollo/skills/design/design-md/library/figma.md +0 -199
  180. package/data/harnesses/apollo/skills/design/design-md/library/framer.md +0 -202
  181. package/data/harnesses/apollo/skills/design/design-md/library/hashicorp.md +0 -205
  182. package/data/harnesses/apollo/skills/design/design-md/library/ibm.md +0 -205
  183. package/data/harnesses/apollo/skills/design/design-md/library/intercom.md +0 -204
  184. package/data/harnesses/apollo/skills/design/design-md/library/kraken.md +0 -200
  185. package/data/harnesses/apollo/skills/design/design-md/library/linear-app.md +0 -198
  186. package/data/harnesses/apollo/skills/design/design-md/library/lovable.md +0 -199
  187. package/data/harnesses/apollo/skills/design/design-md/library/meta.md +0 -204
  188. package/data/harnesses/apollo/skills/design/design-md/library/minimax.md +0 -204
  189. package/data/harnesses/apollo/skills/design/design-md/library/mintlify.md +0 -210
  190. package/data/harnesses/apollo/skills/design/design-md/library/miro.md +0 -209
  191. package/data/harnesses/apollo/skills/design/design-md/library/mistral-ai.md +0 -201
  192. package/data/harnesses/apollo/skills/design/design-md/library/mongodb.md +0 -201
  193. package/data/harnesses/apollo/skills/design/design-md/library/notion.md +0 -204
  194. package/data/harnesses/apollo/skills/design/design-md/library/nvidia.md +0 -215
  195. package/data/harnesses/apollo/skills/design/design-md/library/ollama.md +0 -213
  196. package/data/harnesses/apollo/skills/design/design-md/library/opencode-ai.md +0 -216
  197. package/data/harnesses/apollo/skills/design/design-md/library/posthog.md +0 -218
  198. package/data/harnesses/apollo/skills/design/design-md/library/raycast.md +0 -214
  199. package/data/harnesses/apollo/skills/design/design-md/library/replicate.md +0 -202
  200. package/data/harnesses/apollo/skills/design/design-md/library/resend.md +0 -203
  201. package/data/harnesses/apollo/skills/design/design-md/library/revolut.md +0 -203
  202. package/data/harnesses/apollo/skills/design/design-md/library/runwayml.md +0 -203
  203. package/data/harnesses/apollo/skills/design/design-md/library/sanity.md +0 -200
  204. package/data/harnesses/apollo/skills/design/design-md/library/sentry.md +0 -201
  205. package/data/harnesses/apollo/skills/design/design-md/library/shopify.md +0 -202
  206. package/data/harnesses/apollo/skills/design/design-md/library/slack.md +0 -202
  207. package/data/harnesses/apollo/skills/design/design-md/library/spacex.md +0 -206
  208. package/data/harnesses/apollo/skills/design/design-md/library/spotify.md +0 -206
  209. package/data/harnesses/apollo/skills/design/design-md/library/stripe.md +0 -196
  210. package/data/harnesses/apollo/skills/design/design-md/library/supabase.md +0 -196
  211. package/data/harnesses/apollo/skills/design/design-md/library/superhuman.md +0 -194
  212. package/data/harnesses/apollo/skills/design/design-md/library/tesla.md +0 -198
  213. package/data/harnesses/apollo/skills/design/design-md/library/theverge.md +0 -199
  214. package/data/harnesses/apollo/skills/design/design-md/library/together-ai.md +0 -193
  215. package/data/harnesses/apollo/skills/design/design-md/library/uber.md +0 -195
  216. package/data/harnesses/apollo/skills/design/design-md/library/vercel.md +0 -195
  217. package/data/harnesses/apollo/skills/design/design-md/library/voltagent.md +0 -197
  218. package/data/harnesses/apollo/skills/design/design-md/library/warp.md +0 -196
  219. package/data/harnesses/apollo/skills/design/design-md/library/webflow.md +0 -197
  220. package/data/harnesses/apollo/skills/design/design-md/library/wired.md +0 -197
  221. package/data/harnesses/apollo/skills/design/design-md/library/wise.md +0 -198
  222. package/data/harnesses/apollo/skills/design/design-md/library/x-ai.md +0 -199
  223. package/data/harnesses/apollo/skills/design/design-md/library/zapier.md +0 -198
  224. package/data/harnesses/apollo/skills/design/design-md/nurix.md +0 -214
  225. package/data/harnesses/apollo/skills/design/design-md/variants/editorial-luxury.md +0 -184
  226. package/data/harnesses/apollo/skills/design/design-md/variants/expressive-saas.md +0 -216
  227. package/data/harnesses/apollo/skills/design/design-md/variants/quiet-premium.md +0 -211
  228. package/data/harnesses/apollo/skills/design/design-md/variants/terse-dense-operator.md +0 -212
  229. package/data/harnesses/apollo/skills/design/design-md/variants/warm-approachable.md +0 -216
  230. package/data/harnesses/code/skills/design/data/blueprints/browse.md +0 -38
  231. package/data/harnesses/code/skills/design/data/blueprints/creation-flow.md +0 -38
  232. package/data/harnesses/code/skills/design/data/blueprints/dashboard.md +0 -38
  233. package/data/harnesses/code/skills/design/data/blueprints/grid.md +0 -38
  234. package/data/harnesses/code/skills/design/data/blueprints/queue.md +0 -38
  235. package/data/harnesses/code/skills/design/data/blueprints/record-detail.md +0 -38
  236. package/data/harnesses/code/skills/design/data/blueprints/settings.md +0 -38
  237. package/data/harnesses/code/skills/design/data/chart-styling/Readme.md +0 -33
  238. package/data/harnesses/code/skills/design/data/chart-styling/carbon-accessible-alert-semantic.md +0 -19
  239. package/data/harnesses/code/skills/design/data/chart-styling/carbon-monochrome-sequential-trend.md +0 -19
  240. package/data/harnesses/code/skills/design/data/chart-styling/datadog-classic-six-aligned.md +0 -19
  241. package/data/harnesses/code/skills/design/data/chart-styling/datawrapper-tiered-gray-hierarchy.md +0 -19
  242. package/data/harnesses/code/skills/design/data/chart-styling/econ-red-rule-horizontal.md +0 -19
  243. package/data/harnesses/code/skills/design/data/chart-styling/financial-diverging-threshold-overlay.md +0 -19
  244. package/data/harnesses/code/skills/design/data/chart-styling/ft-vocabulary-ranked-muted.md +0 -19
  245. package/data/harnesses/code/skills/design/data/chart-styling/grafana-dark-threshold-bands.md +0 -19
  246. package/data/harnesses/code/skills/design/data/chart-styling/material-rounded-explicit-label.md +0 -19
  247. package/data/harnesses/code/skills/design/data/chart-styling/nyt-ghost-grid-direct-label.md +0 -19
  248. package/data/harnesses/code/skills/design/data/chart-styling/plot-currentcolor-inherit.md +0 -19
  249. package/data/harnesses/code/skills/design/data/chart-styling/saas-gradient-glow-area.md +0 -19
  250. package/data/harnesses/code/skills/design/data/chart-styling/shadcn-composable-css-vars.md +0 -19
  251. package/data/harnesses/code/skills/design/data/charts/census.csv +0 -58
  252. package/data/harnesses/code/skills/design/data/checklists/browse.md +0 -21
  253. package/data/harnesses/code/skills/design/data/checklists/creation-flow.md +0 -20
  254. package/data/harnesses/code/skills/design/data/checklists/dashboard.md +0 -21
  255. package/data/harnesses/code/skills/design/data/checklists/grid.md +0 -21
  256. package/data/harnesses/code/skills/design/data/checklists/queue.md +0 -21
  257. package/data/harnesses/code/skills/design/data/checklists/record-detail.md +0 -21
  258. package/data/harnesses/code/skills/design/data/checklists/settings.md +0 -21
  259. package/data/harnesses/code/skills/design/data/chrome/board-column.md +0 -68
  260. package/data/harnesses/code/skills/design/data/chrome/data-table.md +0 -63
  261. package/data/harnesses/code/skills/design/data/chrome/side-panel.md +0 -60
  262. package/data/harnesses/code/skills/design/data/chrome/sidebar.md +0 -78
  263. package/data/harnesses/code/skills/design/data/chrome/stat-cards.md +0 -62
  264. package/data/harnesses/code/skills/design/data/chrome/topbar.md +0 -65
  265. package/data/harnesses/code/skills/design/data/color/accent-presets.md +0 -90
  266. package/data/harnesses/code/skills/design/data/color/aesop-earth-mute.md +0 -91
  267. package/data/harnesses/code/skills/design/data/color/arc-peach-play.md +0 -90
  268. package/data/harnesses/code/skills/design/data/color/attio-hunter-teal.md +0 -90
  269. package/data/harnesses/code/skills/design/data/color/carbon-cyan-signal.md +0 -90
  270. package/data/harnesses/code/skills/design/data/color/clay-parchment.md +0 -90
  271. package/data/harnesses/code/skills/design/data/color/duolingo-feather.md +0 -90
  272. package/data/harnesses/code/skills/design/data/color/geist-mono-signal.md +0 -90
  273. package/data/harnesses/code/skills/design/data/color/linear-graphite-violet.md +0 -90
  274. package/data/harnesses/code/skills/design/data/color/mercury-onyx-cobalt.md +0 -90
  275. package/data/harnesses/code/skills/design/data/color/notion-paper-ink.md +0 -90
  276. package/data/harnesses/code/skills/design/data/color/radix-slate-iris.md +0 -90
  277. package/data/harnesses/code/skills/design/data/color/raycast-void-spectrum.md +0 -90
  278. package/data/harnesses/code/skills/design/data/color/spectrum-celery-fuchsia.md +0 -90
  279. package/data/harnesses/code/skills/design/data/color/stripe-blurple-ruby.md +0 -90
  280. package/data/harnesses/code/skills/design/data/color/superhuman-cod-picton.md +0 -89
  281. package/data/harnesses/code/skills/design/data/corpora/operations-review/companies.csv +0 -15
  282. package/data/harnesses/code/skills/design/data/corpora/operations-review/corpus.md +0 -87
  283. package/data/harnesses/code/skills/design/data/corpora/operations-review/people.csv +0 -25
  284. package/data/harnesses/code/skills/design/data/corpora/procurement-approvals/companies.csv +0 -15
  285. package/data/harnesses/code/skills/design/data/corpora/procurement-approvals/corpus.md +0 -83
  286. package/data/harnesses/code/skills/design/data/corpora/procurement-approvals/people.csv +0 -25
  287. package/data/harnesses/code/skills/design/data/corpora/revenue-analytics/companies.csv +0 -15
  288. package/data/harnesses/code/skills/design/data/corpora/revenue-analytics/corpus.md +0 -89
  289. package/data/harnesses/code/skills/design/data/corpora/revenue-analytics/people.csv +0 -25
  290. package/data/harnesses/code/skills/design/data/elevation/ant-design-directional-shadow.md +0 -19
  291. package/data/harnesses/code/skills/design/data/elevation/apple-liquid-glass-material.md +0 -18
  292. package/data/harnesses/code/skills/design/data/elevation/atlassian-surface-shadow-pairing.md +0 -20
  293. package/data/harnesses/code/skills/design/data/elevation/fluent-2-key-ambient-ramp.md +0 -20
  294. package/data/harnesses/code/skills/design/data/elevation/github-primer-sparing-shadow.md +0 -19
  295. package/data/harnesses/code/skills/design/data/elevation/ibm-carbon-layer-and-border.md +0 -19
  296. package/data/harnesses/code/skills/design/data/elevation/linear-dark-surface-ladder.md +0 -17
  297. package/data/harnesses/code/skills/design/data/elevation/material-2-key-ambient-dp-ramp.md +0 -19
  298. package/data/harnesses/code/skills/design/data/elevation/material-3-tonal-elevation.md +0 -21
  299. package/data/harnesses/code/skills/design/data/elevation/neobrutalist-hard-offset.md +0 -19
  300. package/data/harnesses/code/skills/design/data/elevation/neumorphic-soft-dual-shadow.md +0 -18
  301. package/data/harnesses/code/skills/design/data/elevation/notion-warm-minimal-hairline.md +0 -17
  302. package/data/harnesses/code/skills/design/data/elevation/polaris-elevation-inset-bevel.md +0 -21
  303. package/data/harnesses/code/skills/design/data/elevation/radix-themes-alpha-ring-scale.md +0 -19
  304. package/data/harnesses/code/skills/design/data/elevation/shadcn-neutral-derived-radius.md +0 -19
  305. package/data/harnesses/code/skills/design/data/elevation/stripe-brand-tinted-dual-shadow.md +0 -18
  306. package/data/harnesses/code/skills/design/data/elevation/tailwind-default-utility-scale.md +0 -19
  307. package/data/harnesses/code/skills/design/data/elevation/vercel-geist-shadow-as-border.md +0 -20
  308. package/data/harnesses/code/skills/design/data/gradients/amber-attention-fill.md +0 -16
  309. package/data/harnesses/code/skills/design/data/gradients/cloud-shadow-wash.md +0 -16
  310. package/data/harnesses/code/skills/design/data/gradients/confident-lavender-wash.md +0 -16
  311. package/data/harnesses/code/skills/design/data/gradients/ember-ship-flare.md +0 -18
  312. package/data/harnesses/code/skills/design/data/gradients/full-metal-wash.md +0 -16
  313. package/data/harnesses/code/skills/design/data/gradients/indigo-ruby-cta-band.md +0 -18
  314. package/data/harnesses/code/skills/design/data/gradients/linear-graphite-wash.md +0 -18
  315. package/data/harnesses/code/skills/design/data/gradients/marble-quartz-wash.md +0 -16
  316. package/data/harnesses/code/skills/design/data/gradients/midnight-aurora-panel.md +0 -16
  317. package/data/harnesses/code/skills/design/data/gradients/neutral-volume-fill.md +0 -16
  318. package/data/harnesses/code/skills/design/data/gradients/revenue-uptrend-fill.md +0 -16
  319. package/data/harnesses/code/skills/design/data/gradients/risk-decline-fill.md +0 -16
  320. package/data/harnesses/code/skills/design/data/gradients/signal-blue-develop.md +0 -18
  321. package/data/harnesses/code/skills/design/data/gradients/slate-mist-wash.md +0 -16
  322. package/data/harnesses/code/skills/design/data/gradients/stripe-atmosphere-mesh.md +0 -18
  323. package/data/harnesses/code/skills/design/data/gradients/teal-signal-accent.md +0 -16
  324. package/data/harnesses/code/skills/design/data/gradients/violet-magenta-promo.md +0 -16
  325. package/data/harnesses/code/skills/design/data/iconography.md +0 -199
  326. package/data/harnesses/code/skills/design/data/motion/accordion-expand.md +0 -18
  327. package/data/harnesses/code/skills/design/data/motion/destructive-hold-confirm.md +0 -18
  328. package/data/harnesses/code/skills/design/data/motion/drag-dismiss-momentum.md +0 -18
  329. package/data/harnesses/code/skills/design/data/motion/empty-state-arrive.md +0 -18
  330. package/data/harnesses/code/skills/design/data/motion/hover-lift.md +0 -18
  331. package/data/harnesses/code/skills/design/data/motion/modal-center-arrive.md +0 -18
  332. package/data/harnesses/code/skills/design/data/motion/number-ticker-roll.md +0 -18
  333. package/data/harnesses/code/skills/design/data/motion/onboarding-bounce.md +0 -18
  334. package/data/harnesses/code/skills/design/data/motion/panel-slide.md +0 -18
  335. package/data/harnesses/code/skills/design/data/motion/press-feedback.md +0 -18
  336. package/data/harnesses/code/skills/design/data/motion/progress-linear-loop.md +0 -18
  337. package/data/harnesses/code/skills/design/data/motion/route-crossfade.md +0 -18
  338. package/data/harnesses/code/skills/design/data/motion/rubber-band-overscroll.md +0 -18
  339. package/data/harnesses/code/skills/design/data/motion/skeleton-shimmer.md +0 -18
  340. package/data/harnesses/code/skills/design/data/motion/stagger-arrive.md +0 -18
  341. package/data/harnesses/code/skills/design/data/motion/toast-enter-stack.md +0 -18
  342. package/data/harnesses/code/skills/design/data/motion/tooltip-chain-instant.md +0 -18
  343. package/data/harnesses/code/skills/design/data/motion/trigger-anchored-reveal.md +0 -18
  344. package/data/harnesses/code/skills/design/data/tells.csv +0 -34
  345. package/data/harnesses/code/skills/design/data/typography/anton-work-sans.md +0 -17
  346. package/data/harnesses/code/skills/design/data/typography/archivo-black-archivo.md +0 -17
  347. package/data/harnesses/code/skills/design/data/typography/bitter-karla.md +0 -17
  348. package/data/harnesses/code/skills/design/data/typography/dm-serif-dm-sans.md +0 -17
  349. package/data/harnesses/code/skills/design/data/typography/fraunces-inter.md +0 -17
  350. package/data/harnesses/code/skills/design/data/typography/geist-geist-mono.md +0 -17
  351. package/data/harnesses/code/skills/design/data/typography/hubot-sans-mona-sans.md +0 -17
  352. package/data/harnesses/code/skills/design/data/typography/ibm-plex-sans-operator-single-family.md +0 -17
  353. package/data/harnesses/code/skills/design/data/typography/instrument-serif-instrument-sans.md +0 -17
  354. package/data/harnesses/code/skills/design/data/typography/inter-operator-single-family.md +0 -17
  355. package/data/harnesses/code/skills/design/data/typography/libre-baskerville-libre-franklin.md +0 -17
  356. package/data/harnesses/code/skills/design/data/typography/newsreader-inter.md +0 -17
  357. package/data/harnesses/code/skills/design/data/typography/playfair-display-source-sans.md +0 -17
  358. package/data/harnesses/code/skills/design/data/typography/public-sans-operator-single-family.md +0 -17
  359. package/data/harnesses/code/skills/design/data/typography/sohne-inter-fintech.md +0 -17
  360. package/data/harnesses/code/skills/design/data/typography/source-serif-source-sans.md +0 -17
  361. package/data/harnesses/code/skills/design/data/typography/space-grotesk-work-sans-space-mono.md +0 -17
  362. package/data/harnesses/code/skills/design/data/typography/spectral-manrope.md +0 -17
  363. package/data/harnesses/code/skills/design/data/voices/bright-collaborator.md +0 -29
  364. package/data/harnesses/code/skills/design/data/voices/direct-operator.md +0 -29
  365. package/data/harnesses/code/skills/design/data/voices/earnest-helper.md +0 -29
  366. package/data/harnesses/code/skills/design/data/voices/editorial-composed.md +0 -29
  367. package/data/harnesses/code/skills/design/data/voices/quiet-concierge.md +0 -29
  368. package/data/harnesses/code/skills/design/data/voices/warm-guide.md +0 -29
  369. package/data/harnesses/code/skills/design/design-md/SCHEMA.md +0 -179
  370. package/data/harnesses/code/skills/design/design-md/index.csv +0 -67
  371. package/data/harnesses/code/skills/design/design-md/library/airbnb.md +0 -207
  372. package/data/harnesses/code/skills/design/design-md/library/airtable.md +0 -205
  373. package/data/harnesses/code/skills/design/design-md/library/anthropic-claude.md +0 -203
  374. package/data/harnesses/code/skills/design/design-md/library/apple.md +0 -206
  375. package/data/harnesses/code/skills/design/design-md/library/binance.md +0 -210
  376. package/data/harnesses/code/skills/design/design-md/library/bmw.md +0 -210
  377. package/data/harnesses/code/skills/design/design-md/library/cal.md +0 -209
  378. package/data/harnesses/code/skills/design/design-md/library/clay.md +0 -204
  379. package/data/harnesses/code/skills/design/design-md/library/clickhouse.md +0 -205
  380. package/data/harnesses/code/skills/design/design-md/library/cohere.md +0 -205
  381. package/data/harnesses/code/skills/design/design-md/library/coinbase.md +0 -198
  382. package/data/harnesses/code/skills/design/design-md/library/composio.md +0 -198
  383. package/data/harnesses/code/skills/design/design-md/library/cursor.md +0 -197
  384. package/data/harnesses/code/skills/design/design-md/library/elevenlabs.md +0 -199
  385. package/data/harnesses/code/skills/design/design-md/library/expo.md +0 -200
  386. package/data/harnesses/code/skills/design/design-md/library/figma.md +0 -199
  387. package/data/harnesses/code/skills/design/design-md/library/framer.md +0 -202
  388. package/data/harnesses/code/skills/design/design-md/library/hashicorp.md +0 -205
  389. package/data/harnesses/code/skills/design/design-md/library/ibm.md +0 -205
  390. package/data/harnesses/code/skills/design/design-md/library/intercom.md +0 -204
  391. package/data/harnesses/code/skills/design/design-md/library/kraken.md +0 -200
  392. package/data/harnesses/code/skills/design/design-md/library/linear-app.md +0 -198
  393. package/data/harnesses/code/skills/design/design-md/library/lovable.md +0 -199
  394. package/data/harnesses/code/skills/design/design-md/library/meta.md +0 -204
  395. package/data/harnesses/code/skills/design/design-md/library/minimax.md +0 -204
  396. package/data/harnesses/code/skills/design/design-md/library/mintlify.md +0 -210
  397. package/data/harnesses/code/skills/design/design-md/library/miro.md +0 -209
  398. package/data/harnesses/code/skills/design/design-md/library/mistral-ai.md +0 -201
  399. package/data/harnesses/code/skills/design/design-md/library/mongodb.md +0 -201
  400. package/data/harnesses/code/skills/design/design-md/library/notion.md +0 -204
  401. package/data/harnesses/code/skills/design/design-md/library/nvidia.md +0 -215
  402. package/data/harnesses/code/skills/design/design-md/library/ollama.md +0 -213
  403. package/data/harnesses/code/skills/design/design-md/library/opencode-ai.md +0 -216
  404. package/data/harnesses/code/skills/design/design-md/library/posthog.md +0 -218
  405. package/data/harnesses/code/skills/design/design-md/library/raycast.md +0 -214
  406. package/data/harnesses/code/skills/design/design-md/library/replicate.md +0 -202
  407. package/data/harnesses/code/skills/design/design-md/library/resend.md +0 -203
  408. package/data/harnesses/code/skills/design/design-md/library/revolut.md +0 -203
  409. package/data/harnesses/code/skills/design/design-md/library/runwayml.md +0 -203
  410. package/data/harnesses/code/skills/design/design-md/library/sanity.md +0 -200
  411. package/data/harnesses/code/skills/design/design-md/library/sentry.md +0 -201
  412. package/data/harnesses/code/skills/design/design-md/library/shopify.md +0 -202
  413. package/data/harnesses/code/skills/design/design-md/library/slack.md +0 -202
  414. package/data/harnesses/code/skills/design/design-md/library/spacex.md +0 -206
  415. package/data/harnesses/code/skills/design/design-md/library/spotify.md +0 -206
  416. package/data/harnesses/code/skills/design/design-md/library/stripe.md +0 -196
  417. package/data/harnesses/code/skills/design/design-md/library/supabase.md +0 -196
  418. package/data/harnesses/code/skills/design/design-md/library/superhuman.md +0 -194
  419. package/data/harnesses/code/skills/design/design-md/library/tesla.md +0 -198
  420. package/data/harnesses/code/skills/design/design-md/library/theverge.md +0 -199
  421. package/data/harnesses/code/skills/design/design-md/library/together-ai.md +0 -193
  422. package/data/harnesses/code/skills/design/design-md/library/uber.md +0 -195
  423. package/data/harnesses/code/skills/design/design-md/library/vercel.md +0 -195
  424. package/data/harnesses/code/skills/design/design-md/library/voltagent.md +0 -197
  425. package/data/harnesses/code/skills/design/design-md/library/warp.md +0 -196
  426. package/data/harnesses/code/skills/design/design-md/library/webflow.md +0 -197
  427. package/data/harnesses/code/skills/design/design-md/library/wired.md +0 -197
  428. package/data/harnesses/code/skills/design/design-md/library/wise.md +0 -198
  429. package/data/harnesses/code/skills/design/design-md/library/x-ai.md +0 -199
  430. package/data/harnesses/code/skills/design/design-md/library/zapier.md +0 -198
  431. package/data/harnesses/code/skills/design/design-md/nurix.md +0 -214
  432. package/data/harnesses/code/skills/design/design-md/variants/editorial-luxury.md +0 -184
  433. package/data/harnesses/code/skills/design/design-md/variants/expressive-saas.md +0 -216
  434. package/data/harnesses/code/skills/design/design-md/variants/quiet-premium.md +0 -211
  435. package/data/harnesses/code/skills/design/design-md/variants/terse-dense-operator.md +0 -212
  436. package/data/harnesses/code/skills/design/design-md/variants/warm-approachable.md +0 -216
@@ -1,16 +0,0 @@
1
- ---
2
- id: cloud-shadow-wash
3
- class: a4
4
- sourced: 2026-07-12
5
- source: "Distilled from WebGradients 'Above Clouds' (MIT-licensed, itmeo/webgradients)"
6
- license: open
7
- feel: "soft graphite haze with almost no hue — architectural and quiet"
8
- ---
9
- Card or sidebar background needing gentle separation from flat gray; reads equally well next to light or dim surfaces. No real "never" beyond stacking it under already-busy imagery.
10
-
11
- ```yaml values
12
- role: wash
13
- stops: [oklch(0.795 0.005 314.8), oklch(0.700 0.007 277.1)]
14
- angle: 160deg
15
- intensity: subtle
16
- ```
@@ -1,16 +0,0 @@
1
- ---
2
- id: confident-lavender-wash
3
- class: a4
4
- sourced: 2026-07-12
5
- source: "Distilled from WebGradients 'Confident Cloud' (MIT-licensed, itmeo/webgradients)"
6
- license: open
7
- feel: "lavender easing into a whisper of blush — calm with a faint trace of warmth"
8
- ---
9
- Onboarding empty-state or settings-panel background. Keep off data-dense grids, where the hue drift could read as an unintended status tint.
10
-
11
- ```yaml values
12
- role: wash
13
- stops: [oklch(0.882 0.033 297.2), oklch(0.938 0.013 5.8)]
14
- angle: 135deg
15
- intensity: subtle
16
- ```
@@ -1,18 +0,0 @@
1
- ---
2
- id: ember-ship-flare
3
- class: a4
4
- sourced: 2026-07-12
5
- source: "Distilled from Vercel's public 'Ship' gradient pairing (shadcn.io Vercel system breakdown)"
6
- license: brand-reference
7
- feel: "warm coral tipping into gold — a single completion flare, like a deploy going green"
8
- ---
9
- A one-off celebratory moment — a deploy-success toast or onboarding-complete card. Never persistent chrome, never repeated across a dashboard grid.
10
-
11
- This entry is a distilled approximation of Vercel's publicly visible "Ship" gradient pairing, never a redistributed asset — the stops are our own oklch reconstruction, not an extracted brand file.
12
-
13
- ```yaml values
14
- role: accent
15
- stops: [oklch(0.673 0.215 25.0), oklch(0.858 0.167 91.2)]
16
- angle: 120deg
17
- intensity: loud
18
- ```
@@ -1,16 +0,0 @@
1
- ---
2
- id: full-metal-wash
3
- class: a4
4
- sourced: 2026-07-12
5
- source: "Distilled from WebGradients 'Full Metal' (MIT-licensed, itmeo/webgradients)"
6
- license: open
7
- feel: "brushed steel — near-neutral blue-gray with almost no chroma at all"
8
- ---
9
- Default panel/card background for a professional dashboard shell. The lowest-risk entry in this set — appropriate almost anywhere neutral depth is wanted.
10
-
11
- ```yaml values
12
- role: wash
13
- stops: [oklch(0.896 0.016 248.0), oklch(0.926 0.010 252.8)]
14
- angle: 180deg
15
- intensity: subtle
16
- ```
@@ -1,18 +0,0 @@
1
- ---
2
- id: indigo-ruby-cta-band
3
- class: a4
4
- sourced: 2026-07-12
5
- source: "Distilled from Stripe's public brand pairing of primary indigo and ruby accent (shadcn.io Stripe system breakdown)"
6
- license: brand-reference
7
- feel: "confident indigo deepening at one edge into ruby — a branded call-to-action, not a background"
8
- ---
9
- Primary-button or CTA-band surface at moderate scale (a banner, not a full page). Avoid full-bleed page backgrounds where it would compete with dense content.
10
-
11
- This entry is a distilled approximation of Stripe's publicly visible indigo/ruby brand pairing, never a redistributed asset — the stops are our own oklch reconstruction, not an extracted brand file.
12
-
13
- ```yaml values
14
- role: accent
15
- stops: [oklch(0.521 0.268 277.4), oklch(0.609 0.228 10.8)]
16
- angle: 100deg
17
- intensity: medium
18
- ```
@@ -1,18 +0,0 @@
1
- ---
2
- id: linear-graphite-wash
3
- class: a4
4
- sourced: 2026-07-12
5
- source: "Distilled from Linear's official brand palette — Mercury White / Nordic Gray (linear.app/brand)"
6
- license: brand-reference
7
- feel: "the quiet cool-gray of a focused productivity tool, barely tinted blue"
8
- ---
9
- App-shell background or table zebra-row wash. Deliberately low-contrast so it never competes with list or table content.
10
-
11
- This entry is a distilled approximation of Linear's publicly visible Mercury White / Nordic Gray brand palette, never a redistributed asset — the stops are our own oklch reconstruction, not an extracted brand file.
12
-
13
- ```yaml values
14
- role: wash
15
- stops: [oklch(0.970 0.004 271.4), oklch(0.929 0.013 255.5)]
16
- angle: 180deg
17
- intensity: subtle
18
- ```
@@ -1,16 +0,0 @@
1
- ---
2
- id: marble-quartz-wash
3
- class: a4
4
- sourced: 2026-07-12
5
- source: "Distilled from WebGradients 'Marble Wall' (MIT-licensed, itmeo/webgradients)"
6
- license: open
7
- feel: "cool periwinkle fading into dusty rose-gray — mineral and understated"
8
- ---
9
- Secondary (non-primary) promo-card background; light enough to sit behind body copy on a plain text panel.
10
-
11
- ```yaml values
12
- role: wash
13
- stops: [oklch(0.823 0.054 279.3), oklch(0.910 0.017 316.9)]
14
- angle: 145deg
15
- intensity: subtle
16
- ```
@@ -1,16 +0,0 @@
1
- ---
2
- id: midnight-aurora-panel
3
- class: a4
4
- sourced: 2026-07-12
5
- source: "Distilled and simplified from the public Aurora UI CSS recipe (superdesign.dev), collapsing its 4-color radial mesh into a 3-stop linear read"
6
- license: open
7
- feel: "a near-black canvas lit from within by indigo and teal — a control room at night"
8
- ---
9
- Dark-mode marketing or onboarding hero only. Source guidance is explicit: never place body text, tables, or forms directly on it — text needs an opaque or glass panel on top, and it must never become the dashboard's working background.
10
-
11
- ```yaml values
12
- role: hero
13
- stops: [oklch(0.101 0.043 298.6), oklch(0.585 0.204 277.1), oklch(0.785 0.133 181.9)]
14
- angle: "radial (at 25% 20%)"
15
- intensity: loud
16
- ```
@@ -1,16 +0,0 @@
1
- ---
2
- id: neutral-volume-fill
3
- class: a4
4
- sourced: 2026-07-12
5
- source: "Distilled from generic dashboard restraint guidance for volume/bar gradients (Highcharts docs, Tableau sequential-palette conventions)"
6
- license: open
7
- feel: "a quiet blue-gray fade — the 'no news is good news' fill for a series with no positive or negative charge"
8
- ---
9
- Default fill for volume, count, or duration series with no inherent good/bad direction. Safe to reuse across most charts on one dashboard for visual consistency.
10
-
11
- ```yaml values
12
- role: chart-fill
13
- stops: [oklch(0.809 0.096 251.8 / 0.28), oklch(0.809 0.096 251.8 / 0)]
14
- angle: 180deg
15
- intensity: subtle
16
- ```
@@ -1,16 +0,0 @@
1
- ---
2
- id: revenue-uptrend-fill
3
- class: a4
4
- sourced: 2026-07-12
5
- source: "Distilled from the standard fade-to-transparent area-chart convention (Chart.js/Recharts linear-gradient docs)"
6
- license: open
7
- feel: "a growth line's shadow — green fading to nothing, reads as 'up and to the right' without shouting"
8
- ---
9
- Area-under-line fill for positive/growth series only. Keep the top-stop opacity low so gridlines and labels stay legible; never use as a background behind text.
10
-
11
- ```yaml values
12
- role: chart-fill
13
- stops: [oklch(0.723 0.192 149.6 / 0.35), oklch(0.723 0.192 149.6 / 0)]
14
- angle: 180deg
15
- intensity: medium
16
- ```
@@ -1,16 +0,0 @@
1
- ---
2
- id: risk-decline-fill
3
- class: a4
4
- sourced: 2026-07-12
5
- source: "Distilled from the same fade-to-transparent convention, applied to a rose hue for negative/at-risk series"
6
- license: open
7
- feel: "a soft warning wash under a downward line — legible urgency, not an error page"
8
- ---
9
- Pair only with genuinely negative or at-risk series. Keep the top-stop opacity conservative so it reads as signal, not alarm.
10
-
11
- ```yaml values
12
- role: chart-fill
13
- stops: [oklch(0.645 0.215 16.4 / 0.30), oklch(0.645 0.215 16.4 / 0)]
14
- angle: 180deg
15
- intensity: medium
16
- ```
@@ -1,18 +0,0 @@
1
- ---
2
- id: signal-blue-develop
3
- class: a4
4
- sourced: 2026-07-12
5
- source: "Distilled from Vercel's public 'Develop' gradient pairing (shadcn.io Vercel system breakdown)"
6
- license: brand-reference
7
- feel: "crisp electric blue sliding into aqua — technical and confident, like a status light turning green"
8
- ---
9
- Feature-launch banner or empty-state illustration backdrop. Keep off dense grids; always pair with an opaque text panel rather than a direct text overlay.
10
-
11
- This entry is a distilled approximation of Vercel's publicly visible "Develop" gradient pairing, never a redistributed asset — the stops are our own oklch reconstruction, not an extracted brand file.
12
-
13
- ```yaml values
14
- role: hero
15
- stops: [oklch(0.596 0.197 255.1), oklch(0.816 0.141 190.7)]
16
- angle: 90deg
17
- intensity: medium
18
- ```
@@ -1,16 +0,0 @@
1
- ---
2
- id: slate-mist-wash
3
- class: a4
4
- sourced: 2026-07-12
5
- source: "Distilled from WebGradients 'Saint Petersburg' (MIT-licensed, itmeo/webgradients)"
6
- license: open
7
- feel: "barely-there cool gray-blue mist — the quietest kind of depth"
8
- ---
9
- Page or panel background behind operator tables, settings screens, or empty states. Low-risk enough to leave on as a near-permanent surface.
10
-
11
- ```yaml values
12
- role: wash
13
- stops: [oklch(0.975 0.005 258.3), oklch(0.851 0.030 259.6)]
14
- angle: 180deg
15
- intensity: subtle
16
- ```
@@ -1,18 +0,0 @@
1
- ---
2
- id: stripe-atmosphere-mesh
3
- class: a4
4
- sourced: 2026-07-12
5
- source: "Distilled from public breakdowns of Stripe.com's marketing hero mesh (open-design.ai, shadcn.io Stripe palette)"
6
- license: brand-reference
7
- feel: "a warm daybreak haze — cream sliding through lavender into deep indigo, like sunrise through glass"
8
- ---
9
- Hero band only, above the fold on a marketing or onboarding surface. Never behind an operator table, form, or dense data grid — the source is a multi-blob radial mesh; this is a simplified linear read of it.
10
-
11
- This entry is a distilled approximation of a publicly visible Stripe marketing surface, never a redistributed asset — no Stripe brand file or imagery is embedded here, only our own oklch reconstruction of the visible hues.
12
-
13
- ```yaml values
14
- role: hero
15
- stops: [oklch(0.938 0.031 81.8), oklch(0.881 0.040 295.1), oklch(0.521 0.268 277.4)]
16
- angle: 135deg
17
- intensity: loud
18
- ```
@@ -1,16 +0,0 @@
1
- ---
2
- id: teal-signal-accent
3
- class: a4
4
- sourced: 2026-07-12
5
- source: "Distilled from WebGradients 'Malibu Beach' (MIT-licensed, itmeo/webgradients)"
6
- license: open
7
- feel: "a bright cyan-blue sweep — energetic but still cool enough for technical software"
8
- ---
9
- Small-surface accent only — a "new" badge, a progress ring, a feature-spotlight chip. Too saturated for a full-panel background in a dense dashboard.
10
-
11
- ```yaml values
12
- role: accent
13
- stops: [oklch(0.724 0.149 248.1), oklch(0.874 0.149 201.2)]
14
- angle: 90deg
15
- intensity: medium
16
- ```
@@ -1,16 +0,0 @@
1
- ---
2
- id: violet-magenta-promo
3
- class: a4
4
- sourced: 2026-07-12
5
- source: "Distilled from Vercel's 'Preview' gradient pairing and the WebGradients 'North Miracle' family (MIT-licensed)"
6
- license: open
7
- feel: "bold violet cutting into magenta — premium and a little playful, not shy about it"
8
- ---
9
- Upsell or upgrade promo card, one per screen at most. Keep out of nav/sidebar chrome, where it would compete with live data for attention.
10
-
11
- ```yaml values
12
- role: accent
13
- stops: [oklch(0.491 0.228 300.4), oklch(0.645 0.260 2.5)]
14
- angle: 135deg
15
- intensity: loud
16
- ```
@@ -1,199 +0,0 @@
1
- ---
2
- id: iconography
3
- class: a5
4
- sourced: 2026-07-12
5
- source: "distilled from the A5 iconography phase-1 research sweep — Lucide, Tabler Icons, Radix Icons, Heroicons, Phosphor (Regular + Duotone), Material Symbols, IBM Carbon, Octicons, Linear, and Stripe Apps"
6
- license: mixed — nine of the eleven conventions below are open (OSS icon sets under ISC/MIT/Apache-2.0); two are licensed (Linear, Stripe) because they describe a proprietary product's house convention rather than a redistributable asset — see the `license` line inside each convention's own values block
7
- feel: "the register this file spans: quiet neutral utility (Lucide, Tabler) through dense-precision (Radix), paired-weight (Heroicons), rounded-friendly and illustrative (Phosphor), mechanically variable (Material Symbols), rectilinear enterprise (Carbon), hand-tuned developer precision (Octicons), to near-monochrome restraint (Linear, Stripe) — pick the register the product needs, not just a glyph shape"
8
- ---
9
- A small conventions database, not a big catalog — eleven curated iconography conventions, each a coherent bundle of icon set, stroke/fill treatment, size grid, default color role, and type-pairing rule, because real products never choose these independently. The standing complaint every entry below answers is the same one: a bare, icon-less nav reads as unfinished; each convention states plainly where icons are obligatory (nav, status glyphs, empty states) versus optional (body copy, pure decoration).
10
-
11
- ## Convention: lucide-quiet-utility
12
-
13
- **Feel:** "quiet, neutral utility line-work — reads as structural chrome, not decoration"
14
-
15
- Lucide (ISC-licensed fork of Feather) is the default pick for stroke-based quiet utility icons in SaaS dashboards. Obligatory in nav rails, sidebar items, and empty-state graphics — the failure mode this convention guards against is exactly a bare, icon-less nav; optional inline in body copy or button labels where the text alone already carries the meaning.
16
-
17
- ```yaml values
18
- set: Lucide (ISC license)
19
- stroke: "2px, currentColor, round caps/joins, no fills"
20
- grid: [24, 24]
21
- default-color: muted-foreground
22
- pairing: "absoluteStrokeWidth keeps the 2px line constant across sizes; optically matches a 14-16px UI sans at regular weight"
23
- obligatory: [nav-rail, sidebar-items, empty-state-graphics]
24
- optional: [body-copy, button-labels]
25
- license: open
26
- ```
27
-
28
- ## Convention: tabler-technical-outline
29
-
30
- **Feel:** "sharp, technical, exhaustive — the 'there's an icon for everything' catalog reads as engineering completeness, not a curated voice"
31
-
32
- Tabler's 6,000+ MIT icon catalog is the pick when coverage matters more than a distinct personality — admin panels, internal tools, anywhere a designer needs an icon for a niche concept without commissioning custom art. Obligatory in dense toolbars and table row-actions where recognition beats charm; optional as pure decoration, where its neutrality reads generic rather than intentional.
33
-
34
- ```yaml values
35
- set: Tabler Icons (MIT license)
36
- stroke: "2px, adjustable, currentColor"
37
- grid: [24, 24]
38
- default-color: "neutral-500 / muted-foreground"
39
- pairing: "2px stroke reads correctly against 14px UI text; bump to ~2.5px only above 32px display sizes so the line doesn't thin out"
40
- obligatory: [dense-toolbars, table-row-actions]
41
- optional: [pure-decoration]
42
- license: open
43
- ```
44
-
45
- ## Convention: radix-dense-precision
46
-
47
- **Feel:** "crisp, hard-edged precision built for the smallest interactive targets — dropdowns, toolbars, table cells, badges"
48
-
49
- Radix Icons' 15x15 grid (not the usual 24) exists because at the sizes dense UI actually renders icons — inside buttons, selects, table cells — a 24-grid icon scaled down loses pixel-snap crispness, while a native 15px drawing keeps strokes on-pixel. Obligatory wherever the paired control is itself sub-20px (combobox triggers, sort carets, badge glyphs); skip above ~20px, where the fixed grid stops paying off and a 24-grid set reads better — there is no "optional" tier here, only a hard size threshold.
50
-
51
- ```yaml values
52
- set: "Radix Icons (MIT license, designed by WorkOS)"
53
- stroke: "single fixed weight per icon — redrawn per size, not algorithmically scaled"
54
- grid: [15, 15]
55
- default-color: "gray-11 / muted-foreground"
56
- pairing: "matches the cap-height of 12-13px UI text used across Radix-based component libraries (Radix Themes, shadcn primitives)"
57
- obligatory: [combobox-triggers, sort-carets, badge-glyphs]
58
- optional: []
59
- skip-above: "~20px — hand off to a 24-grid set past this threshold"
60
- license: open
61
- ```
62
-
63
- ## Convention: heroicons-outline-solid-pair
64
-
65
- **Feel:** "Tailwind-native default — outline for resting state, solid for the moment something becomes true"
66
-
67
- Heroicons ships two coherent weights meant to be switched, never mixed within one context: 24px/1.5px-stroke outline for default and primary nav, 20px solid (plus a 16px mini and micro variant) for active/selected states and compact controls. Obligatory swap pattern: an outline icon in a nav item becomes its solid twin exactly when that item is current — the fill change is the only state signal, so don't blend outline and solid within the same list.
68
-
69
- ```yaml values
70
- set: "Heroicons (MIT license, Tailwind Labs)"
71
- stroke: "1.5px outline / filled solid — paired variants, not a weight slider"
72
- grid: [24, 24] # outline; solid ships at 20px, mini at 16px, micro at 16px
73
- default-color: "text-gray-500 (outline, resting) -> text-gray-900 or accent (solid, active)"
74
- pairing: "built on Tailwind's own h-4/h-5/h-6 scale, so icon size always lands exactly on a text-size step"
75
- obligatory: [nav-active-state-swap]
76
- optional: []
77
- license: open
78
- ```
79
-
80
- ## Convention: phosphor-rounded-friendly
81
-
82
- **Feel:** "rounded, approachable, slightly playful without tipping into cartoonish — the friendly-SaaS register between Lucide's neutrality and duotone's illustration"
83
-
84
- Phosphor's Regular weight is the rounded-friendly middle ground: softer terminals than Lucide or Tabler, but still a line icon, not a shape. Obligatory in consumer-facing or community products (onboarding flows, empty states, nav) where the brand voice is warm rather than clinical; match icon weight to type weight — Regular icon beside regular/medium body text, Bold icon only beside semibold-or-heavier headings, so the icon never visually undershoots its label.
85
-
86
- ```yaml values
87
- set: "Phosphor Icons — Regular weight (MIT license)"
88
- stroke: "~1.5px-equivalent stroke, rounded caps and joins"
89
- grid: [24, 24] # authored on a 256x256 source grid, shipped at 24px
90
- default-color: "muted-foreground, warms to accent on hover/active"
91
- pairing: "weight axis tracks type weight: Regular <-> body/UI text, Bold <-> semibold+ headings"
92
- obligatory: [onboarding-flows, empty-states, nav]
93
- optional: []
94
- license: open
95
- ```
96
-
97
- ## Convention: phosphor-duotone-expressive
98
-
99
- **Feel:** "filled, two-tone, illustrative — reads as a fragment of an illustration more than a clickable control"
100
-
101
- Phosphor's Duotone weight layers a full-opacity foreground shape over a 20%-opacity fill of the same color, giving flat icons a sense of depth without a second hue. Obligatory in empty states, onboarding checklists, and marketing-adjacent surfaces where an icon needs to carry emotional weight; never use duotone for functional nav or toolbar icons — the two-tone fill reads as illustration rather than an actionable control, and it undermines click affordance.
102
-
103
- ```yaml values
104
- set: "Phosphor Icons — Duotone weight (MIT license)"
105
- stroke: "filled: 100% opacity primary shape + 20% opacity secondary layer, same hue"
106
- grid: [24, 24]
107
- default-color: "brand/accent (duotone is inherently expressive, rarely neutral gray)"
108
- pairing: "sized 1.5-2x the adjacent display headline's cap height; never paired directly with dense UI text"
109
- obligatory: [empty-states, onboarding-checklists, marketing-adjacent-surfaces]
110
- optional: []
111
- never-use: [functional-nav, toolbar-icons]
112
- license: open
113
- ```
114
-
115
- ## Convention: material-symbols-variable-axes
116
-
117
- **Feel:** "mechanically consistent, endlessly adjustable — one variable font file standing in for what other systems ship as five separate icon sets"
118
-
119
- Material Symbols collapses weight, fill, grade, and optical size into a single variable font (`wght` 100-700, `FILL` 0/1, `GRAD` -50 to 200, `opsz` 20-48), so "outline vs. filled" and "thin vs. bold" become live CSS values instead of separate asset swaps. Obligatory pattern: `FILL 0` for resting nav items, animated to `FILL 1` on select — the fill toggle is the selected-state affordance itself, so a nav that skips it loses its only state signal.
120
-
121
- ```yaml values
122
- set: "Material Symbols (Apache-2.0 license, Google)"
123
- stroke: "variable FILL axis: 0 (outlined) to 1 (filled); wght 100-700, GRAD -50 to 200"
124
- grid: [24, 24] # opsz axis spans 20-48 on the same glyph
125
- default-color: "on-surface-variant (Material's muted-foreground equivalent)"
126
- pairing: "opsz should numerically track the paired text's rendered px/pt size 1:1, or stroke weight looks wrong at the range's edges"
127
- obligatory: [nav-fill-toggle-as-selected-state]
128
- optional: []
129
- license: open
130
- ```
131
-
132
- ## Convention: carbon-enterprise-grid
133
-
134
- **Feel:** "rectilinear, high-density, unmistakably enterprise — icons read as instrumentation, not ornament"
135
-
136
- IBM Carbon draws every icon on a 32x32 master grid with 2px padding, then scales linearly down to 24/20/16px rather than redrawing per size, keeping optical alignment exact across a data-dense UI. Obligatory at 16px inside buttons and inputs, where IBM Plex Sans runs at 14px; 24/32px reserved for standalone actions and empty-state illustration slots. Touch targets stay 44px+ regardless of the visual icon size — a Carbon-specific accessibility floor worth keeping alongside the visual convention.
137
-
138
- ```yaml values
139
- set: "IBM Carbon icons (Apache-2.0 license)"
140
- stroke: "solid/filled glyph forms scaled from one master grid, not a stroke-weight system"
141
- grid: [32, 32] # scales down linearly to 24/20/16 for actual component use
142
- default-color: "icon-primary token (near-black in light theme, near-white in dark)"
143
- pairing: "16/20px icons pair with 14/16px IBM Plex Sans UI text; 24/32px reserved for standalone or empty-state use"
144
- obligatory: [buttons-and-inputs-at-16px, standalone-actions-at-24-32px, empty-state-illustration]
145
- optional: []
146
- touch-target-floor: "44px+ regardless of visual icon size"
147
- license: open
148
- ```
149
-
150
- ## Convention: octicons-dual-precision
151
-
152
- **Feel:** "hand-tuned developer-tool precision — every icon individually redrawn per size rather than mechanically scaled"
153
-
154
- GitHub's Octicons draws each icon twice — a 16px version and a separately hand-corrected 24px version, rather than one scaled from the other — with a consistent 1.5px stroke, round caps/joins, and 1px corner radius across both. Obligatory at 16px in repo/PR/issue navigation chrome, where an icon-less nav row reads as visibly broken against GitHub's own conventions; 24px reserved for section headers and empty-state glyphs, never mixed with 16px in the same row.
155
-
156
- ```yaml values
157
- set: "Octicons — GitHub Primer (MIT license)"
158
- stroke: "1.5px, round caps and joins, 1px corner radius (0.25px on small filled arrowheads)"
159
- grid: [16, 16] # plus a separately hand-drawn 24x24 variant
160
- default-color: "fg.muted (Primer token)"
161
- pairing: "16px icon pairs with Primer's 14px UI text baseline; 24px pairs with section headers only"
162
- obligatory: [repo-pr-issue-nav-chrome-at-16px, section-headers-and-empty-states-at-24px]
163
- optional: []
164
- license: open
165
- ```
166
-
167
- ## Convention: linear-icon-restraint
168
-
169
- **Feel:** "near-monochrome restraint — icons are load-bearing wayfinding, never decoration, and the restraint itself is the brand voice"
170
-
171
- Linear confines icons almost exclusively to two obligatory slots — the sidebar nav rail and issue/status glyphs (priority, workflow state) — and deliberately withholds them everywhere else (body text, secondary inline actions) to protect density. The one place Linear over-indexes on icons rather than under-indexing is exactly where the standing complaint bites hardest: a nav with missing icons reads as unfinished, so nav iconography is treated as non-negotiable even though icons everywhere else stay optional.
172
-
173
- ```yaml values
174
- set: "product convention (implementation-agnostic thin outline, Lucide-class)"
175
- stroke: "~1.5px, single weight, no fill states except the active accent swap"
176
- grid: [16, 16]
177
- default-color: "muted-foreground, promotes to the single accent color only on active/selected state"
178
- pairing: "icon optical size matches the 13px UI sans cap height in the sidebar; icon and label baseline-align, never icon-only in primary nav"
179
- obligatory: [sidebar-nav-rail, issue-status-glyphs]
180
- optional: [body-text, secondary-inline-actions]
181
- license: licensed
182
- ```
183
-
184
- ## Convention: stripe-restrained-fintech
185
-
186
- **Feel:** "near-monochromatic, trustworthy, financial-instrument register — icons are quiet infrastructure, color is spent on one accent only"
187
-
188
- Stripe's Icon component ships a fixed five-step size scale (xsmall through xlarge) rather than free pixel values, keeping every icon on-grid with the dashboard's type scale by construction; icons default to inherit surrounding text color and only break to the brand indigo for strokes that need to signal interactivity. Obligatory in the dashboard nav rail and the app-indicator badge (the colored bar + icon identifying which Stripe App is active); optional-to-discouraged as decoration inside data-dense tables, where Stripe's own guidance limits custom styling to preserve platform consistency.
189
-
190
- ```yaml values
191
- set: "product convention (Stripe Dashboard / Stripe Apps Icon component)"
192
- stroke: "thin outline, inherits currentColor by default"
193
- grid: [16, 20, 24, 28, 32] # xsmall..xlarge step scale, not free px
194
- default-color: "inherits surrounding text color (currentColor); accent indigo for interactive strokes only"
195
- pairing: "icon size step always matches the adjacent text's type-scale step, never set independently"
196
- obligatory: [dashboard-nav-rail, app-indicator-badge]
197
- optional: [decoration-in-dense-tables]
198
- license: licensed
199
- ```
@@ -1,18 +0,0 @@
1
- ---
2
- id: accordion-expand
3
- class: a6
4
- sourced: 2026-07-12
5
- source: "emilkowalski.skills/skills/animation-vocabulary/SKILL.md (Accordion/Collapse term) + review-animations/STANDARDS.md (easing decision order — on-screen morph → strong ease-in-out; interruptibility)"
6
- license: open
7
- feel: "a 240ms reveal on a strong ease-in-out reads smooth; snapping open or drifting past 300ms reads clunky"
8
- aliases: { clunky: "a plain built-in easing instead of the strong custom ease-in-out curve", "snap-open": "no transition at all — content appears/disappears instantly", janky: "keyframes (or animated height) instead of an interruptible transition on transform/clip-path" }
9
- ---
10
- Expand/collapse sections, FAQ rows, nested tree rows — an on-screen morph, so ease-in-out, not the entrance curve. Prefer `clip-path`/transform reveals over animated `height` (layout property — off-GPU). Rapid toggling must retarget mid-animation, not restart from collapsed.
11
-
12
- ```yaml values
13
- duration: 240ms
14
- easing: cubic-bezier(0.77, 0, 0.175, 1)
15
- element-class: panel
16
- interruptible: required
17
- budget: { panel: 200-300ms }
18
- ```
@@ -1,18 +0,0 @@
1
- ---
2
- id: destructive-hold-confirm
3
- class: a6
4
- sourced: 2026-07-12
5
- source: "emilkowalski.skills/skills/review-animations/STANDARDS.md (asymmetric timing — press slow/release fast example, values verbatim class)"
6
- license: open
7
- feel: "a slow deliberate fill on hold with a fast release reads like the system is making you mean it; a symmetric hold/release reads accidental-prone"
8
- aliases: { "trigger-happy": "hold and release animating at the same speed, so a brief accidental hold nearly commits", "accidental-prone": "no hold gate at all — a single tap commits the destructive action" }
9
- ---
10
- Delete/destructive confirmations gated behind a hold, not a second click. The hold phase (user deciding) animates slow and must be abortable mid-hold; release or completion (system responding) snaps back fast.
11
-
12
- ```yaml values
13
- duration: 2000ms (hold-to-fill) / 200ms (release)
14
- easing: linear (hold) / cubic-bezier(0.23, 1, 0.32, 1) (release)
15
- element-class: control
16
- interruptible: required
17
- budget: { control: 1500-2500ms hold, 150-250ms release }
18
- ```
@@ -1,18 +0,0 @@
1
- ---
2
- id: drag-dismiss-momentum
3
- class: a6
4
- sourced: 2026-07-12
5
- source: "emilkowalski.skills/skills/review-animations/STANDARDS.md (gestures & drag — velocity dismissal; springs config) + apple-design/SKILL.md §5 (velocity handoff)"
6
- license: open
7
- feel: "a flick that keeps its exact velocity into the dismiss reads thrown away on purpose; a fixed-duration tween to the edge reads like the drag didn't matter"
8
- aliases: { disconnected: "velocity discarded at release in favor of a fixed-duration keyframe to the exit point", stuck: "dismissal gated on a distance threshold instead of release velocity (~0.11 px/ms)" }
9
- ---
10
- Swipe-to-dismiss on toasts, cards, sheets. The spring here is a correctness mechanism (velocity continuity for gesture-driven motion), not styling — it carries the pointer's release velocity into the exit and stays grabbable and reversible mid-flight. Bounce is canon-sanctioned specifically for drag-to-dismiss; it doesn't generalize.
11
-
12
- ```yaml values
13
- duration: 500ms (spring settle; no fixed duration)
14
- easing: spring(bounce 0.2, damping ~0.8)
15
- element-class: overlay
16
- interruptible: required
17
- budget: { overlay: 350-550ms }
18
- ```
@@ -1,18 +0,0 @@
1
- ---
2
- id: empty-state-arrive
3
- class: a6
4
- sourced: 2026-07-12
5
- source: "emilkowalski.skills/skills/review-animations/STANDARDS.md (springs — subtle bounce) + improve-animations/AUDIT.md §1 (rare moments); A6 admission law (identity-moment scope)"
6
- license: open
7
- feel: "an illustration that gently scales and settles in reads intentional, like the empty state was designed on purpose; a plain instant fade reads unfinished"
8
- aliases: { unfinished: "the empty-state illustration/copy just appearing with no entrance at all", overdone: "spring bounce strong enough to feel jokey rather than reassuring" }
9
- ---
10
- First-visit or true-zero-data empty states (no rows yet, no results yet). Low-frequency identity moment — springy motion is admissible, but keep bounce subtle since the tone is reassuring, not playful.
11
-
12
- ```yaml values
13
- duration: 450ms (spring; no fixed duration)
14
- easing: spring(bounce 0.15)
15
- element-class: identity-moment
16
- interruptible: n/a
17
- budget: { identity-moment: 350-550ms }
18
- ```
@@ -1,18 +0,0 @@
1
- ---
2
- id: hover-lift
3
- class: a6
4
- sourced: 2026-07-12
5
- source: "emilkowalski.skills/skills/emil-design-eng/SKILL.md (easing decision — hover → ease) + review-animations/STANDARDS.md (frequency tiers; hover gating); Easing Blueprint agrees as secondary"
6
- license: open
7
- feel: "a soft `ease` color/elevation shift under 200ms reads responsive; past 250ms or on touch it reads laggy and fake"
8
- aliases: { laggy: "hover duration pushed past the control budget", "fake-hover": "hover motion firing on a touch tap because it isn't gated to hover:hover and pointer:fine" }
9
- ---
10
- List rows, nav items, cards, toolbar icons on mouse-hover. Gate behind `@media (hover: hover) and (pointer: fine)` always. Sits in the "tens of times/day — reduce, don't eliminate" frequency tier; drop it first on any list scrolled constantly.
11
-
12
- ```yaml values
13
- duration: 150ms
14
- easing: ease
15
- element-class: control
16
- interruptible: n/a
17
- budget: { control: 120-200ms }
18
- ```
@@ -1,18 +0,0 @@
1
- ---
2
- id: modal-center-arrive
3
- class: a6
4
- sourced: 2026-07-12
5
- source: "emilkowalski.skills/skills/review-animations/STANDARDS.md (physicality — modal exemption; duration table, modal row) + improve-animations/AUDIT.md §3; Material emphasized-decelerate agrees as secondary"
6
- license: open
7
- feel: "a centered scale-from-0.95-and-fade at ~250ms on a strong ease-out reads deliberate and important; scale(0) or a snap-open reads like it teleported in"
8
- aliases: { teleported: "scale(0) or an opacity-only entrance with no initial transform", "snap-open": "no interpolation at all — the dialog just appears" }
9
- ---
10
- Dialogs and confirmation modals only — the one place `transform-origin: center` is correct, exempt from the trigger-anchoring rule. Entrance starts from scale 0.9-0.97 + opacity 0, never scale(0); the longer end of the budget is the modal's prominence — don't reuse it on tooltips or dropdowns.
11
-
12
- ```yaml values
13
- duration: 250ms
14
- easing: cubic-bezier(0.23, 1, 0.32, 1)
15
- element-class: overlay
16
- interruptible: n/a
17
- budget: { overlay: 200-500ms }
18
- ```
@@ -1,18 +0,0 @@
1
- ---
2
- id: number-ticker-roll
3
- class: a6
4
- sourced: 2026-07-12
5
- source: "emilkowalski.skills/skills/animation-vocabulary/SKILL.md (Number ticker; Tabular numbers) + review-animations/STANDARDS.md (sub-300ms rule; interruptibility)"
6
- license: open
7
- feel: "digits rolling to the new value at ~250ms read like a live counter; an instant jump-cut reads like the number just glitched"
8
- aliases: { glitched: "value changes with no roll/interpolation at all", "tabular-drift": "digits set without tabular figures, so the number visibly shifts width as it rolls", janky: "keyframe roll restarting from zero on each rapid update instead of retargeting" }
9
- ---
10
- Live counters, stat tiles, KPI cards, running totals — system-driven value changes, so the sub-300ms UI rule applies. Requires tabular figures so surrounding layout doesn't shift while digits roll. Rapid successive updates retarget the roll (transition, not keyframes), never restart from zero.
11
-
12
- ```yaml values
13
- duration: 250ms
14
- easing: cubic-bezier(0.23, 1, 0.32, 1)
15
- element-class: control
16
- interruptible: required
17
- budget: { control: 200-300ms }
18
- ```