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…
The front door for any Aseprite or pixel-art request. An agent skill from with-pebbly/aseprite-ai-artist.
$ npx skills add with-pebbly/aseprite-ai-artist --skill studio -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install with-pebbly/aseprite-ai-artist studio --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/with-pebbly/aseprite-ai-artist.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/studio .claude/skills/studio && rm -rf skills-srcUse ~/.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/
Install the "studio" agent skill from https://github.com/with-pebbly/aseprite-ai-artist/tree/main/skills/studio into .claude/skills/studio/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "studio", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/with-pebbly/aseprite-ai-artist/tree/main/skills/studioType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add with-pebbly/aseprite-ai-artist --skill studio -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install with-pebbly/aseprite-ai-artist studio --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/with-pebbly/aseprite-ai-artist.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/studio .agents/skills/studio && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "studio" agent skill from https://github.com/with-pebbly/aseprite-ai-artist/tree/main/skills/studio into .agents/skills/studio/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "studio", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add with-pebbly/aseprite-ai-artist --skill studio -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install with-pebbly/aseprite-ai-artist studio --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/with-pebbly/aseprite-ai-artist.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/studio .cursor/skills/studio && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "studio" agent skill from https://github.com/with-pebbly/aseprite-ai-artist/tree/main/skills/studio into .cursor/skills/studio/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "studio", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/with-pebbly/aseprite-ai-artist.git --path skills/studio--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add with-pebbly/aseprite-ai-artist --skill studio -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install with-pebbly/aseprite-ai-artist studio --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/with-pebbly/aseprite-ai-artist.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/studio .gemini/skills/studio && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "studio" agent skill from https://github.com/with-pebbly/aseprite-ai-artist/tree/main/skills/studio into .gemini/skills/studio/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "studio", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install with-pebbly/aseprite-ai-artist studioInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add with-pebbly/aseprite-ai-artist --skill studio -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/with-pebbly/aseprite-ai-artist.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/studio .github/skills/studio && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "studio" agent skill from https://github.com/with-pebbly/aseprite-ai-artist/tree/main/skills/studio into .github/skills/studio/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "studio", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add with-pebbly/aseprite-ai-artist --skill studio -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install with-pebbly/aseprite-ai-artist studio --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/with-pebbly/aseprite-ai-artist.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/studio .opencode/skills/studio && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "studio" agent skill from https://github.com/with-pebbly/aseprite-ai-artist/tree/main/skills/studio into .opencode/skills/studio/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "studio", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
studioThe front door for any Aseprite or pixel-art request. An agent skill from with-pebbly/aseprite-ai-artist.
Studio is an agent skill from with-pebbly/aseprite-ai-artist. The front door for any Aseprite or pixel-art request. Works out what the user actually wants, picks which workflows to run and in what order — and whether to work in the user's open Aseprite window or a headless batch Aseprite (--headless / --live force it) — hands parts to the specialist agents where the harness has them, and does not stop until the result has been looked at and reviewed. Use when a request spans several steps ("make me an animated knight for Godot") or when you are unsure which workflow applies.
Its SKILL.md is about 4k 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 and Game development. It works with Godot and 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.
9 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit f51fe69. It shows what the files ask for, not the result of running them.
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.
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.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Studio loads about 4k tokens when it runs. Until then it costs about 133 tokens; SKILL.md has 2,117 words of instructions outside code blocks.
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.
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.
The full file from with-pebbly/aseprite-ai-artist at commit f51fe69, republished under its MIT licence (© with-pebbly). 2,117 words, ~3,960 tokens.
.claude/skills/studio/SKILL.md (or your agent's skills folder).The other workflows each do one thing well. This one decides which of them the request needs, runs them in the order that keeps mistakes cheap, and owns the result until it is finished. It does not replace them: at every step, read the workflow it names and follow that — do not do the step from memory.
Pick the Aseprite, then preflight. Two places the work can happen:
live, the user's open window, which they watch and can undo; or
headless, a batch Aseprite this server runs with no window, where the
only results are your look previews and the files you save. Decide
before the first call, from the request — see Live or headless below —
and pass it: preflight mode="headless" or preflight mode="live". When
the request says nothing either way, call preflight without mode and
keep the mode the server started in.
If not ready, stop and tell the user what to fix. Nothing below works
without Aseprite, and editing files on disk instead is never an acceptable
recovery. In headless there is no window: show previews as you go and save
(sprite_manage op save_as) before reporting.
Read the room. sprite_info on whatever is open. An open sprite changes
the plan: "make it bigger" means a sprite that exists, and its canvas and
palette answer questions you would otherwise have to ask.
Classify the request against the table below. Most requests are one row; a big one ("animated knight, export for Godot") chains several. Write the chain down before starting — it is the plan you report progress against.
Decide once whether to ask. Open-ended requests start with aseprite:brief,
which puts every decision to the user in one message. Specific requests ("add
a 1px outline", "export this as a GIF") do not — just do them. Never ask more
than once per stage: a user who asked for a whole animation does not want to
approve every frame.
Design before drawing. Anything new — a character, a prop, a scene, an
animation — goes through aseprite:concept before a pixel is placed: it
writes the art spec (scenario, palette, poses), turns it into a prompt for
an image model, and offers the user two ways on: generate a concept sheet or
storyboard with that prompt and send it back, or continue without one. That
offer rides in the brief's message when there is a brief, so the user still
answers once. If they will send references, stop and wait; when the images
arrive, aseprite:concept reads them into a PixelSpec and imports them. If
the user already supplied reference art, skip the prompt and go straight to
reading it.
Run the chain. For each stage, read its skill (skill://<name>) and
follow it. Hand a stage to a specialist agent when your harness has one (see
below) — the agent reads the same rules, so the result is the same whether it
runs or you do.
Look after every stage that changed pixels. look op preview for the
read, op ascii when position matters, op compare when there is a
reference. A stage is done when you have seen its result, not when its tool
reported success.
Get judged by someone who did not draw it. For anything you drew or
changed, hand the result to the pixel-critic agent where the harness has
one — never grade your own work in place of it; you know what you meant,
so you see it. Give it the document name and the brief, nothing about how
it was made. Elsewhere, run aseprite:review and do its cold read first.
The critique decides whether you iterate at all. A draft ships as it is when its critique has no BLOCKING finding and scores 7/10 or more — note its other findings in your report and stop. Below that, or while any BLOCKING finding remains, fix it — at most three fix rounds. Stopping a weak draft only because nothing was marked BLOCKING leaves it weak.
Each round fixes the BLOCKING findings, or when there are none the one change the critic names as its first fix — never a general polish. A fresh critic always finds something, and each finds something different; polishing on that alone rebuilds parts that already worked. The guards below are what keep a round from doing that:
export op="png" the current frame (or
op="gif" for an animation) to a scratch path, and keep an exact copy of
every layer you will change — export op="aseprite" to a scratch path,
or the layer's rows from look op="ascii". Restoring means writing those
rows back as a grid at the same x/y, or opening the copy and
layer op="duplicate" toSprite=<document>.look op="ascii", change those rows, write them
back as a grid — or recolours a mass that is too dark (recolor). If
the round changed more than about a quarter of a layer's opaque pixels,
it was a redraw: restore the snapshot and make the smaller fix. Never
touch pixels the brief says must stay as they are.a.png, b.png, coin-flipped), asking which is the
better sprite for the brief and whether the BLOCKING finding is gone.
Keep the fix only if it picks the new one; otherwise restore. Two
rounds in a row that the comparison rejects end the loop.Do not change pixels after the last critique; anything you edit afterwards goes back to the critic. A critique whose cold read did not name your subject is the most important finding you will get: the picture does not say what you think it says. Report each round: the BLOCKING finding, what you changed, and which version the comparison chose.
Report in a few lines: what exists now (document, layers, tags, files
written), what you decided on the user's behalf, what you compromised on and
why — including where the sprite departs from the reference on purpose.
Show it — a look preview or the exported file's path, not an adjective.
Read the flags first, then the request. The first row that matches decides.
| The request | Mode |
|---|---|
contains --headless (or says "headless", "без окна", "in the background", "don't open Aseprite") | headless, forced — do not second-guess it |
contains --live (or "in my Aseprite", "in the window", "so I can watch") | live, forced |
| edits something open in the user's window — "this sprite", "the selected layer", "fix my knight" | live — the art is there, not on disk |
produces files and nothing else: a batch of assets, sprites generated into a folder, a CI or build step, a spritesheet from .aseprite files on disk, a run on a machine with no display | headless |
| anything else — draw me a knight, animate this, a palette | no mode: keep what the server started in (live, unless the operator ran it with --headless) |
Strip the flag from the request before reading the rest of it: --headless a knight is a request for a knight.
Then the one rule that matters: the mode is chosen from the request, never
from a failure. If live preflight says Aseprite is not attached, do not
switch to headless to get the work done anyway — tell the user, and if the
work would suit headless, offer it as one question ("Aseprite isn't open —
open it, or should I work headless and save the files to …?"). Switch only on
their answer. A user who wanted to watch in their window and got files
instead has been ignored, and the .aseprite they had open is a file you were
never meant to write.
Switching mid-task is allowed when the user asks for it; each side keeps its
own documents. Headless refuses to open or save a file the user's window has
open (file_open_in_editor) — that refusal is the answer, not an obstacle to
route around. Say which mode you used in the report.
| The user wants | Chain |
|---|---|
| Something new, loosely described ("a knight") | aseprite:brief + aseprite:concept (one message) → aseprite:new → aseprite:palette if the palette is not settled → aseprite:draw → aseprite:shade → aseprite:review |
| Something new, fully specified | aseprite:concept → aseprite:new → aseprite:draw → aseprite:shade → aseprite:review |
| Pixel art of a picture the user supplied ("make this character a sprite") | aseprite:brief if size or palette is open → aseprite:concept from its reference step → aseprite:new → aseprite:draw → aseprite:review |
| An animation of a character | the drawing chain above if nothing exists yet, with a storyboard in the concept prompt → aseprite:rig → aseprite:animate → aseprite:review |
| An animation of a sprite that is already rigged | aseprite:concept for the storyboard (offer) → aseprite:animate → aseprite:review |
| Tiles, terrain, level art | aseprite:brief if open-ended → aseprite:concept (an environment sheet) → aseprite:tileset → aseprite:review |
| Colours changed, a retro look, a cleanup | aseprite:palette → aseprite:review |
| Volume, light, "it looks flat" | aseprite:shade → aseprite:review |
| A change to existing art ("make it more menacing", "fix the hands") | aseprite:fix → aseprite:review |
| An opinion ("is this good?", "why does it look off?") | aseprite:review only — report, do not edit unless asked |
| Files for an engine or for sharing | aseprite:review if not already done → aseprite:export |
| Words on the art — a label, score, title card | aseprite:draw (its Text section) → aseprite:review |
| Nine-slice UI panels, pivots or hotspots for an engine | aseprite:export (slices) |
| Share the finished work in the community gallery | aseprite:review if not already done → aseprite:submit |
If a request fits no row, it is usually a direct tool call ("rename the layer",
"add a frame"): make it, look if pixels changed, and say what you did.
Before a stage draws or animates something, read the rule files for its
subject — every stage, and every agent you hand a stage to. Two or three files
is normal; reading all of them is not. Each one has size budgets, mistakes, a
review list and ```grid templates to transcribe with draw op grid.
| Drawing | Read |
|---|---|
| Any character | rules://30-proportions-by-size, rules://31-anatomy-and-pose, rules://36-character-design |
| Its face, eyes, expression | rules://32-heads-and-faces, rules://33-eyes-and-expressions |
| Hands, feet, a held weapon | rules://34-hands-and-feet |
| Hair, clothing, armour, capes | rules://35-hair-and-clothing, rules://23-materials-soft |
| A turnaround, top-down or 8-direction set | rules://37-views-and-directions, rules://47-top-down-animation |
| A dialogue portrait | rules://38-portraits |
| Any animation | rules://40-timing-and-spacing, plus the cycle below |
| Idle, walk/run, jump, attack | rules://41-idle-and-breathing, rules://42-walk-and-run, rules://43-jump-fall-land, rules://44-attacks-and-impacts |
| Hair, capes, tails in motion; tiny movement | rules://45-secondary-motion, rules://46-subpixel-animation |
| Animals | rules://50-quadrupeds, rules://51-animal-gaits, rules://52-birds-and-flight, rules://53-small-creatures |
| Monsters | rules://54-monster-design, rules://36-character-design |
| Sky, landscape, a background | rules://60-skies-and-atmosphere, rules://61-landscapes-and-terrain, rules://62-parallax-backgrounds |
| Trees, water, ground | rules://63-trees-and-foliage, rules://64-water, rules://65-ground-rocks-grass |
| Tilesets, buildings, rooms | rules://66-tiles-and-autotiling, rules://67-architecture-and-interiors |
| Anything with depth: perspective, isometric, solid forms | rules://70-perspective, rules://71-isometric, rules://72-3d-forms |
| Items, weapons, vehicles, rotating objects | rules://73-props-and-items, rules://74-vehicles-and-machines, rules://75-rotation-and-turnarounds |
| Fire, smoke, magic, hits, particles, weather | rules://80-vfx-fire-smoke-magic, rules://81-impacts-and-game-feel, rules://82-particles-and-weather |
| UI, icons, text | rules://83-ui-and-icons, rules://84-bitmap-fonts |
| Colour, materials, light | rules://20-color-for-pixel-art, rules://22-materials-hard, rules://23-materials-soft, rules://24-lighting-scenarios |
| A retro platform look or a fixed palette | rules://21-limited-and-platform-palettes, rules://90-platform-styles |
| Line quality, AA, dithering, small sizes | rules://10-lines-and-curves, rules://11-clusters-and-noise, rules://12-anti-aliasing, rules://13-dithering-and-texture, rules://14-readability-and-scale |
| A whole scene | rules://91-composition-and-scenes |
| Review, or "it looks AI-made" | rules://92-generated-art-tells, rules://07-review-checklist |
Claude Code and omp ship four agents. Use them when the harness offers them; elsewhere, run the matching skill yourself.
| Agent | Takes over | Instead of |
|---|---|---|
palette-smith | proposing and justifying a palette | aseprite:palette |
rig-builder | planning and building the layer rig | aseprite:rig |
animation-director | key poses, timing and tags before frames are drawn — and the storyboard panels for the concept prompt | the planning half of aseprite:animate |
pixel-critic | a scored, located critique; read-only | aseprite:review |
Give an agent the brief, the PixelSpec if there is one, the document name and the stage it owns — it starts with no memory of this conversation. Run agents one at a time: they all edit the same open document, and two at once will fight over the active layer and frame.
look and a review. A tool result saying pixels
changed is not evidence the sprite is right.rules://index for the craft every stage relies on, rules://07-review-checklist
for what "finished" means.
© 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
Just SKILL.md in skills/studio of with-pebbly/aseprite-ai-artist.
Open the folder on GitHubat commit f51fe69
Studio 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Studio this skillwith-pebbly/aseprite-ai-artist | 172 | — | ~4k | Automated safety check: Pass | MIT | |
| Game Assetsglifxyz/glif-mcp-server | 212 | — | ~831 | Automated safety check: Pass | MIT | |
| Scenario Game Assetsscenario-labs/skills | 913 | — | ~4.5k | Automated safety check: Pass | MIT | |
| Sprite Genaldegad/sprite-gen | 2.6k | — | ~4.5k | Automated safety check: Pass | Apache-2.0 | |
| AI Game Art Pipelineybuild-ai/ai-game-art-pipeline-skill | 297 | — | ~1.1k | Automated safety check: Pass | MIT | |
| MCP DriverRandallLiuXin/GodotMaker | 549 | 1 repos | ~1.1k | Automated safety check: Pass | Custom licence |
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…
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…
aldegad/sprite-gen
Generates images and game sprites through GPT or Grok with guided provider choices, separate saved defaults, automatic cleanup and optional curation.
ybuild-ai/ai-game-art-pipeline-skill
Provider-neutral open-source skill for planning and producing game-runtime art assets and animation: static props/icons, canonical character sheets, combat sprites, 3D/video motion references…
RandallLiuXin/GodotMaker
Runtime debugging and live project inspection via godot-mcp.
jame581/GodotPrompter
Covers Godot 4.3+ 2D systems with GDScript and C# examples: canvas layers, draw order, TileMaps, parallax, lights and shadows, particles and custom drawing.
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.
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.
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.
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.
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.
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.
Works with
Categories
The front door for any Aseprite or pixel-art request. An agent skill from with-pebbly/aseprite-ai-artist. Studio is an agent skill from with-pebbly/aseprite-ai-artist. The front door for any Aseprite or pixel-art request.
Studio fits situations like: A request spans several steps (make me an animated knight for Godot); you are unsure which workflow applies.
Run `npx skills add with-pebbly/aseprite-ai-artist --skill studio -a claude-code`. Or copy the skill folder (skills/studio in with-pebbly/aseprite-ai-artist) into .claude/skills/studio in your project. Claude Code loads it when a task matches its description.
Run `npx skills add with-pebbly/aseprite-ai-artist --skill studio -a codex`. Or copy the skill folder (skills/studio in with-pebbly/aseprite-ai-artist) into .agents/skills/studio in your project. Codex loads it when a task matches its description.
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 studio -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/studio, .gemini/skills/studio, .github/skills/studio and .opencode/skills/studio in your project.
SKILL.md names no scripts, command-line tools or credentials: Studio is instructions for the agent only.
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.
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.
Studio is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 4k tokens (SKILL.md is roughly 16k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Studio: Game Assets (glifxyz/glif-mcp-server, 212 stars), Scenario Game Assets (scenario-labs/skills, 913 stars), Sprite Gen (aldegad/sprite-gen, 2.6k stars) and AI Game Art Pipeline (ybuild-ai/ai-game-art-pipeline-skill, 297 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
with-pebbly (a GitHub organization) maintains it in with-pebbly/aseprite-ai-artist, which has 172 GitHub stars. The repository holds 14 skills in this directory. The repository was last updated on October 8, 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.