shade
Skill473 starsChanged 44 days agoMITView on GitHub
Add light and shadow with proper hue shifting, one step at a time, so the sprite gains form without gaining the flat-luminance look that marks generated pixel art. Use when flat art needs volume.
The file
We split this skill into the rules it gives an agent
3 rules. About 0 are common, 2 are distinctive, and 1 is very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈2
Distinctive · estimate
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
- Distinctive: line 53
If you will shade a material more than once, put its ramp in the palette:
- Very specific: line 64
Only on 32px+ and only in large flat areas.
- Distinctive: line 71
Do the shadows hue-shift, or are they the same hue darker?
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Shade a sprite
Flat shading — the same hue, darker — is the clearest signal that a sprite was made by moving a brightness slider. Real shading shifts hue.
The rule
- Shadows rotate toward blue/purple and desaturate slightly.
- Highlights rotate toward yellow/orange and saturate slightly.
recolor op shade implements this. Use it instead of choosing darker hex
values yourself.
Procedure
- Fix the light direction and state it. Upper-left is the safe default. It does not move again — not across the sprite, not across animation frames.
- Confirm the flat art is right first.
lookoppreview. Shading a bad silhouette wastes the effort. One shadow step. Select the region away from the light, then:
select op="rect" rect={…} recolor op="shade" amount=-0.2 selectionOnly=trueOr draw the shadow shape directly with
drawif it needs to follow a form the selection tools cannot describe.- Look.
look op="preview". Does it read as volume, or as a stain? A shadow that follows the form's cross-section reads; one that follows the outline does not. - One light step, on the side facing the light:
amount=0.2. - Look again. Most sprites are finished here.
- Only if it needs it: a deep shadow (
amount=-0.4) in occluded crevices, a specular highlight of one or two pixels on the hardest material, or reflected light — a faint cool step on the shadow side's outer edge, which makes metal read as metal.
Ramps
If you will shade a material more than once, put its ramp in the palette:
palette op="ramp" base="#c04030" steps=5Then draw with ramp entries directly. Reuse the darkest step across materials — it ties a sprite together and costs no palette slots.
Dithering
Only on 32px+ and only in large flat areas. Use bayer4, keep the two colours
adjacent in a ramp, and stop if it reads as noise. See
rules://02-shading-and-light.
Checks
- Is the light in exactly one place?
- Do the shadows hue-shift, or are they the same hue darker?
- Any banding — long parallel stripes of adjacent steps?
- Any semi-transparent pixels? (
validatewill tell you.)
Related
rules://02-shading-and-light, rules://01-palette-and-color,
rules://22-materials-hard, rules://23-materials-soft,
rules://24-lighting-scenarios, rules://72-3d-forms.
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.

