Install
openclaw skills install ui-scannerGiven a website URL, crawl and analyze its visual design system — identify design style, color system, typography, component styles, and UI patterns. Outputs a structured design specification document for UI generation.
openclaw skills install ui-scannerGiven a website URL, automatically crawl the page and reverse-engineer its visual design system, outputting a structured design specification document.
Suitable for competitive design analysis, UI replication, design system reverse engineering, and style transfer.
Provide a target website URL; the skill performs crawl → analyze → structured output. Result written to {domain}_design.md.
URL input → Page crawl → Visual element classification → Style extraction → Structured output → Write file
Output file uses standard YAML frontmatter + Markdown structure:
---
version: alpha
name: {brand name}
description: {1-3 sentence brand visual style description, including base color, core tone, font scheme}
colors:
primary: "{primary brand color HEX}"
primary-active: "{primary hover/active HEX}"
ink: "{darkest text color HEX}"
body: "{body text color HEX}"
body-strong: "{emphasis text color HEX}"
muted: "{secondary text color HEX}"
muted-soft: "{weakest text color HEX}"
hairline: "{border color HEX}"
hairline-soft: "{weak border color HEX}"
hairline-strong: "{emphasis border color HEX}"
canvas: "{page background HEX}"
canvas-soft: "{weak background HEX}"
surface-card: "{card background HEX}"
surface-strong: "{emphasis surface HEX}"
on-primary: "{text color on primary HEX}"
semantic-error: "{error color HEX}"
semantic-success: "{success color HEX}"
typography:
display-mega:
fontFamily: "{font stack}"
fontSize: {px}
fontWeight: {numeric}
lineHeight: {numeric}
letterSpacing: {px}
display-lg: {same}
display-md: {same}
body-md: {same}
body-sm: {same}
caption: {same}
code: {same}
button: {same}
nav-link: {same}
rounded:
none: 0px
sm: {px}
md: {px}
lg: {px}
xl: {px}
pill: {px}
spacing:
xs: {px}
sm: {px}
base: {px}
lg: {px}
xl: {px}
xxl: {px}
section: {px}
components:
top-nav: {common page component style map}
button-primary: {backgroundColor, textColor, typography, rounded, padding, height}
button-secondary: {same format}
hero-band: {same}
feature-card: {same}
code-block: {if applicable}
text-input: {if applicable}
footer: {same}
---
After crawling, assess from these dimensions:
Output a 3-5 sentence description in the description field of the frontmatter.
Extract the following color categories:
| Category | Description |
|---|---|
| Primary brand | Main CTA and brand identity color |
| Primary hover | Primary hover/active variant |
| Text scale | 4-5 levels from darkest to lightest |
| Border scale | 2-3 levels of hairline/border colors |
| Page background | Canvas, card surface, emphasis surface hierarchy |
| Semantic colors | Error red / success green (if visible on page) |
| Special colors | Timeline, tags, auxiliary colors for special components |
Extract precise HEX values from CSS (inline/computed/CSS variables/design system).
Extract the following typography levels:
| Level | Location |
|---|---|
| Display mega | H1 / Hero heading |
| Display lg/md/sm | Large/medium/small display text |
| Title md/sm | Heading text |
| Body md/sm | Body text |
| Caption | Auxiliary text |
| Code | Code areas |
| Button | Button text |
| Nav link | Navigation links |
Record: fontFamily, fontSize, fontWeight, lineHeight, letterSpacing.
| Dimension | Extraction Method |
|---|---|
| Border radius | Buttons, cards, inputs, badges border-radius |
| Spacing | Paragraph gaps, grid gaps, section spacing |
| Page rhythm | Content area padding, section divider spacing |
Extract styles for common visible components:
| Component | Extracted Properties |
|---|---|
| Top nav | Height, background, text color, link style |
| Button primary | Background, text, radius, padding, height |
| Button secondary | Same as above |
| Feature card | Background, radius, padding |
| Pricing card | (If present) background, radius, padding |
| Text input | (If present) background, border, height, padding |
| Code block | Background, font, radius, padding |
| Footer | Background, text color, padding |
| Badge/Pill | Background, radius, text style |
| IDE mockup | (If applicable) pane colors, code area style |
Output under the ## Design Guidelines section:
web_fetch to get the page HTML<style> tagsstyle attributes--var-name@font-face declarationsmanifest.json / design tokensestimated with reasoning