---
name: ext-ui-ux-pro-max
description: 当需要基于可搜索数据库获取UI/UX设计智能推荐时使用。包含67种风格、96种配色方案、57种字体搭配、99条UX指南和25种图表类型。关键词：设计系统、配色方案、字体搭配、UX指南、图表类型、设计推荐、设计数据库。
metadata:
  module: "UI设计与前端开发"
  sub-module: "UI/UX Pro Max扩展"
  type: "extension"
  version: "1.0"
  domain_tags: ["互联网", "SaaS", "通用"]
  trigger_examples:
    - "推荐一个适合SaaS的配色方案"
    - "找一些适合仪表盘的UX设计指南"
  interaction_mode: "ai_suggest_human_approve"
---
# ui-ux-pro-max

Comprehensive design guide for web and mobile applications. Contains 67 styles, 96 color palettes, 57 font pairings, 99 UX guidelines, and 25 chart types across 13 technology stacks. Searchable database with priority-based recommendations.

## Prerequisites

Check if Python is installed:

```bash
python3 --version || python --version
```

If Python is not installed, install it based on user's OS:

**macOS:**
```bash
brew install python3
```

**Ubuntu/Debian:**
```bash
sudo apt update && sudo apt install python3
```

**Windows:**
```powershell
winget install Python.Python.3.12
```

---

**{SKILL_DIR}** 表示 ext-ui-ux-pro-max Skill 所在目录的绝对路径，在执行脚本时替换为实际路径。

## Input Contract

When called by ui-orchestrator (on behalf of project-init / page-builder), accept the following structured input:

| Input Field | Type | Required | Description |
|-------------|------|----------|-------------|
| query | string | yes | Search query: "{product_type} {industry} {style_keywords}" |
| mode | string | yes | "--design-system" (project-init) or "--domain {landing/dashboard/general}" (page-builder) |
| project_name | string | no | Project name for persistence (-p flag) |
| existing_plan | string \| object | no | Current design plan from core Skill (as reference, not constraint) |
| express_design_anchor | object | no | Lightweight design anchor for express mode (register, color_direction, typography_direction, layout_direction, design_focus, visual_bans). Passed by ui-orchestrator when mode=express. Must be consumed as design direction constraints: color_direction informs color palette selection, typography_direction informs font pairing selection, visual_bans must be respected |

When invoked directly by users (not via core Skill), the input is free-form: describe what you need.

## Output Contract

When called by ui-orchestrator, MUST return structured output in the following schema:

**--design-system mode** (for project-init):

```json
{
  "type": "object",
  "required": ["style", "colors", "typography", "effects", "anti_patterns"],
  "properties": {
    "style": {
      "type": "object",
      "description": "Recommended style with reasoning",
      "properties": {
        "name": {"type": "string"},
        "description": {"type": "string"},
        "reasoning": {"type": "string"}
      }
    },
    "colors": {
      "type": "array",
      "description": "At least 3 color scheme recommendations",
      "items": {
        "type": "object",
        "properties": {
          "name": {"type": "string"},
          "palette": {"type": "array", "items": {"type": "string"}},
          "use_case": {"type": "string"}
        }
      }
    },
    "typography": {
      "type": "array",
      "description": "At least 2 font pairing recommendations",
      "items": {
        "type": "object",
        "properties": {
          "heading": {"type": "string"},
          "body": {"type": "string"},
          "reasoning": {"type": "string"}
        }
      }
    },
    "effects": {
      "type": "array",
      "items": {"type": "string"},
      "description": "Recommended visual effects (shadows, borders, gradients, etc.)"
    },
    "anti_patterns": {
      "type": "array",
      "items": {"type": "string"},
      "description": "Patterns to avoid for this project type"
    }
  }
}
```

**--domain mode** (for page-builder):

```json
{
  "type": "object",
  "required": ["layout_pattern", "cta_strategy", "information_architecture", "anti_patterns"],
  "properties": {
    "layout_pattern": {
      "type": "object",
      "properties": {
        "name": {"type": "string"},
        "description": {"type": "string"},
        "sections": {"type": "array", "items": {"type": "string"}}
      }
    },
    "cta_strategy": {"type": "string", "description": "Call-to-action placement and style recommendation"},
    "information_architecture": {"type": "string", "description": "Content hierarchy recommendation"},
    "anti_patterns": {
      "type": "array",
      "items": {"type": "string"},
      "description": "Patterns to avoid for this page type"
    }
  }
}
```

## Consumer Mapping

### --design-system 模式输出消费映射

| 输出字段 | 消费方 Skill | 消费路径 | 合并规则 |
|---------|-------------|---------|---------|
| colors[].palette | project-init | tokens.colors.brand | 参考采纳，不覆盖品牌色推导结果 |
| typography[].heading/body | project-init | tokens.typography.font_families | 参考采纳，不覆盖已选字体 |
| effects | project-init | visual_direction.aesthetic_direction | 参考采纳，补充效果描述 |
| anti_patterns | project-init | visual_direction.visual_bans | 追加到visual_bans数组 |

### --domain 模式输出消费映射

| 输出字段 | 消费方 Skill | 消费路径 | 合并规则 |
|---------|-------------|---------|---------|
| layout_pattern | page-builder | Step 1 页面结构规划 | 参考采纳，不覆盖PRD功能区域定义 |
| cta_strategy | page-builder | Step 2 组件视觉节奏 | 参考采纳 |
| information_architecture | page-builder | Step 1 视觉节奏设计 | 参考采纳 |
| anti_patterns | page-builder | visual_direction.visual_bans | 追加到visual_bans数组 |

## Verification Criteria

| Criterion | Check |
|-----------|-------|
| --design-system output completeness | Contains at least 3 color schemes and 2 font pairings |
| --domain output completeness | Contains layout pattern, CTA strategy, and anti-patterns |
| Anti-patterns present | At least 1 anti-pattern listed |
| Reasoning provided | Each recommendation includes reasoning |

## How to Use This Skill

When user requests UI/UX work (design, build, create, implement, review, fix, improve), follow this workflow:



### Step 1: Analyze User Requirements

Extract key information from user request:
- **Product type**: SaaS, e-commerce, portfolio, dashboard, landing page, etc.
- **Style keywords**: minimal, playful, professional, elegant, dark mode, etc.
- **Industry**: healthcare, fintech, gaming, education, etc.
- **Stack**: React, Vue, Next.js, or default to `html-tailwind`

### Step 2: Generate Design System (REQUIRED)

**Always start with `--design-system`** to get comprehensive recommendations with reasoning:

```bash
python3 {SKILL_DIR}/scripts/search.py "<product_type> <industry> <keywords>" --design-system [-p "Project Name"]
```

This command:
1. Searches 5 domains in parallel (product, style, color, landing, typography)
2. Applies reasoning rules from `ui-reasoning.csv` to select best matches
3. Returns complete design system: pattern, style, colors, typography, effects
4. Includes anti-patterns to avoid

**Example:**
```bash
python3 {SKILL_DIR}/scripts/search.py "beauty spa wellness service" --design-system -p "Serenity Spa"
```

### Step 2b: Persist Design System (Master + Overrides Pattern)

To save the design system for hierarchical retrieval across sessions, add `--persist`:

```bash
python3 {SKILL_DIR}/scripts/search.py "<query>" --design-system --persist -p "Project Name"
```

This creates:
- `design-system/MASTER.md` — Global Source of Truth with all design rules
- `design-system/pages/` — Folder for page-specific overrides

**With page-specific override:**
```bash
python3 {SKILL_DIR}/scripts/search.py "<query>" --design-system --persist -p "Project Name" --page "dashboard"
```

This also creates:
- `design-system/pages/dashboard.md` — Page-specific deviations from Master

**How hierarchical retrieval works:**
1. When building a specific page (e.g., "Checkout"), first check `design-system/pages/checkout.md`
2. If the page file exists, its rules **override** the Master file
3. If not, use `design-system/MASTER.md` exclusively

### Step 3: Supplement with Detailed Searches (as needed)

After getting the design system, use domain searches to get additional details:

```bash
python3 {SKILL_DIR}/scripts/search.py "<keyword>" --domain <domain> [-n <max_results>]
```

**When to use detailed searches:**

| Need | Domain | Example |
|------|--------|---------|
| More style options | `style` | `--domain style "glassmorphism dark"` |
| Chart recommendations | `chart` | `--domain chart "real-time dashboard"` |
| UX best practices | `ux` | `--domain ux "animation accessibility"` |
| Alternative fonts | `typography` | `--domain typography "elegant luxury"` |
| Landing structure | `landing` | `--domain landing "hero social-proof"` |

### Step 4: Stack Guidelines (Default: html-tailwind)

Get implementation-specific best practices. If user doesn't specify a stack, **default to `html-tailwind`**.

```bash
python3 {SKILL_DIR}/scripts/search.py "<keyword>" --stack html-tailwind
```

Available stacks: `html-tailwind`, `react`, `nextjs`, `vue`, `svelte`, `swiftui`, `react-native`, `flutter`, `shadcn`, `jetpack-compose`

---

## Search Reference

### Available Domains

| Domain | Use For | Example Keywords |
|--------|---------|------------------|
| `product` | Product type recommendations | SaaS, e-commerce, portfolio, healthcare, beauty, service |
| `style` | UI styles, colors, effects | glassmorphism, minimalism, dark mode, brutalism |
| `typography` | Font pairings, Google Fonts | elegant, playful, professional, modern |
| `color` | Color palettes by product type | saas, ecommerce, healthcare, beauty, fintech, service |
| `landing` | Page structure, CTA strategies | hero, hero-centric, testimonial, pricing, social-proof |
| `chart` | Chart types, library recommendations | trend, comparison, timeline, funnel, pie |
| `ux` | Best practices, anti-patterns | animation, accessibility, z-index, loading |
| `react` | React/Next.js performance | waterfall, bundle, suspense, memo, rerender, cache |
| `web` | Web interface guidelines | aria, focus, keyboard, semantic, virtualize |
| `prompt` | AI prompts, CSS keywords | (style name) |

### Available Stacks

| Stack | Focus |
|-------|-------|
| `html-tailwind` | Tailwind utilities, responsive, a11y (DEFAULT) |
| `react` | State, hooks, performance, patterns |
| `nextjs` | SSR, routing, images, API routes |
| `vue` | Composition API, Pinia, Vue Router |
| `svelte` | Runes, stores, SvelteKit |
| `swiftui` | Views, State, Navigation, Animation |
| `react-native` | Components, Navigation, Lists |
| `flutter` | Widgets, State, Layout, Theming |
| `shadcn` | shadcn/ui components, theming, forms, patterns |
| `jetpack-compose` | Composables, Modifiers, State Hoisting, Recomposition |

---

## Example Workflow

**User request:** "Làm landing page cho dịch vụ chăm sóc da chuyên nghiệp"

### Step 1: Analyze Requirements
- Product type: Beauty/Spa service
- Style keywords: elegant, professional, soft
- Industry: Beauty/Wellness
- Stack: html-tailwind (default)

### Step 2: Generate Design System (REQUIRED)

```bash
python3 {SKILL_DIR}/scripts/search.py "beauty spa wellness service elegant" --design-system -p "Serenity Spa"
```

**Output:** Complete design system with pattern, style, colors, typography, effects, and anti-patterns.

### Step 3: Supplement with Detailed Searches (as needed)

```bash
# Get UX guidelines for animation and accessibility
python3 {SKILL_DIR}/scripts/search.py "animation accessibility" --domain ux

# Get alternative typography options if needed
python3 {SKILL_DIR}/scripts/search.py "elegant luxury serif" --domain typography
```

### Step 4: Stack Guidelines

```bash
python3 {SKILL_DIR}/scripts/search.py "layout responsive form" --stack html-tailwind
```

**Then:** Synthesize design system + detailed searches and implement the design.

---

## Output Formats

The `--design-system` flag supports two output formats:

```bash
# ASCII box (default) - best for terminal display
python3 {SKILL_DIR}/scripts/search.py "fintech crypto" --design-system

# Markdown - best for documentation
python3 {SKILL_DIR}/scripts/search.py "fintech crypto" --design-system -f markdown
```

---

## Tips for Better Results

1. **Be specific with keywords** - "healthcare SaaS dashboard" > "app"
2. **Search multiple times** - Different keywords reveal different insights
3. **Combine domains** - Style + Typography + Color = Complete design system
4. **Always check UX** - Search "animation", "z-index", "accessibility" for common issues
5. **Use stack flag** - Get implementation-specific best practices
6. **Iterate** - If first search doesn't match, try different keywords

---

## Common Rules for Professional UI

These are frequently overlooked issues that make UI look unprofessional:

### Icons & Visual Elements

| Rule | Do | Don't |
|------|----|----- |
| **No emoji icons** | Use SVG icons (Heroicons, Lucide, Simple Icons) | Use emojis like 🎨 🚀 ⚙️ as UI icons |
| **Stable hover states** | Use color/opacity transitions on hover | Use scale transforms that shift layout |
| **Correct brand logos** | Research official SVG from Simple Icons | Guess or use incorrect logo paths |
| **Consistent icon sizing** | Use fixed viewBox (24x24) with w-6 h-6 | Mix different icon sizes randomly |

### Interaction & Cursor

| Rule | Do | Don't |
|------|----|----- |
| **Cursor pointer** | Add `cursor-pointer` to all clickable/hoverable cards | Leave default cursor on interactive elements |
| **Hover feedback** | Provide visual feedback (color, shadow, border) | No indication element is interactive |
| **Smooth transitions** | Use `transition-colors duration-200` | Instant state changes or too slow (>500ms) |

### Light/Dark Mode Contrast

| Rule | Do | Don't |
|------|----|----- |
| **Glass card light mode** | Use `bg-white/80` or higher opacity | Use `bg-white/10` (too transparent) |
| **Text contrast light** | Use `#0F172A` (slate-900) for text | Use `#94A3B8` (slate-400) for body text |
| **Muted text light** | Use `#475569` (slate-600) minimum | Use gray-400 or lighter |
| **Border visibility** | Use `border-gray-200` in light mode | Use `border-white/10` (invisible) |

### Layout & Spacing

| Rule | Do | Don't |
|------|----|----- |
| **Floating navbar** | Add `top-4 left-4 right-4` spacing | Stick navbar to `top-0 left-0 right-0` |
| **Content padding** | Account for fixed navbar height | Let content hide behind fixed elements |
| **Consistent max-width** | Use same `max-w-6xl` or `max-w-7xl` | Mix different container widths |

---

## Pre-Delivery Checklist

Before delivering UI code, verify these items:

### Visual Quality
- [ ] No emojis used as icons (use SVG instead)
- [ ] All icons from consistent icon set (Heroicons/Lucide)
- [ ] Brand logos are correct (verified from Simple Icons)
- [ ] Hover states don't cause layout shift
- [ ] Use theme colors directly (bg-primary) not var() wrapper

### Interaction
- [ ] All clickable elements have `cursor-pointer`
- [ ] Hover states provide clear visual feedback
- [ ] Transitions are smooth (150-300ms)
- [ ] Focus states visible for keyboard navigation

### Light/Dark Mode
- [ ] Light mode text has sufficient contrast (4.5:1 minimum)
- [ ] Glass/transparent elements visible in light mode
- [ ] Borders visible in both modes
- [ ] Test both modes before delivery

### Layout
- [ ] Floating elements have proper spacing from edges
- [ ] No content hidden behind fixed navbars
- [ ] Responsive at 375px, 768px, 1024px, 1440px
- [ ] No horizontal scroll on mobile

### Accessibility
- [ ] All images have alt text
- [ ] Form inputs have labels
- [ ] Color is not the only indicator
- [ ] `prefers-reduced-motion` respected

## Degradation Strategy

| 场景 | 行为 | 编排器处理 |
|------|------|-----------|
| 未部署 | 核心增强类——编排器阻断下游阶段（stage-3），提示用户安装 ext-ui-ux-pro-max 或切换到 express 模式 | 阻断 |
| 调用失败 | 编排器阻断下游阶段，记录失败原因到 quality_debt.json，提示用户重试或切换模式 | 阻断 |
| 输出验证失败 | 重新请求一次，附带失败原因；仍失败则阻断下游阶段 | 阻断 |

> **注意**：ext-ui-ux-pro-max 是核心增强类 ext Skill，其产出（设计系统推荐）是 design_brief.json 的必要输入。未部署或调用失败时**不可跳过**，必须阻断下游阶段。
