palette
Skill473 starsChanged 45 days agoMITView on GitHub
Pick a palette that fits the request, build hue-shifted ramps, or clean up a sprite whose colours have sprawled. Use when the user asks about colour, wants a specific retro look, or when validate reports off-palette colours.
4 other projects use a version of this.
Adopted by
Most recently taken up by
- Echo-Scion/orioncortextheir own version, first seen Nov 8, 2026
- simota/agent-skillstheir own version, first seen Oct 23, 2026
- Echo-Scion/portable-brainvibingtheir own version, first seen Oct 15, 2026
- asynkron/asynkron-skillstheir own version, first seen Jul 14, 2026
Other versions4 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 4
- simota/agent-skills★ 96same name
- asynkron/asynkron-skills★ 32same name
- Echo-Scion/orioncortex★ 2same name
- Echo-Scion/portable-brainvibing★ 2same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
The file
We split this skill into the rules it gives an agent
1 rule. 0 are common, 0 are distinctive, and 1 is very specific to this project.
0
Common
Most of the 4 edited versions we read keep these.
0
Distinctive
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 13
The user named a palette or a game: Use it. palette op="preset" for a bundled one, op="load" for a file they have, or reference …
“Common” is measured: kept by at least 6 in 10 of the 4 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Choose, build and repair a palette
Choosing
Match the request, in this order of preference:
- The user named a palette or a game. Use it.
palette op="preset"for a bundled one,op="load"for a file they have, orreference op="sample_palette"to pull one out of a screenshot they gave you. - The user described an era. "8-bit" → PICO-8. "Game Boy" → gameboy. "NES" → build 12–16 colours by hand as 3–4 hues × 4 values.
- The sprite is joining an existing project.
sprite_infoan existing asset and match it exactly. Consistency beats a nicer palette. - Nothing said. PICO-8. It is 16 colours, forgiving, and reads well.
palette op="preset" with no valid preset lists what is bundled and says that
anything else can be loaded from a file.
Building ramps
A ramp is one material's run of colours. Build them hue-shifted:
palette op="ramp" base="#c04030" steps=5 spread=0.55Shadows come out cooler, highlights warmer — the thing that separates pixel art from a brightness slider. Three to five steps per material is plenty; more is decisions you will not use.
Reuse steps across materials. Sharing the darkest colour between skin and leather ties the sprite together and costs nothing.
Repairing a sprawled palette
Symptom: validate reports off-palette colours, or the sprite has ninety
near-identical browns.
Diagnose:
palette op="analyze"This reports off-palette colours in the art, near-duplicate palette entries (ΔE < 3 — the same colour to a viewer), unused slots and the lowest-contrast pair.
- Decide the target palette. Either the existing one, minus the near-duplicates, or a fresh one.
Snap the art onto it:
recolor op="snap" layer="…"Perceptual (CIELAB) nearest, applied per distinct colour in one pass. The result reports exactly which colour became which and how many pixels moved, so you can see whether a merge was wrong before the user does.
- Re-check.
palette op="analyze"again, thenlook op="preview". Merging two colours that were doing different jobs is the risk here; look for a form that has gone flat.
Or start over from the art: palette op="extract" replaces the palette
with one quantized from the sprite's own colours (RGB sprites only,
maxColors default 16) — useful when the sprite came from a reference image
imported at full colour and never had a curated palette to snap onto.
Contrast
Value contrast carries readability, not hue contrast. Check by running
recolor op="desaturate" on a copy — if the shapes stop reading in greyscale,
the palette's values are too close, and no amount of hue will fix it.
Related
rules://01-palette-and-color, rules://02-shading-and-light,
rules://20-color-for-pixel-art, rules://21-limited-and-platform-palettes.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

