ui-audit

UI/UX design system reference, pattern library, and focused review guidance for web and mobile applications. Use for targeted design research, pattern selection, UX audits, accessibility guidance, pal

SKILL.md

GitHub

UI Audit - Design Intelligence & Review Guidance

Comprehensive design reference library combined with focused UI/UX review guidance for web and mobile applications. Contains design patterns, color palettes, typography systems, and audit frameworks for improving modern SaaS and product interfaces.

Use frontend-design-specialist for end-to-end page and component implementation. Use this skill when targeted design research, pattern selection, UX review, or design system audit is the main need.

When to Apply

Reference these guidelines when:

  • Designing new UI components or pages
  • Choosing color palettes and typography
  • Reviewing code for UX issues or Web Interface Guidelines compliance
  • Building landing pages or dashboards
  • Implementing accessibility requirements
  • Auditing existing dashboards, pricing pages, onboarding flows, forms, or navigation
  • Identifying concrete visual, usability, or conversion improvements

Rule Categories by Priority

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

Quick Reference

1. Accessibility (CRITICAL)

  • color-contrast - Minimum 4.5:1 ratio for normal text
  • focus-states - Visible focus rings on interactive elements
  • alt-text - Descriptive alt text for meaningful images
  • aria-labels - aria-label for icon-only buttons
  • keyboard-nav - Tab order matches visual order
  • form-labels - Use label with for attribute

2. Touch & Interaction (CRITICAL)

  • touch-target-size - Minimum 44x44px touch targets
  • hover-vs-tap - Use click/tap for primary interactions
  • loading-buttons - Disable button during async operations
  • error-feedback - Clear error messages near problem
  • cursor-pointer - Add cursor-pointer to clickable elements

3. Performance (HIGH)

  • image-optimization - Use WebP, srcset, lazy loading
  • reduced-motion - Check prefers-reduced-motion
  • content-jumping - Reserve space for async content

4. Layout & Responsive (HIGH)

  • viewport-meta - width=device-width initial-scale=1
  • readable-font-size - Minimum 16px body text on mobile
  • horizontal-scroll - Ensure content fits viewport width
  • z-index-management - Define z-index scale (10, 20, 30, 50)

5. Typography & Color (MEDIUM)

  • line-height - Use 1.5-1.75 for body text
  • line-length - Limit to 65-75 characters per line
  • font-pairing - Match heading/body font personalities

6. Animation (MEDIUM)

  • duration-timing - Use 150-300ms for micro-interactions
  • transform-performance - Use transform/opacity, not width/height
  • loading-states - Skeleton screens or spinners

7. Style Selection (MEDIUM)

  • style-match - Match style to product type
  • consistency - Use same style across all pages
  • no-emoji-icons - Use SVG icons, not emojis

8. Charts & Data (LOW)

  • chart-type - Match chart type to data type
  • color-guidance - Use accessible color palettes
  • data-table - Provide table alternative for accessibility

Web Interface Guidelines Compliance

How to Use Web Design Guidelines

When a user provides a file or pattern argument:

  1. Fetch guidelines from the source URL:
    https://raw.githubusercontent.com/vercel-labs/web-interface-guidelines/main/command.md
    
  2. Read the specified files
  3. Apply all rules from the fetched guidelines
  4. Output findings using the format specified in the guidelines

Use WebFetch to retrieve the latest rules. The fetched content contains all the rules and output format instructions.

Review Mode

When asked to review, audit, or check existing UI code, accessibility, UX, or interface quality:

  • Focus on compliance with Web Interface Guidelines
  • Identify files for review
  • Check against all rules in the fetched guidelines
  • Output findings in the terse file:line format

Design System Library

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

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:

python3 skills/ui-audit/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:

python3 skills/ui-audit/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-audit/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-audit/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

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-audit/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.

python3 skills/ui-audit/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

UI/UX Review Framework

Review Inputs / Prereqs

For conducting targeted reviews and audits, gather:

  • screen_type - Dashboard, pricing page, onboarding flow, form, navigation, etc.
  • goal - Primary user task and success condition
  • ui_description - Current interface structure and components
  • Optional product_context - Product type, audience, business model
  • Optional design_tokens - Colors, typography, spacing system in use

Review Workflow

  1. Identify the screen's primary user task and success condition.
  2. Evaluate hierarchy, layout rhythm, contrast, navigation clarity, and interaction cost.
  3. Flag generic or vibe-coded patterns and replace them with concrete alternatives.
  4. Tailor suggestions to the product context instead of applying generic SaaS conventions.

Review Outputs / Evidence

  • A prioritized list of UI and UX findings
  • Concrete layout, component, copy, or token changes
  • Clear reasoning tied to the screen goal
  • Specific recommendations for visual, usability, or conversion improvements

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

Example Workflow

User request: "Design landing page for professional skin care service"

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)

python3 skills/ui-audit/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)

# Get UX guidelines for animation and accessibility
python3 skills/ui-audit/scripts/search.py "animation accessibility" --domain ux

# Get alternative typography options if needed
python3 skills/ui-audit/scripts/search.py "elegant luxury serif" --domain typography

Step 4: Stack Guidelines

python3 skills/ui-audit/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:

# ASCII box (default) - best for terminal display
python3 skills/ui-audit/scripts/search.py "fintech crypto" --design-system

# Markdown - best for documentation
python3 skills/ui-audit/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
  7. Leverage audit mode - Use review framework for existing interfaces
  8. Check Web Interface Guidelines - Verify compliance with latest standards

Outputs / Evidence

  • Return the concrete design guidance, audit findings, or implementation patterns requested
  • Include clear rendering and accessibility implications
  • Note any design system constraints or Web Interface Guidelines compliance requirements that must be preserved

Failure / Stop Conditions

  • Stop if required context for the task is not identified
  • Do not redesign the product around a different audience or business model
  • Do not suggest aesthetic changes that weaken clarity, accessibility, or conversion
  • Stop if review guidelines or Web Interface Standards cannot be fetched

Memory Hooks

  • Read memory when product, repo, or design-system history affects correctness
  • Write memory only if this work establishes a durable UI audit policy or design system