ui-ux-pro-max
Comprehensive design guide for web, mobile, and desktop applications. Contains 67 styles, 161 color palettes, 57 font pairings, 99 UX guidelines, and 25 chart types across 22 technology stacks. Searchable database with priority-based recommendations.
Prerequisites
Check if Python is installed:
python3 --version || python --version
If Python is not installed, install it based on user's OS:
macOS:
brew install python3
Ubuntu/Debian:
sudo apt update && sudo apt install python3
Windows:
winget install Python.Python.3.12
Note: On Windows, use python instead of python3 to run scripts (e.g., python scripts/search.py instead of python3 scripts/search.py).
How to Use This Skill
Use this skill when the user requests any of the following:
| Scenario |
Trigger Examples |
Start From |
| New project / page |
"做一个 landing page"、"Build a dashboard" |
Step 1 → Step 2 (design system) |
| New component |
"Create a pricing card"、"Add a modal" |
Step 3 (domain search: style, ux) |
| Choose style / color / font |
"What style fits a fintech app?"、"推荐配色" |
Step 2 (design system) |
| Review existing UI |
"Review this page for UX issues"、"检查无障碍" |
Quick Reference checklist above |
| Fix a UI bug |
"Button hover is broken"、"Layout shifts on load" |
Quick Reference → relevant section |
| Improve / optimize |
"Make this faster"、"Improve mobile experience" |
Step 3 (domain search: ux, react) |
| Implement dark mode |
"Add dark mode support" |
Step 3 (domain: style "dark mode") |
| Add charts / data viz |
"Add an analytics dashboard chart" |
Step 3 (domain: chart) |
| Stack best practices |
"React performance tips"、"SwiftUI navigation" |
Step 4 (stack search) |
Follow this workflow:
Step 1: Analyze User Requirements
Extract key information from user request:
- Product type: Entertainment (social, video, music, gaming), Tool (scanner, editor, converter), Productivity (task manager, notes, calendar), or hybrid
- Target audience: C-end consumer users; consider age group, usage context (commute, leisure, work)
- Style keywords: playful, vibrant, minimal, dark mode, content-first, immersive, etc.
- Stack: React Native (this project's only tech stack)
Step 2: Generate Design System (REQUIRED)
Always start with --design-system to get comprehensive recommendations with reasoning:
python3 skills/ui-ux-pro-max/scripts/search.py "<product_type> <industry> <keywords>" --design-system [-p "Project Name"]
This command:
- Searches domains in parallel (product, style, color, landing, typography)
- Applies reasoning rules from
ui-reasoning.csv to select best matches
- Returns complete design system: pattern, style, colors, typography, effects
- Includes anti-patterns to avoid
Example:
python3 skills/ui-ux-pro-max/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:
python3 skills/ui-ux-pro-max/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:
python3 skills/ui-ux-pro-max/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:
- When building a specific page (e.g., "Checkout"), first check
design-system/pages/checkout.md
- If the page file exists, its rules override the Master file
- If not, use
design-system/MASTER.md exclusively
Context-aware retrieval prompt:
I am building the [Page Name] page. Please read design-system/MASTER.md.
Also check if design-system/pages/[page-name].md exists.
If the page file exists, prioritize its rules.
If not, use the Master rules exclusively.
Now, generate the code...
Step 3: Supplement with Detailed Searches (as needed)
After getting the design system, use domain searches to get additional details:
python3 skills/ui-ux-pro-max/scripts/search.py "<keyword>" --domain <domain> [-n <max_results>]
When to use detailed searches:
| Need |
Domain |
Example |
| Product type patterns |
product |
--domain product "entertainment social" |
| More style options |
style |
--domain style "glassmorphism dark" |
| Color palettes |
color |
--domain color "entertainment vibrant" |
| Font pairings |
typography |
--domain typography "playful modern" |
| Chart recommendations |
chart |
--domain chart "real-time dashboard" |
| UX best practices |
ux |
--domain ux "animation accessibility" |
| Landing structure |
landing |
--domain landing "hero social-proof" |
| React Native perf |
react |
--domain react "rerender memo list" |
| App interface a11y |
web |
--domain web "accessibilityLabel touch safe-areas" |
| AI prompt / CSS keywords |
prompt |
--domain prompt "minimalism" |
Step 4: Stack Guidelines
Get implementation-specific best practices for the user's stack:
python3 skills/ui-ux-pro-max/scripts/search.py "<keyword>" --stack <stack>
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 |
App interface guidelines (iOS/Android/React Native) |
accessibilityLabel, touch targets, safe areas, Dynamic Type |
prompt |
AI prompts, CSS keywords |
(style name) |
Available Stacks
| Stack |
Focus |
react-native |
Components, Navigation, Lists |
javafx |
Enterprise desktop apps, AtlantaFX themes, FXML, CSS, Controls, Binding, Threading, Packaging |
JavaFX enterprise examples:
python3 skills/ui-ux-pro-max/scripts/search.py "atlantafx primer enterprise theme" --stack javafx
python3 skills/ui-ux-pro-max/scripts/search.py "enterprise tableview density permission" --stack javafx
Example Workflow
User request: "Make an AI search homepage。"
Step 1: Analyze Requirements
- Product type: Tool (AI search engine)
- Target audience: C-end users looking for fast, intelligent search
- Style keywords: modern, minimal, content-first, dark mode
- Stack: React Native
Step 2: Generate Design System (REQUIRED)
python3 skills/ui-ux-pro-max/scripts/search.py "AI search tool modern minimal" --design-system -p "AI Search"
Output: Complete design system with pattern, style, colors, typography, effects, and anti-patterns.
Step 3: Supplement with Detailed Searches (as needed)
# Get style options for a modern tool product
python3 skills/ui-ux-pro-max/scripts/search.py "minimalism dark mode" --domain style
# Get UX best practices for search interaction and loading
python3 skills/ui-ux-pro-max/scripts/search.py "search loading animation" --domain ux
Step 4: Stack Guidelines
python3 skills/ui-ux-pro-max/scripts/search.py "list performance navigation" --stack react-native
Then: Synthesize design system + detailed searches and implement the design.
Output Formats
The --design-system flag supports two output formats:
# ASCII box (default) - best for terminal display
python3 skills/ui-ux-pro-max/scripts/search.py "fintech crypto" --design-system
# Markdown - best for documentation
python3 skills/ui-ux-pro-max/scripts/search.py "fintech crypto" --design-system -f markdown
Tips for Better Results
Query Strategy
- Use multi-dimensional keywords — combine product + industry + tone + density:
"entertainment social vibrant content-dense" not just "app"
- Try different keywords for the same need:
"playful neon" → "vibrant dark" → "content-first minimal"
- Use
--design-system first for full recommendations, then --domain to deep-dive any dimension you're unsure about
- Add
--stack <stack> for implementation-specific guidance when the target stack is known
Common Sticking Points
| Problem |
What to Do |
| Can't decide on style/color |
Re-run --design-system with different keywords |
| Dark mode contrast issues |
Quick Reference §6: color-dark-mode + color-accessible-pairs |
| Animations feel unnatural |
Quick Reference §7: spring-physics + easing + exit-faster-than-enter |
| Form UX is poor |
Quick Reference §8: inline-validation + error-clarity + focus-management |
| Navigation feels confusing |
Quick Reference §9: nav-hierarchy + bottom-nav-limit + back-behavior |
| Layout breaks on small screens |
Quick Reference §5: mobile-first + breakpoint-consistency |
| Performance / jank |
Quick Reference §3: virtualize-lists + main-thread-budget + debounce-throttle |
Pre-Delivery Checklist
- Run
--domain ux "animation accessibility z-index loading" as a UX validation pass before implementation
- Run through Quick Reference §1–§3 (CRITICAL + HIGH) as a final review
- Test on 375px (small phone) and landscape orientation
- Verify behavior with reduced-motion enabled and Dynamic Type at largest size
- Check dark mode contrast independently (don't assume light mode values work)
- Confirm all touch targets ≥44pt and no content hidden behind safe areas
Common Rules for Professional UI
These are frequently overlooked issues that make UI look unprofessional:
Scope notice: The rules below are for App UI (iOS/Android/React Native/Flutter), not desktop-web interaction patterns.
Icons & Visual Elements
- 默认图标库使用 Phosphor (
@phosphor-icons/react)。src/ui-ux-pro-max/data/icons.csv 中列出的只是常用推荐图标,不是完整集合。
- 当推荐表中找不到合适的图标时:
- 优先继续从 Phosphor 的完整图标集中选择任何语义更贴切的图标;
- 如果 Phosphor 也没有理想选项,可以使用 Heroicons (
@heroicons/react) 作为备选,注意保持风格一致(线性/填充、笔画粗细、圆角风格)。
| Rule |
Standard |
Avoid |
Why It Matters |
| No Emoji as Structural Icons |
Use vector-based icons (e.g., Phosphor @phosphor-icons/react, Heroicons @heroicons/react, react-native-vector-icons, @expo/vector-icons). |
Using emojis (🎨 🚀 ⚙️) for navigation, settings, or system controls. |
Emojis are font-dependent, inconsistent across platforms, and cannot be controlled via design tokens. |
| Vector-Only Assets |
Use SVG or platform vector icons that scale cleanly and support theming. |
Raster PNG icons that blur or pixelate. |
Ensures scalability, crisp rendering, and dark/light mode adaptability. |
| Stable Interaction States |
Use color, opacity, or elevation transitions for press states without changing layout bounds. |
Layout-shifting transforms that move surrounding content or trigger visual jitter. |
Prevents unstable interactions and preserves smooth motion/perceived quality on mobile. |
| Correct Brand Logos |
Use official brand assets and follow their usage guidelines (spacing, color, clear space). |
Guessing logo paths, recoloring unofficially, or modifying proportions. |
Prevents brand misuse and ensures legal/platform compliance. |
| Consistent Icon Sizing |
Define icon sizes as design tokens (e.g., icon-sm, icon-md = 24pt, icon-lg). |
Mixing arbitrary values like 20pt / 24pt / 28pt randomly. |
Maintains rhythm and visual hierarchy across the interface. |
| Stroke Consistency |
Use a consistent stroke width within the same visual layer (e.g., 1.5px or 2px). |
Mixing thick and thin stroke styles arbitrarily. |
Inconsistent strokes reduce perceived polish and cohesion. |
| Filled vs Outline Discipline |
Use one icon style per hierarchy level. |
Mixing filled and outline icons at the same hierarchy level. |
Maintains semantic clarity and stylistic coherence. |
| Touch Target Minimum |
Minimum 44×44pt interactive area (use hitSlop if icon is smaller). |
Small icons without expanded tap area. |
Meets accessibility and platform usability standards. |
| Icon Alignment |
Align icons to text baseline and maintain consistent padding. |
Misaligned icons or inconsistent spacing around them. |
Prevents subtle visual imbalance that reduces perceived quality. |
| Icon Contrast |
Follow WCAG contrast standards: 4.5:1 for small elements, 3:1 minimum for larger UI glyphs. |
Low-contrast icons that blend into the background. |
Ensures accessibility in both light and dark modes. |
Interaction (App)
| Rule |
Do |
Don't |
| Tap feedback |
Provide clear pressed feedback (ripple/opacity/elevation) within 80-150ms |
No visual response on tap |
| Animation timing |
Keep micro-interactions around 150-300ms with platform-native easing |
Instant transitions or slow animations (>500ms) |
| Accessibility focus |
Ensure screen reader focus order matches visual order and labels are descriptive |
Unlabeled controls or confusing focus traversal |
| Disabled state clarity |
Use disabled semantics (disabled/native disabled props), reduced emphasis, and no tap action |
Controls that look tappable but do nothing |
| Touch target minimum |
Keep tap areas >=44x44pt (iOS) or >=48x48dp (Android), expand hit area when icon is smaller |
Tiny tap targets or icon-only hit areas without padding |
| Gesture conflict prevention |
Keep one primary gesture per region and avoid nested tap/drag conflicts |
Overlapping gestures causing accidental actions |
| Semantic native controls |
Prefer native interactive primitives (Button, Pressable, platform equivalents) with proper accessibility roles |
Generic containers used as primary controls without semantics |
Light/Dark Mode Contrast
| Rule |
Do |
Don't |
| Surface readability (light) |
Keep cards/surfaces clearly separated from background with sufficient opacity/elevation |
Overly transparent surfaces that blur hierarchy |
| Text contrast (light) |
Maintain body text contrast >=4.5:1 against light surfaces |
Low-contrast gray body text |
| Text contrast (dark) |
Maintain primary text contrast >=4.5:1 and secondary text >=3:1 on dark surfaces |
Dark mode text that blends into background |
| Border and divider visibility |
Ensure separators are visible in both themes (not just light mode) |
Theme-specific borders disappearing in one mode |
| State contrast parity |
Keep pressed/focused/disabled states equally distinguishable in light and dark themes |
Defining interaction states for one theme only |
| Token-driven theming |
Use semantic color tokens mapped per theme across app surfaces/text/icons |
Hardcoded per-screen hex values |
| Scrim and modal legibility |
Use a modal scrim strong enough to isolate foreground content (typically 40-60% black) |
Weak scrim that leaves background visually competing |
Layout & Spacing
| Rule |
Do |
Don't |
| Safe-area compliance |
Respect top/bottom safe areas for all fixed headers, tab bars, and CTA bars |
Placing fixed UI under notch, status bar, or gesture area |
| System bar clearance |
Add spacing for status/navigation bars and gesture home indicator |
Let tappable content collide with OS chrome |
| Consistent content width |
Keep predictable content width per device class (phone/tablet) |
Mixing arbitrary widths between screens |
| 8dp spacing rhythm |
Use a consistent 4/8dp spacing system for padding/gaps/section spacing |
Random spacing increments with no rhythm |
| Readable text measure |
Keep long-form text readable on large devices (avoid edge-to-edge paragraphs on tablets) |
Full-width long text that hurts readability |
| Section spacing hierarchy |
Define clear vertical rhythm tiers (e.g., 16/24/32/48) by hierarchy |
Similar UI levels with inconsistent spacing |
| Adaptive gutters by breakpoint |
Increase horizontal insets on larger widths and in landscape |
Same narrow gutter on all device sizes/orientations |
| Scroll and fixed element coexistence |
Add bottom/top content insets so lists are not hidden behind fixed bars |
Scroll content obscured by sticky headers/footers |
Pre-Delivery Checklist
Before delivering UI code, verify these items:
Scope notice: This checklist is for App UI (iOS/Android/React Native/Flutter).
Visual Quality
Interaction
Light/Dark Mode
Layout
Accessibility
1---2name: ui-ux-pro-max3description: UI/UX design intelligence with searchable database4---5# ui-ux-pro-max67Comprehensive design guide for web, mobile, and desktop applications. Contains 67 styles, 161 color palettes, 57 font pairings, 99 UX guidelines, and 25 chart types across 22 technology stacks. Searchable database with priority-based recommendations.89# Prerequisites1011Check if Python is installed:1213```bash14python3 --version || python --version15```1617If Python is not installed, install it based on user's OS:1819**macOS:**20```bash21brew install python322```2324**Ubuntu/Debian:**25```bash26sudo apt update && sudo apt install python327```2829**Windows:**30```powershell31winget install Python.Python.3.1232```3334> **Note:** On Windows, use `python` instead of `python3` to run scripts (e.g., `python scripts/search.py` instead of `python3 scripts/search.py`).3536---3738## How to Use This Skill3940Use this skill when the user requests any of the following:4142| Scenario | Trigger Examples | Start From |43|----------|-----------------|------------|44| **New project / page** | "做一个 landing page"、"Build a dashboard" | Step 1 → Step 2 (design system) |45| **New component** | "Create a pricing card"、"Add a modal" | Step 3 (domain search: style, ux) |46| **Choose style / color / font** | "What style fits a fintech app?"、"推荐配色" | Step 2 (design system) |47| **Review existing UI** | "Review this page for UX issues"、"检查无障碍" | Quick Reference checklist above |48| **Fix a UI bug** | "Button hover is broken"、"Layout shifts on load" | Quick Reference → relevant section |49| **Improve / optimize** | "Make this faster"、"Improve mobile experience" | Step 3 (domain search: ux, react) |50| **Implement dark mode** | "Add dark mode support" | Step 3 (domain: style "dark mode") |51| **Add charts / data viz** | "Add an analytics dashboard chart" | Step 3 (domain: chart) |52| **Stack best practices** | "React performance tips"、"SwiftUI navigation" | Step 4 (stack search) |5354Follow this workflow:5556### Step 1: Analyze User Requirements5758Extract key information from user request:59- **Product type**: Entertainment (social, video, music, gaming), Tool (scanner, editor, converter), Productivity (task manager, notes, calendar), or hybrid60- **Target audience**: C-end consumer users; consider age group, usage context (commute, leisure, work)61- **Style keywords**: playful, vibrant, minimal, dark mode, content-first, immersive, etc.62- **Stack**: React Native (this project's only tech stack)6364### Step 2: Generate Design System (REQUIRED)6566**Always start with `--design-system`** to get comprehensive recommendations with reasoning:6768```bash69python3 skills/ui-ux-pro-max/scripts/search.py "<product_type> <industry> <keywords>" --design-system [-p "Project Name"]70```7172This command:731. Searches domains in parallel (product, style, color, landing, typography)742. Applies reasoning rules from `ui-reasoning.csv` to select best matches753. Returns complete design system: pattern, style, colors, typography, effects764. Includes anti-patterns to avoid7778**Example:**79```bash80python3 skills/ui-ux-pro-max/scripts/search.py "beauty spa wellness service" --design-system -p "Serenity Spa"81```8283### Step 2b: Persist Design System (Master + Overrides Pattern)8485To save the design system for **hierarchical retrieval across sessions**, add `--persist`:8687```bash88python3 skills/ui-ux-pro-max/scripts/search.py "<query>" --design-system --persist -p "Project Name"89```9091This creates:92- `design-system/MASTER.md` — Global Source of Truth with all design rules93- `design-system/pages/` — Folder for page-specific overrides9495**With page-specific override:**96```bash97python3 skills/ui-ux-pro-max/scripts/search.py "<query>" --design-system --persist -p "Project Name" --page "dashboard"98```99100This also creates:101- `design-system/pages/dashboard.md` — Page-specific deviations from Master102103**How hierarchical retrieval works:**1041. When building a specific page (e.g., "Checkout"), first check `design-system/pages/checkout.md`1052. If the page file exists, its rules **override** the Master file1063. If not, use `design-system/MASTER.md` exclusively107108**Context-aware retrieval prompt:**109```110I am building the [Page Name] page. Please read design-system/MASTER.md.111Also check if design-system/pages/[page-name].md exists.112If the page file exists, prioritize its rules.113If not, use the Master rules exclusively.114Now, generate the code...115```116117### Step 3: Supplement with Detailed Searches (as needed)118119After getting the design system, use domain searches to get additional details:120121```bash122python3 skills/ui-ux-pro-max/scripts/search.py "<keyword>" --domain <domain> [-n <max_results>]123```124125**When to use detailed searches:**126127| Need | Domain | Example |128|------|--------|---------|129| Product type patterns | `product` | `--domain product "entertainment social"` |130| More style options | `style` | `--domain style "glassmorphism dark"` |131| Color palettes | `color` | `--domain color "entertainment vibrant"` |132| Font pairings | `typography` | `--domain typography "playful modern"` |133| Chart recommendations | `chart` | `--domain chart "real-time dashboard"` |134| UX best practices | `ux` | `--domain ux "animation accessibility"` |135| Landing structure | `landing` | `--domain landing "hero social-proof"` |136| React Native perf | `react` | `--domain react "rerender memo list"` |137| App interface a11y | `web` | `--domain web "accessibilityLabel touch safe-areas"` |138| AI prompt / CSS keywords | `prompt` | `--domain prompt "minimalism"` |139140### Step 4: Stack Guidelines141142Get implementation-specific best practices for the user's stack:143144```bash145python3 skills/ui-ux-pro-max/scripts/search.py "<keyword>" --stack <stack>146```147148---149150## Search Reference151152### Available Domains153154| Domain | Use For | Example Keywords |155|--------|---------|------------------|156| `product` | Product type recommendations | SaaS, e-commerce, portfolio, healthcare, beauty, service |157| `style` | UI styles, colors, effects | glassmorphism, minimalism, dark mode, brutalism |158| `typography` | Font pairings, Google Fonts | elegant, playful, professional, modern |159| `color` | Color palettes by product type | saas, ecommerce, healthcare, beauty, fintech, service |160| `landing` | Page structure, CTA strategies | hero, hero-centric, testimonial, pricing, social-proof |161| `chart` | Chart types, library recommendations | trend, comparison, timeline, funnel, pie |162| `ux` | Best practices, anti-patterns | animation, accessibility, z-index, loading |163| `react` | React/Next.js performance | waterfall, bundle, suspense, memo, rerender, cache |164| `web` | App interface guidelines (iOS/Android/React Native) | accessibilityLabel, touch targets, safe areas, Dynamic Type |165| `prompt` | AI prompts, CSS keywords | (style name) |166167### Available Stacks168169| Stack | Focus |170|-------|-------|171| `react-native` | Components, Navigation, Lists |172| `javafx` | Enterprise desktop apps, AtlantaFX themes, FXML, CSS, Controls, Binding, Threading, Packaging |173174**JavaFX enterprise examples:**175176```bash177python3 skills/ui-ux-pro-max/scripts/search.py "atlantafx primer enterprise theme" --stack javafx178python3 skills/ui-ux-pro-max/scripts/search.py "enterprise tableview density permission" --stack javafx179```180181---182183## Example Workflow184185**User request:** "Make an AI search homepage。"186187### Step 1: Analyze Requirements188- Product type: Tool (AI search engine)189- Target audience: C-end users looking for fast, intelligent search190- Style keywords: modern, minimal, content-first, dark mode191- Stack: React Native192193### Step 2: Generate Design System (REQUIRED)194195```bash196python3 skills/ui-ux-pro-max/scripts/search.py "AI search tool modern minimal" --design-system -p "AI Search"197```198199**Output:** Complete design system with pattern, style, colors, typography, effects, and anti-patterns.200201### Step 3: Supplement with Detailed Searches (as needed)202203```bash204# Get style options for a modern tool product205python3 skills/ui-ux-pro-max/scripts/search.py "minimalism dark mode" --domain style206207# Get UX best practices for search interaction and loading208python3 skills/ui-ux-pro-max/scripts/search.py "search loading animation" --domain ux209```210211### Step 4: Stack Guidelines212213```bash214python3 skills/ui-ux-pro-max/scripts/search.py "list performance navigation" --stack react-native215```216217**Then:** Synthesize design system + detailed searches and implement the design.218219---220221## Output Formats222223The `--design-system` flag supports two output formats:224225```bash226# ASCII box (default) - best for terminal display227python3 skills/ui-ux-pro-max/scripts/search.py "fintech crypto" --design-system228229# Markdown - best for documentation230python3 skills/ui-ux-pro-max/scripts/search.py "fintech crypto" --design-system -f markdown231```232233---234235## Tips for Better Results236237### Query Strategy238239- Use **multi-dimensional keywords** — combine product + industry + tone + density: `"entertainment social vibrant content-dense"` not just `"app"`240- Try different keywords for the same need: `"playful neon"` → `"vibrant dark"` → `"content-first minimal"`241- Use `--design-system` first for full recommendations, then `--domain` to deep-dive any dimension you're unsure about242- Add `--stack <stack>` for implementation-specific guidance when the target stack is known243244### Common Sticking Points245246| Problem | What to Do |247|---------|------------|248| Can't decide on style/color | Re-run `--design-system` with different keywords |249| Dark mode contrast issues | Quick Reference §6: `color-dark-mode` + `color-accessible-pairs` |250| Animations feel unnatural | Quick Reference §7: `spring-physics` + `easing` + `exit-faster-than-enter` |251| Form UX is poor | Quick Reference §8: `inline-validation` + `error-clarity` + `focus-management` |252| Navigation feels confusing | Quick Reference §9: `nav-hierarchy` + `bottom-nav-limit` + `back-behavior` |253| Layout breaks on small screens | Quick Reference §5: `mobile-first` + `breakpoint-consistency` |254| Performance / jank | Quick Reference §3: `virtualize-lists` + `main-thread-budget` + `debounce-throttle` |255256### Pre-Delivery Checklist257258- Run `--domain ux "animation accessibility z-index loading"` as a UX validation pass before implementation259- Run through Quick Reference **§1–§3** (CRITICAL + HIGH) as a final review260- Test on 375px (small phone) and landscape orientation261- Verify behavior with **reduced-motion** enabled and **Dynamic Type** at largest size262- Check dark mode contrast independently (don't assume light mode values work)263- Confirm all touch targets ≥44pt and no content hidden behind safe areas264265---266267## Common Rules for Professional UI268269These are frequently overlooked issues that make UI look unprofessional:270Scope notice: The rules below are for App UI (iOS/Android/React Native/Flutter), not desktop-web interaction patterns.271272### Icons & Visual Elements273274- 默认图标库使用 **Phosphor (`@phosphor-icons/react`)**。`src/ui-ux-pro-max/data/icons.csv` 中列出的只是常用推荐图标,不是完整集合。275- 当推荐表中找不到合适的图标时:276 - **优先继续从 Phosphor 的完整图标集中选择任何语义更贴切的图标**;277 - 如果 Phosphor 也没有理想选项,可以使用 **Heroicons (`@heroicons/react`)** 作为备选,注意保持风格一致(线性/填充、笔画粗细、圆角风格)。278279| Rule | Standard | Avoid | Why It Matters |280|------|----------|--------|----------------|281| **No Emoji as Structural Icons** | Use vector-based icons (e.g., Phosphor `@phosphor-icons/react`, Heroicons `@heroicons/react`, react-native-vector-icons, @expo/vector-icons). | Using emojis (🎨 🚀 ⚙️) for navigation, settings, or system controls. | Emojis are font-dependent, inconsistent across platforms, and cannot be controlled via design tokens. |282| **Vector-Only Assets** | Use SVG or platform vector icons that scale cleanly and support theming. | Raster PNG icons that blur or pixelate. | Ensures scalability, crisp rendering, and dark/light mode adaptability. |283| **Stable Interaction States** | Use color, opacity, or elevation transitions for press states without changing layout bounds. | Layout-shifting transforms that move surrounding content or trigger visual jitter. | Prevents unstable interactions and preserves smooth motion/perceived quality on mobile. |284| **Correct Brand Logos** | Use official brand assets and follow their usage guidelines (spacing, color, clear space). | Guessing logo paths, recoloring unofficially, or modifying proportions. | Prevents brand misuse and ensures legal/platform compliance. |285| **Consistent Icon Sizing** | Define icon sizes as design tokens (e.g., icon-sm, icon-md = 24pt, icon-lg). | Mixing arbitrary values like 20pt / 24pt / 28pt randomly. | Maintains rhythm and visual hierarchy across the interface. |286| **Stroke Consistency** | Use a consistent stroke width within the same visual layer (e.g., 1.5px or 2px). | Mixing thick and thin stroke styles arbitrarily. | Inconsistent strokes reduce perceived polish and cohesion. |287| **Filled vs Outline Discipline** | Use one icon style per hierarchy level. | Mixing filled and outline icons at the same hierarchy level. | Maintains semantic clarity and stylistic coherence. |288| **Touch Target Minimum** | Minimum 44×44pt interactive area (use hitSlop if icon is smaller). | Small icons without expanded tap area. | Meets accessibility and platform usability standards. |289| **Icon Alignment** | Align icons to text baseline and maintain consistent padding. | Misaligned icons or inconsistent spacing around them. | Prevents subtle visual imbalance that reduces perceived quality. |290| **Icon Contrast** | Follow WCAG contrast standards: 4.5:1 for small elements, 3:1 minimum for larger UI glyphs. | Low-contrast icons that blend into the background. | Ensures accessibility in both light and dark modes. |291292293### Interaction (App)294295| Rule | Do | Don't |296|------|----|----- |297| **Tap feedback** | Provide clear pressed feedback (ripple/opacity/elevation) within 80-150ms | No visual response on tap |298| **Animation timing** | Keep micro-interactions around 150-300ms with platform-native easing | Instant transitions or slow animations (>500ms) |299| **Accessibility focus** | Ensure screen reader focus order matches visual order and labels are descriptive | Unlabeled controls or confusing focus traversal |300| **Disabled state clarity** | Use disabled semantics (`disabled`/native disabled props), reduced emphasis, and no tap action | Controls that look tappable but do nothing |301| **Touch target minimum** | Keep tap areas >=44x44pt (iOS) or >=48x48dp (Android), expand hit area when icon is smaller | Tiny tap targets or icon-only hit areas without padding |302| **Gesture conflict prevention** | Keep one primary gesture per region and avoid nested tap/drag conflicts | Overlapping gestures causing accidental actions |303| **Semantic native controls** | Prefer native interactive primitives (`Button`, `Pressable`, platform equivalents) with proper accessibility roles | Generic containers used as primary controls without semantics |304305### Light/Dark Mode Contrast306307| Rule | Do | Don't |308|------|----|----- |309| **Surface readability (light)** | Keep cards/surfaces clearly separated from background with sufficient opacity/elevation | Overly transparent surfaces that blur hierarchy |310| **Text contrast (light)** | Maintain body text contrast >=4.5:1 against light surfaces | Low-contrast gray body text |311| **Text contrast (dark)** | Maintain primary text contrast >=4.5:1 and secondary text >=3:1 on dark surfaces | Dark mode text that blends into background |312| **Border and divider visibility** | Ensure separators are visible in both themes (not just light mode) | Theme-specific borders disappearing in one mode |313| **State contrast parity** | Keep pressed/focused/disabled states equally distinguishable in light and dark themes | Defining interaction states for one theme only |314| **Token-driven theming** | Use semantic color tokens mapped per theme across app surfaces/text/icons | Hardcoded per-screen hex values |315| **Scrim and modal legibility** | Use a modal scrim strong enough to isolate foreground content (typically 40-60% black) | Weak scrim that leaves background visually competing |316317### Layout & Spacing318319| Rule | Do | Don't |320|------|----|----- |321| **Safe-area compliance** | Respect top/bottom safe areas for all fixed headers, tab bars, and CTA bars | Placing fixed UI under notch, status bar, or gesture area |322| **System bar clearance** | Add spacing for status/navigation bars and gesture home indicator | Let tappable content collide with OS chrome |323| **Consistent content width** | Keep predictable content width per device class (phone/tablet) | Mixing arbitrary widths between screens |324| **8dp spacing rhythm** | Use a consistent 4/8dp spacing system for padding/gaps/section spacing | Random spacing increments with no rhythm |325| **Readable text measure** | Keep long-form text readable on large devices (avoid edge-to-edge paragraphs on tablets) | Full-width long text that hurts readability |326| **Section spacing hierarchy** | Define clear vertical rhythm tiers (e.g., 16/24/32/48) by hierarchy | Similar UI levels with inconsistent spacing |327| **Adaptive gutters by breakpoint** | Increase horizontal insets on larger widths and in landscape | Same narrow gutter on all device sizes/orientations |328| **Scroll and fixed element coexistence** | Add bottom/top content insets so lists are not hidden behind fixed bars | Scroll content obscured by sticky headers/footers |329330---331332## Pre-Delivery Checklist333334Before delivering UI code, verify these items:335Scope notice: This checklist is for App UI (iOS/Android/React Native/Flutter).336337### Visual Quality338- [ ] No emojis used as icons (use SVG instead)339- [ ] All icons come from a consistent icon family and style340- [ ] Official brand assets are used with correct proportions and clear space341- [ ] Pressed-state visuals do not shift layout bounds or cause jitter342- [ ] Semantic theme tokens are used consistently (no ad-hoc per-screen hardcoded colors)343344### Interaction345- [ ] All tappable elements provide clear pressed feedback (ripple/opacity/elevation)346- [ ] Touch targets meet minimum size (>=44x44pt iOS, >=48x48dp Android)347- [ ] Micro-interaction timing stays in the 150-300ms range with native-feeling easing348- [ ] Disabled states are visually clear and non-interactive349- [ ] Screen reader focus order matches visual order, and interactive labels are descriptive350- [ ] Gesture regions avoid nested/conflicting interactions (tap/drag/back-swipe conflicts)351352### Light/Dark Mode353- [ ] Primary text contrast >=4.5:1 in both light and dark mode354- [ ] Secondary text contrast >=3:1 in both light and dark mode355- [ ] Dividers/borders and interaction states are distinguishable in both modes356- [ ] Modal/drawer scrim opacity is strong enough to preserve foreground legibility (typically 40-60% black)357- [ ] Both themes are tested before delivery (not inferred from a single theme)358359### Layout360- [ ] Safe areas are respected for headers, tab bars, and bottom CTA bars361- [ ] Scroll content is not hidden behind fixed/sticky bars362- [ ] Verified on small phone, large phone, and tablet (portrait + landscape)363- [ ] Horizontal insets/gutters adapt correctly by device size and orientation364- [ ] 4/8dp spacing rhythm is maintained across component, section, and page levels365- [ ] Long-form text measure remains readable on larger devices (no edge-to-edge paragraphs)366367### Accessibility368- [ ] All meaningful images/icons have accessibility labels369- [ ] Form fields have labels, hints, and clear error messages370- [ ] Color is not the only indicator371- [ ] Reduced motion and dynamic text size are supported without layout breakage372- [ ] Accessibility traits/roles/states (selected, disabled, expanded) are announced correctly