contextos-agents 1.7.0 → 2.0.0-beta.2

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 (309) hide show
  1. package/.agents/AGENTS.md +1 -1
  2. package/.agents/adapters/aider/export.js +117 -99
  3. package/.agents/adapters/claude/export.js +68 -26
  4. package/.agents/adapters/copilot/export.js +90 -53
  5. package/.agents/adapters/cursor/export.js +80 -101
  6. package/.agents/adapters/drift-detector.js +196 -0
  7. package/.agents/adapters/gemini/export.js +76 -45
  8. package/.agents/adapters/pure-compiler.js +443 -0
  9. package/.agents/adapters/zed/export.js +104 -96
  10. package/.agents/compiled/registry.v2.json +504 -0
  11. package/.agents/compiled/registry.v2.sha256 +1 -0
  12. package/.agents/compiler/manifest-compiler.js +963 -0
  13. package/.agents/compiler/vendor/yaml.LICENSE.txt +13 -0
  14. package/.agents/compiler/vendor/yaml.SBOM.json +6 -0
  15. package/.agents/compiler/vendor/yaml.js +139 -0
  16. package/.agents/core/profiles/init.yaml +25 -0
  17. package/.agents/core/skills/context-manager/skill.yaml +3 -5
  18. package/.agents/core/skills/context-os/SKILL.md +3 -6
  19. package/.agents/core/skills/context-os/skill.yaml +3 -8
  20. package/.agents/core/skills/engineering-workflow/skill.yaml +1 -7
  21. package/.agents/core/skills/gemini-precision/skill.yaml +1 -6
  22. package/.agents/core/skills/gstack-roles/skill.yaml +3 -6
  23. package/.agents/core/skills/ponytail-mindset/skill.yaml +1 -7
  24. package/.agents/core/skills/security/skill.yaml +15 -3
  25. package/.agents/ctx.js +574 -111
  26. package/.agents/customization-dx.js +282 -0
  27. package/.agents/doctor.js +719 -64
  28. package/.agents/filesystem/index.js +71 -0
  29. package/.agents/filesystem/journaled-transaction.js +451 -0
  30. package/.agents/filesystem/lockfile-v2.js +275 -0
  31. package/.agents/filesystem/platform-hardening.js +222 -0
  32. package/.agents/filesystem/project-lock.js +218 -0
  33. package/.agents/filesystem/safe-path.js +256 -0
  34. package/.agents/generated/claude/skills/context-os/SKILL.md +1 -1
  35. package/.agents/generated/gemini/skills/context-os/SKILL.md +2 -2
  36. package/.agents/plugins/contextos/plugin.json +1 -1
  37. package/.agents/plugins.js +259 -60
  38. package/.agents/profiles.js +486 -51
  39. package/.agents/resolver.js +50 -534
  40. package/.agents/schemas/attestation.review.v1.json +111 -0
  41. package/.agents/schemas/attestation.verification.v1.json +85 -0
  42. package/.agents/schemas/lockfile.v2.schema.json +134 -0
  43. package/.agents/schemas/profile.v2.schema.json +114 -0
  44. package/.agents/schemas/runtime.thread.v1.json +192 -0
  45. package/.agents/schemas/skill.manifest.v2.json +177 -0
  46. package/.agents/schemas/verification.spec.v1.json +39 -0
  47. package/.agents/schemas/workspace.graph.schema.json +106 -0
  48. package/.agents/transaction-core/event-store.js +288 -0
  49. package/.agents/transaction-core/idempotency.js +129 -0
  50. package/.agents/transaction-core/ipc-lock.js +311 -0
  51. package/.agents/transaction-core/plugin-supply-chain-bundle.js +436 -0
  52. package/.agents/validate.js +44 -1
  53. package/.agents/watch.js +354 -102
  54. package/.agents/workspace/workspace-graph.js +778 -0
  55. package/README.md +59 -387
  56. package/benchmarks/v2/analysis/statistics.js +140 -0
  57. package/benchmarks/v2/analysis/stats.js +69 -0
  58. package/benchmarks/v2/arms/arm-definitions.js +79 -0
  59. package/benchmarks/v2/dataset.schema.json +34 -0
  60. package/benchmarks/v2/evaluators/index.js +25 -0
  61. package/benchmarks/v2/evaluators/verified-success.js +116 -0
  62. package/benchmarks/v2/harness/runner.js +88 -0
  63. package/benchmarks/v2/pilot-tasks.json +392 -0
  64. package/bin/commands/recover.js +88 -0
  65. package/bin/commands/update.js +80 -17
  66. package/bin/commands.js +62 -25
  67. package/bin/index.js +138 -81
  68. package/bin/lib/lockfile.js +5 -3
  69. package/bin/lib/safe-writer.js +34 -3
  70. package/package.json +85 -72
  71. package/registry.json +2 -2
  72. package/registry.v2.schema.json +86 -0
  73. package/.agents/core/profiles/backend.yaml +0 -47
  74. package/.agents/core/profiles/enterprise.yaml +0 -46
  75. package/.agents/core/profiles/frontend.yaml +0 -46
  76. package/.agents/core/profiles/hackathon.yaml +0 -45
  77. package/.agents/core/profiles/mvp.yaml +0 -44
  78. package/.agents/core/profiles/startup.yaml +0 -48
  79. package/.agents/core/skills/adapters/EXAMPLES.md +0 -19
  80. package/.agents/core/skills/adapters/SKILL.md +0 -105
  81. package/.agents/core/skills/adapters/TROUBLESHOOTING.md +0 -7
  82. package/.agents/core/skills/adapters/VALIDATION.json +0 -12
  83. package/.agents/core/skills/adapters/skill.yaml +0 -16
  84. package/.agents/core/skills/architecture-diagrams/SKILL.md +0 -108
  85. package/.agents/core/skills/architecture-diagrams/VALIDATION.json +0 -12
  86. package/.agents/core/skills/architecture-diagrams/skill.yaml +0 -12
  87. package/.agents/core/skills/brutalist-design/SKILL.md +0 -150
  88. package/.agents/core/skills/brutalist-design/VALIDATION.json +0 -12
  89. package/.agents/core/skills/brutalist-design/skill.yaml +0 -12
  90. package/.agents/core/skills/database/EXAMPLES.md +0 -74
  91. package/.agents/core/skills/database/SKILL.md +0 -101
  92. package/.agents/core/skills/database/TROUBLESHOOTING.md +0 -18
  93. package/.agents/core/skills/database/VALIDATION.json +0 -11
  94. package/.agents/core/skills/database/skill.yaml +0 -31
  95. package/.agents/core/skills/ddd/EXAMPLES.md +0 -42
  96. package/.agents/core/skills/ddd/SKILL.md +0 -247
  97. package/.agents/core/skills/ddd/TROUBLESHOOTING.md +0 -19
  98. package/.agents/core/skills/ddd/VALIDATION.json +0 -12
  99. package/.agents/core/skills/ddd/ddd.md +0 -178
  100. package/.agents/core/skills/ddd/skill.yaml +0 -17
  101. package/.agents/core/skills/decisions/EXAMPLES.md +0 -35
  102. package/.agents/core/skills/decisions/SKILL.md +0 -90
  103. package/.agents/core/skills/decisions/TROUBLESHOOTING.md +0 -13
  104. package/.agents/core/skills/decisions/VALIDATION.json +0 -12
  105. package/.agents/core/skills/decisions/skill.yaml +0 -16
  106. package/.agents/core/skills/docker/EXAMPLES.md +0 -56
  107. package/.agents/core/skills/docker/SKILL.md +0 -63
  108. package/.agents/core/skills/docker/TROUBLESHOOTING.md +0 -18
  109. package/.agents/core/skills/docker/VALIDATION.json +0 -11
  110. package/.agents/core/skills/docker/skill.yaml +0 -29
  111. package/.agents/core/skills/fastapi/EXAMPLES.md +0 -36
  112. package/.agents/core/skills/fastapi/SKILL.md +0 -148
  113. package/.agents/core/skills/fastapi/TROUBLESHOOTING.md +0 -19
  114. package/.agents/core/skills/fastapi/VALIDATION.json +0 -12
  115. package/.agents/core/skills/fastapi/fastapi.md +0 -112
  116. package/.agents/core/skills/fastapi/skill.yaml +0 -17
  117. package/.agents/core/skills/generators/EXAMPLES.md +0 -19
  118. package/.agents/core/skills/generators/SKILL.md +0 -112
  119. package/.agents/core/skills/generators/TROUBLESHOOTING.md +0 -7
  120. package/.agents/core/skills/generators/VALIDATION.json +0 -12
  121. package/.agents/core/skills/generators/skill.yaml +0 -25
  122. package/.agents/core/skills/generators/templates/API.md +0 -77
  123. package/.agents/core/skills/generators/templates/ARCHITECTURE.md +0 -70
  124. package/.agents/core/skills/generators/templates/DATABASE.md +0 -42
  125. package/.agents/core/skills/generators/templates/DECISION.md +0 -46
  126. package/.agents/core/skills/generators/templates/PRD.md +0 -67
  127. package/.agents/core/skills/generators/templates/PROJECT_GRAPH.md +0 -56
  128. package/.agents/core/skills/generators/templates/ROADMAP.md +0 -51
  129. package/.agents/core/skills/generators/templates/TASKS.md +0 -43
  130. package/.agents/core/skills/generators/templates/UI.md +0 -73
  131. package/.agents/core/skills/graphify/EXAMPLES.md +0 -73
  132. package/.agents/core/skills/graphify/SKILL.md +0 -130
  133. package/.agents/core/skills/graphify/VALIDATION.json +0 -12
  134. package/.agents/core/skills/graphify/skill.yaml +0 -18
  135. package/.agents/core/skills/impeccable-design/EXAMPLES.md +0 -26
  136. package/.agents/core/skills/impeccable-design/SKILL.md +0 -201
  137. package/.agents/core/skills/impeccable-design/TROUBLESHOOTING.md +0 -19
  138. package/.agents/core/skills/impeccable-design/VALIDATION.json +0 -12
  139. package/.agents/core/skills/impeccable-design/skill.yaml +0 -20
  140. package/.agents/core/skills/interview-me/SKILL.md +0 -97
  141. package/.agents/core/skills/interview-me/VALIDATION.json +0 -12
  142. package/.agents/core/skills/interview-me/skill.yaml +0 -12
  143. package/.agents/core/skills/microservices/EXAMPLES.md +0 -38
  144. package/.agents/core/skills/microservices/SKILL.md +0 -164
  145. package/.agents/core/skills/microservices/TROUBLESHOOTING.md +0 -19
  146. package/.agents/core/skills/microservices/VALIDATION.json +0 -12
  147. package/.agents/core/skills/microservices/microservices.md +0 -119
  148. package/.agents/core/skills/microservices/skill.yaml +0 -17
  149. package/.agents/core/skills/minimalist-design/SKILL.md +0 -113
  150. package/.agents/core/skills/minimalist-design/VALIDATION.json +0 -12
  151. package/.agents/core/skills/minimalist-design/skill.yaml +0 -12
  152. package/.agents/core/skills/nestjs/EXAMPLES.md +0 -40
  153. package/.agents/core/skills/nestjs/SKILL.md +0 -139
  154. package/.agents/core/skills/nestjs/TROUBLESHOOTING.md +0 -19
  155. package/.agents/core/skills/nestjs/VALIDATION.json +0 -12
  156. package/.agents/core/skills/nestjs/nestjs.md +0 -103
  157. package/.agents/core/skills/nestjs/skill.yaml +0 -17
  158. package/.agents/core/skills/nextjs/EXAMPLES.md +0 -40
  159. package/.agents/core/skills/nextjs/SKILL.md +0 -163
  160. package/.agents/core/skills/nextjs/TROUBLESHOOTING.md +0 -19
  161. package/.agents/core/skills/nextjs/VALIDATION.json +0 -12
  162. package/.agents/core/skills/nextjs/nextjs.md +0 -67
  163. package/.agents/core/skills/nextjs/skill.yaml +0 -17
  164. package/.agents/core/skills/node/EXAMPLES.md +0 -80
  165. package/.agents/core/skills/node/SKILL.md +0 -128
  166. package/.agents/core/skills/node/TROUBLESHOOTING.md +0 -19
  167. package/.agents/core/skills/node/VALIDATION.json +0 -12
  168. package/.agents/core/skills/node/node.md +0 -87
  169. package/.agents/core/skills/node/skill.yaml +0 -17
  170. package/.agents/core/skills/performance/EXAMPLES.md +0 -30
  171. package/.agents/core/skills/performance/SKILL.md +0 -75
  172. package/.agents/core/skills/performance/TROUBLESHOOTING.md +0 -19
  173. package/.agents/core/skills/performance/VALIDATION.json +0 -12
  174. package/.agents/core/skills/performance/performance.md +0 -52
  175. package/.agents/core/skills/performance/skill.yaml +0 -17
  176. package/.agents/core/skills/react/EXAMPLES.md +0 -79
  177. package/.agents/core/skills/react/SKILL.md +0 -132
  178. package/.agents/core/skills/react/TROUBLESHOOTING.md +0 -19
  179. package/.agents/core/skills/react/VALIDATION.json +0 -12
  180. package/.agents/core/skills/react/react.md +0 -93
  181. package/.agents/core/skills/react/skill.yaml +0 -17
  182. package/.agents/core/skills/react-best-practices/SKILL.md +0 -155
  183. package/.agents/core/skills/react-best-practices/VALIDATION.json +0 -12
  184. package/.agents/core/skills/react-best-practices/skill.yaml +0 -14
  185. package/.agents/core/skills/redesign-audit/SKILL.md +0 -117
  186. package/.agents/core/skills/redesign-audit/VALIDATION.json +0 -12
  187. package/.agents/core/skills/redesign-audit/skill.yaml +0 -12
  188. package/.agents/core/skills/soft-design/SKILL.md +0 -108
  189. package/.agents/core/skills/soft-design/VALIDATION.json +0 -12
  190. package/.agents/core/skills/soft-design/skill.yaml +0 -12
  191. package/.agents/core/skills/state-management/EXAMPLES.md +0 -56
  192. package/.agents/core/skills/state-management/SKILL.md +0 -48
  193. package/.agents/core/skills/state-management/TROUBLESHOOTING.md +0 -18
  194. package/.agents/core/skills/state-management/VALIDATION.json +0 -11
  195. package/.agents/core/skills/state-management/skill.yaml +0 -28
  196. package/.agents/core/skills/subagent-orchestrator/SKILL.md +0 -117
  197. package/.agents/core/skills/subagent-orchestrator/VALIDATION.json +0 -12
  198. package/.agents/core/skills/subagent-orchestrator/skill.yaml +0 -12
  199. package/.agents/core/skills/system-design/EXAMPLES.md +0 -75
  200. package/.agents/core/skills/system-design/SKILL.md +0 -419
  201. package/.agents/core/skills/system-design/TROUBLESHOOTING.md +0 -19
  202. package/.agents/core/skills/system-design/VALIDATION.json +0 -12
  203. package/.agents/core/skills/system-design/skill.yaml +0 -20
  204. package/.agents/core/skills/system-design/system-design.md +0 -112
  205. package/.agents/core/skills/testing/EXAMPLES.md +0 -71
  206. package/.agents/core/skills/testing/SKILL.md +0 -70
  207. package/.agents/core/skills/testing/TROUBLESHOOTING.md +0 -18
  208. package/.agents/core/skills/testing/VALIDATION.json +0 -11
  209. package/.agents/core/skills/testing/skill.yaml +0 -32
  210. package/.agents/core/skills/typescript/EXAMPLES.md +0 -64
  211. package/.agents/core/skills/typescript/SKILL.md +0 -112
  212. package/.agents/core/skills/typescript/TROUBLESHOOTING.md +0 -19
  213. package/.agents/core/skills/typescript/VALIDATION.json +0 -12
  214. package/.agents/core/skills/typescript/skill.yaml +0 -17
  215. package/.agents/core/skills/typescript/typescript.md +0 -71
  216. package/.agents/core/skills/ui-design/EXAMPLES.md +0 -21
  217. package/.agents/core/skills/ui-design/SKILL.md +0 -124
  218. package/.agents/core/skills/ui-design/TROUBLESHOOTING.md +0 -19
  219. package/.agents/core/skills/ui-design/VALIDATION.json +0 -12
  220. package/.agents/core/skills/ui-design/skill.yaml +0 -17
  221. package/.agents/core/skills/ui-design/ui.md +0 -88
  222. package/.agents/core/skills/ui-ux-pro/EXAMPLES.md +0 -62
  223. package/.agents/core/skills/ui-ux-pro/SKILL.md +0 -375
  224. package/.agents/core/skills/ui-ux-pro/TROUBLESHOOTING.md +0 -19
  225. package/.agents/core/skills/ui-ux-pro/VALIDATION.json +0 -12
  226. package/.agents/core/skills/ui-ux-pro/skill.yaml +0 -19
  227. package/.agents/core/skills/ux-design/EXAMPLES.md +0 -36
  228. package/.agents/core/skills/ux-design/SKILL.md +0 -116
  229. package/.agents/core/skills/ux-design/TROUBLESHOOTING.md +0 -19
  230. package/.agents/core/skills/ux-design/VALIDATION.json +0 -12
  231. package/.agents/core/skills/ux-design/skill.yaml +0 -17
  232. package/.agents/core/skills/ux-design/ux.md +0 -80
  233. package/.agents/core/skills/vercel-optimize/SKILL.md +0 -83
  234. package/.agents/core/skills/vercel-optimize/VALIDATION.json +0 -12
  235. package/.agents/core/skills/vercel-optimize/scripts/collect-signals.mjs +0 -131
  236. package/.agents/core/skills/vercel-optimize/scripts/gate-investigations.mjs +0 -142
  237. package/.agents/core/skills/vercel-optimize/scripts/merge-signals.mjs +0 -143
  238. package/.agents/core/skills/vercel-optimize/scripts/scan-codebase.mjs +0 -174
  239. package/.agents/core/skills/vercel-optimize/skill.yaml +0 -18
  240. package/.agents/core/skills/web-accessibility/EXAMPLES.md +0 -39
  241. package/.agents/core/skills/web-accessibility/SKILL.md +0 -170
  242. package/.agents/core/skills/web-accessibility/TROUBLESHOOTING.md +0 -19
  243. package/.agents/core/skills/web-accessibility/VALIDATION.json +0 -12
  244. package/.agents/core/skills/web-accessibility/accessibility.md +0 -63
  245. package/.agents/core/skills/web-accessibility/skill.yaml +0 -17
  246. package/.agents/generated/claude/skills/adapters/SKILL.md +0 -126
  247. package/.agents/generated/claude/skills/architecture-diagrams/SKILL.md +0 -101
  248. package/.agents/generated/claude/skills/brutalist-design/SKILL.md +0 -145
  249. package/.agents/generated/claude/skills/database/SKILL.md +0 -191
  250. package/.agents/generated/claude/skills/ddd/SKILL.md +0 -305
  251. package/.agents/generated/claude/skills/decisions/SKILL.md +0 -134
  252. package/.agents/generated/claude/skills/docker/SKILL.md +0 -135
  253. package/.agents/generated/claude/skills/fastapi/SKILL.md +0 -200
  254. package/.agents/generated/claude/skills/generators/SKILL.md +0 -133
  255. package/.agents/generated/claude/skills/graphify/SKILL.md +0 -198
  256. package/.agents/generated/claude/skills/impeccable-design/SKILL.md +0 -241
  257. package/.agents/generated/claude/skills/interview-me/SKILL.md +0 -90
  258. package/.agents/generated/claude/skills/microservices/SKILL.md +0 -218
  259. package/.agents/generated/claude/skills/minimalist-design/SKILL.md +0 -108
  260. package/.agents/generated/claude/skills/nestjs/SKILL.md +0 -195
  261. package/.agents/generated/claude/skills/nextjs/SKILL.md +0 -219
  262. package/.agents/generated/claude/skills/node/SKILL.md +0 -224
  263. package/.agents/generated/claude/skills/performance/SKILL.md +0 -121
  264. package/.agents/generated/claude/skills/react/SKILL.md +0 -227
  265. package/.agents/generated/claude/skills/react-best-practices/SKILL.md +0 -146
  266. package/.agents/generated/claude/skills/redesign-audit/SKILL.md +0 -112
  267. package/.agents/generated/claude/skills/soft-design/SKILL.md +0 -103
  268. package/.agents/generated/claude/skills/state-management/SKILL.md +0 -120
  269. package/.agents/generated/claude/skills/subagent-orchestrator/SKILL.md +0 -110
  270. package/.agents/generated/claude/skills/system-design/SKILL.md +0 -507
  271. package/.agents/generated/claude/skills/testing/SKILL.md +0 -157
  272. package/.agents/generated/claude/skills/typescript/SKILL.md +0 -192
  273. package/.agents/generated/claude/skills/ui-design/SKILL.md +0 -161
  274. package/.agents/generated/claude/skills/ui-ux-pro/SKILL.md +0 -451
  275. package/.agents/generated/claude/skills/ux-design/SKILL.md +0 -168
  276. package/.agents/generated/claude/skills/vercel-optimize/SKILL.md +0 -76
  277. package/.agents/generated/claude/skills/web-accessibility/SKILL.md +0 -225
  278. package/.agents/generated/gemini/skills/adapters/SKILL.md +0 -135
  279. package/.agents/generated/gemini/skills/architecture-diagrams/SKILL.md +0 -107
  280. package/.agents/generated/gemini/skills/brutalist-design/SKILL.md +0 -151
  281. package/.agents/generated/gemini/skills/database/SKILL.md +0 -200
  282. package/.agents/generated/gemini/skills/ddd/SKILL.md +0 -314
  283. package/.agents/generated/gemini/skills/decisions/SKILL.md +0 -143
  284. package/.agents/generated/gemini/skills/docker/SKILL.md +0 -144
  285. package/.agents/generated/gemini/skills/fastapi/SKILL.md +0 -209
  286. package/.agents/generated/gemini/skills/generators/SKILL.md +0 -142
  287. package/.agents/generated/gemini/skills/graphify/SKILL.md +0 -205
  288. package/.agents/generated/gemini/skills/impeccable-design/SKILL.md +0 -250
  289. package/.agents/generated/gemini/skills/interview-me/SKILL.md +0 -96
  290. package/.agents/generated/gemini/skills/microservices/SKILL.md +0 -227
  291. package/.agents/generated/gemini/skills/minimalist-design/SKILL.md +0 -114
  292. package/.agents/generated/gemini/skills/nestjs/SKILL.md +0 -204
  293. package/.agents/generated/gemini/skills/nextjs/SKILL.md +0 -298
  294. package/.agents/generated/gemini/skills/node/SKILL.md +0 -323
  295. package/.agents/generated/gemini/skills/performance/SKILL.md +0 -185
  296. package/.agents/generated/gemini/skills/react/SKILL.md +0 -332
  297. package/.agents/generated/gemini/skills/react-best-practices/SKILL.md +0 -152
  298. package/.agents/generated/gemini/skills/redesign-audit/SKILL.md +0 -118
  299. package/.agents/generated/gemini/skills/soft-design/SKILL.md +0 -109
  300. package/.agents/generated/gemini/skills/state-management/SKILL.md +0 -129
  301. package/.agents/generated/gemini/skills/subagent-orchestrator/SKILL.md +0 -116
  302. package/.agents/generated/gemini/skills/system-design/SKILL.md +0 -631
  303. package/.agents/generated/gemini/skills/testing/SKILL.md +0 -166
  304. package/.agents/generated/gemini/skills/typescript/SKILL.md +0 -275
  305. package/.agents/generated/gemini/skills/ui-design/SKILL.md +0 -170
  306. package/.agents/generated/gemini/skills/ui-ux-pro/SKILL.md +0 -460
  307. package/.agents/generated/gemini/skills/ux-design/SKILL.md +0 -177
  308. package/.agents/generated/gemini/skills/vercel-optimize/SKILL.md +0 -82
  309. package/.agents/generated/gemini/skills/web-accessibility/SKILL.md +0 -300
@@ -1,124 +0,0 @@
1
- ---
2
- name: UI Design
3
- description: >
4
- ContextOS skill for UI Design
5
- ---
6
-
7
- # UI Design
8
-
9
- ## Overview
10
-
11
- Modern component library and design system engineering. Enforces design token hierarchies (spacing, radii, elevation), accessible component primitives (shadcn/ui, Radix), and responsive layout constraints.
12
-
13
- ## When to Use
14
-
15
- Activate when designing design systems, reusable UI component libraries, navigation bars, modals, data tables, and interactive dashboards.
16
-
17
- ## Rules & Patterns
18
- <!-- Source: ui.md -->
19
-
20
- ## UI Design — Best Practices
21
-
22
- ## Design System Foundations
23
-
24
- ### Color
25
-
26
- - **Never use generic colors** — curate a harmonious palette
27
- - **Always tint** — no pure black (#000), no pure gray. Add a subtle warm or cool tint
28
- - **Color roles**: primary (action), secondary (accent), neutral (text, borders), semantic (error, success, warning, info)
29
- - **Dark mode**: design intentionally, not just invert. Surface hierarchy: background < surface < elevated
30
- - **Contrast**: 4.5:1 minimum for body text, 3:1 for large text
31
-
32
- ### Typography
33
-
34
- - **Never use browser defaults** — choose a curated font (Inter, Outfit, Geist, Sora)
35
- - **Type scale**: use a modular scale (1.25 ratio) — 12, 14, 16, 20, 24, 32, 40, 48
36
- - **Font weights**: Regular (400), Medium (500), Semibold (600), Bold (700). Don't use all of them — pick 2-3
37
- - **Line height**: 1.5 for body, 1.2 for headings, 1.6 for long-form text
38
- - **Max line width**: 65-75 characters for readability
39
-
40
- ### Spacing
41
-
42
- - **Use a 4px grid** — all spacing should be multiples of 4
43
- - **Spacing scale**: 4, 8, 12, 16, 20, 24, 32, 40, 48, 64, 80, 96
44
- - **Consistency** — same spacing between similar elements
45
- - **Whitespace is design** — don't fill every pixel
46
-
47
- ### Layout
48
-
49
- - **Grid system**: 12-column grid for desktop, 4-column for mobile
50
- - **Visual hierarchy**: size, weight, color, spacing, position
51
- - **F-pattern/Z-pattern** — for content-heavy pages
52
- - **Group related items** — use proximity and boundaries
53
-
54
- ## Component Patterns
55
-
56
- ### Buttons
57
-
58
- - Clear hierarchy: Primary > Secondary > Ghost/Text
59
- - Consistent sizing: sm (32px), md (40px), lg (48px)
60
- - States: default, hover, active, disabled, loading
61
- - Always accessible: sufficient contrast, focus indicator
62
-
63
- ### Forms
64
-
65
- - Labels above inputs (not floating labels for critical forms)
66
- - Clear error states with inline messages
67
- - Logical tab order
68
- - Progressive disclosure — don't show all fields at once
69
-
70
- ### Cards
71
-
72
- - Don't nest cards inside cards
73
- - Clear visual hierarchy within the card
74
- - Consistent padding and spacing
75
- - Interactive cards need hover state
76
-
77
- ### Navigation
78
-
79
- - Maximum 7±2 items in primary nav
80
- - Clear active state
81
- - Mobile: bottom nav or hamburger (not both)
82
- - Breadcrumbs for deep hierarchies
83
-
84
- ## Animation Principles
85
-
86
- - **Purpose**: guide attention, show relationships, provide feedback
87
- - **Duration**: 150-300ms for micro-interactions, 300-500ms for transitions
88
- - **Easing**: `ease-out` for entrances, `ease-in` for exits. Never `bounce` or `elastic`
89
- - **Reduce motion**: respect `prefers-reduced-motion`
90
-
91
- ## Anti-Patterns (from Impeccable)
92
-
93
- - [FAIL] Gray text on colored backgrounds — destroys readability
94
- - [FAIL] Pure black text on white (#000 on #fff) — too harsh, tint the black
95
- - [FAIL] Cards nested inside cards — visual noise
96
- - [FAIL] Bounce/elastic easing — feels dated
97
- - [FAIL] Icon tile above every heading — SaaS template tell
98
- - [FAIL] Purple-to-blue gradient on everything — overused
99
- - [FAIL] Using Inter for everything — pick a font that matches your brand
100
- - [FAIL] Rounded-square icons everywhere — lack of visual variety
101
-
102
- ## Dark Mode
103
-
104
- - Surface elevation through subtle lightening (not colored backgrounds)
105
- - Reduce white contrast — use #E0E0E0, not #FFFFFF
106
- - Shadows become less visible — use subtle borders or elevation changes
107
- - Test all states in both modes
108
-
109
-
110
- ## Code Examples
111
-
112
- See `EXAMPLES.md` for detailed code examples.
113
-
114
- ## Validation Checklist
115
-
116
- What to verify during the review phase before completing the task.
117
-
118
- ## Common Mistakes
119
-
120
- Anti-patterns and things to explicitly avoid. See `TROUBLESHOOTING.md`.
121
-
122
- ## Integration Notes
123
-
124
- How this skill interacts with other skills.
@@ -1,19 +0,0 @@
1
- # ui-design Troubleshooting & Common Mistakes
2
-
3
- ## 1. Z-Index Chaos
4
-
5
- - **Symptom**: Tooltips rendered underneath dialog overlays, or dropdowns hidden behind sticky headers.
6
- - **Root Cause**: Ad-hoc hardcoded values (z-50, z-[999], z-[9999]).
7
- - **Fix**: Use Radix / shadcn Portals for floating elements so they render at root DOM level, or declare strict z-index tokens.
8
-
9
- ## 2. Inconsistent Component States
10
-
11
- - **Symptom**: Buttons have hover states but lack focus-visible rings or disabled states.
12
- - **Root Cause**: Styling only the default and hover states.
13
- - **Fix**: Standardize state matrices for every interactive element: default, hover, focus-visible, active, disabled, loading.
14
-
15
- ## 3. Ignoring Empty and Error Component States
16
-
17
- - **Symptom**: Tables or list views show a blank white box when there are 0 records.
18
- - **Root Cause**: Developers only design for the "ideal data" case.
19
- - **Fix**: Every data component must explicitly render designed EmptyState and ErrorState fallbacks.
@@ -1,12 +0,0 @@
1
- {
2
- "$schema": "http://json-schema.org/draft-07/schema#",
3
- "type": "object",
4
- "properties": {
5
- "rules_followed": {
6
- "type": "boolean"
7
- }
8
- },
9
- "required": [
10
- "rules_followed"
11
- ]
12
- }
@@ -1,17 +0,0 @@
1
- id: ui-design
2
- name: UI Design
3
- category: design
4
- type: instruction-only
5
- tags: [design, ui, components, design-system, visual]
6
- requires: []
7
- optional: [react, tailwind, web-accessibility]
8
- conflicts: []
9
- weight: 7
10
- documents:
11
- - ui.md
12
- resources:
13
- - EXAMPLES.md
14
- - SKILL.md
15
- - TROUBLESHOOTING.md
16
- - VALIDATION.json
17
- - ui.md
@@ -1,88 +0,0 @@
1
- # UI Design — Best Practices
2
-
3
- ## Design System Foundations
4
-
5
- ### Color
6
-
7
- - **Never use generic colors** — curate a harmonious palette
8
- - **Always tint** — no pure black (#000), no pure gray. Add a subtle warm or cool tint
9
- - **Color roles**: primary (action), secondary (accent), neutral (text, borders), semantic (error, success, warning, info)
10
- - **Dark mode**: design intentionally, not just invert. Surface hierarchy: background < surface < elevated
11
- - **Contrast**: 4.5:1 minimum for body text, 3:1 for large text
12
-
13
- ### Typography
14
-
15
- - **Never use browser defaults** — choose a curated font (Inter, Outfit, Geist, Sora)
16
- - **Type scale**: use a modular scale (1.25 ratio) — 12, 14, 16, 20, 24, 32, 40, 48
17
- - **Font weights**: Regular (400), Medium (500), Semibold (600), Bold (700). Don't use all of them — pick 2-3
18
- - **Line height**: 1.5 for body, 1.2 for headings, 1.6 for long-form text
19
- - **Max line width**: 65-75 characters for readability
20
-
21
- ### Spacing
22
-
23
- - **Use a 4px grid** — all spacing should be multiples of 4
24
- - **Spacing scale**: 4, 8, 12, 16, 20, 24, 32, 40, 48, 64, 80, 96
25
- - **Consistency** — same spacing between similar elements
26
- - **Whitespace is design** — don't fill every pixel
27
-
28
- ### Layout
29
-
30
- - **Grid system**: 12-column grid for desktop, 4-column for mobile
31
- - **Visual hierarchy**: size, weight, color, spacing, position
32
- - **F-pattern/Z-pattern** — for content-heavy pages
33
- - **Group related items** — use proximity and boundaries
34
-
35
- ## Component Patterns
36
-
37
- ### Buttons
38
-
39
- - Clear hierarchy: Primary > Secondary > Ghost/Text
40
- - Consistent sizing: sm (32px), md (40px), lg (48px)
41
- - States: default, hover, active, disabled, loading
42
- - Always accessible: sufficient contrast, focus indicator
43
-
44
- ### Forms
45
-
46
- - Labels above inputs (not floating labels for critical forms)
47
- - Clear error states with inline messages
48
- - Logical tab order
49
- - Progressive disclosure — don't show all fields at once
50
-
51
- ### Cards
52
-
53
- - Don't nest cards inside cards
54
- - Clear visual hierarchy within the card
55
- - Consistent padding and spacing
56
- - Interactive cards need hover state
57
-
58
- ### Navigation
59
-
60
- - Maximum 7±2 items in primary nav
61
- - Clear active state
62
- - Mobile: bottom nav or hamburger (not both)
63
- - Breadcrumbs for deep hierarchies
64
-
65
- ## Animation Principles
66
-
67
- - **Purpose**: guide attention, show relationships, provide feedback
68
- - **Duration**: 150-300ms for micro-interactions, 300-500ms for transitions
69
- - **Easing**: `ease-out` for entrances, `ease-in` for exits. Never `bounce` or `elastic`
70
- - **Reduce motion**: respect `prefers-reduced-motion`
71
-
72
- ## Anti-Patterns (from Impeccable)
73
-
74
- - [FAIL] Gray text on colored backgrounds — destroys readability
75
- - [FAIL] Pure black text on white (#000 on #fff) — too harsh, tint the black
76
- - [FAIL] Cards nested inside cards — visual noise
77
- - [FAIL] Bounce/elastic easing — feels dated
78
- - [FAIL] Icon tile above every heading — SaaS template tell
79
- - [FAIL] Purple-to-blue gradient on everything — overused
80
- - [FAIL] Using Inter for everything — pick a font that matches your brand
81
- - [FAIL] Rounded-square icons everywhere — lack of visual variety
82
-
83
- ## Dark Mode
84
-
85
- - Surface elevation through subtle lightening (not colored backgrounds)
86
- - Reduce white contrast — use #E0E0E0, not #FFFFFF
87
- - Shadows become less visible — use subtle borders or elevation changes
88
- - Test all states in both modes
@@ -1,62 +0,0 @@
1
- # UI/UX Pro Examples — Anti-patterns vs ContextOS Standard
2
-
3
- ## Example 1: Accessible Icon Button with Visible Focus States
4
-
5
- ### Anti-pattern: Anti-pattern (Missing accessible name and arbitrary color values)
6
-
7
- ```tsx
8
- // BAD: inaccessible to screen readers, missing focus ring, arbitrary hex
9
- <button className="bg-[#5a4fcf] p-[7px] rounded-[5px]" onClick={onClose}>
10
- <XIcon />
11
- </button>
12
- ```
13
-
14
- ### Best practice: ContextOS Standard (Semantic token scales & ARIA label)
15
-
16
- ```tsx
17
- // GOOD: full keyboard accessibility, semantic tokens, focus-visible ring
18
- <button
19
- type="button"
20
- aria-label="Close modal dialog"
21
- onClick={onClose}
22
- className="inline-flex items-center justify-center rounded-lg p-2 text-muted-foreground transition-colors hover:bg-accent hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2"
23
- >
24
- <X className="h-4 w-4" aria-hidden="true" />
25
- </button>
26
- ```
27
-
28
- ---
29
-
30
- ## Example 2: Stat Card Hierarchy
31
-
32
- ### Anti-pattern: Anti-pattern (Flat low-contrast layout with purple-gradient cliche)
33
-
34
- ```tsx
35
- // BAD: cliche AI gradient, poor typographic hierarchy
36
- <div className="bg-gradient-to-r from-purple-500 to-blue-500 p-4 rounded-xl text-white">
37
- <div>Total Revenue</div>
38
- <div className="text-xl">$45,231.89</div>
39
- </div>
40
- ```
41
-
42
- ### Best practice: ContextOS Standard (Refined editorial typography & subtle depth)
43
-
44
- ```tsx
45
- // GOOD: high contrast, monospace numerical accent, subtle border
46
- <div className="rounded-xl border border-border/50 bg-card p-6 shadow-sm transition-all hover:shadow-md">
47
- <div className="flex items-center justify-between">
48
- <span className="text-xs font-medium uppercase tracking-wider text-muted-foreground">
49
- Total Revenue
50
- </span>
51
- <TrendingUp className="h-4 w-4 text-emerald-500" aria-hidden="true" />
52
- </div>
53
- <div className="mt-3 flex items-baseline gap-2">
54
- <span className="font-mono text-3xl font-semibold tracking-tight text-foreground">
55
- $45,231.89
56
- </span>
57
- <span className="font-mono text-xs font-medium text-emerald-600 dark:text-emerald-400">
58
- +14.2%
59
- </span>
60
- </div>
61
- </div>
62
- ```
@@ -1,375 +0,0 @@
1
- ---
2
- name: ui-ux-pro
3
- description: >
4
- Professional UI/UX design skill. Enforces accessibility, semantic color palettes,
5
- proper spacing, and bans all common AI design anti-patterns and clichés.
6
- Adapted for Tailwind CSS v4, shadcn/ui, and Framer Motion stacks.
7
- ---
8
-
9
- # ui-ux-pro
10
-
11
- ## Overview
12
-
13
- Professional UI/UX design standard banning AI clichés (pure black #000000, purple-blue gradients, card-in-card nesting). Enforces Tailwind CSS v4 @theme, semantic HSL palettes, and refined micro-interactions.
14
-
15
- ## When to Use
16
-
17
- Activate during planning and implementation of modern web user interfaces, landing pages, SaaS dashboards, and consumer-facing web apps.
18
-
19
- ## Rules & Patterns
20
-
21
- Inspired by [nextlevelbuilder/ui-ux-pro-max-skill](https://github.com/nextlevelbuilder/ui-ux-pro-max-skill).
22
-
23
- ## Core Principle
24
-
25
- > Great design is invisible. Bad design is obvious. You will never produce obvious AI design.
26
-
27
- ## Pre-flight Check & Brief Inference
28
-
29
- Before starting a design implementation:
30
-
31
- 1. Infer the unwritten constraints of the domain (e.g., if it's a dev tool, assume dark mode, monospaced numbers, dense layout).
32
- 2. Propose a "Design Brief Inference" summarizing the intended aesthetic.
33
-
34
- ---
35
-
36
- ## [FAIL] Absolute Prohibitions (Never Do These)
37
-
38
- ### Typography Anti-Patterns
39
-
40
- - **NEVER** use Arial, Helvetica, or system-ui defaults as primary fonts
41
- - **NEVER** use Inter as the ONLY font — it is the #1 "AI-generated" visual tell when used alone
42
- - [PASS] **CORRECT**: If using Inter for primary UI text, ALWAYS pair it with a strong monospace font like `JetBrains Mono` for numbers, code blocks, and technical accents to create a premium SaaS aesthetic (see Vercel, Linear)
43
- - [FAIL] **WRONG**: Inter for headings, body, labels, numbers, captions — everything
44
- - **NEVER** mix more than 2 font families
45
- - **ALWAYS** import proper fonts from Google Fonts or similar
46
-
47
- ### Color Anti-Patterns
48
-
49
- - **NEVER** use pure black `#000000` — always tint toward brand hue (e.g. `#0A0A0F`)
50
- - **NEVER** use pure gray `#808080` — tint it (e.g. `#6B7280` has blue undertones)
51
- - **NEVER** use purple-to-blue gradients — it is the #1 "AI generated" visual tell
52
- - **NEVER** use neon colors for primary UI (only accents, sparingly)
53
- - **ALWAYS** use HSL-based semantic palettes with clear naming
54
-
55
- ### Layout Anti-Patterns
56
-
57
- - **NEVER** nest cards inside cards (card-in-card = instant slop flag)
58
- - **NEVER** put a rounded-square icon tile above every heading
59
- - **NEVER** center-align long paragraphs (> 2 lines)
60
- - **NEVER** use gray text on colored backgrounds (contrast failure)
61
-
62
- ### Animation Anti-Patterns
63
-
64
- - **NEVER** use bounce or elastic easing in raw CSS — it feels dated (circa 2014)
65
- - **NEVER** add animations just to show they work
66
- - **ALWAYS** use `ease-out` for enter, `ease-in` for exit, `ease-in-out` for continuous
67
-
68
- ---
69
-
70
- ## [PASS] Required Standards
71
-
72
- ### Accessibility Checklist
73
-
74
- Before shipping any UI, verify:
75
-
76
- - [ ] Text contrast ratio ≥ 4.5:1 for normal text (WCAG AA)
77
- - [ ] Text contrast ratio ≥ 3:1 for large text (≥ 18px bold or ≥ 24px)
78
- - [ ] All interactive elements have `aria-label` or visible text
79
- - [ ] Touch targets are minimum 44×44px (48×48px recommended)
80
- - [ ] Focus states are visible and styled (not just browser default)
81
- - [ ] Images have meaningful `alt` text (or `alt=""` if decorative)
82
- - [ ] Form fields have associated `<label>` elements
83
- - [ ] Keyboard navigation works without mouse
84
- - [ ] No color alone conveys information (use icons + text too)
85
-
86
- ### Semantic Color Palette — shadcn/ui & Tailwind CSS v4 Format
87
-
88
- Generate palettes in the format compatible with shadcn/ui's `globals.css`. Always support both light and dark themes as this is the de-facto standard:
89
-
90
- ```css
91
- @layer base {
92
- :root {
93
- --background: 220 13% 98%;
94
- --foreground: 220 13% 9%;
95
- --card: 220 13% 100%;
96
- --card-foreground: 220 13% 9%;
97
- --muted: 220 13% 95%;
98
- --muted-foreground: 220 9% 46%;
99
- --border: 220 13% 90%;
100
- --input: 220 13% 90%;
101
- --primary: 258 90% 56%;
102
- --primary-foreground: 0 0% 100%;
103
- --secondary: 220 13% 94%;
104
- --secondary-foreground: 220 13% 9%;
105
- --accent: 258 90% 56%;
106
- --accent-foreground: 0 0% 100%;
107
- --destructive: 0 84% 60%;
108
- --destructive-foreground: 0 0% 100%;
109
- --ring: 258 90% 56%;
110
- --radius: 0.5rem;
111
- }
112
-
113
- .dark {
114
- --background: 220 13% 9%;
115
- --foreground: 210 40% 98%;
116
- --card: 220 11% 13%;
117
- --card-foreground: 210 40% 98%;
118
- --muted: 220 11% 16%;
119
- --muted-foreground: 215 16% 65%;
120
- --border: 217 19% 22%;
121
- --input: 217 19% 22%;
122
- --primary: 258 90% 66%;
123
- --primary-foreground: 0 0% 100%;
124
- --secondary: 220 11% 18%;
125
- --secondary-foreground: 210 40% 98%;
126
- --accent: 258 90% 66%;
127
- --accent-foreground: 0 0% 100%;
128
- --destructive: 0 84% 60%;
129
- --destructive-foreground: 0 0% 100%;
130
- --ring: 258 90% 66%;
131
- }
132
- }
133
- ```
134
-
135
- > **Rule**: NEVER define colors as raw hex/rgb. ALWAYS use HSL space values so Tailwind opacity modifiers (`text-primary/80`) work correctly.
136
-
137
- ### Spacing System (Tailwind)
138
-
139
- Use Tailwind spacing utilities. **Never use arbitrary values** like `gap-[17px]`:
140
-
141
- - `gap-1` / `p-1` — 4px micro gaps
142
- - `gap-2` / `p-2` — 8px component internal
143
- - `gap-4` / `p-4` — 16px standard padding
144
- - `gap-6` / `p-6` — 24px section gaps
145
- - `gap-8` / `p-8` — 32px block separators
146
- - `gap-12` / `py-12` — 48px section separators
147
- - `gap-20` / `py-20` — 80px hero spacing
148
-
149
- ### Typography Scale
150
-
151
- Use a modular type scale (1.25 or 1.333 ratio):
152
-
153
- ```
154
- xs: 11px / 0.688rem (text-xs)
155
- sm: 13px / 0.813rem (text-sm)
156
- base: 16px / 1rem (text-base)
157
- lg: 20px / 1.25rem (text-lg)
158
- xl: 24px / 1.5rem (text-xl)
159
- 2xl: 32px / 2rem (text-2xl)
160
- 3xl: 40px / 2.5rem (text-3xl)
161
- 4xl: 56px / 3.5rem (text-4xl)
162
- ```
163
-
164
- Typography utilities:
165
-
166
- - Long headlines: use `text-balance` (prevents orphan words)
167
- - Body paragraphs: use `text-pretty` (smart line breaks)
168
- - Number tables: use `tabular-nums` class (not custom CSS)
169
-
170
- ---
171
-
172
- ## Design Parameters (Taste Equalizers)
173
-
174
- Always set and document the following three parameters (1-10 scale) before starting any design task, to escape generic AI defaults:
175
-
176
- - **DESIGN_VARIANCE (1-10)**: Grid and Layout structures.
177
- - 1-3 = Clean, centered layouts, standard grids (Enterprise, Docs).
178
- - 4-7 = Asymmetric containers, off-grid elements, sticky sidebars (SaaS, Creative tools).
179
- - 8-10 = Broken grids, overlapping items, editorial style (Portfolios, Agencies).
180
- - **MOTION_INTENSITY (1-10)**: Animation depth.
181
- - 1-3 = Basic hover states and micro-interactions only.
182
- - 4-7 = Page transitions, enter/exit animations, list staggers.
183
- - 8-10 = Magnetic elements, complex scroll-triggered animations (GSAP territory).
184
- - **VISUAL_DENSITY (1-10)**: Information architecture.
185
- - 1-3 = Luxury, airy, massive whitespace (Landing pages).
186
- - 4-7 = Standard product density (Consumer apps).
187
- - 8-10 = Dense, compact, dashboard-style (Pro tools, IDEs, Trading platforms).
188
-
189
- ## Adaptive Aesthetics (Project Mapping)
190
-
191
- Select the base aesthetic based on the project domain:
192
-
193
- - **Fintech / Enterprise**: Swiss Minimalism, Neumorphism (High trust, clean, DESIGN_VARIANCE: 2-4).
194
- - **AI Tools / DevTools**: Dark OLED Luxury, Glassmorphism (Modern, tech-forward, DESIGN_VARIANCE: 5-7).
195
- - **Creative / Portfolios**: Brutalism, Maximalist, Aurora (Bold, expressive, DESIGN_VARIANCE: 8-10).
196
-
197
- ## Design Memory & Consistency
198
-
199
- **CRITICAL**: You must preserve design decisions between sessions to avoid stylistic drift.
200
- Whenever you establish core UI tokens (fonts, color scales, border radii, equalizers), write them to `.interface-design/system.md`. In subsequent sessions, ALWAYS read this file before generating new components.
201
-
202
- ---
203
-
204
- ## Design Domains
205
-
206
- ### Product UI (SaaS / Dashboard / App)
207
-
208
- - Functional over decorative
209
- - Dense information where needed (use compact variants)
210
- - Table zebra striping: use `5%` opacity, not hard borders
211
- - Data visualization: prefer Chart.js or Recharts, label all axes
212
- - Loading states: skeleton screens, never spinners alone
213
- - **Empty States**: ALWAYS design the empty state for every list/table/feed. Never leave a blank screen. Include:
214
- 1. An illustration or meaningful icon
215
- 2. A helpful, context-aware message ("No results yet" not "No data")
216
- 3. A clear primary action CTA ("Create your first project →")
217
-
218
- ### Marketing / Landing Pages
219
-
220
- - Hero: full viewport height, one clear CTA
221
- - Social proof above the fold when possible
222
- - CTA buttons: filled primary + ghost secondary (never two filled)
223
- - Testimonials: real photos, full name, company
224
-
225
- ### Forms
226
-
227
- - Label above field (not placeholder-as-label)
228
- - Inline validation (show errors on blur, not on submit)
229
- - Group related fields visually
230
- - Progress indicator for multi-step flows
231
-
232
- ---
233
-
234
- ## Image-First Pipeline (Design Sprints)
235
-
236
- If you have access to image generation tools (e.g., DALL-E, Midjourney integrations) and the task involves creating a net-new UI page or component, follow the **Image-First Pipeline**:
237
-
238
- 1. **Generate**: Create 1-3 reference images ("mockups", "brand boards") of the desired UI using image generation.
239
- 2. **Analyze**: Review the generated images for layout, spacing, and typography choices.
240
- 3. **Implement**: Write the code to match the aesthetic of the generated reference images.
241
-
242
- _Do not skip straight to code for major UI overhauls without a visual reference if generation is available._
243
-
244
- ---
245
-
246
- ## UI Style Toolkit
247
-
248
- ### Glassmorphism (Use Sparingly)
249
-
250
- ```css
251
- background: rgba(255, 255, 255, 0.05);
252
- backdrop-filter: blur(20px);
253
- border: 1px solid rgba(255, 255, 255, 0.1);
254
- ```
255
-
256
- ### Subtle Shadows (Dark UI)
257
-
258
- ```css
259
- /* Card elevation */
260
- box-shadow: 0 1px 3px rgba(0,0,0,0.4), 0 1px 2px rgba(0,0,0,0.6);
261
- /* Floating element */
262
- box-shadow: 0 10px 40px rgba(0,0,0,0.5), 0 0 0 1px rgba(255,255,255,0.05);
263
- ```
264
-
265
- ### Micro-animations
266
-
267
- **CSS (for simple, lightweight elements):**
268
-
269
- ```css
270
- /* Standard transition */
271
- transition: all 0.15s ease-out;
272
- /* Hover lift */
273
- transform: translateY(-2px);
274
- /* Button press */
275
- transform: scale(0.97);
276
- /* Fade in */
277
- @keyframes fadeIn { from { opacity: 0; transform: translateY(8px); } }
278
- ```
279
-
280
- **Framer Motion (for complex layout transitions and orchestration):**
281
-
282
- For complex UI like modals, popovers, layout shifts, and multi-element orchestration, prefer Framer Motion over raw CSS keyframes. Keep animations quick and purposeful:
283
-
284
- ```tsx
285
- // [GOOD] Modal entrance — use highly damped spring for physical feel (like Vercel/Linear)
286
- <motion.div
287
- initial={{ opacity: 0, scale: 0.96, y: 8 }}
288
- animate={{ opacity: 1, scale: 1, y: 0 }}
289
- exit={{ opacity: 0, scale: 0.96, y: 8 }}
290
- transition={{ type: "spring", stiffness: 400, damping: 30 }}
291
- />
292
-
293
- // [GOOD] List item stagger
294
- <motion.li
295
- initial={{ opacity: 0, x: -8 }}
296
- animate={{ opacity: 1, x: 0 }}
297
- transition={{ duration: 0.2, ease: "easeOut" }}
298
- />
299
-
300
- // [BAD] Never use low damping (bouncy feel)
301
- transition={{ type: "spring", stiffness: 200, damping: 8 }} // WRONG
302
- ```
303
-
304
- **Rule**: `duration` must always be `< 0.3s` for micro-interactions. Respect `prefers-reduced-motion`.
305
-
306
- ---
307
-
308
- ## Domain Search Guide
309
-
310
- When choosing styles, reference these domains:
311
-
312
- - `style` — UI style options (glassmorphism, neobrutalism, minimalism)
313
- - `typography` — Font pairing recommendations
314
- - `color` — Color palettes by product type
315
- - `ux` — Best practices and anti-patterns
316
- - `gsap` — Animation patterns by intensity (hover, scroll, transition)
317
-
318
- ## Role Integration
319
-
320
- ---
321
-
322
- ## Tailwind CSS v4 (CSS-First Modern Architecture)
323
-
324
- In Tailwind CSS v4, styling configuration is native CSS without `tailwind.config.js`:
325
-
326
- ```css
327
- @import "tailwindcss";
328
-
329
- @theme {
330
- --color-primary: #3b82f6;
331
- --color-primary-foreground: #ffffff;
332
- --color-surface: #0f172a;
333
- --color-surface-muted: #1e293b;
334
- --font-sans: "Inter", -apple-system, sans-serif;
335
- --font-mono: "JetBrains Mono", monospace;
336
- }
337
- ```
338
-
339
- - **Zero JavaScript Config**: Define theme variables directly in CSS `@theme`.
340
- - **Native CSS Variables**: Use `var(--color-...)` for dynamic runtime theming and dark mode.
341
- - **Dynamic Viewports**: Use `h-dvh` and `min-h-dvh` for full-height layouts that behave properly on mobile browsers.
342
-
343
- ---
344
-
345
- ## Core Web Vitals 2026: INP (Interaction to Next Paint)
346
-
347
- - **Target**: INP < 200ms (replaces legacy FID).
348
- - **Rule**: Never block the main thread for > 50ms during click, keypress, or tap event handlers.
349
- - Wrap heavy UI updates in `startTransition`:
350
-
351
- ```tsx
352
- startTransition(() => {
353
- setFilter(newFilter);
354
- });
355
- ```
356
-
357
- - Use Web Workers or chunks for heavy client-side filtering and data processing.
358
-
359
- ---
360
-
361
- ## Code Examples
362
-
363
- See `EXAMPLES.md` for detailed code examples.
364
-
365
- ## Validation Checklist
366
-
367
- What to verify during the review phase before completing the task.
368
-
369
- ## Common Mistakes
370
-
371
- Anti-patterns and things to explicitly avoid. See `TROUBLESHOOTING.md`.
372
-
373
- ## Integration Notes
374
-
375
- How this skill interacts with other skills.