agentleFS
with-pebblywith-pebbly/aseprite-ai-artist/skills/palette/SKILL.md

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

  • Other versions4 projects use a version of this.

    Word for word · 0

    None found.

    Edited · 0

    None found.

    Wrote their own version · 4

    1. simota/agent-skills★ 96same name
    2. asynkron/asynkron-skills★ 32same name
    3. Echo-Scion/orioncortex★ 2same name
    4. 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.

  • In this repository14 other files it gives its agents.

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
  1. Very specific:

    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 …

    line 13

“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.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Choose, build and repair a palette

Choosing

Match the request, in this order of preference:

  1. 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 op="sample_palette" to pull one out of a screenshot they gave you.
  2. 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.
  3. The sprite is joining an existing project. sprite_info an existing asset and match it exactly. Consistency beats a nicer palette.
  4. 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.55

Shadows 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.

  1. 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.

  2. Decide the target palette. Either the existing one, minus the near-duplicates, or a fresh one.
  3. 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.

  4. Re-check. palette op="analyze" again, then look 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.

Download now (ZIP)

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
What did you use it for? e.g. Reviewing pull requests in a Rails app

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.