name: aico-frontend-style-extraction description: | Extract design tokens (colors, typography, spacing, effects) from reference website or screenshot to create project design system.
UNIQUE VALUE: Creates standardized design-system.md file with all design tokens extracted systematically.
Use this skill when:
- User shares reference website URL and wants to extract its style
- User provides screenshot or image and asks to "extract design", "extract style"
- Running /frontend.init and need to create design system from reference
- User asks to "create design system", "extract colors", "extract typography"
- Need to establish consistent design tokens before starting frontend work
Methods: URL (via Playwright MCP screenshot) or direct screenshot analysis Output: ALWAYS write to docs/reference/frontend/design-system.md
Style Extraction
Language Configuration
Before generating any content, check aico.json in project root for language field to determine the output language. If not set, default to English.
Process
- Get reference material:
- URL: Use Playwright MCP to take screenshot, then analyze
- Screenshot: Analyze directly
- Description: Generate tokens based on style keywords
- Extract systematically using the checklist below
- Save output: ALWAYS write to
docs/reference/frontend/design-system.md
Extraction Checklist
Colors
- Background colors (page, card, section)
- Text colors (primary, secondary, muted)
- Accent/brand colors
- Border colors
- State colors (success, warning, error)
Typography
- Font families (headings, body, mono)
- Font sizes (scale from xs to 4xl)
- Font weights (normal, medium, semibold, bold)
- Line heights
Spacing & Layout
- Border radius values
- Container max-width
- Section padding
- Component spacing scale
Effects
- Shadows (sm, md, lg)
- Borders & dividers
- Transitions
Output Template
# Design System
## Colors
### Brand
- Primary: #xxx
- Secondary: #xxx
### Text
- Primary: #xxx
- Secondary: #xxx
- Muted: #xxx
### Background
- Page: #xxx
- Card: #xxx
## Typography
### Font Family
- Headings: "Font Name", sans-serif
- Body: "Font Name", sans-serif
### Font Size
- sm: 0.875rem
- base: 1rem
- lg: 1.125rem
- xl: 1.25rem
## Spacing
### Border Radius
- sm: 0.125rem
- md: 0.375rem
- lg: 0.5rem
## Effects
### Shadow
- sm: 0 1px 2px rgba(0,0,0,0.05)
- md: 0 4px 6px rgba(0,0,0,0.1)
Playwright MCP Usage
If user provides URL:
browser_navigateto URLbrowser_take_screenshot(fullPage: true)- Analyze screenshot for design tokens
Key Rules
- ALWAYS extract actual hex values from reference - don't guess
- MUST note shadows, borders, transitions
- ALWAYS save to
docs/reference/frontend/design-system.md
Common Mistakes
- ❌ Guess colors without checking → ✅ Extract actual hex values
- ❌ Skip subtle details → ✅ Note shadows, borders, transitions
- ❌ Ignore responsive differences → ✅ Document mobile vs desktop