About color-palette
A design skill for creating distinctive, accessible color palettes for interfaces and design systems. It guides users through context gathering, palette generation, and contrast checks using reference material and scripts.
Key features
- 01Domain-specific palette references
- 02Color scales and harmony generation
- 03WCAG contrast-checking script
- 04Guidance for complete color systems
- 05Checklist for avoiding common design patterns
Use cases
- 01Creating a palette for a website or app
- 02Building a design system or style guide
- 03Checking color combinations for WCAG contrast
- 04Extending an existing brand color
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ nhatmobile1/ color-palette-skill --skill color-paletteAfter installing, type/color-palettein Claude Code to confirm it loaded.
Bundled files
References and scripts installed along with SKILL.md.
LICENSE.gitignoreREADME.mdreferences/color-palette-ui-design-reference.mdscripts/check_contrast.pygenerate_palette.pyDetails
From the project READMEColor Palette Creation
Overview
This skill helps create distinctive, accessible color palettes for UI and web design that stand out from generic AI-generated aesthetics. It provides color theory guidance, curated domain-specific examples, accessibility validation tools, and strategies to avoid overused patterns.
When to Use This Skill
Use this skill when:
- Designing color palettes for websites, apps, or digital interfaces
- Users request color schemes for specific domains or industries
- Building design systems or style guides
- Ensuring accessibility compliance (WCAG AA/AAA)
- Breaking away from generic "AI-looking" designs
- Need validation of existing color choices
Workflow
Step 1: Understand Context and Requirements
Before selecting or generating colors, gather essential context:
Domain/Industry Questions:
- What industry or domain is this for? (Tech/SaaS, E-commerce, Healthcare, Finance, Creative, Food, etc.)
- What emotions or associations should the palette convey?
- Are there existing brand colors to work with or extend?
Technical Requirements:
- Light mode, dark mode, or both?
- Accessibility requirements? (WCAG AA minimum, AAA preferred)
- How many colors needed? (Typically: 1-2 primary, 1-2 secondary, 1-2 accents, full neutral scale, semantic colors)
Distinctiveness Goals:
- Should this avoid looking "AI-generated"?
- Any specific colors or combinations to avoid?
- Preference for warm vs cool tones?
Step 2: Select Base Approach
Choose one of these approaches based on the context:
Approach A: Domain-Specific Curated Palettes
When to use: Clear industry/domain, want proven effective combinations
Process:
- Read
references/color-palette-ui-design-reference.mdfocusing on the relevant domain section - Present 2-3 palette options from that domain
- Explain what makes each effective
- Adapt the chosen palette if needed
Example domains:
- Tech/SaaS: Trust & stability, Modern minimal, Professional dashboards, Dark mode
- E-commerce: Fashion, Beauty, Sports, Home, Luxury
- Healthcare: Calm professional, Soothing apps, Mental health/wellness
- Finance: Traditional banking, Modern fintech, Investment platforms
- Creative/Portfolio: Bold & modern, Minimalist, Artistic, Developer portfolios
- Food/Restaurant: Warm & appetizing, Delivery apps, Organic, Upscale
Approach B: Generate from Brand Color
When to use: Starting from existing brand color(s), need to build complete system
Process:
- Use
scripts/generate_palette.pyto create color scales:python scripts/generate_palette.py #3B82F6 scale - Generate harmonious colors using color theory:
python scripts/generate_palette.py #3B82F6 complementary python scripts/generate_palette.py #3B82F6 triadic python scripts/generate_palette.py #3B82F6 analogous - Validate contrast ratios (Step 3)
- Apply 60-30-10 rule (see reference document)
Approach C: Custom Palette from Inspiration
When to use: Need unique, distinctive palette; have specific inspiration sources
Process:
- If user provides inspiration (image, artwork, location), extract colors from that source
- Review "Common AI Design Pitfalls" section in references to avoid generic patterns
- Apply color harmony principles from reference document
- Use "Anti-AI Checklist" to ensure distinctiveness
- Validate accessibility (Step 3)
Step 3: Validate Accessibility
Always validate contrast ratios using the contrast checker script:
python scripts/check_contrast.py <foreground> <background> <text-size>
Examples:
# Check normal text on background
python scripts/check_contrast.py #1A1A1A #FFFFFF normal
# Check large text (headings)
python scripts/check_contrast.py #4A4A4A #FFFFFF large
# Check button contrast
python scripts/check_contrast.py #FFFFFF #3B82F6 normal
Requirements:
- Normal text: 4.5:1 minimum (AA), 7:1 preferred (AAA)
- Large text (18pt+): 3:1 minimum (AA), 4.5:1 preferred (AAA)
- UI components (buttons, borders, icons): 3:1 minimum
If validation fails:
- Darken the foreground color
- Lighten the background color
- Use the palette generator to create darker/lighter shades
- Consider alternative color combinations
Step 4: Structure Complete Color System
Organize the palette following design system best practices:
Primary Colors
- Main brand identity (1-2 colors)
- Full scale (50-950 shades)
- Use for: Logo, primary buttons, active states
Secondary Colors
- Supporting brand colors (1-3 colors)
- Full or partial scale depending on usage
- Use for: Secondary buttons, icons, less prominent features
Accent Colors
- Attention-drawing colors (1-2 colors)
- Apply 60-30-10 rule: Use for only 10% of the design
- Use for: CTAs, highlights, badges, notifications
Neutral Colors
- Grays/neutrals for structure
- Full scale (50-950) required
- Use for: Text, backgrounds, borders, disabled states
Semantic/Functional Colors
- Success: Green shades
- Error: Red shades
- Warning: Yellow/Orange shades
- Info: Blue shades
Naming Convention:
Primitive tokens: blue-500, gray-100, red-700
Semantic tokens: background-surface-primary, text-body, button-primary-background
Step 5: Avoid AI Design Pitfalls
Before finalizing, review against the Anti-AI Checklist from the reference document:
Critical checks:
- NOT purple/blue gradients on white (unless brand-appropriate)
- NOT orange and teal combination
- NOT high-saturation gradients everywhere
- Includes context-specific colors (not generic)
- Has real-world inspiration source
- Reflects specific brand story or domain
- Uses unique shades, not default values
If any red flags appear, revise using:
- Nature-inspired gradients instead of purple-blue
- Muted accents instead of neon on dark
- Unexpected color combinations that still harmonize
- Industry-specific references from the curated palettes
Step 6: Present the Palette
Format the final palette clearly:
Primary Color - [Name] (#HEX)
├─ 50: #XXXXXX
├─ 100: #XXXXXX
├─ ...
└─ 950: #XXXXXX
Secondary Color - [Name] (#HEX)
[Similar structure]
Accent Color - [Name] (#HEX)
[Similar structure]
Neutral Colors - Gray (#HEX)
[Full scale]
Semantic Colors:
├─ Success: #XXXXXX (contrast: X.X:1)
├─ Error: #XXXXXX (contrast: X.X:1)
├─ Warning: #XXXXXX (contrast: X.X:1)
└─ Info: #XXXXXX (contrast: X.X:1)
Include:
- Color names and hex values
- Contrast ratios for key combinations
- Usage guidance (what each color is for)
- Why this palette is effective for the domain
- How it avoids generic AI patterns
Quick Reference
Color Theory Harmonies
Complementary: Colors opposite on color wheel (high contrast, maximum tension) Analogous: Adjacent colors (harmonious, smooth, low contrast) Triadic: Three colors equally spaced (vibrant, balanced) Split-Complementary: Base + two adjacent to complement (high contrast, less tension)
For detailed explanations, see references/color-palette-ui-design-reference.md → Color Theory Fundamentals
60-30-10 Rule
60% - Dominant color (backgrounds, main surfaces) 30% - Secondary color (cards, secondary surfaces) 10% - Accent color (CTAs, highlights, focal points)
Common Pitfalls to Avoid
- Purple/blue gradients - Most overused AI pattern
- Orange and teal - Instantly recognizable as AI-generated
- High-saturation everywhere - No visual rest
- Generic semantic colors - Standard blue/green/red without uniqueness
- Template thinking - Not considering specific context
Resources
scripts/check_contrast.py - Validate WCAG contrast ratios scripts/generate_palette.py - Generate color scales and harmonies references/color-palette-ui-design-reference.md - Comprehensive guide including:
- Color theory fundamentals
- Color psychology
- 60+ curated palette examples by domain
- Design system approaches (Material Design, Tailwind, Ant Design)
- Accessibility guidelines
- Anti-AI design strategies
Examples
Example 1: Tech SaaS Dashboard
User request: "Create a professional color palette for a B2B SaaS analytics dashboard"
Process:
- Read Tech/SaaS section from references
- Choose "Professional SaaS Dashboard" palette as base
- Validate contrast ratios
- Extend with full scales using generator
Output:
Primary: Professional Blue (#0072BB)
├─ Use for: Primary actions, active states, links
└─ Contrast validated: 4.6:1 on white background ✓
Secondary: Dark Navy (#28324E)
├─ Use for: Headers, important text, secondary buttons
└─ Contrast validated: 12.4:1 on white background ✓
Success: Soft Green (#77D38C)
Warning: Amber (#F0AD4E)
Error: Muted Red (#C1666B)
Neutral: Blue-Gray scale (#B5BDD7 to #28324E)
Why this works:
- Calm blue conveys trust and professionalism
- Muted semantic colors don't overwhelm data visualizations
- Full blue-gray neutral scale maintains cohesive color temperature
- Avoids purple-gradient cliche while staying professional
Example 2: E-commerce Fashion Site
User request: "I need warm, earthy colors for a sustainable fashion e-commerce site"
Process:
- Read E-commerce → Fashion & Apparel from references
- Select earthy palette, modify for sustainability emphasis
- Validate all key combinations
Output:
Primary: Dark Teal (#264653)
├─ Evokes nature, sustainability, calm
└─ Use for: Navigation, primary buttons
Secondary: Living Teal (#2A9D8F)
├─ Fresh, natural, growth
└─ Use for: Highlights, hover states
Accent 1: Terracotta (#E76F51)
├─ Warm, earthy, organic
└─ Use for: CTAs, sale badges
Accent 2: Gold (#E9C46A)
└─ Use for: Premium products, special offers
Why this avoids AI-generic:
- Uses earthy tones instead of bright tech colors
- Warm accents on cool base (intentional temperature mixing)
- Terracotta is distinctive, not overused
- Reflects real sustainable fashion brand aesthetics
Example 3: Dark Mode App
User request: "Dark mode palette for a creative tools app, want to avoid the generic neon-on-dark look"
Process:
- Review "Dark Mode SaaS" and "Common AI Pitfalls" sections
- Choose muted accents instead of full neon
- Generate custom scales
- Validate all contrast ratios
Output:
Background: Very Dark Navy (#0A0E27)
Surface: Dark Blue-Gray (#1E2749)
Primary: Vibrant Blue (#4A9EFF)
├─ Bright enough for contrast, not neon
└─ Contrast: 8.2:1 on background ✓
Secondary: Lavender Indigo (#8B7FE8)
├─ Creative, sophisticated
└─ Contrast: 7.1:1 on background ✓
Text: Off-White (#E8EAF6)
└─ Contrast: 13.2:1 on background ✓
Why this works:
- Deep, rich backgrounds (not pure black)
- Accents are vibrant but not harsh neon
- Lavender adds creativity without purple-gradient cliche
- Excellent contrast without eye strain
Tips for Success
- Always start with context - Don't jump to colors before understanding domain, audience, and purpose
- Use references liberally - The curated palettes have been validated in real products
- Validate early and often - Check contrast ratios as you build, not at the end
- Be distinctive - Actively avoid the most common AI patterns
- Tell a story - Every color choice should relate to brand narrative or domain
- Consider the whole system - Think beyond just primary colors to complete scales and semantic colors
- Test in context - Colors look different on screens, in different lighting, next to different content
Advanced Usage
Creating Color Palettes from Images
If user provides an image for inspiration:
- Identify 2-3 dominant colors manually or describe the color scheme
- Extract hex values or approximate them
- Use those as base colors for palette generation
- Apply color theory to create harmonious extensions
- Validate and refine for accessibility
Multi-Brand Color Systems
For products with multiple brands or themes:
- Establish shared neutral scale (used across all themes)
- Create distinct primary colors for each brand
- Ensure all themes meet same accessibility standards
- Use semantic token naming for easy theme switching
- Document when to use each brand variant
Accessibility-First Approach
For products requiring AAA compliance:
- Start with contrast requirements (7:1 for normal text)
- Work backward to find valid color combinations
- Use darker/lighter shades than typical
- Test with colorblind simulators
- Provide high-contrast mode as option
Common Questions
Q: How do I make a palette feel unique without sacrificing usability? A: Use unique shades of standard semantic colors. Green for success is expected, but use a distinctive shade with appropriate cultural/domain context.
Q: The palette generator created colors that don't match my brand. What do I do? A: The generator creates mathematically uniform scales. You can manually adjust specific levels while keeping others, or use it as a starting point and refine by hand.
Q: How many colors should a complete palette have? A: Minimum: 1 primary (with scale), 1 neutral (with scale), 4 semantic colors. Typical: 1-2 primary, 1-2 secondary, 1-2 accent, 1 neutral (all with scales), 4 semantic colors. Complex: Multiple primaries, extensive semantic colors, specialized scales.
Q: What if the user insists on purple gradients? A: If it's genuinely part of their brand, make it distinctive: use unique purple shades, unexpected gradient combinations, or pair with unexpected accent colors. Avoid the default #6366F1 → #8B5CF6 → white pattern.