Skip to content

feat(skills): add pixel-art skill (consolidated from #8930) - #12663

Merged
teknium1 merged 4 commits into
mainfrom
hermes/hermes-846e32c5
Apr 19, 2026
Merged

feat(skills): add pixel-art skill (consolidated from #8930)#12663
teknium1 merged 4 commits into
mainfrom
hermes/hermes-846e32c5

Conversation

@teknium1

Copy link
Copy Markdown
Collaborator

Summary

Adds a built-in pixel-art skill that converts images into retro pixel art via named presets. Salvaged from #8930 (dodo-reach) — consolidated their two near-duplicate skills (pixel-art-arcade, pixel-art-snes) into a single preset-based skill and promoted it into built-in skills.

Changes

  • skills/creative/pixel-art/SKILL.md — new skill with arcade and snes presets + parametric overrides. Single Pillow pipeline (enhance → posterize → downscale NEAREST → quantize with Floyd-Steinberg → upscale NEAREST) dialed per preset.
  • scripts/release.py — AUTHOR_MAP entry for dodo-reach (CI compliance).

Why consolidate

The two originals were identical Pillow pipelines with only 5 numeric knobs different (contrast/color/posterize bits, block size, palette size). A preset-based single skill is easier to discover (one name for "retro pixel art"), maintain (one function signature), and extend (adding gameboy/nes is just another preset dict).

Why built-in instead of optional

Pillow is already ubiquitous, the skill is small, and retro pixel art is a common creative ask — fits alongside existing built-in creative skills.

Validation

  • Pipeline verified end-to-end against a synthetic gradient image: both presets produce valid 256x256 PNGs in P mode, preset='gameboy' raises ValueError, overrides (palette=16 on snes) work.

Credit: @dodo-reach — original commit preserved via cherry-pick with their authorship intact.
Closes #8930.

dodo-reach and others added 4 commits April 19, 2026 11:47
…ased skill

Merges pixel-art-arcade and pixel-art-snes into one pixel-art skill with
named presets (arcade, snes) + parametric overrides. The underlying
pipeline was already identical across both variants — only palette size,
block size, and enhancement strength differed. A single preset-based
function is easier to discover, maintain, and extend (adding a new era
like gameboy or nes is just another preset dict).

Contributor authorship preserved on original additive commit.
@teknium1
teknium1 merged commit 91eea75 into main Apr 19, 2026
3 of 5 checks passed
@teknium1
teknium1 deleted the hermes/hermes-846e32c5 branch April 19, 2026 18:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants