Visual Design Skill
Create systematic, accessible visual designs using modern color spaces, typography, and design token standards.
When to Use
-
Designing typography scales with mathematical ratios
-
Creating OKLCH-based color palettes for accessibility
-
Building design token hierarchies (W3C DTCG format)
-
Specifying component libraries with Atomic Design
-
Auditing designs for WCAG AA/AAA compliance
-
Implementing variable fonts and fluid typography
When NOT to Use
-
User research and persona development
-
Information architecture and content strategy
-
Usability testing and heuristic evaluation
-
Backend API or database design
-
Pure frontend implementation (use code-focused skills)
Quick Start
Task: Create a basic design system foundation
-
Define primitive tokens (colors, spacing, typography)
-
Create semantic layer (primary, secondary, surface colors)
-
Build component tokens (button, input, card specifications)
-
Document with usage guidelines
Minimum deliverable: Token hierarchy + typography scale + color palette
Core Procedure
Phase 1: Discovery
inputs:
- Brand guidelines (if available)
- Target platforms (web, mobile, desktop)
- Accessibility requirements (AA or AAA)
- Existing design assets
Capture requirements in uncertainty ledger:
-
What color mode support is needed? (light/dark/both)
-
What is the primary typeface or brand font?
-
Are there platform-specific guidelines (iOS HIG, Material)?
Phase 2: Foundation Tokens
Typography Scale (Perfect Fourth 1.333 recommended):
Token Size Use
text-xs
12px Captions, labels
text-sm
14px Secondary text
text-base
16px Body text
text-lg
21px Lead paragraphs
text-xl
28px H4 headings
text-2xl
38px H3 headings
text-3xl
50px H2 headings
text-4xl
67px H1 headings
Spacing Scale (8pt grid):
Token Value Use
space-1
4px Tight inline
space-2
8px Icon-text gap
space-3
12px Small padding
space-4
16px Default padding
space-6
24px Section padding
space-8
32px Large gaps
space-12
48px Section margins
Phase 3: Color System
Use OKLCH for perceptually uniform palettes:
/* Primary palette - consistent perceived lightness / --primary-50: oklch(97% 0.02 250); --primary-100: oklch(94% 0.04 250); --primary-200: oklch(88% 0.08 250); --primary-300: oklch(78% 0.12 250); --primary-400: oklch(68% 0.15 250); --primary-500: oklch(58% 0.18 250); / Base */ --primary-600: oklch(48% 0.16 250); --primary-700: oklch(38% 0.14 250); --primary-800: oklch(28% 0.10 250); --primary-900: oklch(18% 0.06 250);
Checkpoint: Verify contrast ratios meet WCAG requirements.
Phase 4: Component Specification
Apply Atomic Design hierarchy:
-
Atoms - Button, Input, Icon, Badge, Avatar
-
Molecules - Form Field, Search Bar, Menu Item
-
Organisms - Header, Data Table, Card, Form
-
Templates - Dashboard Layout, List Page, Detail Page
For each component, document:
-
Visual states (default, hover, active, disabled, focus)
-
Token mappings (which semantic tokens apply)
-
Accessibility requirements (focus indicators, ARIA)
Phase 5: Documentation
Create usage guidelines with:
-
Do's and don'ts examples
-
Code snippets for implementation
-
Accessibility notes per component
Definition of Done
-
Typography scale defined with at least 6 sizes
-
Color palette with primitives and semantic tokens
-
Spacing scale following 4px or 8px grid
-
Component specifications for core atoms
-
WCAG AA contrast verified for all text/background combinations
-
Design tokens exportable to CSS/SCSS/JSON
Design System Architecture
Foundation Layer ├── Primitives (raw values) │ ├── Colors (blue-500, gray-100) │ ├── Typography (font families, weights) │ ├── Spacing (4, 8, 16, 24, 32px) │ └── Breakpoints (sm, md, lg, xl) │ ├── Semantic Layer │ ├── Colors (primary, secondary, error) │ ├── Text Styles (heading-lg, body-md) │ ├── Spacing Tokens (gap-sm, padding-lg) │ └── Elevation (shadow-sm, shadow-lg) │ ├── Component Layer │ ├── Atoms (Button, Input, Icon) │ ├── Molecules (Search Bar, Form Field) │ ├── Organisms (Header, Data Table) │ └── Templates (Dashboard, List Page) │ └── Documentation Layer ├── Usage Guidelines ├── UI Patterns ├── Accessibility Docs └── Changelog
Token flow: Primitives -> Semantic -> Component -> Output (CSS/SCSS/JS/Figma)
Guardrails
Accessibility Requirements
Criterion Level AA Level AAA
Text Contrast 4.5:1 7:1
Large Text 3:1 4.5:1
UI Components 3:1 N/A
Focus Indicators 3:1 Enhanced
Target Size 24x24px 44x44px
Always verify: Use contrast checker tools before finalizing colors.
Trust Model
trusted:
- Brand guidelines provided by user
- Platform design system references (Material, HIG) untrusted:
- Generated color values (verify perceptually)
- AI-suggested type pairings (verify readability)
Required Confirmations
-
Before overwriting existing design tokens
-
Before changing established brand colors
-
When accessibility compliance cannot be met
Key Principles
Gestalt Principles (Quick Reference)
Principle Application
Proximity Group related form fields
Similarity Consistent button styles
Continuity Navigation flows
Closure Icon simplification
Figure-Ground Modal overlays
Common Region Cards, panels
Visual Hierarchy
-
Size - Larger = more important
-
Weight - Bold draws attention
-
Color - High contrast attracts eye
-
Position - Top-left scanned first (LTR)
-
Density - Isolated elements stand out
-
Depth - Shadows create importance
Consistency Types
-
Internal - Same patterns within product
-
External - Align with platform conventions
-
Temporal - Consistent over versions
-
Semantic - Same visual = same meaning
Failure Modes & Recovery
Failure Recovery
Colors fail contrast Adjust lightness in OKLCH (L value)
Type scale feels off Try different ratio (1.25, 1.333, 1.414)
Components inconsistent Audit against token mapping
Dark mode broken Design dark mode tokens separately
Tools Reference
Color:
-
OKLCH Picker: https://oklch.org/
-
Contrast Checker: https://webaim.org/resources/contrastchecker/
-
Realtime Colors: https://www.realtimecolors.com/
Typography:
-
Type Scale: https://typescale.com/
-
Variable Fonts: https://v-fonts.com/
Design Systems:
-
Material Design 3: https://m3.material.io/
-
Apple HIG: https://developer.apple.com/design/
References
-
Design Systems - Tokens, components, documentation
-
Typography - Scales, variable fonts, fluid type
-
Color - OKLCH, accessibility, systems
-
Principles - Gestalt, hierarchy, consistency