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.mdpackages/catalog/catalog/skills/adt-ui-audit/SKILL.md
GitHubUI 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 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 attribute
2. Touch & Interaction (CRITICAL)
touch-target-size- Minimum 44x44px touch targetshover-vs-tap- Use click/tap for primary interactionsloading-buttons- Disable button during async operationserror-feedback- Clear error messages near problemcursor-pointer- Add cursor-pointer to clickable elements
3. Performance (HIGH)
image-optimization- Use WebP, srcset, lazy loadingreduced-motion- Check prefers-reduced-motioncontent-jumping- Reserve space for async content
4. Layout & Responsive (HIGH)
viewport-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)
5. Typography & Color (MEDIUM)
line-height- Use 1.5-1.75 for body textline-length- Limit to 65-75 characters per linefont-pairing- Match heading/body font personalities
6. Animation (MEDIUM)
duration-timing- Use 150-300ms for micro-interactionstransform-performance- Use transform/opacity, not width/heightloading-states- Skeleton screens or spinners
7. Style Selection (MEDIUM)
style-match- Match style to product typeconsistency- Use same style across all pagesno-emoji-icons- Use SVG icons, not emojis
8. Charts & Data (LOW)
chart-type- Match chart type to data typecolor-guidance- Use accessible color palettesdata-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:
- Fetch guidelines from the source URL:
https://raw.githubusercontent.com/vercel-labs/web-interface-guidelines/main/command.md - Read the specified files
- Apply all rules from the fetched guidelines
- 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:lineformat
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:
- Searches 5 domains in parallel (product, style, color, landing, typography)
- Applies reasoning rules from
ui-reasoning.csvto select best matches - Returns complete design system: pattern, style, colors, typography, effects
- 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 rulesdesign-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:
- 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.mdexclusively
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 conditionui_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
- Identify the screen's primary user task and success condition.
- Evaluate hierarchy, layout rhythm, contrast, navigation clarity, and interaction cost.
- Flag generic or vibe-coded patterns and replace them with concrete alternatives.
- 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-motionrespected
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
- Be specific with keywords - "healthcare SaaS dashboard" > "app"
- Search multiple times - Different keywords reveal different insights
- Combine domains - Style + Typography + Color = Complete design system
- Always check UX - Search "animation", "z-index", "accessibility" for common issues
- Use stack flag - Get implementation-specific best practices
- Iterate - If first search doesn't match, try different keywords
- Leverage audit mode - Use review framework for existing interfaces
- 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