color-palette

SKILL.md

Colour Palette Generator

Generate a complete, accessible colour system from a single brand hex. Produces Tailwind v4 CSS ready to paste into your project.

Workflow

Step 1: Get the Brand Hex

Ask for the primary brand colour. A single hex like #0D9488 is enough.

Step 2: Generate 11-Shade Scale

Convert hex to HSL, then generate shades by varying lightness while keeping hue constant:

Shade Lightness Use Case
50 97% Subtle backgrounds
100 94% Hover states
200 87% Borders, dividers
300 75% Disabled states
400 62% Placeholder text
500 48% Brand colour
600 40% Primary actions
700 33% Hover on primary
800 27% Active states
900 20% Text on light bg
950 10% Darkest accents

See references/shade-generation.md for the conversion formula.

Step 3: Map Semantic Tokens

Light mode:

--background: white;
--foreground: primary-950;
--card: white;
--card-foreground: primary-900;
--primary: primary-600;
--primary-foreground: white;
--muted: primary-50;
--muted-foreground: primary-600;
--border: primary-200;

Dark mode — invert lightness while preserving relationships:

--background: primary-950;
--foreground: primary-50;
--card: primary-900;
--card-foreground: primary-50;
--primary: primary-500;
--primary-foreground: white;
--muted: primary-800;
--muted-foreground: primary-400;
--border: primary-800;

Step 4: Check Contrast

WCAG minimum ratios:

  • Text (AA): 4.5:1 normal, 3:1 large (18px+)
  • UI Elements: 3:1

Quick check: primary-600 on white and white on primary-600. See references/contrast-checking.md for formula.

Step 5: Output Tailwind v4 CSS

@theme {
  --color-primary-50: #F0FDFA;
  --color-primary-100: #CCFBF1;
  --color-primary-500: #14B8A6;
  --color-primary-950: #042F2E;

  --color-background: #FFFFFF;
  --color-foreground: var(--color-primary-950);
  --color-primary: var(--color-primary-600);
  --color-primary-foreground: #FFFFFF;
}

.dark {
  --color-background: var(--color-primary-950);
  --color-foreground: var(--color-primary-50);
  --color-primary: var(--color-primary-500);
}

Copy assets/tailwind-colors.css as a starting template.


Common Adjustments

  • Too vibrant at light shades: Reduce saturation by 10-20%
  • Poor contrast on primary: Use shade 700+ for text
  • Dark mode too dark: Use shade 900 instead of 950 for backgrounds
  • Brand colour too light/dark: Adjust to shade 500-600 range

Reference Files

File Purpose
references/shade-generation.md Hex to HSL conversion, lightness values
references/semantic-mapping.md Token mapping for light/dark modes
references/dark-mode-palette.md Inversion patterns
references/contrast-checking.md WCAG formulas, quick check table
assets/tailwind-colors.css Complete CSS output template
Weekly Installs
959
GitHub Stars
602
First Seen
Jan 20, 2026
Installed on
opencode780
gemini-cli757
codex721
cursor681
claude-code673
github-copilot661