Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Extract color palettes from images, websites, or designs. Identifies dominant colors, generates complementary schemes, and exports in multiple formats (HEX, RGB, HSL, Tailwind, CSS variables). Use when users need color schemes from images, brand colors, or design system palettes.
.claude/skills/nicepkg-color-palette-extractor/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-14 | ✗→✓ | ▲ Improved | 60% | 0% |
| case-15 | ✗→✓ | ▲ Improved | 41% | 0% |
| case-01 | ✗→✓ | ▲ Improved | -4% | 0% |
| case-02 | ✗→✓ | ▲ Improved | 209% | 0% |
| case-03 | ✗→✓ | ▲ Improved | 20% | 0% |
Extract and generate color palettes from images, websites, and designs.
When a user needs to extract colors from a source:
From Image:
From Website:
Color Clustering:
Primary Palette (5-10 colors):
Extended Palette:
Generate complementary schemes:
🎨 COLOR PALETTE EXTRACTOR
Source: Image/Website URL]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 🎯 PRIMARY PALETTE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
HEX: #3B82F6 RGB: rgb(59, 130, 246) HSL: hsl(217, 91%, 60%) Usage: Main brand color, primary buttons, links Prominence: 32%
HEX: #8B5CF6 RGB: rgb(139, 92, 246) HSL: hsl(258, 90%, 66%) Usage: Accent elements, hover states Prominence: 18%
HEX: #F8FAFC RGB: rgb(248, 250, 252) HSL: hsl(210, 40%, 98%) Usage: Page background, cards Prominence: 25%
HEX: #1E293B RGB: rgb(30, 41, 59) HSL: hsl(217, 33%, 17%) Usage: Body text, headings Prominence: 15%
HEX: #10B981 RGB: rgb(16, 185, 129) HSL: hsl(158, 84%, 39%) Usage: Success states, CTAs Prominence: 10%
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 🌈 COLOR SCALE (Tailwind-style) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Primary: 50: #EFF6FF lightest] 100: #DBEAFE 200: #BFDBFE 300: #93C5FD 400: #60A5FA 500: #3B82F6 base] 600: #2563EB 700: #1D4ED8 800: #1E40AF 900: #1E3A8A darkest] 950: #172554
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 🎭 COLOR HARMONY SCHEMES ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Complementary: Base: #3B82F6 (blue) Complement: #F6823B (orange)
Analogous: #3B82F6 (blue) #3BF6D9 (cyan) #823BF6 (purple)
Triadic: #3B82F6 (blue) #F6823B (orange) #82F63B (green)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 💻 EXPORT FORMATS ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
CSS Variables: css :root { --color-primary: #3B82F6; --color-secondary: #8B5CF6; --color-background: #F8FAFC; --color-text: #1E293B; --color-accent: #10B981; }
Tailwind Config: js module.exports = { theme: { extend: { colors: { primary: { 50: '#EFF6FF', 500: '#3B82F6', 900: '#1E3A8A', }, } } } }
SCSS Variables: scss $primary: #3B82F6; $secondary: #8B5CF6; $background: #F8FAFC; $text: #1E293B; $accent: #10B981;
JSON: json { "primary": "#3B82F6", "secondary": "#8B5CF6", "background": "#F8FAFC", "text": "#1E293B", "accent": "#10B981" }
Android XML: xml <color name="primary">#3B82F6</color> <color name="secondary">#8B5CF6</color>
iOS Swift: swift extension UIColor { static let primary = UIColor(hex: "3B82F6") static let secondary = UIColor(hex: "8B5CF6") }
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ♿ ACCESSIBILITY CHECKS ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Contrast Ratios (WCAG 2.1):
Text on Background: #1E293B on #F8FAFC: 14.2:1 ✅ AAA (excellent)
Primary on Background: #3B82F6 on #F8FAFC: 4.8:1 ✅ AA (good)
White text on Primary: #FFFFFF on #3B82F6: 4.6:1 ✅ AA (good)
Accent on Background: #10B981 on #F8FAFC: 3.2:1 ⚠️ AA Large text only
Recommendations: • Use darker shade of accent for small text • Primary button text should be white (#FFFFFF) • Consider #047857 for better contrast
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 💡 COLOR PSYCHOLOGY ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Blue (#3B82F6): • Trust, professionalism, calm • Common for: Tech, finance, healthcare
Purple (#8B5CF6): • Creativity, luxury, wisdom • Common for: Creative services, premium brands
Green (#10B981): • Growth, success, health • Common for: Environmental, finance, wellness
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 🎨 DESIGN SYSTEM INTEGRATION ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Suggested Usage: • Primary: Main CTAs, links, active states • Secondary: Secondary buttons, highlights • Background: Page/card backgrounds • Text: Body copy, headings • Accent: Success messages, highlights
Color Roles: • Success: #10B981 (green accent) • Warning: #F59E0B (generate from palette) • Error: #EF4444 (generate complement) • Info: #3B82F6 (primary blue)
Color Blindness Simulation:
Mood Board:
Brand Matching:
Color Extraction:
Palette Generation:
Accessibility:
Export Formats:
Ensure palettes:
Generate professional, accessible color palettes ready for immediate use in design systems.
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-07 | pass→pass | 31,341 | 22,924 | -27% | 1 | 1 | 0% | 6,204 | 7,064 | +14% | 0 | 0 | — |
case-08 | fail→fail | 27,641 | 25,771 | -7% | 1 | 1 | 0% | 5,708 | 8,065 | +41% | 0 | 0 | — |
case-14 | fail→pass | 21,335 | 18,382 | -14% | 1 | 1 | 0% | 3,909 | 6,262 | +60% | 0 | 0 | — |
case-15 | fail→pass | 23,212 | 19,529 | -16% | 1 | 1 | 0% | 4,758 | 6,726 | +41% | 0 | 0 | — |
case-01 | fail→pass | 31,717 | 28,984 | -9% | 1 | 1 | 0% | 6,193 | 5,959 | -4% | 0 | 0 | — |
case-02 | fail→pass | 11,825 | 21,465 | +82% | 1 | 1 | 0% | 2,135 | 6,596 | +209% | 0 | 0 | — |
case-03 | fail→pass | 28,158 | 24,339 | -14% | 1 | 1 | 0% | 6,220 | 7,492 | +20% | 0 | 0 | — |
case-04 | pass→pass | 14,034 | 17,878 | +27% | 1 | 1 | 0% | 2,293 | 5,428 | +137% | 0 | 0 | — |
case-05 | pass→pass | 10,820 | 9,930 | -8% | 1 | 1 | 0% | 1,980 | 4,325 | +118% | 0 | 0 | — |
case-06 | pass→pass | 15,790 | 16,280 | +3% | 1 | 1 | 0% | 2,550 | 5,217 | +105% | 0 | 0 | — |
case-09 | fail→pass | 30,135 | 21,261 | -29% | 1 | 1 | 0% | 6,181 | 6,805 | +10% | 0 | 0 | — |
case-10 | fail→pass | 19,470 | 16,950 | -13% | 1 | 1 | 0% | 3,786 | 6,001 | +59% | 0 | 0 | — |
case-11 | fail→pass | 15,548 | 17,469 | +12% | 1 | 1 | 0% | 3,153 | 6,198 | +97% | 0 | 0 | — |
case-12 | pass→pass | 20,701 | 20,685 | -0% | 1 | 1 | 0% | 4,198 | 6,686 | +59% | 0 | 0 | — |
case-13 | fail→fail | 14,690 | 17,055 | +16% | 1 | 1 | 0% | 3,110 | 6,356 | +104% | 0 | 0 | — |
case-16 | fail→pass | 17,769 | 20,074 | +13% | 1 | 1 | 0% | 3,205 | 6,371 | +99% | 0 | 0 | — |
case-17 | fail→fail | 29,883 | 21,070 | -29% | 1 | 1 | 0% | 6,180 | 6,911 | +12% | 0 | 0 | — |
case-18 | fail→pass | 11,153 | 16,739 | +50% | 1 | 1 | 0% | 2,196 | 6,163 | +181% | 0 | 0 | — |
case-19 | fail→pass | 29,967 | 29,151 | -3% | 1 | 1 | 0% | 6,181 | 8,394 | +36% | 0 | 0 | — |
case-20 | fail→pass | 11,059 | 18,717 | +69% | 1 | 1 | 0% | 2,242 | 6,460 | +188% | 0 | 0 | — |
case-21 | fail→pass | 29,329 | 25,126 | -14% | 1 | 1 | 0% | 6,177 | 8,152 | +32% | 0 | 0 | — |
case-22 | fail→pass | 19,907 | 18,525 | -7% | 1 | 1 | 0% | 4,041 | 6,353 | +57% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted. The headline lift of +64 percentage points is the difference between those two pass rates over the 22 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.