Agent skill

Better Colors

by boraoztunc in boraoztunc/skills

Color systems for digital products, from building and naming a palette to applying it with meaning and verifying contrast.

Apache-2.0Auto-check passedFrontend & Design

Install Better Colors

skills CLI
$ npx skills add boraoztunc/skills --skill better-colors -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install boraoztunc/skills better-colors --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/boraoztunc/skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/better-colors .claude/skills/better-colors && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
better-colors
GitHub stars
398
Token cost
~2.1k tokens
SKILL.md length
1,151 words
Files
8
Skills in repo
52
Repo updated
First seen
Licence
Apache-2.0

At a glance

Color systems for digital products, from building and naming a palette to applying it with meaning and verifying contrast.

  • Works in 10 steps: Match the Project's Color System → A System Is Ramps, Not Colors → Every Step Has a Job → …
  • Extending a color palette
  • SKILL.md covers Quick Reference, Core Principles, Common Mistakes and Reporting
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Better Colors is an agent skill from boraoztunc/skills. Color systems for digital products, from building and naming a palette to applying it with meaning and verifying contrast. Use when creating or extending a color palette, naming color tokens, theming light and dark appearances, auditing the colors in a codebase, or reviewing frontend code for color. Triggers on color palette, palette generation, color scale, color ramp, brand color, accent color, neutral palette, gray palette, status colors, design tokens, semantic color tokens, token naming, theming, dark mode…

Its SKILL.md is about 2.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 7 other files (for example `color-formats.md`, `color-usage.md` and `contrast.md`).

It sits in Frontend & Design, covering Theming and dark mode, Accessibility and Logo and visual identity. The repository describes itself as: Claude Code skills for copywriting, SEO, design, and more. The licence is Apache-2.0.

When your agent uses it

  • Extending a color palette
  • Naming color tokens
  • Theming light and dark appearances
  • Auditing the colors in a codebase

Example prompts

  • “/better-colors”

Workflow steps

10 steps, taken from the step headings in SKILL.md.

  1. Match the Project's Color System
  2. A System Is Ramps, Not Colors
  3. Every Step Has a Job
  4. Name Primitives by Hue, Semantics by Role
  5. Use a Token Only in Its Role
  6. Hold the Hue Across the Ramp
  7. One Color, One Meaning
  8. Fill Exactly One Action per View
  9. Measure the Rendered Pair, Then Report
  10. Pick a Gradient's Interpolation Space

What it can do on your machine

Read from SKILL.md and the folder at commit 645553c. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Better Colors loads about 2.1k tokens when it runs. Until then it costs about 163 tokens; SKILL.md has 1,151 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~163
When it runs · the whole SKILL.md, loaded when a task matches
~2.1k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from boraoztunc/skills at commit 645553c, republished under its Apache-2.0 licence (© boraoztunc). 1,151 words, ~2,134 tokens.

Download SKILL.mdSave it as .claude/skills/better-colors/SKILL.md (or your agent's skills folder). This skill also uses 7 other files; get the full folder from GitHub.
name
better-colors
description
Color systems for digital products, from building and naming a palette to applying it with meaning and verifying contrast. Use when creating or extending a color palette, naming color tokens, theming light and dark appearances, auditing the colors in a codebase, or reviewing frontend code for color. Triggers on color palette, palette generation, color scale, color ramp, brand color, accent color, neutral palette, gray palette, status colors, design tokens, semantic color tokens, token naming, theming, dark mode colors, contrast ratio, APCA, gamut, display p3, oklch, color conversion, gradients, color meaning, increased contrast.

Colors

A color system is a small set of ramps, named by role, applied consistently, and verified against the backgrounds they actually render on. Almost every color problem is a system problem: a value picked in isolation, a token borrowed because it looked right, or a pair nobody measured. Contrast requirements belong to better-accessibility; surfaces, shadows, and icon color belong to better-ui.

Quick Reference

CategoryWhen to useReference
StructureWhich ramps a system needs, step roles, neutrals, status colors, auditing an existing palettepalette-structure.md
GenerationBuilding a ramp from a brand color, multi-hue systems, dark modepalette-generation.md
NamingPrimitive and semantic tiers, role inventory, naming grammar, anti-patternstoken-naming.md
UsageOne meaning per color, emphasis, gradients, culture, appearance variantscolor-usage.md
ContrastAPCA and WCAG checks, reporting failures, fixing on requestcontrast.md
FormatsChoosing a notation, converting, gamut and P3 fallbackscolor-formats.md
Review output formatSeverity scale, findings table, verification, verdictreview-output.md

Core Principles

1. Match the Project's Color System

Reuse the project's existing tokens and notation. Introducing a second color representation to fix one value makes the palette harder to reason about, not easier — a consistent hex system beats a hex system with oklch() scattered through it. Notation is not a defect. For a genuinely new system, oklch() is the best default because its numbers behave the way the ramp rules below describe; everywhere else a color library produces the same ramp in whatever the project writes (color-formats.md).

2. A System Is Ramps, Not Colors

One neutral ramp, one accent ramp, and only the status ramps the product actually renders. A warning ramp nothing imports is maintenance for zero pixels, and a second accent hue earns its place only when two things must be distinguishable at a glance.

3. Every Step Has a Job

A ramp is not a gradient to pick from by eye. Each step exists because a role needs it — page background, component hover, border, solid fill, body text — and a step no role consumes should not be generated. Both the Tailwind 50–950 and Radix 1–12 conventions map to those roles (palette-structure.md).

4. Name Primitives by Hue, Semantics by Role

Primitives name a value (--blue-500) and are never applied in a component. Semantic tokens name a job (--color-text-secondary), point at a primitive, and are the only tier components reference. That seam is what makes theming possible; without it, dark mode means auditing every usage to work out which ones meant "the accent" and which just wanted blue (token-naming.md).

5. Use a Token Only in Its Role

Never borrow a token because its value is right today. A separator used as a text color works until borders get lighter, and then the text goes with them. If a role has no token, add the token.

6. Hold the Hue Across the Ramp

Steps step evenly in perceived lightness, hue stays constant end to end, vividness peaks mid-ramp and falls off at both ends, and steps sit denser at the light end than the dark. Both ends stop short of pure black and white, which cannot carry hue at all. Use a color library rather than eyeballing it (palette-generation.md).

7. One Color, One Meaning

Use a color for one purpose across the whole interface, treating anything within 15° of hue as the same color. If the accent means interactive, that hue on static text tells users to click something that is not clickable — and an interactive element rendered neutral is just as misleading. Color is never the only carrier of meaning; better-accessibility owns that requirement.

8. Fill Exactly One Action per View

When filled color encodes primary emphasis, one primary action gets it and peer actions stay neutral. Put the color on the background rather than the label: a filled button reads as primary across the room, while accent-colored text on a neutral button reads as a link. Several colored backgrounds are fine when they encode distinct states or categories rather than competing as peers.

9. Measure the Rendered Pair, Then Report

Measure a foreground against the background it actually renders on, not the page background. When a pair fails, report it — the pair, its measured value, and the threshold it misses — and leave the colors alone. A project's colors are a design decision; change them only when asked, and remeasure after (contrast.md).

Show full SKILL.md (437 more words)Show less
10. Pick a Gradient's Interpolation Space

The space is a look, not a correctness setting. in oklab is the best default — even brightness, no hue surprises. in oklch travels around the hue wheel rather than through the middle, staying vivid and sweeping through the hues between the stops: a distinct look, and the fix when a two-hue gradient goes gray in the middle. The sRGB default is the classic, and its darker, muted midpoint is the one most interfaces already look like (color-usage.md).

Common Mistakes

MistakeFix
A raw value where the project has a tokenReuse or add the correct role token in the project's existing notation
An isolated oklch() value dropped into a hex codebasePreserve the established notation unless a color-system migration is in scope
A primitive like --blue-500 used directly in a componentPoint a semantic token at it and use that
Token named for its appearance (--color-blue-button) or first use (--color-sidebar-gray)Name it for its role: --color-accent-solid, --color-bg-surface
--color-primary meaning the brand and --color-text-primary meaning body textReserve accent for the brand; let primary mean "most prominent of its group"
Semantic token used outside its role (separator as text)Add a token for the missing role; never borrow by value
Ramp built by varying HSL lightnessRebuild against perceived lightness with a constant hue
Ramp spaced evenly across the full rangeTighten the light end; 50 and 100 must be distinguishable as two surfaces
Same saturation number reused across huesMatch the same proportion of each hue's own maximum, not the raw value
Status hue that collides with the accent hueMove it until destructive and primary actions are distinguishable side by side
Dark mode made by mechanically reversing the light paletteReverse as a starting point, then reduce vividness, widen the dark end, and recheck every pair
prefers-color-scheme setting some tokens and a .dark class setting othersPick one switching mechanism and use it throughout
Failing contrastReport the pair, its measured value, and the threshold missed; change colors only when asked
Contrast fixed by changing hueChange lightness — it is the channel contrast responds to
P3 color with no sRGB fallbackDeclare the sRGB value first, then override inside @media (color-gamut: p3)
Gradient between opposite hues going gray in the middleSwitch to a polar space (in oklch) or add a mid-stop at a hue between the two
Palette verified only in light modeRecheck every foreground/background pair in both appearances

Reporting

A standalone color review is finished when every confirmed finding is reported in the format in review-output.md, with verification and a verdict. Under better-interface, its format governs instead.

© boraoztunc, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 7 other files in better-colors of boraoztunc/skills.

  • SKILL.md
  • color-formats.md
  • color-usage.md
  • contrast.md
  • palette-generation.md
  • palette-structure.md
  • review-output.md
  • token-naming.md

Open the folder on GitHubat commit 645553c

Compare with similar skills

Better Colors next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Better Colors compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Better Colors this skillboraoztunc/skills398—~2.1kAutomated safety check: PassApache-2.0
Color Psychologyrevfactory/harness-1001.3k—~1.2kAutomated safety check: PassApache-2.0
Color Auditrome-os/rome743—~2.7kAutomated safety check: PassMIT
Ant Designkqcoxn/MaaPipelineEditor4081 repos~1.1kAutomated safety check: PassMIT
Better Colorstrycompai/crm11k—~1.9kAutomated safety check: PassMIT
Data-Dense Dashboard Designerplugin87/ux-ui-agent-skills1.6k—~2.6kAutomated safety check: PassMIT

Similar skills

  • Color Psychology

    revfactory/harness-100

    A color psychology skill used by the visual-director agent. An agent skill from revfactory/harness-100.

    1.3k GitHub stars~1.2k tokensUpdated 6 mo ago
    Frontend & DesignAuto-check passed
  • Color Audit

    rome-os/rome

    Audit a design system's color palette against measurable color-science disciplines — WCAG/APCA contrast of declared token pairs, perceptual (OKLCH) ramp uniformity, color-blindness safety of…

    743 GitHub stars~2.7k tokensUpdated today
    Frontend & DesignAuto-check passed
  • Ant Design

    kqcoxn/MaaPipelineEditor

    Decision guide for antd 6.x, Ant Design Pro 5/ProComponents, Ant Design X v2, and the offline @ant-design/cli.

    408 GitHub starsUsed in 1 repo~1.1k tokens
    Frontend & DesignAuto-check passed
  • Better Colors

    trycompai/crm

    OKLCH color space and color usage for web projects. An agent skill from trycompai/crm.

    11k GitHub stars~1.9k tokensUpdated 29 days ago
    Frontend & DesignAuto-check passed
  • Data-Dense Dashboard Designer

    plugin87/ux-ui-agent-skills

    Lays out dense analytics or trading-terminal screens in banded sections with hand-drawn SVG charts, instead of a wall of identical stat cards.

    1.6k GitHub stars~2.6k tokensUpdated 2 days ago
    Frontend & DesignAuto-check passed
  • Material Design 3 UI/UX Guide

    skydashnet/material-design-3-ui-skill

    Guides designing, reviewing or implementing interfaces that follow Google's Material Design 3 system: semantic tokens, component states, adaptive layout and accessibility.

    138 GitHub stars~3k tokensUpdated 10 days ago
    Frontend & DesignAuto-check passed

More from boraoztunc/skills

All 52 skills in this repo
  • Gsap

    boraoztunc/skills

    GSAP animation reference for HyperFrames. An agent skill from boraoztunc/skills.

    398 GitHub starsUsed in 5 repos~1.9k tokens
    Auto-check passed
  • Hyperframes

    boraoztunc/skills

    Create video compositions, animations, title cards, overlays, captions, voiceovers, audio-reactive visuals, and scene transitions in HyperFrames HTML.

    398 GitHub starsUsed in 9 repos~7.6k tokens
    Auto-check passed
  • Remotion To Hyperframes

    boraoztunc/skills

    Translate an existing Remotion (React-based) video composition into a HyperFrames HTML composition.

    398 GitHub stars~2.2k tokensUpdated 1 mo ago
    Auto-check passed
  • Animejs

    boraoztunc/skills

    Anime.js adapter patterns for HyperFrames. An agent skill from boraoztunc/skills.

    398 GitHub starsUsed in 2 repos~828 tokens
    Auto-check passed
  • Beam Glow States

    boraoztunc/skills

    Create React loading, processing, selected, current, focus, and pressed states with the border-beam package's animated edge glow.

    398 GitHub starsUsed in 2 repos~3.2k tokens
    Auto-check passed
  • Minimal Zine Poster

    boraoztunc/skills

    Compile a theme, sentence, object, mood, article idea, or photo into a quiet Japanese/Korean zine-style editorial poster — tall aged paper, large negative space, one small image anchor, experimental…

    398 GitHub stars~2.5k tokensUpdated 1 mo ago
    Auto-check passed

Questions about Better Colors

What does Better Colors do?

Color systems for digital products, from building and naming a palette to applying it with meaning and verifying contrast. Better Colors is an agent skill from boraoztunc/skills. Color systems for digital products, from building and naming a palette to applying it with meaning and verifying contrast.

When should I use Better Colors?

Better Colors fits situations like: extending a color palette; naming color tokens; theming light and dark appearances; auditing the colors in a codebase.

How do I install Better Colors in Claude Code?

Run `npx skills add boraoztunc/skills --skill better-colors -a claude-code`. Or copy the skill folder (better-colors in boraoztunc/skills) into .claude/skills/better-colors in your project. Claude Code loads it when a task matches its description.

How do I install Better Colors in Codex?

Run `npx skills add boraoztunc/skills --skill better-colors -a codex`. Or copy the skill folder (better-colors in boraoztunc/skills) into .agents/skills/better-colors in your project. Codex loads it when a task matches its description.

Can I use Better Colors in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add boraoztunc/skills --skill better-colors -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/better-colors, .gemini/skills/better-colors, .github/skills/better-colors and .opencode/skills/better-colors in your project.

What does Better Colors need to run?

SKILL.md names no scripts, command-line tools or credentials: Better Colors is instructions for the agent only.

Does Better Colors access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Better Colors safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Better Colors use?

Better Colors is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Better Colors use?

About 2.1k tokens (SKILL.md is roughly 8.5k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Better Colors?

Skills that share tags, products or a category with Better Colors: Color Psychology (revfactory/harness-100, 1.3k stars), Color Audit (rome-os/rome, 743 stars), Ant Design (kqcoxn/MaaPipelineEditor, 408 stars) and Better Colors (trycompai/crm, 11k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Better Colors?

boraoztunc (a GitHub user) maintains it in boraoztunc/skills, which has 398 GitHub stars. The repository holds 52 skills in this directory. The repository was last updated on August 15, 2026.

Source: boraoztunc/skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.