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.
- package/.agents/AGENTS.md +421 -0
- package/.agents/adapters/aider/export.js +137 -0
- package/.agents/adapters/claude/export.js +55 -0
- package/.agents/adapters/copilot/export.js +107 -0
- package/.agents/adapters/cursor/export.js +210 -0
- package/.agents/adapters/gemini/export.js +115 -0
- package/.agents/adapters/shared.js +119 -0
- package/.agents/adapters/zed/export.js +111 -0
- package/.agents/core/profiles/backend.yaml +47 -0
- package/.agents/core/profiles/enterprise.yaml +46 -0
- package/.agents/core/profiles/frontend.yaml +46 -0
- package/.agents/core/profiles/hackathon.yaml +45 -0
- package/.agents/core/profiles/mvp.yaml +43 -0
- package/.agents/core/profiles/startup.yaml +48 -0
- package/.agents/core/skills/adapters/EXAMPLES.md +19 -0
- package/.agents/core/skills/adapters/SKILL.md +105 -0
- package/.agents/core/skills/adapters/TROUBLESHOOTING.md +7 -0
- package/.agents/core/skills/adapters/VALIDATION.json +12 -0
- package/.agents/core/skills/adapters/skill.yaml +10 -0
- package/.agents/core/skills/architecture-diagrams/SKILL.md +108 -0
- package/.agents/core/skills/architecture-diagrams/VALIDATION.json +12 -0
- package/.agents/core/skills/architecture-diagrams/skill.yaml +8 -0
- package/.agents/core/skills/brutalist-design/SKILL.md +150 -0
- package/.agents/core/skills/brutalist-design/VALIDATION.json +12 -0
- package/.agents/core/skills/brutalist-design/skill.yaml +8 -0
- package/.agents/core/skills/context-manager/EXAMPLES.md +19 -0
- package/.agents/core/skills/context-manager/SKILL.md +126 -0
- package/.agents/core/skills/context-manager/TROUBLESHOOTING.md +7 -0
- package/.agents/core/skills/context-manager/VALIDATION.json +12 -0
- package/.agents/core/skills/context-manager/skill.yaml +10 -0
- package/.agents/core/skills/context-os/EXAMPLES.md +21 -0
- package/.agents/core/skills/context-os/SKILL.md +169 -0
- package/.agents/core/skills/context-os/TROUBLESHOOTING.md +7 -0
- package/.agents/core/skills/context-os/VALIDATION.json +12 -0
- package/.agents/core/skills/context-os/packs.yaml +59 -0
- package/.agents/core/skills/context-os/references/context-rules.md +68 -0
- package/.agents/core/skills/context-os/references/pipeline.md +119 -0
- package/.agents/core/skills/context-os/references/project-graph.md +103 -0
- package/.agents/core/skills/context-os/rules.yaml +135 -0
- package/.agents/core/skills/context-os/skill.yaml +10 -0
- package/.agents/core/skills/database/EXAMPLES.md +74 -0
- package/.agents/core/skills/database/SKILL.md +101 -0
- package/.agents/core/skills/database/TROUBLESHOOTING.md +18 -0
- package/.agents/core/skills/database/VALIDATION.json +11 -0
- package/.agents/core/skills/database/skill.yaml +25 -0
- package/.agents/core/skills/ddd/EXAMPLES.md +42 -0
- package/.agents/core/skills/ddd/SKILL.md +247 -0
- package/.agents/core/skills/ddd/TROUBLESHOOTING.md +19 -0
- package/.agents/core/skills/ddd/VALIDATION.json +12 -0
- package/.agents/core/skills/ddd/ddd.md +178 -0
- package/.agents/core/skills/ddd/skill.yaml +10 -0
- package/.agents/core/skills/decisions/EXAMPLES.md +35 -0
- package/.agents/core/skills/decisions/SKILL.md +90 -0
- package/.agents/core/skills/decisions/TROUBLESHOOTING.md +13 -0
- package/.agents/core/skills/decisions/VALIDATION.json +12 -0
- package/.agents/core/skills/decisions/skill.yaml +10 -0
- package/.agents/core/skills/docker/EXAMPLES.md +56 -0
- package/.agents/core/skills/docker/SKILL.md +63 -0
- package/.agents/core/skills/docker/TROUBLESHOOTING.md +18 -0
- package/.agents/core/skills/docker/VALIDATION.json +11 -0
- package/.agents/core/skills/docker/skill.yaml +23 -0
- package/.agents/core/skills/engineering-workflow/EXAMPLES.md +57 -0
- package/.agents/core/skills/engineering-workflow/SKILL.md +343 -0
- package/.agents/core/skills/engineering-workflow/TROUBLESHOOTING.md +19 -0
- package/.agents/core/skills/engineering-workflow/VALIDATION.json +12 -0
- package/.agents/core/skills/engineering-workflow/skill.yaml +13 -0
- package/.agents/core/skills/fastapi/EXAMPLES.md +36 -0
- package/.agents/core/skills/fastapi/SKILL.md +148 -0
- package/.agents/core/skills/fastapi/TROUBLESHOOTING.md +19 -0
- package/.agents/core/skills/fastapi/VALIDATION.json +12 -0
- package/.agents/core/skills/fastapi/fastapi.md +112 -0
- package/.agents/core/skills/fastapi/skill.yaml +10 -0
- package/.agents/core/skills/gemini-precision/SKILL.md +169 -0
- package/.agents/core/skills/gemini-precision/VALIDATION.json +12 -0
- package/.agents/core/skills/gemini-precision/skill.yaml +9 -0
- package/.agents/core/skills/generators/EXAMPLES.md +19 -0
- package/.agents/core/skills/generators/SKILL.md +112 -0
- package/.agents/core/skills/generators/TROUBLESHOOTING.md +7 -0
- package/.agents/core/skills/generators/VALIDATION.json +12 -0
- package/.agents/core/skills/generators/skill.yaml +10 -0
- package/.agents/core/skills/generators/templates/API.md +77 -0
- package/.agents/core/skills/generators/templates/ARCHITECTURE.md +70 -0
- package/.agents/core/skills/generators/templates/DATABASE.md +42 -0
- package/.agents/core/skills/generators/templates/DECISION.md +46 -0
- package/.agents/core/skills/generators/templates/PRD.md +67 -0
- package/.agents/core/skills/generators/templates/PROJECT_GRAPH.md +56 -0
- package/.agents/core/skills/generators/templates/ROADMAP.md +51 -0
- package/.agents/core/skills/generators/templates/TASKS.md +43 -0
- package/.agents/core/skills/generators/templates/UI.md +73 -0
- package/.agents/core/skills/graphify/EXAMPLES.md +73 -0
- package/.agents/core/skills/graphify/SKILL.md +130 -0
- package/.agents/core/skills/graphify/VALIDATION.json +12 -0
- package/.agents/core/skills/graphify/skill.yaml +13 -0
- package/.agents/core/skills/gstack-roles/EXAMPLES.md +23 -0
- package/.agents/core/skills/gstack-roles/SKILL.md +152 -0
- package/.agents/core/skills/gstack-roles/TROUBLESHOOTING.md +13 -0
- package/.agents/core/skills/gstack-roles/VALIDATION.json +12 -0
- package/.agents/core/skills/gstack-roles/skill.yaml +12 -0
- package/.agents/core/skills/impeccable-design/EXAMPLES.md +26 -0
- package/.agents/core/skills/impeccable-design/SKILL.md +201 -0
- package/.agents/core/skills/impeccable-design/TROUBLESHOOTING.md +19 -0
- package/.agents/core/skills/impeccable-design/VALIDATION.json +12 -0
- package/.agents/core/skills/impeccable-design/skill.yaml +14 -0
- package/.agents/core/skills/interview-me/SKILL.md +97 -0
- package/.agents/core/skills/interview-me/VALIDATION.json +12 -0
- package/.agents/core/skills/interview-me/skill.yaml +8 -0
- package/.agents/core/skills/microservices/EXAMPLES.md +38 -0
- package/.agents/core/skills/microservices/SKILL.md +164 -0
- package/.agents/core/skills/microservices/TROUBLESHOOTING.md +19 -0
- package/.agents/core/skills/microservices/VALIDATION.json +12 -0
- package/.agents/core/skills/microservices/microservices.md +119 -0
- package/.agents/core/skills/microservices/skill.yaml +10 -0
- package/.agents/core/skills/minimalist-design/SKILL.md +113 -0
- package/.agents/core/skills/minimalist-design/VALIDATION.json +12 -0
- package/.agents/core/skills/minimalist-design/skill.yaml +8 -0
- package/.agents/core/skills/nestjs/EXAMPLES.md +40 -0
- package/.agents/core/skills/nestjs/SKILL.md +139 -0
- package/.agents/core/skills/nestjs/TROUBLESHOOTING.md +19 -0
- package/.agents/core/skills/nestjs/VALIDATION.json +12 -0
- package/.agents/core/skills/nestjs/nestjs.md +103 -0
- package/.agents/core/skills/nestjs/skill.yaml +10 -0
- package/.agents/core/skills/nextjs/EXAMPLES.md +40 -0
- package/.agents/core/skills/nextjs/SKILL.md +163 -0
- package/.agents/core/skills/nextjs/TROUBLESHOOTING.md +19 -0
- package/.agents/core/skills/nextjs/VALIDATION.json +12 -0
- package/.agents/core/skills/nextjs/nextjs.md +67 -0
- package/.agents/core/skills/nextjs/skill.yaml +10 -0
- package/.agents/core/skills/node/EXAMPLES.md +80 -0
- package/.agents/core/skills/node/SKILL.md +128 -0
- package/.agents/core/skills/node/TROUBLESHOOTING.md +19 -0
- package/.agents/core/skills/node/VALIDATION.json +12 -0
- package/.agents/core/skills/node/node.md +87 -0
- package/.agents/core/skills/node/skill.yaml +10 -0
- package/.agents/core/skills/performance/EXAMPLES.md +30 -0
- package/.agents/core/skills/performance/SKILL.md +75 -0
- package/.agents/core/skills/performance/TROUBLESHOOTING.md +19 -0
- package/.agents/core/skills/performance/VALIDATION.json +12 -0
- package/.agents/core/skills/performance/performance.md +52 -0
- package/.agents/core/skills/performance/skill.yaml +10 -0
- package/.agents/core/skills/ponytail-mindset/EXAMPLES.md +45 -0
- package/.agents/core/skills/ponytail-mindset/SKILL.md +193 -0
- package/.agents/core/skills/ponytail-mindset/TROUBLESHOOTING.md +19 -0
- package/.agents/core/skills/ponytail-mindset/VALIDATION.json +12 -0
- package/.agents/core/skills/ponytail-mindset/skill.yaml +14 -0
- package/.agents/core/skills/react/EXAMPLES.md +79 -0
- package/.agents/core/skills/react/SKILL.md +132 -0
- package/.agents/core/skills/react/TROUBLESHOOTING.md +19 -0
- package/.agents/core/skills/react/VALIDATION.json +12 -0
- package/.agents/core/skills/react/react.md +93 -0
- package/.agents/core/skills/react/skill.yaml +10 -0
- package/.agents/core/skills/react-best-practices/SKILL.md +155 -0
- package/.agents/core/skills/react-best-practices/VALIDATION.json +12 -0
- package/.agents/core/skills/react-best-practices/skill.yaml +10 -0
- package/.agents/core/skills/redesign-audit/SKILL.md +117 -0
- package/.agents/core/skills/redesign-audit/VALIDATION.json +12 -0
- package/.agents/core/skills/redesign-audit/skill.yaml +8 -0
- package/.agents/core/skills/security/EXAMPLES.md +64 -0
- package/.agents/core/skills/security/SKILL.md +158 -0
- package/.agents/core/skills/security/TROUBLESHOOTING.md +19 -0
- package/.agents/core/skills/security/VALIDATION.json +12 -0
- package/.agents/core/skills/security/security.md +106 -0
- package/.agents/core/skills/security/skill.yaml +10 -0
- package/.agents/core/skills/soft-design/SKILL.md +108 -0
- package/.agents/core/skills/soft-design/VALIDATION.json +12 -0
- package/.agents/core/skills/soft-design/skill.yaml +8 -0
- package/.agents/core/skills/state-management/EXAMPLES.md +56 -0
- package/.agents/core/skills/state-management/SKILL.md +48 -0
- package/.agents/core/skills/state-management/TROUBLESHOOTING.md +18 -0
- package/.agents/core/skills/state-management/VALIDATION.json +11 -0
- package/.agents/core/skills/state-management/skill.yaml +22 -0
- package/.agents/core/skills/subagent-orchestrator/SKILL.md +100 -0
- package/.agents/core/skills/subagent-orchestrator/VALIDATION.json +12 -0
- package/.agents/core/skills/subagent-orchestrator/skill.yaml +8 -0
- package/.agents/core/skills/system-design/EXAMPLES.md +75 -0
- package/.agents/core/skills/system-design/SKILL.md +419 -0
- package/.agents/core/skills/system-design/TROUBLESHOOTING.md +19 -0
- package/.agents/core/skills/system-design/VALIDATION.json +12 -0
- package/.agents/core/skills/system-design/skill.yaml +13 -0
- package/.agents/core/skills/system-design/system-design.md +112 -0
- package/.agents/core/skills/testing/EXAMPLES.md +71 -0
- package/.agents/core/skills/testing/SKILL.md +70 -0
- package/.agents/core/skills/testing/TROUBLESHOOTING.md +18 -0
- package/.agents/core/skills/testing/VALIDATION.json +11 -0
- package/.agents/core/skills/testing/skill.yaml +26 -0
- package/.agents/core/skills/typescript/EXAMPLES.md +64 -0
- package/.agents/core/skills/typescript/SKILL.md +112 -0
- package/.agents/core/skills/typescript/TROUBLESHOOTING.md +19 -0
- package/.agents/core/skills/typescript/VALIDATION.json +12 -0
- package/.agents/core/skills/typescript/skill.yaml +10 -0
- package/.agents/core/skills/typescript/typescript.md +71 -0
- package/.agents/core/skills/ui-design/EXAMPLES.md +21 -0
- package/.agents/core/skills/ui-design/SKILL.md +124 -0
- package/.agents/core/skills/ui-design/TROUBLESHOOTING.md +19 -0
- package/.agents/core/skills/ui-design/VALIDATION.json +12 -0
- package/.agents/core/skills/ui-design/skill.yaml +10 -0
- package/.agents/core/skills/ui-design/ui.md +88 -0
- package/.agents/core/skills/ui-ux-pro/EXAMPLES.md +62 -0
- package/.agents/core/skills/ui-ux-pro/SKILL.md +375 -0
- package/.agents/core/skills/ui-ux-pro/TROUBLESHOOTING.md +19 -0
- package/.agents/core/skills/ui-ux-pro/VALIDATION.json +12 -0
- package/.agents/core/skills/ui-ux-pro/skill.yaml +13 -0
- package/.agents/core/skills/ux-design/EXAMPLES.md +36 -0
- package/.agents/core/skills/ux-design/SKILL.md +116 -0
- package/.agents/core/skills/ux-design/TROUBLESHOOTING.md +19 -0
- package/.agents/core/skills/ux-design/VALIDATION.json +12 -0
- package/.agents/core/skills/ux-design/skill.yaml +10 -0
- package/.agents/core/skills/ux-design/ux.md +80 -0
- package/.agents/core/skills/vercel-optimize/SKILL.md +83 -0
- package/.agents/core/skills/vercel-optimize/VALIDATION.json +12 -0
- package/.agents/core/skills/vercel-optimize/skill.yaml +10 -0
- package/.agents/core/skills/web-accessibility/EXAMPLES.md +39 -0
- package/.agents/core/skills/web-accessibility/SKILL.md +170 -0
- package/.agents/core/skills/web-accessibility/TROUBLESHOOTING.md +19 -0
- package/.agents/core/skills/web-accessibility/VALIDATION.json +12 -0
- package/.agents/core/skills/web-accessibility/accessibility.md +63 -0
- package/.agents/core/skills/web-accessibility/skill.yaml +10 -0
- package/.agents/ctx.js +370 -0
- package/.agents/generated/claude/skills/adapters/SKILL.md +126 -0
- package/.agents/generated/claude/skills/architecture-diagrams/SKILL.md +101 -0
- package/.agents/generated/claude/skills/brutalist-design/SKILL.md +145 -0
- package/.agents/generated/claude/skills/context-manager/SKILL.md +147 -0
- package/.agents/generated/claude/skills/context-os/SKILL.md +191 -0
- package/.agents/generated/claude/skills/database/SKILL.md +191 -0
- package/.agents/generated/claude/skills/ddd/SKILL.md +305 -0
- package/.agents/generated/claude/skills/decisions/SKILL.md +134 -0
- package/.agents/generated/claude/skills/docker/SKILL.md +135 -0
- package/.agents/generated/claude/skills/engineering-workflow/SKILL.md +414 -0
- package/.agents/generated/claude/skills/fastapi/SKILL.md +200 -0
- package/.agents/generated/claude/skills/gemini-precision/SKILL.md +161 -0
- package/.agents/generated/claude/skills/generators/SKILL.md +133 -0
- package/.agents/generated/claude/skills/graphify/SKILL.md +198 -0
- package/.agents/generated/claude/skills/gstack-roles/SKILL.md +184 -0
- package/.agents/generated/claude/skills/impeccable-design/SKILL.md +241 -0
- package/.agents/generated/claude/skills/interview-me/SKILL.md +90 -0
- package/.agents/generated/claude/skills/microservices/SKILL.md +218 -0
- package/.agents/generated/claude/skills/minimalist-design/SKILL.md +108 -0
- package/.agents/generated/claude/skills/nestjs/SKILL.md +195 -0
- package/.agents/generated/claude/skills/nextjs/SKILL.md +219 -0
- package/.agents/generated/claude/skills/node/SKILL.md +224 -0
- package/.agents/generated/claude/skills/performance/SKILL.md +121 -0
- package/.agents/generated/claude/skills/ponytail-mindset/SKILL.md +252 -0
- package/.agents/generated/claude/skills/react/SKILL.md +227 -0
- package/.agents/generated/claude/skills/react-best-practices/SKILL.md +146 -0
- package/.agents/generated/claude/skills/redesign-audit/SKILL.md +112 -0
- package/.agents/generated/claude/skills/security/SKILL.md +237 -0
- package/.agents/generated/claude/skills/soft-design/SKILL.md +103 -0
- package/.agents/generated/claude/skills/state-management/SKILL.md +120 -0
- package/.agents/generated/claude/skills/subagent-orchestrator/SKILL.md +93 -0
- package/.agents/generated/claude/skills/system-design/SKILL.md +507 -0
- package/.agents/generated/claude/skills/testing/SKILL.md +157 -0
- package/.agents/generated/claude/skills/typescript/SKILL.md +192 -0
- package/.agents/generated/claude/skills/ui-design/SKILL.md +161 -0
- package/.agents/generated/claude/skills/ui-ux-pro/SKILL.md +451 -0
- package/.agents/generated/claude/skills/ux-design/SKILL.md +168 -0
- package/.agents/generated/claude/skills/vercel-optimize/SKILL.md +76 -0
- package/.agents/generated/claude/skills/web-accessibility/SKILL.md +225 -0
- package/.agents/generated/gemini/skills/adapters/SKILL.md +135 -0
- package/.agents/generated/gemini/skills/architecture-diagrams/SKILL.md +107 -0
- package/.agents/generated/gemini/skills/brutalist-design/SKILL.md +151 -0
- package/.agents/generated/gemini/skills/context-manager/SKILL.md +156 -0
- package/.agents/generated/gemini/skills/context-os/SKILL.md +200 -0
- package/.agents/generated/gemini/skills/database/SKILL.md +200 -0
- package/.agents/generated/gemini/skills/ddd/SKILL.md +314 -0
- package/.agents/generated/gemini/skills/decisions/SKILL.md +143 -0
- package/.agents/generated/gemini/skills/docker/SKILL.md +144 -0
- package/.agents/generated/gemini/skills/engineering-workflow/SKILL.md +423 -0
- package/.agents/generated/gemini/skills/fastapi/SKILL.md +209 -0
- package/.agents/generated/gemini/skills/gemini-precision/SKILL.md +167 -0
- package/.agents/generated/gemini/skills/generators/SKILL.md +142 -0
- package/.agents/generated/gemini/skills/graphify/SKILL.md +205 -0
- package/.agents/generated/gemini/skills/gstack-roles/SKILL.md +193 -0
- package/.agents/generated/gemini/skills/impeccable-design/SKILL.md +250 -0
- package/.agents/generated/gemini/skills/interview-me/SKILL.md +96 -0
- package/.agents/generated/gemini/skills/microservices/SKILL.md +227 -0
- package/.agents/generated/gemini/skills/minimalist-design/SKILL.md +114 -0
- package/.agents/generated/gemini/skills/nestjs/SKILL.md +204 -0
- package/.agents/generated/gemini/skills/nextjs/SKILL.md +298 -0
- package/.agents/generated/gemini/skills/node/SKILL.md +323 -0
- package/.agents/generated/gemini/skills/performance/SKILL.md +185 -0
- package/.agents/generated/gemini/skills/ponytail-mindset/SKILL.md +261 -0
- package/.agents/generated/gemini/skills/react/SKILL.md +332 -0
- package/.agents/generated/gemini/skills/react-best-practices/SKILL.md +152 -0
- package/.agents/generated/gemini/skills/redesign-audit/SKILL.md +118 -0
- package/.agents/generated/gemini/skills/security/SKILL.md +355 -0
- package/.agents/generated/gemini/skills/soft-design/SKILL.md +109 -0
- package/.agents/generated/gemini/skills/state-management/SKILL.md +129 -0
- package/.agents/generated/gemini/skills/subagent-orchestrator/SKILL.md +99 -0
- package/.agents/generated/gemini/skills/system-design/SKILL.md +631 -0
- package/.agents/generated/gemini/skills/testing/SKILL.md +166 -0
- package/.agents/generated/gemini/skills/typescript/SKILL.md +275 -0
- package/.agents/generated/gemini/skills/ui-design/SKILL.md +170 -0
- package/.agents/generated/gemini/skills/ui-ux-pro/SKILL.md +460 -0
- package/.agents/generated/gemini/skills/ux-design/SKILL.md +177 -0
- package/.agents/generated/gemini/skills/vercel-optimize/SKILL.md +82 -0
- package/.agents/generated/gemini/skills/web-accessibility/SKILL.md +300 -0
- package/.agents/mcp/runtime.py +454 -0
- package/.agents/mcp/server.mjs +189373 -0
- package/.agents/plugins.js +574 -0
- package/.agents/profiles.js +267 -0
- package/.agents/resolver.js +336 -0
- package/.agents/skills-index.json +200 -0
- package/.agents/skills.json +6 -0
- package/.agents/validate.js +500 -0
- package/LICENSE +21 -0
- package/README.md +415 -0
- package/benchmarks/gemini-issues.js +533 -0
- package/bin/index.js +458 -0
- package/package.json +70 -0
- package/registry.json +53 -0
- package/registry.schema.json +32 -0
|
@@ -0,0 +1,88 @@
|
|
|
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
|
|
@@ -0,0 +1,62 @@
|
|
|
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
|
+
```
|
|
@@ -0,0 +1,375 @@
|
|
|
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.
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# ui-ux-pro Troubleshooting & Common Mistakes
|
|
2
|
+
|
|
3
|
+
## 1. Obvious AI Design Tells
|
|
4
|
+
|
|
5
|
+
- **Symptom**: The interface immediately looks like a generic AI prototype.
|
|
6
|
+
- **Root Cause**: Using Inter alone, pure black (#000000), purple-blue gradients, and rounded icon squares above every title.
|
|
7
|
+
- **Fix**: Use tinted backgrounds (#090A0F), pair primary font with JetBrains Mono for code/numbers, use subtle border highlights.
|
|
8
|
+
|
|
9
|
+
## 2. Contrast Failures in Secondary Elements
|
|
10
|
+
|
|
11
|
+
- **Symptom**: Captions, timestamps, and borders are invisible or impossible to read.
|
|
12
|
+
- **Root Cause**: Using flat #666 or #444 grays without testing against actual background luminance.
|
|
13
|
+
- **Fix**: Always test contrast ratios (minimum 4.5:1 for body, 3:1 for graphical boundaries) using semantic theme tokens.
|
|
14
|
+
|
|
15
|
+
## 3. Nesting Cards Inside Cards
|
|
16
|
+
|
|
17
|
+
- **Symptom**: Visual claustrophobia and slop aesthetic.
|
|
18
|
+
- **Root Cause**: Putting bordered cards inside other bordered cards.
|
|
19
|
+
- **Fix**: Flatten the hierarchy. Use background surface contrast and negative space instead of border-in-border nesting.
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
name: ui-ux-pro
|
|
2
|
+
description: >
|
|
3
|
+
Professional UI/UX design skill with strict anti-pattern enforcement.
|
|
4
|
+
Prevents AI slop design, enforces accessibility standards, semantic
|
|
5
|
+
color palettes, proper spacing, and bans overused design clichés.
|
|
6
|
+
tags:
|
|
7
|
+
- ui
|
|
8
|
+
- ux
|
|
9
|
+
- design
|
|
10
|
+
- accessibility
|
|
11
|
+
- frontend
|
|
12
|
+
version: 1.0.0
|
|
13
|
+
source: https://github.com/nextlevelbuilder/ui-ux-pro-max-skill
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# ux-design Examples — Anti-patterns vs ContextOS Standard
|
|
2
|
+
|
|
3
|
+
## Example 1: Destructive Actions
|
|
4
|
+
|
|
5
|
+
### Anti-pattern: Instant Deletion Without Confirmation or Recovery
|
|
6
|
+
|
|
7
|
+
```tsx
|
|
8
|
+
// BAD: Immediate delete on click, no confirmation, irreversible data loss
|
|
9
|
+
<button onClick={() => deleteProject(project.id)}>Delete</button>
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
### Best practice: ContextOS Standard (Two-Step Confirmation or Undo Toast)
|
|
13
|
+
|
|
14
|
+
```tsx
|
|
15
|
+
// GOOD: Clear confirmation dialog stating exact item name and non-reversible impact
|
|
16
|
+
<AlertDialog>
|
|
17
|
+
<AlertDialogTrigger asChild>
|
|
18
|
+
<Button variant="destructive">Delete Project</Button>
|
|
19
|
+
</AlertDialogTrigger>
|
|
20
|
+
<AlertDialogContent>
|
|
21
|
+
<AlertDialogHeader>
|
|
22
|
+
<AlertDialogTitle>Are you absolutely sure?</AlertDialogTitle>
|
|
23
|
+
<AlertDialogDescription>
|
|
24
|
+
This action cannot be undone. This will permanently delete <strong>{project.name}</strong>
|
|
25
|
+
and all associated API keys.
|
|
26
|
+
</AlertDialogDescription>
|
|
27
|
+
</AlertDialogHeader>
|
|
28
|
+
<AlertDialogFooter>
|
|
29
|
+
<AlertDialogCancel>Cancel</AlertDialogCancel>
|
|
30
|
+
<AlertDialogAction onClick={handleDelete} className="bg-destructive">
|
|
31
|
+
Delete permanently
|
|
32
|
+
</AlertDialogAction>
|
|
33
|
+
</AlertDialogFooter>
|
|
34
|
+
</AlertDialogContent>
|
|
35
|
+
</AlertDialog>
|
|
36
|
+
```
|