# Studio

The front door for any Aseprite or pixel-art request.

- Repository: https://github.com/with-pebbly/aseprite-ai-artist (543 stars)
- Category: AI and agents
- License: MIT
- Last updated: 2026-10-22
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add with-pebbly/aseprite-ai-artist --skill studio -g -a claude-code -y`
Codex: `npx skills add with-pebbly/aseprite-ai-artist --skill studio -g -a codex -y`
Cursor: `npx skills add with-pebbly/aseprite-ai-artist --skill studio -g -a cursor -y`
Gemini CLI: `npx skills add with-pebbly/aseprite-ai-artist --skill studio -g -a gemini-cli -y`
Claude Code plugin marketplace: `/plugin marketplace add with-pebbly/aseprite-ai-artist`

## Description

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.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Take any Aseprite request end to end

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.

## Procedure

1. **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.

2. **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.

3. **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.

The rest: https://github.com/with-pebbly/aseprite-ai-artist/blob/HEAD/skills/studio/SKILL.md
