npx claudepluginhub xoai/sageThis skill uses the workspace's default tool permissions.
<!-- sage-metadata
Extracts design system from websites, HTML files, or screenshots into DESIGN.md via Playwright automation, HTML inspection, and visual analysis for UI consistency.
Analyzes websites for design inspiration by navigating URLs, capturing desktop/mobile screenshots, and extracting colors with hex codes, typography details, layouts, grids, and UI patterns into structured reports.
Extracts design DNA—colors, typography, spacing tokens, component patterns—from app screenshots, live URLs, or projects using Google Stitch. Outputs design-tokens.json, Tailwind config, or CSS vars for audits and design systems.
Share bugs, ideas, or general feedback.
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.]"