Strategically introduce color to designs that are too monochromatic, gray, or lacking in visual warmth and personality.
MANDATORY PREPARATION
Users start this workflow with /colorize. Once this skill is active, load $frontend-design — it contains design principles, anti-patterns, and the Context Gathering Protocol. Follow that protocol before proceeding — if no design context exists yet, you MUST load $setup first. Additionally gather: existing brand colors.
Assess Color Opportunity
Analyze the current state and identify opportunities:
Understand current state:
- Color absence: Pure grayscale? Limited neutrals? One timid accent?
- Missed opportunities: Where could color add meaning, hierarchy, or delight?
- Context: What's appropriate for this domain and audience?
- Brand: Are there existing brand colors we should use?
- Temperature: Do the neutrals feel warm, cool, or accidentally lifeless?
- Hierarchy without color: If you mentally remove color, is the interface still clear?
Identify where color adds value:
- Semantic meaning: Success (green), error (red), warning (yellow/orange), info (blue)
- Hierarchy: Drawing attention to important elements
- Categorization: Different sections, types, or states
- Emotional tone: Warmth, energy, trust, creativity
- Wayfinding: Helping users navigate and understand structure
- Delight: Moments of visual interest and personality
If any of these are unclear from the codebase, ask the user directly to clarify what you cannot infer.
CRITICAL: More color ≠ better. Strategic color beats rainbow vomit every time. Every color should have a purpose. Color should reinforce hierarchy that already exists — not replace it.
Plan Color Strategy
Create a purposeful color introduction plan:
Consult the color and contrast reference for palette structure, contrast, color-family selection, temperature, and theme behavior.
Consult the color ramp workflow reference when you need to build or repair tints, tones, shades, and reusable color stops.
Consult the semantic color reference when color needs to communicate state, alerts, or status—not just brand personality.
- Color palette: What colors match the brand/context? (Choose 2-4 colors max beyond neutrals)
- Palette relationship: Is this best treated as monochrome, analogous, complementary, or triadic?
- Dominant color: Which color owns 60% of colored elements?
- Accent colors: Which colors provide contrast and highlights? (30% and 10%)
- Application strategy: Where does each color appear and why?
- Shade system: Which greys, primary shades, and semantic ramps exist before you start applying them?
- Schema: Are the color roles and usable stops documented clearly enough for later screens to stay consistent?
IMPORTANT: Color should enhance hierarchy and meaning, not create chaos. Less is more when it matters more.
Build the Palette Before Applying It
Think in hue, saturation, and lightness even if you ultimately encode the palette in OKLCH.
Neutral scale
- Define 8-10 neutrals up front, from a dark near-black to an off-white
- Tint them slightly warm or cool so the interface feels intentional instead of lifeless
- Reserve the darkest neutral for primary text and the lightest for page backgrounds
Primary and accent scales
- Pick a base shade that could plausibly work for a button, active state, or strong highlight
- Define the dark edge for text / high-contrast UI and the light edge for tinted backgrounds
- Fill the gaps so you have a stable 5-10 shade ramp instead of improvising on every screen
Saturation and brightness control
- As colors get much lighter or darker, increase saturation enough to keep them from going muddy
- When a ramp looks dull, don't only change lightness — slightly rotate hue toward a brighter-feeling hue if needed
- For neutrals and subtle surfaces, temperature matters more than raw saturation
- Use toned-down variants when pure color feels too harsh, toy-like, or visually noisy
Contrast strategy
- For low-emphasis colored surfaces, prefer dark text on light color instead of white text on dark color
- When text sits on a colored background, use a darker or lighter shade of that same hue family instead of generic grey
Introduce Color Strategically
Add color systematically across these dimensions:
Semantic Color
State indicators:
- Success: Green tones (emerald, forest, mint)
- Error: Red/pink tones (rose, crimson, coral)
- Warning: Orange/amber tones
- Info: Blue tones (sky, ocean, indigo)
- Neutral: Gray/slate for inactive states
Status badges: Colored backgrounds or borders for states (active, pending, completed, etc.)
Progress indicators: Colored bars, rings, or charts showing completion or health
Accent Color Application
- Primary actions: Color the most important buttons/CTAs
- Links: Add color to clickable text (maintain accessibility)
- Icons: Colorize key icons for recognition and personality
- Headers/titles: Add color to section headers or key labels
- Hover states: Introduce color on interaction
Background & Surfaces
- Tinted backgrounds: Replace pure gray (
#f5f5f5) with warm neutrals (oklch(97% 0.01 60)) or cool tints (oklch(97% 0.01 250))
- Colored sections: Use subtle background colors to separate areas
- Gradient backgrounds: Add depth with subtle, intentional gradients (not generic purple-blue)
- Cards & surfaces: Tint cards or surfaces slightly for warmth
Use OKLCH for implementation: It's perceptually uniform, meaning equal steps in lightness look equal. Great for generating harmonious scales. But still think conceptually in hue, saturation, and lightness when deciding how colors should behave.
Data Visualization
- Charts & graphs: Use color to encode categories or values
- Heatmaps: Color intensity shows density or importance
- Comparison: Color coding for different datasets or timeframes
Borders & Accents
- Accent borders: Add colored left/top borders to cards or sections
- Underlines: Color underlines for emphasis or active states
- Dividers: Subtle colored dividers instead of gray lines
- Focus rings: Colored focus indicators matching brand
Typography Color
- Colored headings: Use brand colors for section headings (maintain contrast)
- Highlight text: Color for emphasis or categories
- Labels & tags: Small colored labels for metadata or categories
Treat color as a support to hierarchy:
- Keep primary body text mostly neutral
- Use color sparingly for action, state, and emphasis
- If a screen feels exciting only because everything is colored, you've probably overdone it
Decorative Elements
- Illustrations: Add colored illustrations or icons
- Shapes: Geometric shapes in brand colors as background elements
- Gradients: Colorful gradient overlays or mesh backgrounds
- Blobs/organic shapes: Soft colored shapes for visual interest
Balance & Refinement
Ensure color addition improves rather than overwhelms:
Maintain Hierarchy
- Dominant color (60%): Primary brand color or most used accent
- Secondary color (30%): Supporting color for variety
- Accent color (10%): High contrast for key moments
- Neutrals (remaining): Gray/black/white for structure
Treat color psychology as a directional tool, not a law:
- warmer, brighter colors usually attract more attention
- cooler colors often stabilize and recede
- darker palettes often feel more serious or corporate
- brighter palettes often feel more youthful or energetic
Then verify the actual result against the product's audience and tone instead of trusting the color wheel blindly.
Accessibility
- Contrast ratios: Ensure WCAG compliance (4.5:1 for text, 3:1 for UI components)
- Don't rely on color alone: Use icons, labels, or patterns alongside color
- Test for color blindness: Verify red/green combinations work for all users
- Flip contrast when needed: If white text on a colored surface demands too-dark a background, use a lighter background with darker text instead
Cohesion
- Consistent palette: Use colors from defined palette, not arbitrary choices
- Systematic application: Same color meanings throughout (green always = success)
- Temperature consistency: Warm palette stays warm, cool stays cool
NEVER:
- Use every color in the rainbow (choose 2-4 colors beyond neutrals)
- Apply color randomly without semantic meaning
- Put gray text on colored backgrounds—it looks washed out; use a darker shade of the background color or transparency instead
- Build shades on the fly with ad-hoc lighten/darken helpers and call it a system
- Use pure gray for neutrals—add subtle color tint (warm or cool) for sophistication
- Use pure black (
#000) or pure white (#fff) for large areas
- Violate WCAG contrast requirements
- Use color as the only indicator (accessibility issue)
- Make everything colorful (defeats the purpose)
- Default to purple-blue gradients (AI slop aesthetic)
Verify Color Addition
Test that colorization improves the experience:
- Better hierarchy: Does color guide attention appropriately?
- Clearer meaning: Does color help users understand states/categories?
- More engaging: Does the interface feel warmer and more inviting?
- Still accessible: Do all color combinations meet WCAG standards?
- Not overwhelming: Is color balanced and purposeful?
Remember: Color is emotional and powerful. Use it to create warmth, guide attention, communicate meaning, and express personality. But restraint and strategy matter more than saturation and variety. Be colorful, but be intentional.
1---2name: colorize3description: Build or refine UI color systems, warmth, semantic color, and color-based hierarchy in designs that are too gray, monochromatic, or missing color meaning. Use when the user mentions dull colors, gray UI, missing warmth, weak semantic color, or a need for stronger color hierarchy.4---5
6Strategically introduce color to designs that are too monochromatic, gray, or lacking in visual warmth and personality.
7
8## MANDATORY PREPARATION
9
10Users start this workflow with `/colorize`. Once this skill is active, load $frontend-design — it contains design principles, anti-patterns, and the **Context Gathering Protocol**. Follow that protocol before proceeding — if no design context exists yet, you MUST load $setup first. Additionally gather: existing brand colors.
11
12---
13
14## Assess Color Opportunity
15
16Analyze the current state and identify opportunities:
17
181. **Understand current state**:
19 - **Color absence**: Pure grayscale? Limited neutrals? One timid accent?
20 - **Missed opportunities**: Where could color add meaning, hierarchy, or delight?
21 - **Context**: What's appropriate for this domain and audience?
22 - **Brand**: Are there existing brand colors we should use?
23 - **Temperature**: Do the neutrals feel warm, cool, or accidentally lifeless?
24 - **Hierarchy without color**: If you mentally remove color, is the interface still clear?
25
262. **Identify where color adds value**:
27 - **Semantic meaning**: Success (green), error (red), warning (yellow/orange), info (blue)
28 - **Hierarchy**: Drawing attention to important elements
29 - **Categorization**: Different sections, types, or states
30 - **Emotional tone**: Warmth, energy, trust, creativity
31 - **Wayfinding**: Helping users navigate and understand structure
32 - **Delight**: Moments of visual interest and personality
33
34If any of these are unclear from the codebase, ask the user directly to clarify what you cannot infer.
35
36**CRITICAL**: More color ≠ better. Strategic color beats rainbow vomit every time. Every color should have a purpose. Color should reinforce hierarchy that already exists — not replace it.
37
38## Plan Color Strategy
39
40Create a purposeful color introduction plan:
41
42Consult the [color and contrast](../frontend-design/reference/color-and-contrast.md) reference for palette structure, contrast, color-family selection, temperature, and theme behavior.
43Consult the [color ramp workflow](../frontend-design/reference/color-ramp-workflow.md) reference when you need to build or repair tints, tones, shades, and reusable color stops.
44Consult the [semantic color](../frontend-design/reference/semantic-color.md) reference when color needs to communicate state, alerts, or status—not just brand personality.
45
46- **Color palette**: What colors match the brand/context? (Choose 2-4 colors max beyond neutrals)
47- **Palette relationship**: Is this best treated as monochrome, analogous, complementary, or triadic?
48- **Dominant color**: Which color owns 60% of colored elements?
49- **Accent colors**: Which colors provide contrast and highlights? (30% and 10%)
50- **Application strategy**: Where does each color appear and why?
51- **Shade system**: Which greys, primary shades, and semantic ramps exist before you start applying them?
52- **Schema**: Are the color roles and usable stops documented clearly enough for later screens to stay consistent?
53
54**IMPORTANT**: Color should enhance hierarchy and meaning, not create chaos. Less is more when it matters more.
55
56## Build the Palette Before Applying It
57
58Think in hue, saturation, and lightness even if you ultimately encode the palette in OKLCH.
59
60### Neutral scale
61- Define **8-10 neutrals** up front, from a dark near-black to an off-white
62- Tint them slightly warm or cool so the interface feels intentional instead of lifeless
63- Reserve the darkest neutral for primary text and the lightest for page backgrounds
64
65### Primary and accent scales
66- Pick a **base shade** that could plausibly work for a button, active state, or strong highlight
67- Define the **dark edge** for text / high-contrast UI and the **light edge** for tinted backgrounds
68- Fill the gaps so you have a stable 5-10 shade ramp instead of improvising on every screen
69
70### Saturation and brightness control
71- As colors get much lighter or darker, increase saturation enough to keep them from going muddy
72- When a ramp looks dull, don't only change lightness — slightly rotate hue toward a brighter-feeling hue if needed
73- For neutrals and subtle surfaces, temperature matters more than raw saturation
74- Use toned-down variants when pure color feels too harsh, toy-like, or visually noisy
75
76### Contrast strategy
77- For low-emphasis colored surfaces, prefer **dark text on light color** instead of white text on dark color
78- When text sits on a colored background, use a darker or lighter shade of that same hue family instead of generic grey
79
80## Introduce Color Strategically
81
82Add color systematically across these dimensions:
83
84### Semantic Color
85- **State indicators**:
86 - Success: Green tones (emerald, forest, mint)
87 - Error: Red/pink tones (rose, crimson, coral)
88 - Warning: Orange/amber tones
89 - Info: Blue tones (sky, ocean, indigo)
90 - Neutral: Gray/slate for inactive states
91
92- **Status badges**: Colored backgrounds or borders for states (active, pending, completed, etc.)
93- **Progress indicators**: Colored bars, rings, or charts showing completion or health
94
95### Accent Color Application
96- **Primary actions**: Color the most important buttons/CTAs
97- **Links**: Add color to clickable text (maintain accessibility)
98- **Icons**: Colorize key icons for recognition and personality
99- **Headers/titles**: Add color to section headers or key labels
100- **Hover states**: Introduce color on interaction
101
102### Background & Surfaces
103- **Tinted backgrounds**: Replace pure gray (`#f5f5f5`) with warm neutrals (`oklch(97% 0.01 60)`) or cool tints (`oklch(97% 0.01 250)`)
104- **Colored sections**: Use subtle background colors to separate areas
105- **Gradient backgrounds**: Add depth with subtle, intentional gradients (not generic purple-blue)
106- **Cards & surfaces**: Tint cards or surfaces slightly for warmth
107
108**Use OKLCH for implementation**: It's perceptually uniform, meaning equal steps in lightness *look* equal. Great for generating harmonious scales. But still think conceptually in hue, saturation, and lightness when deciding how colors should behave.
109
110### Data Visualization
111- **Charts & graphs**: Use color to encode categories or values
112- **Heatmaps**: Color intensity shows density or importance
113- **Comparison**: Color coding for different datasets or timeframes
114
115### Borders & Accents
116- **Accent borders**: Add colored left/top borders to cards or sections
117- **Underlines**: Color underlines for emphasis or active states
118- **Dividers**: Subtle colored dividers instead of gray lines
119- **Focus rings**: Colored focus indicators matching brand
120
121### Typography Color
122- **Colored headings**: Use brand colors for section headings (maintain contrast)
123- **Highlight text**: Color for emphasis or categories
124- **Labels & tags**: Small colored labels for metadata or categories
125
126Treat color as a support to hierarchy:
127- Keep primary body text mostly neutral
128- Use color sparingly for action, state, and emphasis
129- If a screen feels exciting only because everything is colored, you've probably overdone it
130
131### Decorative Elements
132- **Illustrations**: Add colored illustrations or icons
133- **Shapes**: Geometric shapes in brand colors as background elements
134- **Gradients**: Colorful gradient overlays or mesh backgrounds
135- **Blobs/organic shapes**: Soft colored shapes for visual interest
136
137## Balance & Refinement
138
139Ensure color addition improves rather than overwhelms:
140
141### Maintain Hierarchy
142- **Dominant color** (60%): Primary brand color or most used accent
143- **Secondary color** (30%): Supporting color for variety
144- **Accent color** (10%): High contrast for key moments
145- **Neutrals** (remaining): Gray/black/white for structure
146
147Treat color psychology as a directional tool, not a law:
148- warmer, brighter colors usually attract more attention
149- cooler colors often stabilize and recede
150- darker palettes often feel more serious or corporate
151- brighter palettes often feel more youthful or energetic
152
153Then verify the actual result against the product's audience and tone instead of trusting the color wheel blindly.
154
155### Accessibility
156- **Contrast ratios**: Ensure WCAG compliance (4.5:1 for text, 3:1 for UI components)
157- **Don't rely on color alone**: Use icons, labels, or patterns alongside color
158- **Test for color blindness**: Verify red/green combinations work for all users
159- **Flip contrast when needed**: If white text on a colored surface demands too-dark a background, use a lighter background with darker text instead
160
161### Cohesion
162- **Consistent palette**: Use colors from defined palette, not arbitrary choices
163- **Systematic application**: Same color meanings throughout (green always = success)
164- **Temperature consistency**: Warm palette stays warm, cool stays cool
165
166**NEVER**:
167- Use every color in the rainbow (choose 2-4 colors beyond neutrals)
168- Apply color randomly without semantic meaning
169- Put gray text on colored backgrounds—it looks washed out; use a darker shade of the background color or transparency instead
170- Build shades on the fly with ad-hoc lighten/darken helpers and call it a system
171- Use pure gray for neutrals—add subtle color tint (warm or cool) for sophistication
172- Use pure black (`#000`) or pure white (`#fff`) for large areas
173- Violate WCAG contrast requirements
174- Use color as the only indicator (accessibility issue)
175- Make everything colorful (defeats the purpose)
176- Default to purple-blue gradients (AI slop aesthetic)
177
178## Verify Color Addition
179
180Test that colorization improves the experience:
181
182- **Better hierarchy**: Does color guide attention appropriately?
183- **Clearer meaning**: Does color help users understand states/categories?
184- **More engaging**: Does the interface feel warmer and more inviting?
185- **Still accessible**: Do all color combinations meet WCAG standards?
186- **Not overwhelming**: Is color balanced and purposeful?
187
188Remember: Color is emotional and powerful. Use it to create warmth, guide attention, communicate meaning, and express personality. But restraint and strategy matter more than saturation and variety. Be colorful, but be intentional.