Skip to main content
skill CX Codex

colorize · educlopez — Claude Code skill: UI color strategy pass

The skill places one accent in 3–5 spots on a screen, or strips an over-colored UI back to a neutral base.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add educlopez/ui-craft --skill colorize -a claude-code
Open on GitHub

What colorize does

colorize is one lens of the ui-craft skill set. It builds on the main skill: if ui-craft is installed too, its SKILL.md gets read first, then the color lens applies. The rule is blunt — 90%+ neutral, one accent, 3–5 placements per viewport. More color is not more design.

Before touching code, the skill asks about brand. An existing brand color wins. If there is none, it offers 2–3 OKLCH options, one warm and one cool. Blue is never the default. Color earns its place in the primary CTA background, a tint behind one key metric, the active nav item, 6–8px status dots, and the :focus-visible ring. Heading gradients, colored borders on every card, and emoji standing in for icons get removed.

How many accents you get depends on the VISUAL_DENSITY knob: at ≤ 4 it is a single accent with at most 3 placements, at 5-7 you get 3–5 placements plus status dots, and at 8+ a semantic palette is allowed for dashboards. The skill edits code directly and lifts literal hex into CSS variables such as --color-accent, keeping whatever token names already exist. It prints a Review Format table at the end, one row per placement, with an AA/AAA contrast check on text uses. Calling /tokens next promotes those decisions into the token spine so they outlive the session.

Reference material lives in references/color.md and references/accessibility.md.

What it helps with

  • give a UI an accent when no brand color exists
  • remove default blue from buttons and links
  • cut competing accents down to one per screen
  • lift hardcoded hex into CSS variables
  • check text contrast against an accent background

Example prompts for the agent

  • colorize the dashboard home page
  • colorize: strip the extra color, keep one accent
  • run colorize over the form components

How to install colorize

1Skills CLI (Vercel)

npx skills add educlopez/ui-craft --skill colorize -a claude-code

2Manually: put the files in place

~/.claude/skills/colorize/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/colorize/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about colorize

How do I install colorize in Claude?

Run npx skills add educlopez/ui-craft --skill colorize -a claude-code. The skill lands at ~/.claude/skills/colorize/SKILL.md.

What does colorize do?

It runs a color pass over the UI: one accent in 3–5 placements, or a cut back to a neutral base when the screen is shouting. It also moves hex values into CSS variables and prints a contrast table.

Does colorize work with ui-craft?

It is one lens of the ui-craft skill set. When the main skill is installed as well, colorize reads its SKILL.md first and then applies the color lens. References sit in references/color.md and references/accessibility.md.

Source text

SKILL.md · MIT
---
name: colorize
description: "Color strategy pass — introduces a single accent at 3-5 intentional placements, or reduces an over-colored UI back to 90% neutral. Use when the UI has no color identity, uses blue by default, or is shouting with too many competing accents. Invoke when the user asks for colorize on their UI, or mentions 'colorize' alongside design / UI / frontend work."
---

<!-- HARNESS MIRROR — do not edit here. Canonical source: skills/ or commands/. After editing source, copy into cli/assets/<harness>/ and repo-root harness mirrors. -->

**Context:** this sub-skill is one lens of the broader `ui-craft` skill. If the `ui-craft` skill is also installed, read its SKILL.md first for Discovery + Anti-Slop + Craft Test, then apply the specific lens below.

Add color to the UI at `$ARGUMENTS`. Load the `ui-craft` skill.

**The rule (from SKILL.md):** 90%+ neutral, one accent, 3-5 placements per viewport. Reinforce this before adding anything. More color is not more design.

**Before you touch anything — ask about brand.** If a brand color exists, use it. If not, offer 2-3 options in OKLCH — include one warm (e.g., `oklch(0.67 0.19 45)`) and one cool (e.g., `oklch(0.60 0.18 250)`). Never default to blue.

**Where color EARNS its place:**

- Primary CTA background.
- One key metric tint — accent at ~8% opacity as a subtle background, accent at full strength on the number itself.
- Active state of the current nav item (underline, dot, or subtle tint — pick one).
- Status dots (success / warning / danger), 6-8px, no pills.
- Focus ring (`:focus-visible`).

**Where color does NOT go** (anti-slop territory):

- Heading gradient text.
- Colored left or top borders on every card.
- Uniform chips on every tag/label.
- Emoji-as-icons to inject "color."
- Trend arrows in green/red when a plain `↑`/`↓` + `tabular-nums` would read cleaner.

**Knob gating (VISUAL_DENSITY):**
- `≤ 4` → single accent only, max 3 placements.
- `5-7` → single accent, 3-5 placements, status dots allowed.
- `8+` → semantic palette (success/warning/danger) allowed beyond the single accent — dashboards and data UIs earn this.

## Over-colored? Reduce.

If the UI is already shouting with color, this command also removes color.

1. **Count accents per viewport.** Cut to 1-3. The primary CTA keeps its accent; everything else goes neutral unless it's a true semantic state (success/warning/danger on a real status).
2. **Mute decorative color.** Background patterns, tinted cards without meaning, colored left borders on every list item, heading gradients, colored pills on every tag → gone.
3. **Keep semantic, cut decorative.** Status dots, focus rings, active-nav underlines stay. Color as ornament goes.

**References to read**: `references/color.md` (OKLCH, tokens, dark mode, contrast), `references/accessibility.md` (contrast ratios for AA/AAA).

**Output**: edit code directly. Lift any literal hex into CSS variables (`--color-accent`, `--color-accent-tint`) — respect existing token naming if present. Print the Review Format table. One row per placement, with the ratio check (AA/AAA) on text uses.

**Next step:** `/tokens` — promote the color decisions into the durable token spine so they survive the session (rung 2).

© educlopez · MIT · educlopez/ui-craft

Similar skills

Everything for Design →

colorize by other authors comes first.

From the same set13

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor