skills/ux-audit/SKILL.md
Reverse-engineers the current design system from screenshots or a live URL. Extracts colors, typography, spacing, component patterns, and layout structure. Use when redesigning an existing page, auditing a current design, or when the user says "audit this design", "what's the current design system", "analyze this page", or provides a URL and says "redesign".
npx skillsauth add xoai/sage ux-auditInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Extract the implicit design system from an existing page. Before you can improve a design, you need to understand what currently exists — not from the code, but from what the user sees.
Core Principle: Every shipped product has a design system, even if it was never documented. Colors were chosen. Typography was set. Spacing patterns emerged. Component shapes repeated. This skill makes the implicit explicit so the redesign can make intentional choices about what to keep, what to change, and what to unify.
Do NOT use for:
If screenshots don't already exist, capture them:
bash sage/runtime/tools/sage-screenshot.sh <url-or-localhost> \
--output .sage/work/<feature>/screenshots \
--label current \
--full-page \
--before
If the user provided a URL, also fetch the page content for structural analysis:
From the screenshots, identify:
## Colors
Primary: [color] — used for: [CTAs, links, active states]
Secondary: [color] — used for: [headings, accents]
Background: [color(s)] — used for: [page bg, section bgs, card bgs]
Text: [color(s)] — used for: [body, headings, muted/secondary]
Accent: [color(s)] — used for: [badges, highlights, alerts]
Semantic: success [color], error [color], warning [color]
Note inconsistencies: "Two different blues used for CTAs — #2563eb on hero, #3b82f6 on cards. Likely unintentional."
## Typography
Heading 1: [size estimate] / [weight] / [color]
Heading 2: [size estimate] / [weight] / [color]
Heading 3: [size estimate] / [weight] / [color]
Body: [size estimate] / [weight] / [color] / [line-height estimate]
Caption: [size estimate] / [weight] / [color]
Font family: [serif/sans-serif/identified family if recognizable]
Note: sizes are estimates from screenshots. Exact values come from code inspection if needed. The point is to identify the visual hierarchy, not the pixel values.
## Layout
Max content width: [estimate]
Grid system: [columns at desktop, tablet, mobile]
Section spacing: [gap between major sections]
Card spacing: [gap between cards/items]
Internal padding: [padding inside cards/sections]
## Responsive
Mobile: [what stacks, what hides, what changes]
Tablet: [how grid adapts]
Desktop: [full layout description]
Identify repeating UI components:
## Components
Buttons: [styles: primary, secondary, ghost — shapes, sizes]
Cards: [structure: image + title + desc + CTA? shadow? border-radius?]
Navigation: [type: sticky header? hamburger on mobile? mega menu?]
Hero: [pattern: text-left/image-right? full-width image? video?]
Social proof: [testimonials? logos? numbers? score displays?]
Forms: [input style, label position, error display]
Icons: [style: outlined? filled? library if recognizable?]
## Page Sections (in order)
1. [Section name] — [purpose] — [above/below fold on mobile]
2. [Section name] — [purpose]
3. ...
## CTA Strategy
Primary CTA: [text] — [placement] — [visual weight]
Secondary CTA: [text] — [placement]
CTA count: [total on page]
## Navigation
Header: [logo + nav items + CTA]
Footer: [columns, links, contact info]
Combine all extractions into .sage/work/<feature>/current-design-system.md:
# Current Design System: [page/product name]
**Audited from:** [URL or screenshots]
**Date:** [timestamp]
**Breakpoints reviewed:** mobile, tablet, desktop
## Colors
[from Step 2]
## Typography
[from Step 3]
## Spacing and Layout
[from Step 4]
## Components
[from Step 5]
## Information Architecture
[from Step 6]
## Consistency Issues Found
- [inconsistency 1]
- [inconsistency 2]
## Strengths
- [what works well visually]
## Weaknesses
- [what could be improved]
Show the document to the user: "Here's the current design system I extracted. Anything I missed or got wrong?"
MUST (violation = inaccurate audit):
SHOULD (violation = incomplete audit):
MAY (context-dependent):
Communication style: Evaluator language. Be specific and evidence-based. Every finding needs observable evidence and user impact. Thoroughness is more valuable than diplomacy.
Good UX audit output:
Before presenting your output, check each quality criterion above. For each, confirm it's met or note what's missing. Present your findings AND your self-assessment:
"Self-review: [X/Y criteria met]. [Note any gaps and why they exist.]"
testing
Root cause diagnosis with evidence, Reproducing test, Minimal patch
tools
Session resumption with context
tools
Configure Sage preset and project settings. Switch between base, startup, enterprise, or opensource constitution presets. Use when the user says "configure sage", "change preset", or "sage settings".
development
Brief (medium+ tasks), Spec, Implementation plan