Give your AI coding agent any image (a photo of you, your pet, a logo, a product, a sketch) and pixelperfect teaches it to draw a proper 16×16 and 24×24 pixelated version. Not a shrunk-down, blurry copy, but pixel art drawn by hand: it finds the essence, plans the grid, and places every pixel the way a pixel artist would. It is the same method behind the nearly 2,000 Pixel icons on this site.
A 46-second tour of where pixelperfect came from and what it can draw.
Video coming soon
The launch video is on its way.
It started out comically bad
The first Pixel set wasn’t really drawn. The agent shrank existing vector artwork onto a 16×16 grid and called it pixel art. My verdict: “The designs look comically bad.” The eyes in the smileys were “uncannily bad,” a coffee cup turned into “blotchy black lines that muddle the image,” and you couldn’t even tell the paw prints were paw prints.
So instead of asking for better results, I taught it pixel art from first principles, one critique at a time. Every critique became a rule:
“Notice the clean outlines in black…”
One black outline
“Simplify and enhance is the key.”
Find the essence
“Make sure the icons look clear in 16x16 before blowing it up.”
Judge it at 1x
“If you will give anything less than an A+, regenerate it.”
Below an A+? Redraw it
Every mistake got a name
The skill studies the mistakes as closely as the masterpieces. Each one has a name, a rule, and a lint check that catches it before anyone has to look.
×no outlineneeds its 1px outline
×double outlineone pixel thick, always
×blotchy ink34% black inside
×too smallfill the canvas
✓approvedclean, readable at 1x
All of that turned into a 14-step method, right-and-wrong grids with my critiques word for word, about 250 approved drawings to study, a review rubric, and sprite_tool.py, a command-line tool that starts sprites from templates, lints them against the house rules, and renders review boards.
Any image in, pixel art out
Hand it a photo, a logo, or any other image, and it samples the colours, decides what to keep, and draws a pixelated version at both sizes. People get a portrait in their own skin tone or in smiley yellow. My face is the skill’s acceptance test: an agent that had never seen the lessons drew these from photos by following only the skill.
Install it
pixelperfect works with GitHub Copilot, Claude Code, Codex, Cursor, Gemini CLI, and other agents that read skills. Pick whichever installer you already have.
GitHub CLI
gh skill install kirupa/pixelperfect pixelperfect
That installs into the current repository for GitHub Copilot. Add --agent claude-code (or codex, cursor, gemini-cli) to pick another agent, and --scope user to install it for every project. gh skill is in preview in the GitHub CLI.
Every agent’s install folder, copying the skill by hand, and the optional extras are in the README on GitHub.
How it works
For every image or subject, the agent follows the same 14 steps. The first four happen before a single pixel is placed.
Gather references, and study them.
Decide the essence: what to keep, exaggerate, and drop.
Choose the view and the silhouette.
Plan the grid.
Block the silhouette and its one black outline.
Make curves and diagonals clean.
Separate the inside by tone, not by ink.
Build colour ramps.
Light solid forms; keep flat things flat.
Features and faces.
Draw the 24×24 natively.
People, and portraits from a photo.
The review loop.
Hand off.
Done means every line passes
Eleven checks in four groups. A drawing ships only when all of them pass.
Readable
Reads at 1x, on light and on dark
The lint is clean
Fills the canvas
Clean line work
One clean outline; every inner black pixel is justified
Curves and diagonals are clean
Symmetry is exact
Colour and light
Ramps stay in budget and keep parts apart
The lighting is correct
True to the subject
Keeps the subject’s identity
Sits in harmony with its neighbours
Its 16 and 24 match
AOne fix away
BBack to the view and grid
CBack to the essence
Try asking
Ask in plain words. The skill’s description tells your agent when to load it.
“Use the pixelperfect skill to turn logo.png into 16×16 and 24×24 pixel art. Show me the review board and grade both against the rubric.”
“Make a pixel portrait of my face from this photo. Draw 16×16 and 24×24 versions, in my skin tone and in smiley yellow.”
“Review cat-16.sprite against the pixelperfect rubric. Grade it, list what to fix, and fix it.”
“Here’s a photo of my dog. Draw it as 16×16 pixel art that matches the kirupa.com Pixel set.”
“Redraw my 24×24 rocket natively at 16×16. Don’t downscale it.”
Questions
What is an agent skill?
A folder of instructions, references, and scripts that an AI coding agent loads when a task calls for it. pixelperfect’s SKILL.md holds the 14 steps and the rubric; its references/ folder holds the lessons, construction rules, faces, worked examples, and review guide.
Which agents does it work with?
GitHub Copilot, Claude Code, Codex, Cursor, and Gemini CLI, plus other agents that read skill folders. gh skill install --help lists every agent the GitHub CLI supports.
Does it need the internet?
No. It bundles about 250 approved drawings at both sizes and works offline. To study the whole set, download the free PNGs from the Pixel gallery and point PIXELPERFECT_SET_DIR at the zip.
How is it licensed?
The skill’s code and docs are MIT. The artwork it ships with, like the reference drawings and the portrait, is under kirupa.com’s free license for personal and non-commercial use, with credit: “Icons by kirupa.com”. It can’t be redistributed as an icon set. See License and credits.
Can I use the Pixel icons on kirupa.com?
Yes. Every PNG is free for personal and non-commercial projects with credit. Commercial work and the SVG source files come with KIRUPAicons Pro.
Thought provoking content that lives at the intersection of design 🎨, development 🤖, and business 💰 -
delivered weekly to over a bazillion subscribers!