Draw a sprite from silhouette to finished pixels, in the order that catches mistakes while they are still cheap — block in, check the silhouette, shade, outline, verify.

MITAuto-check passedGame Development

Install Draw

skills CLI
$ npx skills add with-pebbly/aseprite-ai-artist --skill draw -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install with-pebbly/aseprite-ai-artist draw --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/with-pebbly/aseprite-ai-artist.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/draw .claude/skills/draw && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
draw
GitHub stars
149
Token cost
~1.5k tokens
SKILL.md length
853 words
Files
1
Skills in repo
14
Repo updated
First seen
Licence
MIT

At a glance

Draw a sprite from silhouette to finished pixels, in the order that catches mistakes while they are still cheap — block in, check the silhouette, shade, outline, verify.

  • Works in 8 steps: Look before you draw → Block in the silhouette → Check the silhouette immediately → …
  • The main body of any drawing task
  • SKILL.md covers Procedure, Batching rules and Related
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Draw is an agent skill from with-pebbly/aseprite-ai-artist. Draw a sprite from silhouette to finished pixels, in the order that catches mistakes while they are still cheap — block in, check the silhouette, shade, outline, verify. Use for the main body of any drawing task.

Its SKILL.md is about 1.5k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Game Development, covering Sprites and pixel art. It works with Model Context Protocol. The repository describes itself as: Your coding agent paints pixel art in the Aseprite window you already have open. MCP server + skills for Claude Code, omp, Codex, Gemini CLI and Cursor — draws, looks at its…. The licence is MIT.

When your agent uses it

  • The main body of any drawing task
  • Tasks that involve Sprites and pixel art

Example prompts

  • “/draw”

Workflow steps

8 steps, taken from the step headings in SKILL.md.

  1. Look before you draw
  2. Block in the silhouette
  3. Check the silhouette immediately
  4. Separate the materials
  5. Shade
  6. Outline
  7. Verify precisely
  8. Validate and report

What it can do on your machine

Read from SKILL.md and the folder at commit 565814f. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Draw loads about 1.5k tokens when it runs. Until then it costs about 54 tokens; SKILL.md has 853 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~54
When it runs · the whole SKILL.md, loaded when a task matches
~1.5k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from with-pebbly/aseprite-ai-artist at commit 565814f, republished under its MIT licence (© with-pebbly). 853 words, ~1,537 tokens.

Download SKILL.mdSave it as .claude/skills/draw/SKILL.md (or your agent's skills folder).
name
draw
description
Draw a sprite from silhouette to finished pixels, in the order that catches mistakes while they are still cheap — block in, check the silhouette, shade, outline, verify. Use for the main body of any drawing task.
title
Draw a sprite

Draw a sprite

The order matters more than the technique. Detail added before the form is right just makes the wrongness harder to see and more expensive to fix.

Procedure

1. Look before you draw

preflight, then sprite_info. You need the real layer names, frame count and palette. Do not assume them — a wrong layer name means drawing into the user's finished art.

If aseprite:concept produced a PixelSpec, it is the plan: its landmarks and bounding boxes are where the shapes go, its palette mapping is which colour each mass gets, its deviations are what you leave out. When a reference layer exists (reference op="list"), you are drawing over it — the steps below are the same, and step 3 gains a comparison.

Then read the subject rules for what you are drawing — the table in skill://studio under Subject rules names them. A hand, a face, a horse, an isometric crate or a waterfall each has its own file with size budgets and ```grid templates. A template is a starting point you transcribe with draw op grid, mapping each legend role onto the sprite's palette; adapt it to the pose rather than inventing the shape from nothing.

2. Block in the silhouette

One flat colour, no detail. Target the base layer. Everything in one draw call.

For anything up to about 32×32, write it as a grid: one character per pixel, so you see the whole silhouette while you write it instead of finding out afterwards what a stack of ellipses and rects added up to.

draw layer="base" label="block in slime" ops=[
  { kind:"grid", x:8, y:10, legend:{ "O":"#5f574f" }, rows:[
    "....OOOO....",
    "..OOOOOOOO..",
    ".OOOOOOOOOO.",
    "OOOOOOOOOOOO",
    "OOOOOOOOOOOO",
    ".OOOOOOOOOO." ] }
]

Every row must be the same width, . is transparent, and transparent cells erase what is under them (transparent:"skip" to stamp over existing art instead). Bigger sprites: one grid per body part or per layer, each at its own x/y — long rows of identical characters are where a model miscounts, and a ragged row is refused with its row number rather than silently shifted.

Shapes are still the right tool for big regular forms — a sky gradient, a floor, a 40-pixel circle:

draw layer="base" label="block in knight" ops=[
  { kind:"ellipse", rect:{x:12,y:4,width:8,height:8}, color:"#5f574f", fill:"#5f574f" },
  { kind:"rect",    rect:{x:11,y:12,width:10,height:10}, color:"#5f574f", fill:"#5f574f" },
  …
]

Batch aggressively. One call is one undo step for the user; forty calls are forty. See rules://03-silhouette-and-form.

3. Check the silhouette immediately
look op="preview"

Ask yourself the only question that matters here: is it recognisable as one flat shape? If not, fix it now. Shading a bad silhouette is wasted work.

Watch for: symmetry that reads as a statue, tangents where an arm fuses into the torso, limbs all the same thickness.

With a reference, preview blends the half-transparent reference into the art — use look op="compare" instead: reference left, art right. Name the three to five largest mismatches (silhouette, proportion, pose, where the colour masses sit), fix only those in one draw call, compare again. Stop when what is left is a deviation the PixelSpec lists. This loop repeats after materials (step 4) and after shading (step 5): the reference is a check on every stage, not only the first.

4. Separate the materials

Replace regions of the blockout with each material's base colour — skin, metal, leather, cloth. Still flat. Still one draw call.

Show full SKILL.md (345 more words)Show less
5. Shade

See aseprite:shade. One shadow step, look, one light step, look. Stop there unless the sprite is 32px+ and genuinely needs more.

6. Outline

Pick one style from rules://04-outlines-and-edges and apply it consistently. Selective outlining — outside only — is usually right. transform op outline does the mechanical part: side="outside" grows the shape by a pixel, side="inside" recolours its edge and keeps the size; diagonals=true fills the corner pixels for square corners, off leaves them cut and softer. Hand-place where you want it broken.

6b. Text, if the art has words

draw op kind text lays out a string from a bitmap font and draws it in the same batch as everything else. Pass measureOnly: true with only text ops first to get the ink bounds back without touching the sprite — that is how you centre a label or size a panel around it before committing to a position. See TOOLS.md for the font format.

7. Verify precisely
look op="ascii"

The text grid is where you catch the pixel one row too low and the line run of 3 in a sequence of 2s. A preview cannot show you those.

To fix what it shows, edit the grid itself: look op="ascii" layer="base" rulers=false region=… returns bare rows plus origin; change the cells that are wrong and send the rows back as draw kind grid at that origin, with the legend look gave you. Only the region you send is touched. A glyph is a palette index and means the same colour in every region you read.

8. Validate and report
validate

Fix every error. Report warnings you chose not to fix, with the reason.

Batching rules

  • Ops run in array order, so paint fills before outlines and outlines before highlights.
  • Leave paletteLock on. When the result says a colour moved with ΔE > 12, the palette has no colour for what you asked — say so rather than turning the lock off.
  • Use label to describe the intent; it becomes the user's undo entry.

rules://00-core-principles, rules://02-shading-and-light, rules://03-silhouette-and-form, rules://04-outlines-and-edges, rules://10-lines-and-curves, rules://11-clusters-and-noise, and the subject files listed in skill://studio under Subject rules.

© with-pebbly, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in skills/draw of with-pebbly/aseprite-ai-artist.

Open the folder on GitHubat commit 565814f

Compare with similar skills

Draw next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Draw compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Draw this skillwith-pebbly/aseprite-ai-artist149—~1.5kAutomated safety check: PassMIT
Sprite Genaldegad/sprite-gen2.6k—~4.4kAutomated safety check: PassApache-2.0
Pixel FaceCotal-AI/Cotal309—~1.5kAutomated safety check: PassApache-2.0
Fal Assetsrehan-remade/universal-modder4.7k—~2kAutomated safety check: NotesMIT
Game Assetsglifxyz/glif-mcp-server212—~831Automated safety check: PassMIT
Scenario Game Assetsscenario-labs/skills898—~4.5kAutomated safety check: PassMIT

Similar skills

  • Sprite Gen

    aldegad/sprite-gen

    Generates images and game sprites through GPT or Grok with guided provider choices, separate saved defaults, automatic cleanup and optional curation.

    2.6k GitHub stars~4.4k tokensUpdated yesterday
    Game DevelopmentAuto-check passed
  • Pixel Face

    Cotal-AI/Cotal

    Create or improve a 32×32 pixel-art persona face for the Frontier Faces demo (examples/04-frontier-faces/personas.mjs) — the animated agent avatars rendered by face-term.mjs / the browser…

    309 GitHub stars~1.5k tokensUpdated today
    Game DevelopmentAuto-check passed
  • Fal Assets

    rehan-remade/universal-modder

    Generate game assets with fal (fal.ai) through the fal MCP server, the um fal CLI (REST) or fal api.

    4.7k GitHub stars~2k tokensUpdated yesterday
    Game DevelopmentAuto-check: notes
  • Game Assets

    glifxyz/glif-mcp-server

    Make art and media for a game you are building with Glif: character reference sheets, consistent characters, pixel-art sprite sheets with animation cycles, seamless and PBR textures, 3D models, item…

    212 GitHub stars~831 tokensUpdated today
    Game DevelopmentAuto-check passed
  • Scenario Game Assets

    scenario-labs/skills

    A skill your agent uses when creating game art through Scenario MCP: sprites, sprite sheets, icons, props, loot, tilesets and autotile terrain transitions, seamless tiles, isometric buildings…

    898 GitHub stars~4.5k tokensUpdated yesterday
    Game DevelopmentAuto-check passed
  • Game Art Pipeline

    PersonalJarvis/PersonalJarvis

    Develop or redesign Personal Jarvis world art, buildings, characters and 3D assets through an authored Blender reference scene, runtime review and controlled asset rollout.

    116 GitHub stars~566 tokensUpdated today
    Game DevelopmentAuto-check passed

More from with-pebbly/aseprite-ai-artist

All 14 skills in this repo
  • Animate

    with-pebbly/aseprite-ai-artist

    Build an idle, walk, run or attack cycle from key poses, set timing that reads as motion rather than a metronome, tag it, and review it as a filmstrip.

    149 GitHub stars~1.4k tokensUpdated yesterday
    Auto-check passed
  • Export

    with-pebbly/aseprite-ai-artist

    Produce the files an engine actually consumes — spritesheets with atlases, GIFs, scaled PNGs — with the tags and layout the target needs.

    149 GitHub stars~628 tokensUpdated yesterday
    Auto-check passed
  • Fix

    with-pebbly/aseprite-ai-artist

    Change a sprite that already exists — the user's own work or your earlier output — without destroying what is already right.

    149 GitHub stars~1.1k tokensUpdated yesterday
    Auto-check passed
  • New

    with-pebbly/aseprite-ai-artist

    Create a new Aseprite document with the right canvas size, colour mode, palette and layer structure, so later work does not have to fight the setup.

    149 GitHub stars~555 tokensUpdated yesterday
    Auto-check passed
  • Palette

    with-pebbly/aseprite-ai-artist

    Pick a palette that fits the request, build hue-shifted ramps, or clean up a sprite whose colours have sprawled.

    149 GitHub stars~795 tokensUpdated yesterday
    Auto-check passed
  • Review

    with-pebbly/aseprite-ai-artist

    Run the mechanical checks and the by-eye checks, then report what you found with evidence instead of declaring success.

    149 GitHub stars~1k tokensUpdated yesterday
    Auto-check passed

Questions about Draw

What does Draw do?

Draw a sprite from silhouette to finished pixels, in the order that catches mistakes while they are still cheap — block in, check the silhouette, shade, outline, verify. Draw is an agent skill from with-pebbly/aseprite-ai-artist. Draw a sprite from silhouette to finished pixels, in the order that catches mistakes while they are still cheap — block in, check the silhouette, shade, outline, verify.

When should I use Draw?

Draw fits situations like: the main body of any drawing task; tasks that involve Sprites and pixel art.

How do I install Draw in Claude Code?

Run `npx skills add with-pebbly/aseprite-ai-artist --skill draw -a claude-code`. Or copy the skill folder (skills/draw in with-pebbly/aseprite-ai-artist) into .claude/skills/draw in your project. Claude Code loads it when a task matches its description.

How do I install Draw in Codex?

Run `npx skills add with-pebbly/aseprite-ai-artist --skill draw -a codex`. Or copy the skill folder (skills/draw in with-pebbly/aseprite-ai-artist) into .agents/skills/draw in your project. Codex loads it when a task matches its description.

Can I use Draw in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add with-pebbly/aseprite-ai-artist --skill draw -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/draw, .gemini/skills/draw, .github/skills/draw and .opencode/skills/draw in your project.

What does Draw need to run?

SKILL.md names no scripts, command-line tools or credentials: Draw is instructions for the agent only.

Does Draw access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Draw safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Draw use?

Draw is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Draw use?

About 1.5k tokens (SKILL.md is roughly 6.1k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Draw?

Skills that share tags, products or a category with Draw: Sprite Gen (aldegad/sprite-gen, 2.6k stars), Pixel Face (Cotal-AI/Cotal, 309 stars), Fal Assets (rehan-remade/universal-modder, 4.7k stars) and Game Assets (glifxyz/glif-mcp-server, 212 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Draw?

with-pebbly (a GitHub organization) maintains it in with-pebbly/aseprite-ai-artist, which has 149 GitHub stars. The repository holds 14 skills in this directory. The repository was last updated on October 6, 2026.

Source: with-pebbly/aseprite-ai-artist on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.