contextos-agents 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (310) hide show
  1. package/.agents/AGENTS.md +421 -0
  2. package/.agents/adapters/aider/export.js +137 -0
  3. package/.agents/adapters/claude/export.js +55 -0
  4. package/.agents/adapters/copilot/export.js +107 -0
  5. package/.agents/adapters/cursor/export.js +210 -0
  6. package/.agents/adapters/gemini/export.js +115 -0
  7. package/.agents/adapters/shared.js +119 -0
  8. package/.agents/adapters/zed/export.js +111 -0
  9. package/.agents/core/profiles/backend.yaml +47 -0
  10. package/.agents/core/profiles/enterprise.yaml +46 -0
  11. package/.agents/core/profiles/frontend.yaml +46 -0
  12. package/.agents/core/profiles/hackathon.yaml +45 -0
  13. package/.agents/core/profiles/mvp.yaml +43 -0
  14. package/.agents/core/profiles/startup.yaml +48 -0
  15. package/.agents/core/skills/adapters/EXAMPLES.md +19 -0
  16. package/.agents/core/skills/adapters/SKILL.md +105 -0
  17. package/.agents/core/skills/adapters/TROUBLESHOOTING.md +7 -0
  18. package/.agents/core/skills/adapters/VALIDATION.json +12 -0
  19. package/.agents/core/skills/adapters/skill.yaml +10 -0
  20. package/.agents/core/skills/architecture-diagrams/SKILL.md +108 -0
  21. package/.agents/core/skills/architecture-diagrams/VALIDATION.json +12 -0
  22. package/.agents/core/skills/architecture-diagrams/skill.yaml +8 -0
  23. package/.agents/core/skills/brutalist-design/SKILL.md +150 -0
  24. package/.agents/core/skills/brutalist-design/VALIDATION.json +12 -0
  25. package/.agents/core/skills/brutalist-design/skill.yaml +8 -0
  26. package/.agents/core/skills/context-manager/EXAMPLES.md +19 -0
  27. package/.agents/core/skills/context-manager/SKILL.md +126 -0
  28. package/.agents/core/skills/context-manager/TROUBLESHOOTING.md +7 -0
  29. package/.agents/core/skills/context-manager/VALIDATION.json +12 -0
  30. package/.agents/core/skills/context-manager/skill.yaml +10 -0
  31. package/.agents/core/skills/context-os/EXAMPLES.md +21 -0
  32. package/.agents/core/skills/context-os/SKILL.md +169 -0
  33. package/.agents/core/skills/context-os/TROUBLESHOOTING.md +7 -0
  34. package/.agents/core/skills/context-os/VALIDATION.json +12 -0
  35. package/.agents/core/skills/context-os/packs.yaml +59 -0
  36. package/.agents/core/skills/context-os/references/context-rules.md +68 -0
  37. package/.agents/core/skills/context-os/references/pipeline.md +119 -0
  38. package/.agents/core/skills/context-os/references/project-graph.md +103 -0
  39. package/.agents/core/skills/context-os/rules.yaml +135 -0
  40. package/.agents/core/skills/context-os/skill.yaml +10 -0
  41. package/.agents/core/skills/database/EXAMPLES.md +74 -0
  42. package/.agents/core/skills/database/SKILL.md +101 -0
  43. package/.agents/core/skills/database/TROUBLESHOOTING.md +18 -0
  44. package/.agents/core/skills/database/VALIDATION.json +11 -0
  45. package/.agents/core/skills/database/skill.yaml +25 -0
  46. package/.agents/core/skills/ddd/EXAMPLES.md +42 -0
  47. package/.agents/core/skills/ddd/SKILL.md +247 -0
  48. package/.agents/core/skills/ddd/TROUBLESHOOTING.md +19 -0
  49. package/.agents/core/skills/ddd/VALIDATION.json +12 -0
  50. package/.agents/core/skills/ddd/ddd.md +178 -0
  51. package/.agents/core/skills/ddd/skill.yaml +10 -0
  52. package/.agents/core/skills/decisions/EXAMPLES.md +35 -0
  53. package/.agents/core/skills/decisions/SKILL.md +90 -0
  54. package/.agents/core/skills/decisions/TROUBLESHOOTING.md +13 -0
  55. package/.agents/core/skills/decisions/VALIDATION.json +12 -0
  56. package/.agents/core/skills/decisions/skill.yaml +10 -0
  57. package/.agents/core/skills/docker/EXAMPLES.md +56 -0
  58. package/.agents/core/skills/docker/SKILL.md +63 -0
  59. package/.agents/core/skills/docker/TROUBLESHOOTING.md +18 -0
  60. package/.agents/core/skills/docker/VALIDATION.json +11 -0
  61. package/.agents/core/skills/docker/skill.yaml +23 -0
  62. package/.agents/core/skills/engineering-workflow/EXAMPLES.md +57 -0
  63. package/.agents/core/skills/engineering-workflow/SKILL.md +343 -0
  64. package/.agents/core/skills/engineering-workflow/TROUBLESHOOTING.md +19 -0
  65. package/.agents/core/skills/engineering-workflow/VALIDATION.json +12 -0
  66. package/.agents/core/skills/engineering-workflow/skill.yaml +13 -0
  67. package/.agents/core/skills/fastapi/EXAMPLES.md +36 -0
  68. package/.agents/core/skills/fastapi/SKILL.md +148 -0
  69. package/.agents/core/skills/fastapi/TROUBLESHOOTING.md +19 -0
  70. package/.agents/core/skills/fastapi/VALIDATION.json +12 -0
  71. package/.agents/core/skills/fastapi/fastapi.md +112 -0
  72. package/.agents/core/skills/fastapi/skill.yaml +10 -0
  73. package/.agents/core/skills/gemini-precision/SKILL.md +169 -0
  74. package/.agents/core/skills/gemini-precision/VALIDATION.json +12 -0
  75. package/.agents/core/skills/gemini-precision/skill.yaml +9 -0
  76. package/.agents/core/skills/generators/EXAMPLES.md +19 -0
  77. package/.agents/core/skills/generators/SKILL.md +112 -0
  78. package/.agents/core/skills/generators/TROUBLESHOOTING.md +7 -0
  79. package/.agents/core/skills/generators/VALIDATION.json +12 -0
  80. package/.agents/core/skills/generators/skill.yaml +10 -0
  81. package/.agents/core/skills/generators/templates/API.md +77 -0
  82. package/.agents/core/skills/generators/templates/ARCHITECTURE.md +70 -0
  83. package/.agents/core/skills/generators/templates/DATABASE.md +42 -0
  84. package/.agents/core/skills/generators/templates/DECISION.md +46 -0
  85. package/.agents/core/skills/generators/templates/PRD.md +67 -0
  86. package/.agents/core/skills/generators/templates/PROJECT_GRAPH.md +56 -0
  87. package/.agents/core/skills/generators/templates/ROADMAP.md +51 -0
  88. package/.agents/core/skills/generators/templates/TASKS.md +43 -0
  89. package/.agents/core/skills/generators/templates/UI.md +73 -0
  90. package/.agents/core/skills/graphify/EXAMPLES.md +73 -0
  91. package/.agents/core/skills/graphify/SKILL.md +130 -0
  92. package/.agents/core/skills/graphify/VALIDATION.json +12 -0
  93. package/.agents/core/skills/graphify/skill.yaml +13 -0
  94. package/.agents/core/skills/gstack-roles/EXAMPLES.md +23 -0
  95. package/.agents/core/skills/gstack-roles/SKILL.md +152 -0
  96. package/.agents/core/skills/gstack-roles/TROUBLESHOOTING.md +13 -0
  97. package/.agents/core/skills/gstack-roles/VALIDATION.json +12 -0
  98. package/.agents/core/skills/gstack-roles/skill.yaml +12 -0
  99. package/.agents/core/skills/impeccable-design/EXAMPLES.md +26 -0
  100. package/.agents/core/skills/impeccable-design/SKILL.md +201 -0
  101. package/.agents/core/skills/impeccable-design/TROUBLESHOOTING.md +19 -0
  102. package/.agents/core/skills/impeccable-design/VALIDATION.json +12 -0
  103. package/.agents/core/skills/impeccable-design/skill.yaml +14 -0
  104. package/.agents/core/skills/interview-me/SKILL.md +97 -0
  105. package/.agents/core/skills/interview-me/VALIDATION.json +12 -0
  106. package/.agents/core/skills/interview-me/skill.yaml +8 -0
  107. package/.agents/core/skills/microservices/EXAMPLES.md +38 -0
  108. package/.agents/core/skills/microservices/SKILL.md +164 -0
  109. package/.agents/core/skills/microservices/TROUBLESHOOTING.md +19 -0
  110. package/.agents/core/skills/microservices/VALIDATION.json +12 -0
  111. package/.agents/core/skills/microservices/microservices.md +119 -0
  112. package/.agents/core/skills/microservices/skill.yaml +10 -0
  113. package/.agents/core/skills/minimalist-design/SKILL.md +113 -0
  114. package/.agents/core/skills/minimalist-design/VALIDATION.json +12 -0
  115. package/.agents/core/skills/minimalist-design/skill.yaml +8 -0
  116. package/.agents/core/skills/nestjs/EXAMPLES.md +40 -0
  117. package/.agents/core/skills/nestjs/SKILL.md +139 -0
  118. package/.agents/core/skills/nestjs/TROUBLESHOOTING.md +19 -0
  119. package/.agents/core/skills/nestjs/VALIDATION.json +12 -0
  120. package/.agents/core/skills/nestjs/nestjs.md +103 -0
  121. package/.agents/core/skills/nestjs/skill.yaml +10 -0
  122. package/.agents/core/skills/nextjs/EXAMPLES.md +40 -0
  123. package/.agents/core/skills/nextjs/SKILL.md +163 -0
  124. package/.agents/core/skills/nextjs/TROUBLESHOOTING.md +19 -0
  125. package/.agents/core/skills/nextjs/VALIDATION.json +12 -0
  126. package/.agents/core/skills/nextjs/nextjs.md +67 -0
  127. package/.agents/core/skills/nextjs/skill.yaml +10 -0
  128. package/.agents/core/skills/node/EXAMPLES.md +80 -0
  129. package/.agents/core/skills/node/SKILL.md +128 -0
  130. package/.agents/core/skills/node/TROUBLESHOOTING.md +19 -0
  131. package/.agents/core/skills/node/VALIDATION.json +12 -0
  132. package/.agents/core/skills/node/node.md +87 -0
  133. package/.agents/core/skills/node/skill.yaml +10 -0
  134. package/.agents/core/skills/performance/EXAMPLES.md +30 -0
  135. package/.agents/core/skills/performance/SKILL.md +75 -0
  136. package/.agents/core/skills/performance/TROUBLESHOOTING.md +19 -0
  137. package/.agents/core/skills/performance/VALIDATION.json +12 -0
  138. package/.agents/core/skills/performance/performance.md +52 -0
  139. package/.agents/core/skills/performance/skill.yaml +10 -0
  140. package/.agents/core/skills/ponytail-mindset/EXAMPLES.md +45 -0
  141. package/.agents/core/skills/ponytail-mindset/SKILL.md +193 -0
  142. package/.agents/core/skills/ponytail-mindset/TROUBLESHOOTING.md +19 -0
  143. package/.agents/core/skills/ponytail-mindset/VALIDATION.json +12 -0
  144. package/.agents/core/skills/ponytail-mindset/skill.yaml +14 -0
  145. package/.agents/core/skills/react/EXAMPLES.md +79 -0
  146. package/.agents/core/skills/react/SKILL.md +132 -0
  147. package/.agents/core/skills/react/TROUBLESHOOTING.md +19 -0
  148. package/.agents/core/skills/react/VALIDATION.json +12 -0
  149. package/.agents/core/skills/react/react.md +93 -0
  150. package/.agents/core/skills/react/skill.yaml +10 -0
  151. package/.agents/core/skills/react-best-practices/SKILL.md +155 -0
  152. package/.agents/core/skills/react-best-practices/VALIDATION.json +12 -0
  153. package/.agents/core/skills/react-best-practices/skill.yaml +10 -0
  154. package/.agents/core/skills/redesign-audit/SKILL.md +117 -0
  155. package/.agents/core/skills/redesign-audit/VALIDATION.json +12 -0
  156. package/.agents/core/skills/redesign-audit/skill.yaml +8 -0
  157. package/.agents/core/skills/security/EXAMPLES.md +64 -0
  158. package/.agents/core/skills/security/SKILL.md +158 -0
  159. package/.agents/core/skills/security/TROUBLESHOOTING.md +19 -0
  160. package/.agents/core/skills/security/VALIDATION.json +12 -0
  161. package/.agents/core/skills/security/security.md +106 -0
  162. package/.agents/core/skills/security/skill.yaml +10 -0
  163. package/.agents/core/skills/soft-design/SKILL.md +108 -0
  164. package/.agents/core/skills/soft-design/VALIDATION.json +12 -0
  165. package/.agents/core/skills/soft-design/skill.yaml +8 -0
  166. package/.agents/core/skills/state-management/EXAMPLES.md +56 -0
  167. package/.agents/core/skills/state-management/SKILL.md +48 -0
  168. package/.agents/core/skills/state-management/TROUBLESHOOTING.md +18 -0
  169. package/.agents/core/skills/state-management/VALIDATION.json +11 -0
  170. package/.agents/core/skills/state-management/skill.yaml +22 -0
  171. package/.agents/core/skills/subagent-orchestrator/SKILL.md +100 -0
  172. package/.agents/core/skills/subagent-orchestrator/VALIDATION.json +12 -0
  173. package/.agents/core/skills/subagent-orchestrator/skill.yaml +8 -0
  174. package/.agents/core/skills/system-design/EXAMPLES.md +75 -0
  175. package/.agents/core/skills/system-design/SKILL.md +419 -0
  176. package/.agents/core/skills/system-design/TROUBLESHOOTING.md +19 -0
  177. package/.agents/core/skills/system-design/VALIDATION.json +12 -0
  178. package/.agents/core/skills/system-design/skill.yaml +13 -0
  179. package/.agents/core/skills/system-design/system-design.md +112 -0
  180. package/.agents/core/skills/testing/EXAMPLES.md +71 -0
  181. package/.agents/core/skills/testing/SKILL.md +70 -0
  182. package/.agents/core/skills/testing/TROUBLESHOOTING.md +18 -0
  183. package/.agents/core/skills/testing/VALIDATION.json +11 -0
  184. package/.agents/core/skills/testing/skill.yaml +26 -0
  185. package/.agents/core/skills/typescript/EXAMPLES.md +64 -0
  186. package/.agents/core/skills/typescript/SKILL.md +112 -0
  187. package/.agents/core/skills/typescript/TROUBLESHOOTING.md +19 -0
  188. package/.agents/core/skills/typescript/VALIDATION.json +12 -0
  189. package/.agents/core/skills/typescript/skill.yaml +10 -0
  190. package/.agents/core/skills/typescript/typescript.md +71 -0
  191. package/.agents/core/skills/ui-design/EXAMPLES.md +21 -0
  192. package/.agents/core/skills/ui-design/SKILL.md +124 -0
  193. package/.agents/core/skills/ui-design/TROUBLESHOOTING.md +19 -0
  194. package/.agents/core/skills/ui-design/VALIDATION.json +12 -0
  195. package/.agents/core/skills/ui-design/skill.yaml +10 -0
  196. package/.agents/core/skills/ui-design/ui.md +88 -0
  197. package/.agents/core/skills/ui-ux-pro/EXAMPLES.md +62 -0
  198. package/.agents/core/skills/ui-ux-pro/SKILL.md +375 -0
  199. package/.agents/core/skills/ui-ux-pro/TROUBLESHOOTING.md +19 -0
  200. package/.agents/core/skills/ui-ux-pro/VALIDATION.json +12 -0
  201. package/.agents/core/skills/ui-ux-pro/skill.yaml +13 -0
  202. package/.agents/core/skills/ux-design/EXAMPLES.md +36 -0
  203. package/.agents/core/skills/ux-design/SKILL.md +116 -0
  204. package/.agents/core/skills/ux-design/TROUBLESHOOTING.md +19 -0
  205. package/.agents/core/skills/ux-design/VALIDATION.json +12 -0
  206. package/.agents/core/skills/ux-design/skill.yaml +10 -0
  207. package/.agents/core/skills/ux-design/ux.md +80 -0
  208. package/.agents/core/skills/vercel-optimize/SKILL.md +83 -0
  209. package/.agents/core/skills/vercel-optimize/VALIDATION.json +12 -0
  210. package/.agents/core/skills/vercel-optimize/skill.yaml +10 -0
  211. package/.agents/core/skills/web-accessibility/EXAMPLES.md +39 -0
  212. package/.agents/core/skills/web-accessibility/SKILL.md +170 -0
  213. package/.agents/core/skills/web-accessibility/TROUBLESHOOTING.md +19 -0
  214. package/.agents/core/skills/web-accessibility/VALIDATION.json +12 -0
  215. package/.agents/core/skills/web-accessibility/accessibility.md +63 -0
  216. package/.agents/core/skills/web-accessibility/skill.yaml +10 -0
  217. package/.agents/ctx.js +370 -0
  218. package/.agents/generated/claude/skills/adapters/SKILL.md +126 -0
  219. package/.agents/generated/claude/skills/architecture-diagrams/SKILL.md +101 -0
  220. package/.agents/generated/claude/skills/brutalist-design/SKILL.md +145 -0
  221. package/.agents/generated/claude/skills/context-manager/SKILL.md +147 -0
  222. package/.agents/generated/claude/skills/context-os/SKILL.md +191 -0
  223. package/.agents/generated/claude/skills/database/SKILL.md +191 -0
  224. package/.agents/generated/claude/skills/ddd/SKILL.md +305 -0
  225. package/.agents/generated/claude/skills/decisions/SKILL.md +134 -0
  226. package/.agents/generated/claude/skills/docker/SKILL.md +135 -0
  227. package/.agents/generated/claude/skills/engineering-workflow/SKILL.md +414 -0
  228. package/.agents/generated/claude/skills/fastapi/SKILL.md +200 -0
  229. package/.agents/generated/claude/skills/gemini-precision/SKILL.md +161 -0
  230. package/.agents/generated/claude/skills/generators/SKILL.md +133 -0
  231. package/.agents/generated/claude/skills/graphify/SKILL.md +198 -0
  232. package/.agents/generated/claude/skills/gstack-roles/SKILL.md +184 -0
  233. package/.agents/generated/claude/skills/impeccable-design/SKILL.md +241 -0
  234. package/.agents/generated/claude/skills/interview-me/SKILL.md +90 -0
  235. package/.agents/generated/claude/skills/microservices/SKILL.md +218 -0
  236. package/.agents/generated/claude/skills/minimalist-design/SKILL.md +108 -0
  237. package/.agents/generated/claude/skills/nestjs/SKILL.md +195 -0
  238. package/.agents/generated/claude/skills/nextjs/SKILL.md +219 -0
  239. package/.agents/generated/claude/skills/node/SKILL.md +224 -0
  240. package/.agents/generated/claude/skills/performance/SKILL.md +121 -0
  241. package/.agents/generated/claude/skills/ponytail-mindset/SKILL.md +252 -0
  242. package/.agents/generated/claude/skills/react/SKILL.md +227 -0
  243. package/.agents/generated/claude/skills/react-best-practices/SKILL.md +146 -0
  244. package/.agents/generated/claude/skills/redesign-audit/SKILL.md +112 -0
  245. package/.agents/generated/claude/skills/security/SKILL.md +237 -0
  246. package/.agents/generated/claude/skills/soft-design/SKILL.md +103 -0
  247. package/.agents/generated/claude/skills/state-management/SKILL.md +120 -0
  248. package/.agents/generated/claude/skills/subagent-orchestrator/SKILL.md +93 -0
  249. package/.agents/generated/claude/skills/system-design/SKILL.md +507 -0
  250. package/.agents/generated/claude/skills/testing/SKILL.md +157 -0
  251. package/.agents/generated/claude/skills/typescript/SKILL.md +192 -0
  252. package/.agents/generated/claude/skills/ui-design/SKILL.md +161 -0
  253. package/.agents/generated/claude/skills/ui-ux-pro/SKILL.md +451 -0
  254. package/.agents/generated/claude/skills/ux-design/SKILL.md +168 -0
  255. package/.agents/generated/claude/skills/vercel-optimize/SKILL.md +76 -0
  256. package/.agents/generated/claude/skills/web-accessibility/SKILL.md +225 -0
  257. package/.agents/generated/gemini/skills/adapters/SKILL.md +135 -0
  258. package/.agents/generated/gemini/skills/architecture-diagrams/SKILL.md +107 -0
  259. package/.agents/generated/gemini/skills/brutalist-design/SKILL.md +151 -0
  260. package/.agents/generated/gemini/skills/context-manager/SKILL.md +156 -0
  261. package/.agents/generated/gemini/skills/context-os/SKILL.md +200 -0
  262. package/.agents/generated/gemini/skills/database/SKILL.md +200 -0
  263. package/.agents/generated/gemini/skills/ddd/SKILL.md +314 -0
  264. package/.agents/generated/gemini/skills/decisions/SKILL.md +143 -0
  265. package/.agents/generated/gemini/skills/docker/SKILL.md +144 -0
  266. package/.agents/generated/gemini/skills/engineering-workflow/SKILL.md +423 -0
  267. package/.agents/generated/gemini/skills/fastapi/SKILL.md +209 -0
  268. package/.agents/generated/gemini/skills/gemini-precision/SKILL.md +167 -0
  269. package/.agents/generated/gemini/skills/generators/SKILL.md +142 -0
  270. package/.agents/generated/gemini/skills/graphify/SKILL.md +205 -0
  271. package/.agents/generated/gemini/skills/gstack-roles/SKILL.md +193 -0
  272. package/.agents/generated/gemini/skills/impeccable-design/SKILL.md +250 -0
  273. package/.agents/generated/gemini/skills/interview-me/SKILL.md +96 -0
  274. package/.agents/generated/gemini/skills/microservices/SKILL.md +227 -0
  275. package/.agents/generated/gemini/skills/minimalist-design/SKILL.md +114 -0
  276. package/.agents/generated/gemini/skills/nestjs/SKILL.md +204 -0
  277. package/.agents/generated/gemini/skills/nextjs/SKILL.md +298 -0
  278. package/.agents/generated/gemini/skills/node/SKILL.md +323 -0
  279. package/.agents/generated/gemini/skills/performance/SKILL.md +185 -0
  280. package/.agents/generated/gemini/skills/ponytail-mindset/SKILL.md +261 -0
  281. package/.agents/generated/gemini/skills/react/SKILL.md +332 -0
  282. package/.agents/generated/gemini/skills/react-best-practices/SKILL.md +152 -0
  283. package/.agents/generated/gemini/skills/redesign-audit/SKILL.md +118 -0
  284. package/.agents/generated/gemini/skills/security/SKILL.md +355 -0
  285. package/.agents/generated/gemini/skills/soft-design/SKILL.md +109 -0
  286. package/.agents/generated/gemini/skills/state-management/SKILL.md +129 -0
  287. package/.agents/generated/gemini/skills/subagent-orchestrator/SKILL.md +99 -0
  288. package/.agents/generated/gemini/skills/system-design/SKILL.md +631 -0
  289. package/.agents/generated/gemini/skills/testing/SKILL.md +166 -0
  290. package/.agents/generated/gemini/skills/typescript/SKILL.md +275 -0
  291. package/.agents/generated/gemini/skills/ui-design/SKILL.md +170 -0
  292. package/.agents/generated/gemini/skills/ui-ux-pro/SKILL.md +460 -0
  293. package/.agents/generated/gemini/skills/ux-design/SKILL.md +177 -0
  294. package/.agents/generated/gemini/skills/vercel-optimize/SKILL.md +82 -0
  295. package/.agents/generated/gemini/skills/web-accessibility/SKILL.md +300 -0
  296. package/.agents/mcp/runtime.py +454 -0
  297. package/.agents/mcp/server.mjs +189373 -0
  298. package/.agents/plugins.js +574 -0
  299. package/.agents/profiles.js +267 -0
  300. package/.agents/resolver.js +336 -0
  301. package/.agents/skills-index.json +200 -0
  302. package/.agents/skills.json +6 -0
  303. package/.agents/validate.js +500 -0
  304. package/LICENSE +21 -0
  305. package/README.md +415 -0
  306. package/benchmarks/gemini-issues.js +533 -0
  307. package/bin/index.js +458 -0
  308. package/package.json +70 -0
  309. package/registry.json +53 -0
  310. package/registry.schema.json +32 -0
@@ -0,0 +1,451 @@
1
+ # ui-ux-pro
2
+
3
+ ## Overview
4
+
5
+ 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.
6
+
7
+ ## When to Use
8
+
9
+ Activate during planning and implementation of modern web user interfaces, landing pages, SaaS dashboards, and consumer-facing web apps.
10
+
11
+ ## Rules & Patterns
12
+
13
+ Inspired by [nextlevelbuilder/ui-ux-pro-max-skill](https://github.com/nextlevelbuilder/ui-ux-pro-max-skill).
14
+
15
+ ## Core Principle
16
+
17
+ > Great design is invisible. Bad design is obvious. You will never produce obvious AI design.
18
+
19
+ ## Pre-flight Check & Brief Inference
20
+
21
+ Before starting a design implementation:
22
+
23
+ 1. Infer the unwritten constraints of the domain (e.g., if it's a dev tool, assume dark mode, monospaced numbers, dense layout).
24
+ 2. Propose a "Design Brief Inference" summarizing the intended aesthetic.
25
+
26
+ ---
27
+
28
+ ## [FAIL] Absolute Prohibitions (Never Do These)
29
+
30
+ ### Typography Anti-Patterns
31
+
32
+ - **NEVER** use Arial, Helvetica, or system-ui defaults as primary fonts
33
+ - **NEVER** use Inter as the ONLY font — it is the #1 "AI-generated" visual tell when used alone
34
+ - [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)
35
+ - [FAIL] **WRONG**: Inter for headings, body, labels, numbers, captions — everything
36
+ - **NEVER** mix more than 2 font families
37
+ - **ALWAYS** import proper fonts from Google Fonts or similar
38
+
39
+ ### Color Anti-Patterns
40
+
41
+ - **NEVER** use pure black `#000000` — always tint toward brand hue (e.g. `#0A0A0F`)
42
+ - **NEVER** use pure gray `#808080` — tint it (e.g. `#6B7280` has blue undertones)
43
+ - **NEVER** use purple-to-blue gradients — it is the #1 "AI generated" visual tell
44
+ - **NEVER** use neon colors for primary UI (only accents, sparingly)
45
+ - **ALWAYS** use HSL-based semantic palettes with clear naming
46
+
47
+ ### Layout Anti-Patterns
48
+
49
+ - **NEVER** nest cards inside cards (card-in-card = instant slop flag)
50
+ - **NEVER** put a rounded-square icon tile above every heading
51
+ - **NEVER** center-align long paragraphs (> 2 lines)
52
+ - **NEVER** use gray text on colored backgrounds (contrast failure)
53
+
54
+ ### Animation Anti-Patterns
55
+
56
+ - **NEVER** use bounce or elastic easing in raw CSS — it feels dated (circa 2014)
57
+ - **NEVER** add animations just to show they work
58
+ - **ALWAYS** use `ease-out` for enter, `ease-in` for exit, `ease-in-out` for continuous
59
+
60
+ ---
61
+
62
+ ## [PASS] Required Standards
63
+
64
+ ### Accessibility Checklist
65
+
66
+ Before shipping any UI, verify:
67
+
68
+ - [ ] Text contrast ratio ≥ 4.5:1 for normal text (WCAG AA)
69
+ - [ ] Text contrast ratio ≥ 3:1 for large text (≥ 18px bold or ≥ 24px)
70
+ - [ ] All interactive elements have `aria-label` or visible text
71
+ - [ ] Touch targets are minimum 44×44px (48×48px recommended)
72
+ - [ ] Focus states are visible and styled (not just browser default)
73
+ - [ ] Images have meaningful `alt` text (or `alt=""` if decorative)
74
+ - [ ] Form fields have associated `<label>` elements
75
+ - [ ] Keyboard navigation works without mouse
76
+ - [ ] No color alone conveys information (use icons + text too)
77
+
78
+ ### Semantic Color Palette — shadcn/ui & Tailwind CSS v4 Format
79
+
80
+ 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:
81
+
82
+ ```css
83
+ @layer base {
84
+ :root {
85
+ --background: 220 13% 98%;
86
+ --foreground: 220 13% 9%;
87
+ --card: 220 13% 100%;
88
+ --card-foreground: 220 13% 9%;
89
+ --muted: 220 13% 95%;
90
+ --muted-foreground: 220 9% 46%;
91
+ --border: 220 13% 90%;
92
+ --input: 220 13% 90%;
93
+ --primary: 258 90% 56%;
94
+ --primary-foreground: 0 0% 100%;
95
+ --secondary: 220 13% 94%;
96
+ --secondary-foreground: 220 13% 9%;
97
+ --accent: 258 90% 56%;
98
+ --accent-foreground: 0 0% 100%;
99
+ --destructive: 0 84% 60%;
100
+ --destructive-foreground: 0 0% 100%;
101
+ --ring: 258 90% 56%;
102
+ --radius: 0.5rem;
103
+ }
104
+
105
+ .dark {
106
+ --background: 220 13% 9%;
107
+ --foreground: 210 40% 98%;
108
+ --card: 220 11% 13%;
109
+ --card-foreground: 210 40% 98%;
110
+ --muted: 220 11% 16%;
111
+ --muted-foreground: 215 16% 65%;
112
+ --border: 217 19% 22%;
113
+ --input: 217 19% 22%;
114
+ --primary: 258 90% 66%;
115
+ --primary-foreground: 0 0% 100%;
116
+ --secondary: 220 11% 18%;
117
+ --secondary-foreground: 210 40% 98%;
118
+ --accent: 258 90% 66%;
119
+ --accent-foreground: 0 0% 100%;
120
+ --destructive: 0 84% 60%;
121
+ --destructive-foreground: 0 0% 100%;
122
+ --ring: 258 90% 66%;
123
+ }
124
+ }
125
+ ```
126
+
127
+ > **Rule**: NEVER define colors as raw hex/rgb. ALWAYS use HSL space values so Tailwind opacity modifiers (`text-primary/80`) work correctly.
128
+
129
+ ### Spacing System (Tailwind)
130
+
131
+ Use Tailwind spacing utilities. **Never use arbitrary values** like `gap-[17px]`:
132
+
133
+ - `gap-1` / `p-1` — 4px micro gaps
134
+ - `gap-2` / `p-2` — 8px component internal
135
+ - `gap-4` / `p-4` — 16px standard padding
136
+ - `gap-6` / `p-6` — 24px section gaps
137
+ - `gap-8` / `p-8` — 32px block separators
138
+ - `gap-12` / `py-12` — 48px section separators
139
+ - `gap-20` / `py-20` — 80px hero spacing
140
+
141
+ ### Typography Scale
142
+
143
+ Use a modular type scale (1.25 or 1.333 ratio):
144
+
145
+ ```
146
+ xs: 11px / 0.688rem (text-xs)
147
+ sm: 13px / 0.813rem (text-sm)
148
+ base: 16px / 1rem (text-base)
149
+ lg: 20px / 1.25rem (text-lg)
150
+ xl: 24px / 1.5rem (text-xl)
151
+ 2xl: 32px / 2rem (text-2xl)
152
+ 3xl: 40px / 2.5rem (text-3xl)
153
+ 4xl: 56px / 3.5rem (text-4xl)
154
+ ```
155
+
156
+ Typography utilities:
157
+
158
+ - Long headlines: use `text-balance` (prevents orphan words)
159
+ - Body paragraphs: use `text-pretty` (smart line breaks)
160
+ - Number tables: use `tabular-nums` class (not custom CSS)
161
+
162
+ ---
163
+
164
+ ## Design Parameters (Taste Equalizers)
165
+
166
+ Always set and document the following three parameters (1-10 scale) before starting any design task, to escape generic AI defaults:
167
+
168
+ - **DESIGN_VARIANCE (1-10)**: Grid and Layout structures.
169
+ - 1-3 = Clean, centered layouts, standard grids (Enterprise, Docs).
170
+ - 4-7 = Asymmetric containers, off-grid elements, sticky sidebars (SaaS, Creative tools).
171
+ - 8-10 = Broken grids, overlapping items, editorial style (Portfolios, Agencies).
172
+ - **MOTION_INTENSITY (1-10)**: Animation depth.
173
+ - 1-3 = Basic hover states and micro-interactions only.
174
+ - 4-7 = Page transitions, enter/exit animations, list staggers.
175
+ - 8-10 = Magnetic elements, complex scroll-triggered animations (GSAP territory).
176
+ - **VISUAL_DENSITY (1-10)**: Information architecture.
177
+ - 1-3 = Luxury, airy, massive whitespace (Landing pages).
178
+ - 4-7 = Standard product density (Consumer apps).
179
+ - 8-10 = Dense, compact, dashboard-style (Pro tools, IDEs, Trading platforms).
180
+
181
+ ## Adaptive Aesthetics (Project Mapping)
182
+
183
+ Select the base aesthetic based on the project domain:
184
+
185
+ - **Fintech / Enterprise**: Swiss Minimalism, Neumorphism (High trust, clean, DESIGN_VARIANCE: 2-4).
186
+ - **AI Tools / DevTools**: Dark OLED Luxury, Glassmorphism (Modern, tech-forward, DESIGN_VARIANCE: 5-7).
187
+ - **Creative / Portfolios**: Brutalism, Maximalist, Aurora (Bold, expressive, DESIGN_VARIANCE: 8-10).
188
+
189
+ ## Design Memory & Consistency
190
+
191
+ **CRITICAL**: You must preserve design decisions between sessions to avoid stylistic drift.
192
+ 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.
193
+
194
+ ---
195
+
196
+ ## Design Domains
197
+
198
+ ### Product UI (SaaS / Dashboard / App)
199
+
200
+ - Functional over decorative
201
+ - Dense information where needed (use compact variants)
202
+ - Table zebra striping: use `5%` opacity, not hard borders
203
+ - Data visualization: prefer Chart.js or Recharts, label all axes
204
+ - Loading states: skeleton screens, never spinners alone
205
+ - **Empty States**: ALWAYS design the empty state for every list/table/feed. Never leave a blank screen. Include:
206
+ 1. An illustration or meaningful icon
207
+ 2. A helpful, context-aware message ("No results yet" not "No data")
208
+ 3. A clear primary action CTA ("Create your first project →")
209
+
210
+ ### Marketing / Landing Pages
211
+
212
+ - Hero: full viewport height, one clear CTA
213
+ - Social proof above the fold when possible
214
+ - CTA buttons: filled primary + ghost secondary (never two filled)
215
+ - Testimonials: real photos, full name, company
216
+
217
+ ### Forms
218
+
219
+ - Label above field (not placeholder-as-label)
220
+ - Inline validation (show errors on blur, not on submit)
221
+ - Group related fields visually
222
+ - Progress indicator for multi-step flows
223
+
224
+ ---
225
+
226
+ ## Image-First Pipeline (Design Sprints)
227
+
228
+ 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**:
229
+
230
+ 1. **Generate**: Create 1-3 reference images ("mockups", "brand boards") of the desired UI using image generation.
231
+ 2. **Analyze**: Review the generated images for layout, spacing, and typography choices.
232
+ 3. **Implement**: Write the code to match the aesthetic of the generated reference images.
233
+
234
+ _Do not skip straight to code for major UI overhauls without a visual reference if generation is available._
235
+
236
+ ---
237
+
238
+ ## UI Style Toolkit
239
+
240
+ ### Glassmorphism (Use Sparingly)
241
+
242
+ ```css
243
+ background: rgba(255, 255, 255, 0.05);
244
+ backdrop-filter: blur(20px);
245
+ border: 1px solid rgba(255, 255, 255, 0.1);
246
+ ```
247
+
248
+ ### Subtle Shadows (Dark UI)
249
+
250
+ ```css
251
+ /* Card elevation */
252
+ box-shadow: 0 1px 3px rgba(0,0,0,0.4), 0 1px 2px rgba(0,0,0,0.6);
253
+ /* Floating element */
254
+ box-shadow: 0 10px 40px rgba(0,0,0,0.5), 0 0 0 1px rgba(255,255,255,0.05);
255
+ ```
256
+
257
+ ### Micro-animations
258
+
259
+ **CSS (for simple, lightweight elements):**
260
+
261
+ ```css
262
+ /* Standard transition */
263
+ transition: all 0.15s ease-out;
264
+ /* Hover lift */
265
+ transform: translateY(-2px);
266
+ /* Button press */
267
+ transform: scale(0.97);
268
+ /* Fade in */
269
+ @keyframes fadeIn { from { opacity: 0; transform: translateY(8px); } }
270
+ ```
271
+
272
+ **Framer Motion (for complex layout transitions and orchestration):**
273
+
274
+ For complex UI like modals, popovers, layout shifts, and multi-element orchestration, prefer Framer Motion over raw CSS keyframes. Keep animations quick and purposeful:
275
+
276
+ ```tsx
277
+ // [GOOD] Modal entrance — use highly damped spring for physical feel (like Vercel/Linear)
278
+ <motion.div
279
+ initial={{ opacity: 0, scale: 0.96, y: 8 }}
280
+ animate={{ opacity: 1, scale: 1, y: 0 }}
281
+ exit={{ opacity: 0, scale: 0.96, y: 8 }}
282
+ transition={{ type: "spring", stiffness: 400, damping: 30 }}
283
+ />
284
+
285
+ // [GOOD] List item stagger
286
+ <motion.li
287
+ initial={{ opacity: 0, x: -8 }}
288
+ animate={{ opacity: 1, x: 0 }}
289
+ transition={{ duration: 0.2, ease: "easeOut" }}
290
+ />
291
+
292
+ // [BAD] Never use low damping (bouncy feel)
293
+ transition={{ type: "spring", stiffness: 200, damping: 8 }} // WRONG
294
+ ```
295
+
296
+ **Rule**: `duration` must always be `< 0.3s` for micro-interactions. Respect `prefers-reduced-motion`.
297
+
298
+ ---
299
+
300
+ ## Domain Search Guide
301
+
302
+ When choosing styles, reference these domains:
303
+
304
+ - `style` — UI style options (glassmorphism, neobrutalism, minimalism)
305
+ - `typography` — Font pairing recommendations
306
+ - `color` — Color palettes by product type
307
+ - `ux` — Best practices and anti-patterns
308
+ - `gsap` — Animation patterns by intensity (hover, scroll, transition)
309
+
310
+ ## Role Integration
311
+
312
+ ---
313
+
314
+ ## Tailwind CSS v4 (CSS-First Modern Architecture)
315
+
316
+ In Tailwind CSS v4, styling configuration is native CSS without `tailwind.config.js`:
317
+
318
+ ```css
319
+ @import "tailwindcss";
320
+
321
+ @theme {
322
+ --color-primary: #3b82f6;
323
+ --color-primary-foreground: #ffffff;
324
+ --color-surface: #0f172a;
325
+ --color-surface-muted: #1e293b;
326
+ --font-sans: "Inter", -apple-system, sans-serif;
327
+ --font-mono: "JetBrains Mono", monospace;
328
+ }
329
+ ```
330
+
331
+ - **Zero JavaScript Config**: Define theme variables directly in CSS `@theme`.
332
+ - **Native CSS Variables**: Use `var(--color-...)` for dynamic runtime theming and dark mode.
333
+ - **Dynamic Viewports**: Use `h-dvh` and `min-h-dvh` for full-height layouts that behave properly on mobile browsers.
334
+
335
+ ---
336
+
337
+ ## Core Web Vitals 2026: INP (Interaction to Next Paint)
338
+
339
+ - **Target**: INP < 200ms (replaces legacy FID).
340
+ - **Rule**: Never block the main thread for > 50ms during click, keypress, or tap event handlers.
341
+ - Wrap heavy UI updates in `startTransition`:
342
+
343
+ ```tsx
344
+ startTransition(() => {
345
+ setFilter(newFilter);
346
+ });
347
+ ```
348
+
349
+ - Use Web Workers or chunks for heavy client-side filtering and data processing.
350
+
351
+ ---
352
+
353
+ ## Code Examples
354
+
355
+ See `EXAMPLES.md` for detailed code examples.
356
+
357
+ ## Validation Checklist
358
+
359
+ What to verify during the review phase before completing the task.
360
+
361
+ ## Common Mistakes
362
+
363
+ Anti-patterns and things to explicitly avoid. See `TROUBLESHOOTING.md`.
364
+
365
+ ## Integration Notes
366
+
367
+ How this skill interacts with other skills.
368
+
369
+
370
+ # UI/UX Pro Examples — Anti-patterns vs ContextOS Standard
371
+
372
+ ## Example 1: Accessible Icon Button with Visible Focus States
373
+
374
+ ### Anti-pattern: Anti-pattern (Missing accessible name and arbitrary color values)
375
+
376
+ ```tsx
377
+ // BAD: inaccessible to screen readers, missing focus ring, arbitrary hex
378
+ <button className="bg-[#5a4fcf] p-[7px] rounded-[5px]" onClick={onClose}>
379
+ <XIcon />
380
+ </button>
381
+ ```
382
+
383
+ ### Best practice: ContextOS Standard (Semantic token scales & ARIA label)
384
+
385
+ ```tsx
386
+ // GOOD: full keyboard accessibility, semantic tokens, focus-visible ring
387
+ <button
388
+ type="button"
389
+ aria-label="Close modal dialog"
390
+ onClick={onClose}
391
+ 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"
392
+ >
393
+ <X className="h-4 w-4" aria-hidden="true" />
394
+ </button>
395
+ ```
396
+
397
+ ---
398
+
399
+ ## Example 2: Stat Card Hierarchy
400
+
401
+ ### Anti-pattern: Anti-pattern (Flat low-contrast layout with purple-gradient cliche)
402
+
403
+ ```tsx
404
+ // BAD: cliche AI gradient, poor typographic hierarchy
405
+ <div className="bg-gradient-to-r from-purple-500 to-blue-500 p-4 rounded-xl text-white">
406
+ <div>Total Revenue</div>
407
+ <div className="text-xl">$45,231.89</div>
408
+ </div>
409
+ ```
410
+
411
+ ### Best practice: ContextOS Standard (Refined editorial typography & subtle depth)
412
+
413
+ ```tsx
414
+ // GOOD: high contrast, monospace numerical accent, subtle border
415
+ <div className="rounded-xl border border-border/50 bg-card p-6 shadow-sm transition-all hover:shadow-md">
416
+ <div className="flex items-center justify-between">
417
+ <span className="text-xs font-medium uppercase tracking-wider text-muted-foreground">
418
+ Total Revenue
419
+ </span>
420
+ <TrendingUp className="h-4 w-4 text-emerald-500" aria-hidden="true" />
421
+ </div>
422
+ <div className="mt-3 flex items-baseline gap-2">
423
+ <span className="font-mono text-3xl font-semibold tracking-tight text-foreground">
424
+ $45,231.89
425
+ </span>
426
+ <span className="font-mono text-xs font-medium text-emerald-600 dark:text-emerald-400">
427
+ +14.2%
428
+ </span>
429
+ </div>
430
+ </div>
431
+ ```
432
+
433
+ # ui-ux-pro Troubleshooting & Common Mistakes
434
+
435
+ ## 1. Obvious AI Design Tells
436
+
437
+ - **Symptom**: The interface immediately looks like a generic AI prototype.
438
+ - **Root Cause**: Using Inter alone, pure black (#000000), purple-blue gradients, and rounded icon squares above every title.
439
+ - **Fix**: Use tinted backgrounds (#090A0F), pair primary font with JetBrains Mono for code/numbers, use subtle border highlights.
440
+
441
+ ## 2. Contrast Failures in Secondary Elements
442
+
443
+ - **Symptom**: Captions, timestamps, and borders are invisible or impossible to read.
444
+ - **Root Cause**: Using flat #666 or #444 grays without testing against actual background luminance.
445
+ - **Fix**: Always test contrast ratios (minimum 4.5:1 for body, 3:1 for graphical boundaries) using semantic theme tokens.
446
+
447
+ ## 3. Nesting Cards Inside Cards
448
+
449
+ - **Symptom**: Visual claustrophobia and slop aesthetic.
450
+ - **Root Cause**: Putting bordered cards inside other bordered cards.
451
+ - **Fix**: Flatten the hierarchy. Use background surface contrast and negative space instead of border-in-border nesting.
@@ -0,0 +1,168 @@
1
+ # UX Design
2
+
3
+ ## Overview
4
+
5
+ User experience and interaction design standard. Enforces progressive disclosure, predictable user flows, designed empty/loading/error states, form usability, and keyboard navigation ergonomics.
6
+
7
+ ## When to Use
8
+
9
+ Activate when designing complex multi-step workflows, onboarding funnels, form validation feedback, error recovery flows, and user journeys.
10
+
11
+ ## Rules & Patterns
12
+ <!-- Source: ux.md -->
13
+
14
+ ## UX Design — Best Practices
15
+
16
+ ## Information Architecture
17
+
18
+ - **Mental models** — organize content the way users think, not the way your code is structured
19
+ - **Card sorting** — group features into logical categories
20
+ - **Navigation structure** — no more than 3 clicks to any page
21
+ - **Naming** — use user's language, not internal jargon
22
+
23
+ ## User Flows
24
+
25
+ ### Design every state
26
+
27
+ Every screen has 5 states. Design ALL of them:
28
+
29
+ 1. **Empty state** — first visit, no data yet. Include CTA to get started
30
+ 2. **Loading state** — skeleton screens > spinners
31
+ 3. **Partial state** — some data, not complete
32
+ 4. **Ideal state** — normal usage with data
33
+ 5. **Error state** — what went wrong and how to fix it
34
+
35
+ ### Reduce cognitive load
36
+
37
+ - **Progressive disclosure** — show only what's needed now
38
+ - **Sensible defaults** — pre-fill what you can
39
+ - **Inline help** — tooltips and contextual guidance
40
+ - **Confirmation for destructive actions** — but NOT for every action
41
+
42
+ ## Forms UX
43
+
44
+ - Show progress for multi-step forms
45
+ - Validate inline (on blur), not on submit
46
+ - Show password requirements as the user types
47
+ - Auto-focus the first input
48
+ - Use appropriate input types (email, tel, date)
49
+ - Disable submit button only when form is submitting, never as "validation"
50
+
51
+ ## Onboarding
52
+
53
+ - **Quick win** — let users see value within 30 seconds
54
+ - **Minimal signup** — only ask for what's absolutely needed
55
+ - **Progressive onboarding** — teach features as users encounter them
56
+ - **Skip option** — always let users skip tutorials
57
+
58
+ ## Feedback
59
+
60
+ - Every action needs feedback (success, error, pending)
61
+ - Use toast notifications for non-blocking feedback
62
+ - Use inline messages for form validation
63
+ - Loading states should be < 300ms before showing (avoid flash)
64
+ - Optimistic UI for fast-perceived actions
65
+
66
+ ## Mobile UX
67
+
68
+ - Touch targets: minimum 44x44px
69
+ - Thumb zones — place primary actions within easy reach
70
+ - Bottom navigation for core actions
71
+ - Pull-to-refresh for content lists
72
+ - Haptic feedback for important actions
73
+
74
+ ## Psychology Principles
75
+
76
+ - **Fitts's Law** — make important targets large and close
77
+ - **Hick's Law** — reduce choices to reduce decision time
78
+ - **Jakob's Law** — users prefer familiar patterns
79
+ - **Peak-End Rule** — make the last interaction great
80
+ - **Aesthetic-Usability Effect** — beautiful things are perceived as easier to use
81
+
82
+ ## Usability Heuristics (Nielsen)
83
+
84
+ 1. Visibility of system status
85
+ 2. Match between system and real world
86
+ 3. User control and freedom (undo, escape)
87
+ 4. Consistency and standards
88
+ 5. Error prevention
89
+ 6. Recognition rather than recall
90
+ 7. Flexibility and efficiency of use
91
+ 8. Aesthetic and minimalist design
92
+ 9. Help users recognize and recover from errors
93
+ 10. Help and documentation
94
+
95
+
96
+ ## Code Examples
97
+
98
+ See `EXAMPLES.md` for detailed code examples.
99
+
100
+ ## Validation Checklist
101
+
102
+ What to verify during the review phase before completing the task.
103
+
104
+ ## Common Mistakes
105
+
106
+ Anti-patterns and things to explicitly avoid. See `TROUBLESHOOTING.md`.
107
+
108
+ ## Integration Notes
109
+
110
+ How this skill interacts with other skills.
111
+
112
+
113
+ # ux-design Examples — Anti-patterns vs ContextOS Standard
114
+
115
+ ## Example 1: Destructive Actions
116
+
117
+ ### Anti-pattern: Instant Deletion Without Confirmation or Recovery
118
+
119
+ ```tsx
120
+ // BAD: Immediate delete on click, no confirmation, irreversible data loss
121
+ <button onClick={() => deleteProject(project.id)}>Delete</button>
122
+ ```
123
+
124
+ ### Best practice: ContextOS Standard (Two-Step Confirmation or Undo Toast)
125
+
126
+ ```tsx
127
+ // GOOD: Clear confirmation dialog stating exact item name and non-reversible impact
128
+ <AlertDialog>
129
+ <AlertDialogTrigger asChild>
130
+ <Button variant="destructive">Delete Project</Button>
131
+ </AlertDialogTrigger>
132
+ <AlertDialogContent>
133
+ <AlertDialogHeader>
134
+ <AlertDialogTitle>Are you absolutely sure?</AlertDialogTitle>
135
+ <AlertDialogDescription>
136
+ This action cannot be undone. This will permanently delete <strong>{project.name}</strong>
137
+ and all associated API keys.
138
+ </AlertDialogDescription>
139
+ </AlertDialogHeader>
140
+ <AlertDialogFooter>
141
+ <AlertDialogCancel>Cancel</AlertDialogCancel>
142
+ <AlertDialogAction onClick={handleDelete} className="bg-destructive">
143
+ Delete permanently
144
+ </AlertDialogAction>
145
+ </AlertDialogFooter>
146
+ </AlertDialogContent>
147
+ </AlertDialog>
148
+ ```
149
+
150
+ # ux-design Troubleshooting & Common Mistakes
151
+
152
+ ## 1. Mystery Meat Navigation
153
+
154
+ - **Symptom**: Users don't know what icons do and have to hover to guess.
155
+ - **Root Cause**: Relying on ambiguous icons without text labels or tooltips.
156
+ - **Fix**: Pair icons with text labels wherever space permits; always provide accessible tooltips on icon-only actions.
157
+
158
+ ## 2. Loss of User Input on Interruption
159
+
160
+ - **Symptom**: User accidentally clicks outside a long modal form and all typed content vanishes.
161
+ - **Root Cause**: Modals closing on backdrop click without checking form dirty state.
162
+ - **Fix**: Prevent dismiss on outside click when form has unsaved modifications, or autosave drafts to local storage.
163
+
164
+ ## 3. Double-Click Submission Bugs
165
+
166
+ - **Symptom**: Users double-click a submit button on slow network, resulting in duplicate charges or items.
167
+ - **Root Cause**: Form buttons remaining active during in-flight network requests.
168
+ - **Fix**: Disable button and show spinner state as soon as form submission begins.
@@ -0,0 +1,76 @@
1
+ # Vercel Optimize
2
+
3
+ ## Overview
4
+
5
+ Observability-first Vercel performance and cost reduction optimization skill. Evaluates deployed Next.js, SvelteKit, Nuxt, and Astro projects using production telemetry signals (`signals.json`), deterministic candidate gating, and code scanning to deliver ranked, verified architectural recommendations.
6
+
7
+ ## When to Use
8
+
9
+ - When tasked with reducing Vercel bills, Function Invocations, Fast Data Transfer, or Build Minutes.
10
+ - When diagnosing slow serverless routes, cold starts, or Edge vs Node runtime mismatches.
11
+ - When evaluating caching opportunities (`stale-while-revalidate`, ISR, CDN edge caching) or Core Web Vitals degradation.
12
+
13
+ ## Rules & Patterns
14
+
15
+ ### 1. Prerequisites & Framework Support
16
+
17
+ - Vercel CLI v53+ with `vercel metrics`, `vercel usage`, `vercel contract`, and `vercel api`.
18
+ - Authenticated CLI session (`vercel login`) and linked app directory (`vercel link`).
19
+ - Framework support: Next.js App Router (Full), Pages Router (Supported), SvelteKit (Supported), Nuxt (Supported), Astro (Limited).
20
+ - Security rule: Never put auth tokens in shell commands (`VERCEL_TOKEN=...` is banned in chat/logs).
21
+
22
+ ### 2. Core Doctrine & Gating Pipeline
23
+
24
+ - **Metrics First:** Recommendations start from Vercel production signals (14-day window), not repo-wide grep.
25
+ - **Deterministic Gates:** `scripts/gate-investigations.mjs` selects code-scope and platform-scope candidates.
26
+ - **Candidate-Bound Scope:** Inspect only files named by a candidate or a route-local import chain.
27
+ - **Version-Aware Citations:** Use only verified citations matching the target framework version.
28
+ - **Specific Cache Policies:** When recommending caching, state the exact cache policy and headers; keep auth-sensitive and error responses dynamic.
29
+
30
+ ### 3. Recommendation Rules
31
+
32
+ - Every recommendation must trace to a launched candidate and include observed metric evidence.
33
+ - Cite verified files with line numbers when code changes are proposed.
34
+ - Use precise observed performance numbers; avoid customer-facing speculative `$N` savings formulas.
35
+ - Do not recommend duration reductions for Vercel Workflow runtime endpoints (`/.well-known/workflow/v1/*`).
36
+
37
+ ## Code Examples
38
+
39
+ ```typescript
40
+ // [GOOD] Next.js Route Segment Config for Caching & Edge Runtime
41
+ export const dynamic = 'force-static';
42
+ export const revalidate = 3600; // Cache at Edge for 1 hour
43
+
44
+ export default async function CachedCatalogPage() {
45
+ const products = await getCatalogData();
46
+ return <CatalogGrid items={products} />;
47
+ }
48
+ ```
49
+
50
+ ```bash
51
+ # Running the signals collection and gate
52
+ node scripts/collect-signals.mjs [projectId] > "$RUN_DIR/vercel-signals.json"
53
+ node scripts/scan-codebase.mjs <repo-root> > "$RUN_DIR/codebase.json"
54
+ node scripts/merge-signals.mjs "$RUN_DIR/vercel-signals.json" "$RUN_DIR/codebase.json" --out "$RUN_DIR/signals.json"
55
+ node scripts/gate-investigations.mjs "$RUN_DIR/signals.json" > "$RUN_DIR/gate.json"
56
+ ```
57
+
58
+ ## Validation Checklist
59
+
60
+ - [ ] Project is properly linked with valid team/personal scope (`vercel link`).
61
+ - [ ] Production metrics signals collected across 14-day window before inspecting code.
62
+ - [ ] No secrets or tokens passed in command line arguments.
63
+ - [ ] Recommendations grounded in specific verified file paths and line numbers.
64
+ - [ ] Unsafe or auth-sensitive paths kept strictly dynamic.
65
+
66
+ ## Common Mistakes
67
+
68
+ - Inspecting repository source code before metric signals exist.
69
+ - Hardcoding `VERCEL_TOKEN` into terminal commands or prompt logs.
70
+ - Recommending duration reductions on long-lived streaming routes or workflow runners.
71
+ - Applying static caching to user-specific or authenticated routes.
72
+
73
+ ## Integration Notes
74
+
75
+ - Complements `nextjs` and `react-best-practices` for server-side optimization.
76
+ - Pairs with `performance` and `security` skills.