UI/UX design intelligence. Activated when: designing UI, building pages, creating components, choosing colors, picking fonts, reviewing UX, building dashboards, landing pages, web design, mobile design, accessibility review, dark mode, light mode. Styles, color palettes, font pairings, UX guidelines, chart types across 13 stacks. Always delivers a structured Changes Made summary.
Searchable design intelligence database for web and mobile applications. Generates complete design systems with style, color palette, typography, and UX guidelines. BM25 search engine across 13 technology stacks.
| Priority | Category | Impact | Domain |
|---|---|---|---|
| 1 | Accessibility | CRITICAL | ux |
| 2 | Touch & Interaction |
| CRITICAL |
ux |
| 3 | Performance | HIGH | ux |
| 4 | Layout & Responsive | HIGH | ux |
| 5 | Typography & Color | MEDIUM | typography, color |
| 6 | Animation | MEDIUM | ux |
| 7 | Style Selection | MEDIUM | style, product |
| 8 | Charts & Data | LOW | chart |
color-contrast — Minimum 4.5:1 ratio for normal textfocus-states — Visible focus rings on interactive elementsalt-text — Descriptive alt text for meaningful imagesaria-labels — aria-label for icon-only buttonskeyboard-nav — Tab order matches visual orderform-labels — Use label with for attributetouch-target-size — Minimum 44x44px touch targetshover-vs-tap — Use click/tap for primary interactionsloading-buttons — Disable button during async operationscursor-pointer — Add cursor-pointer to clickable elementsimage-optimization — Use WebP, srcset, lazy loadingreduced-motion — Check prefers-reduced-motioncontent-jumping — Reserve space for async contentviewport-meta — width=device-width initial-scale=1readable-font-size — Minimum 16px body text on mobilehorizontal-scroll — Ensure content fits viewport widthz-index-management — Define z-index scale (10, 20, 30, 50)python3 --version || python --version
If not installed — Windows: winget install Python.Python.3.12 | macOS: brew install python3 | Linux: sudo apt install python3
--design-systemExtract from the user's request:
| Field | Extract |
|---|---|
| Product type | SaaS, e-commerce, portfolio, dashboard, landing page |
| Style keywords | minimal, playful, professional, elegant, dark mode |
| Industry | healthcare, fintech, gaming, education, beauty |
| Stack | React, Vue, Next.js — default to html-tailwind |
Always start with --design-system to get comprehensive recommendations with reasoning:
python3 skills/ui-ux/scripts/search.py "<product_type> <industry> <keywords>" --design-system [-p "Project Name"]
This command:
ui-reasoning.csv to select best matchesExample:
python3 skills/ui-ux/scripts/search.py "beauty spa wellness service" --design-system -p "Serenity Spa"
Save for hierarchical retrieval across sessions with --persist:
python3 skills/ui-ux/scripts/search.py "<query>" --design-system --persist -p "Project Name"
Creates design-system/MASTER.md (source of truth) and design-system/pages/ for overrides.
With page override: Add --page "dashboard" to create page-specific deviations.
Retrieval rule: Check pages/<page>.md first → if exists, overrides Master → otherwise use Master exclusively.
After the design system, use domain searches for additional detail:
python3 skills/ui-ux/scripts/search.py "<keyword>" --domain <domain> [-n <max_results>]
| Need | Domain | Example |
|---|---|---|
| More style options | style | "glassmorphism dark" |
| Chart recommendations | chart | "real-time dashboard" |
| UX best practices | ux | "animation accessibility" |
| Alternative fonts | typography | "elegant luxury" |
| Landing structure | landing | "hero social-proof" |
python3 skills/ui-ux/scripts/search.py "<keyword>" --stack html-tailwind
Available: html-tailwind, react, nextjs, vue, svelte, swiftui, react-native, flutter, shadcn, jetpack-compose
| Domain | Use For | Example Keywords |
|---|---|---|
product | Product type recommendations | SaaS, portfolio, healthcare |
style | UI styles, colors, effects | glassmorphism, dark mode, brutalism |
typography | Font pairings, Google Fonts | elegant, playful, modern |
color | Color palettes by product type | saas, ecommerce, fintech |
landing | Page structure, CTA strategies | hero, testimonial, pricing |
chart | Chart types, library recs | trend, comparison, funnel |
ux | Best practices, anti-patterns | animation, accessibility, z-index |
react | React/Next.js performance | suspense, memo, rerender |
web | Web interface guidelines | aria, focus, semantic |
# ASCII box (default)
python3 skills/ui-ux/scripts/search.py "fintech crypto" --design-system
# Markdown
python3 skills/ui-ux/scripts/search.py "fintech crypto" --design-system -f markdown
scale transforms for hover states — they cause layout shift; use color/opacity insteadcursor-pointerprefers-reduced-motion for animationsInput: "Build a landing page for a luxury spa brand" Workflow:
python3 skills/ui-ux/scripts/search.py "luxury spa wellness service" --design-system -p "Serenity Spa"
Output: Design system with elegant/organic style, warm muted palette (sage, cream, rose gold), Cormorant Garamond + Montserrat typography, subtle fade animations, and anti-patterns to avoid (no neon colors, no aggressive CTAs).
| Do | Don't |
|---|---|
| Use SVG icons (Heroicons, Lucide, Simple Icons) | Use emojis 🎨 🚀 as UI icons |
| Use color/opacity transitions on hover | Use scale transforms that shift layout |
| Research official SVG from Simple Icons | Guess or use incorrect logo paths |
| Use fixed viewBox (24x24) with w-6 h-6 | Mix different icon sizes randomly |
| Do | Don't |
|---|---|
cursor-pointer on all clickable elements | Default cursor on interactive elements |
| Visual feedback on hover (color, shadow, border) | No indication element is interactive |
transition-colors duration-200 | Instant or too-slow transitions (>500ms) |
| Do | Don't |
|---|---|
bg-white/80 or higher opacity in light mode | bg-white/10 (too transparent) |
#0F172A (slate-900) for light mode text | #94A3B8 (slate-400) for body text |
border-gray-200 in light mode | border-white/10 (invisible) |
| Do | Don't |
|---|---|
top-4 left-4 right-4 floating navbar | Stick navbar to top-0 left-0 right-0 |
| Account for fixed navbar height | Let content hide behind fixed elements |
Consistent max-w-6xl or max-w-7xl | Mix different container widths |
If the search script fails:
python3 --version || python --versionls skills/ui-ux/scripts/python3 skills/ui-ux/scripts/search.py --helpls skills/ui-ux/data/python instead of python3cursor-pointerprefers-reduced-motion respected[!CAUTION] This is NON-NEGOTIABLE. Every single UI/UX task MUST end with a "Changes Made" summary. This is the LAST thing you do — present it before any other closing remarks. Never skip this step, even for small changes.
After completing any UI/UX work, present the user with a structured summary:
## ✅ Changes Made
| # | File | Action | Detail |
|---|------|--------|--------|
| 1 | `index.html` | Created / Modified | <what was done> |
| 2 | `styles.css` | Created / Modified | <what was done> |
| 3 | `components/nav.html` | Created | <what was done> |
**Summary:** <1-2 sentence recap of the overall change>
Rules:
Created, Modified, Deleted, Moved, or RenamedWorked example:
## ✅ Changes Made
| # | File | Action | Detail |
|---|------|--------|--------|
| 1 | `index.html` | Modified | Added floating navbar with glassmorphism effect, hero section with gradient overlay, testimonials grid |
| 2 | `styles.css` | Modified | Implemented design system tokens (--primary, --accent), added dark mode media query, responsive breakpoints at 375/768/1024px |
| 3 | `assets/hero-bg.webp` | Created | Generated hero background image with WebP format |
**Summary:** Built a luxury spa landing page using the Serenity Spa design system with dark mode support and responsive layout.