Colorize

educlopez/ui-craft/.opencode/skills/colorize

by educlopezceecc8e1fb0c2befda73da996435900d6dd0c1acNo license375 starsListed Oct 9, 2026Updated Oct 9, 2026Repository updated 5 weeks ago

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.

Instructions onlyDesign & Creative
AI-generated overview

Applies a restrained color strategy to a UI: one accent at 3-5 placements, or reduces an over-colored interface to mostly neutral.

What it does
This is a design lens for frontend UI work that adds or removes color. It enforces a rule of 90%+ neutral surfaces with a single accent used at 3-5 intentional placements per viewport, choosing brand or OKLCH accent options rather than defaulting to blue. It also handles the reverse case, cutting competing accents down to 1-3 and removing decorative color while keeping semantic states. It edits code directly, lifts literal hex values into CSS variables, and prints a review table with contrast ratio checks.
When to use it
Use when a UI has no color identity, defaults to blue, or is over-saturated with competing accents. Invoke it when the user asks to colorize a UI or mentions colorize alongside design, UI, or frontend work.
Requirements
Requires the agent to edit frontend code directly; references the ui-craft skill and its color and accessibility reference documents. No scripts are shipped.
<!-- 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).

Source and attribution

Source:educlopez/ui-craftin.opencode/skills/colorizeat commitceecc8e

License: No license

Content belongs to its original authors. SourceWeft indexes it from a public repository.

Report or request removal