Color Psychology
revfactory/harness-100
A color psychology skill used by the visual-director agent. An agent skill from revfactory/harness-100.
Color systems for digital products, from building and naming a palette to applying it with meaning and verifying contrast.
$ npx skills add boraoztunc/skills --skill better-colors -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install boraoztunc/skills better-colors --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ 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-srcUse ~/.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/
Install the "better-colors" agent skill from https://github.com/boraoztunc/skills/tree/main/better-colors into .claude/skills/better-colors/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "better-colors", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/boraoztunc/skills/tree/main/better-colorsType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add boraoztunc/skills --skill better-colors -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install boraoztunc/skills better-colors --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/boraoztunc/skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/better-colors .agents/skills/better-colors && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "better-colors" agent skill from https://github.com/boraoztunc/skills/tree/main/better-colors into .agents/skills/better-colors/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "better-colors", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add boraoztunc/skills --skill better-colors -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install boraoztunc/skills better-colors --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/boraoztunc/skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/better-colors .cursor/skills/better-colors && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "better-colors" agent skill from https://github.com/boraoztunc/skills/tree/main/better-colors into .cursor/skills/better-colors/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "better-colors", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/boraoztunc/skills.git --path better-colors--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add boraoztunc/skills --skill better-colors -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install boraoztunc/skills better-colors --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/boraoztunc/skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/better-colors .gemini/skills/better-colors && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "better-colors" agent skill from https://github.com/boraoztunc/skills/tree/main/better-colors into .gemini/skills/better-colors/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "better-colors", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install boraoztunc/skills better-colorsInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add boraoztunc/skills --skill better-colors -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/boraoztunc/skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/better-colors .github/skills/better-colors && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "better-colors" agent skill from https://github.com/boraoztunc/skills/tree/main/better-colors into .github/skills/better-colors/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "better-colors", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add boraoztunc/skills --skill better-colors -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install boraoztunc/skills better-colors --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/boraoztunc/skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/better-colors .opencode/skills/better-colors && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "better-colors" agent skill from https://github.com/boraoztunc/skills/tree/main/better-colors into .opencode/skills/better-colors/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "better-colors", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
better-colorsColor 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. 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.
10 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 645553c. It shows what the files ask for, not the result of running them.
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.
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.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
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.
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.
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.
The full file from boraoztunc/skills at commit 645553c, republished under its Apache-2.0 licence (© boraoztunc). 1,151 words, ~2,134 tokens.
.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.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.
| Category | When to use | Reference |
|---|---|---|
| Structure | Which ramps a system needs, step roles, neutrals, status colors, auditing an existing palette | palette-structure.md |
| Generation | Building a ramp from a brand color, multi-hue systems, dark mode | palette-generation.md |
| Naming | Primitive and semantic tiers, role inventory, naming grammar, anti-patterns | token-naming.md |
| Usage | One meaning per color, emphasis, gradients, culture, appearance variants | color-usage.md |
| Contrast | APCA and WCAG checks, reporting failures, fixing on request | contrast.md |
| Formats | Choosing a notation, converting, gamut and P3 fallbacks | color-formats.md |
| Review output format | Severity scale, findings table, verification, verdict | review-output.md |
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).
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.
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).
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).
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.
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).
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.
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.
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).
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).
| Mistake | Fix |
|---|---|
| A raw value where the project has a token | Reuse or add the correct role token in the project's existing notation |
An isolated oklch() value dropped into a hex codebase | Preserve the established notation unless a color-system migration is in scope |
A primitive like --blue-500 used directly in a component | Point 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 text | Reserve 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 lightness | Rebuild against perceived lightness with a constant hue |
| Ramp spaced evenly across the full range | Tighten the light end; 50 and 100 must be distinguishable as two surfaces |
| Same saturation number reused across hues | Match the same proportion of each hue's own maximum, not the raw value |
| Status hue that collides with the accent hue | Move it until destructive and primary actions are distinguishable side by side |
| Dark mode made by mechanically reversing the light palette | Reverse 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 others | Pick one switching mechanism and use it throughout |
| Failing contrast | Report the pair, its measured value, and the threshold missed; change colors only when asked |
| Contrast fixed by changing hue | Change lightness — it is the channel contrast responds to |
| P3 color with no sRGB fallback | Declare the sRGB value first, then override inside @media (color-gamut: p3) |
| Gradient between opposite hues going gray in the middle | Switch to a polar space (in oklch) or add a mid-stop at a hue between the two |
| Palette verified only in light mode | Recheck every foreground/background pair in both appearances |
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
SKILL.md and 7 other files in better-colors of boraoztunc/skills.
Open the folder on GitHubat commit 645553c
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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Better Colors this skillboraoztunc/skills | 398 | — | ~2.1k | Automated safety check: Pass | Apache-2.0 | |
| Color Psychologyrevfactory/harness-100 | 1.3k | — | ~1.2k | Automated safety check: Pass | Apache-2.0 | |
| Color Auditrome-os/rome | 743 | — | ~2.7k | Automated safety check: Pass | MIT | |
| Ant Designkqcoxn/MaaPipelineEditor | 408 | 1 repos | ~1.1k | Automated safety check: Pass | MIT | |
| Better Colorstrycompai/crm | 11k | — | ~1.9k | Automated safety check: Pass | MIT | |
| Data-Dense Dashboard Designerplugin87/ux-ui-agent-skills | 1.6k | — | ~2.6k | Automated safety check: Pass | MIT |
revfactory/harness-100
A color psychology skill used by the visual-director agent. An agent skill from revfactory/harness-100.
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…
kqcoxn/MaaPipelineEditor
Decision guide for antd 6.x, Ant Design Pro 5/ProComponents, Ant Design X v2, and the offline @ant-design/cli.
trycompai/crm
OKLCH color space and color usage for web projects. An agent skill from trycompai/crm.
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.
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.
boraoztunc/skills
GSAP animation reference for HyperFrames. An agent skill from boraoztunc/skills.
boraoztunc/skills
Create video compositions, animations, title cards, overlays, captions, voiceovers, audio-reactive visuals, and scene transitions in HyperFrames HTML.
boraoztunc/skills
Translate an existing Remotion (React-based) video composition into a HyperFrames HTML composition.
boraoztunc/skills
Anime.js adapter patterns for HyperFrames. An agent skill from boraoztunc/skills.
boraoztunc/skills
Create React loading, processing, selected, current, focus, and pressed states with the border-beam package's animated edge glow.
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…
Categories
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.
Better Colors fits situations like: extending a color palette; naming color tokens; theming light and dark appearances; auditing the colors in a codebase.
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.
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.
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.
SKILL.md names no scripts, command-line tools or credentials: Better Colors is instructions for the agent only.
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.
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.
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.
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.
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.
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.