SKILL.md
SpriteCook Generate Sprites
Use this skill for still-image generation. Pair it with spritecook-workflow-essentials for credits, manifests, safe downloads, and shared defaults.
Requires: SpriteCook MCP server connected to your editor. Set up with npx spritecook-mcp setup or see spritecook.ai.
For a complete UI screen or cohesive UI system, stop and use spritecook-build-ui-kits instead. The UI-kit workflow creates one coherent concept before extracting reusable controls and states. Keep generategameart(mode="ui") for one isolated icon, badge, button, control, divider, frame, or decoration.
Tool
generategameart
Generate game art assets from a text prompt. Supports both pixel art and detailed/HD styles. Returns a job immediately by default; follow the returned poll.tool and poll.arguments until the assets are ready. Pass wait_seconds only when an explicit bounded wait is useful.
| Parameter | Type | Default | Description |
|---|---|---|---|
prompt |
string (required) | - | What to generate. Be specific about subject, pose, and view angle |
width |
int | 64 | Width in pixels (16-512) |
height |
int | 64 | Height in pixels (16-512) |
variations |
int | 1 | Number of variations (1-4) |
pixel |
bool | true | True for pixel art, false for detailed/HD art |
bg_mode |
string | "transparent" | "transparent", "white", or "include" |
theme |
string | null | Art theme context, e.g. "dark fantasy medieval" |
style |
string | null | Style direction, e.g. "16-bit SNES style" |
aspect_ratio |
string | "1:1" | "1:1", "16:9", or "9:16" |
smart_crop |
bool | true | Auto-crop to content bounds |
smartcropmode |
string | "tightest" | Use "tightest" by default. Use "powerof2" only when explicitly requested |
model |
string | null | Optional generation model. Call listgenerationmodels for current options and costs. |
mode |
string | "assets" | "assets", "texture", or "ui". Use "ui" only for one isolated UI asset; use spritecook-build-ui-kits for screens or systems. |
resolution |
string | "1K" | "1K", "2K", or "4K" |
quality |
string | "medium" | GPT-Image-2 quality tier: "low", "medium", or "high". Higher quality costs more credits. |
colors |
string[] | null | Hex color palette, max 64 |
styleassetids |
string[] | null | Owned asset IDs to use as ambient style guide images, max 10 |
referenceassetid |
string | null | Asset ID to use as one specific visual/context reference |
editassetid |
string | null | Asset ID to edit/modify with the new prompt |
wait_seconds |
int | 0 | Optional bounded wait from 0-90 seconds before returning the polling contract |
Referenced assets must belong to the user's account. styleassetids can be combined with either referenceassetid or editassetid. Do not combine referenceassetid and editassetid.
If the user provides local image file paths for these references, use spritecook-upload-assets first and pass the returned asset IDs into the appropriate reference field.
Reference Roles
- Use
styleassetidsfor style guide images: ambient style, palette, proportions, rendering, and art-direction context. This is the normal choice when generating a new related asset that should match an existing collection, such as giving three existing buildings as style guides before asking for a new building type. SpriteCook already treats these images as style references; mention them in the prompt only when the user wants a specific trait called out. - Use
referenceassetidwhen one specific asset is the source or context for the prompt, such asmake a building in a similar style to this one,give me just the door sprite, oruse this character as the visual reference. - Use
editassetidwhen the user wants a direct modification of one existing asset, such asmake this roof red,remove the sign, orchange the helmet color.
listgenerationmodels
List available still-image generation models, pixel-art support, reference-image limits, supported quality options, and SpriteCook credit costs per image. Call this when choosing a model or when the user asks what models/costs are currently available.
listcharacterworkflows
List guided pixel-art character perspectives, default animation ids, source-view/prep requirements, frame counts, and credit estimates.
Perspectives and preset animations:
| Perspective | Defaults | Presets |
|---|---|---|
platformer |
idle, walk, jump |
idle, walk, jump, run, attack, hurt, death |
isometric |
idle, walkdown, walkright |
idle, idleback, walkdown, walkright, jumpback, jumpfront, rundown, run_right, attack, hurt, death |
topdown |
idle, walkup, walkright, walk_down |
idle, idleback, idleright, walkup, walkdown, walk_right, attack, hurt, death |
generate_character
Generate a base pixel-art character with SpriteCook's recommended character settings: 64x64, transparent background, 1K square, tight smart crop, and the perspective-specific character prompt rewrite. Returns a job immediately by default; when complete, the first generated asset is the character_id.
| Parameter | Type | Default | Description |
|---|---|---|---|
prompt |
string (required) | - | Character description |
perspective |
string (required) | - | platformer, isometric, or topdown |
model |
string | null | Optional generation model. Call listgenerationmodels for current options and costs. |
quality |
string | "medium" | GPT-Image-2 quality tier: "low", "medium", or "high" |
wait_seconds |
int | 0 | Optional bounded wait from 0-90 seconds before returning the polling contract |
generatecharacteranimations
Generate preset and/or custom animations for a base character asset. Returns a character-animation run immediately by default; follow the returned polling contract until canonical assets entries are ready.
| Parameter | Type | Default | Description |
|---|---|---|---|
character_id |
string (required) | - | Base character asset id returned by generate_character |
perspective |
string (required) | - | Same perspective used for the base character |
animation_ids |
string[] | perspective defaults | Preset ids from listcharacterworkflows |
custom_animations |
object[] | null | Custom animations with { id, label, prompt, sourceview, outputframes } |
bgremovalprovider |
string | "basic" | basic or photoroom |
wait_seconds |
int | 0 | Optional bounded wait from 0-90 seconds before returning the polling contract |
Custom animations use the custom prompt as the final animation prompt and skip preset prompt enhancement. sourceview defaults to frontidle; if another source view needs prep, SpriteCook uses the matching workflow prep dependency for that perspective.
Example custom animation:
{
"label": "Spin Attack",
"prompt": "Spin in place with a quick sword slash, looping cleanly.",
"source_view": "right_walk",
"output_frames": 8
}
checkcharacteranimation_run
Check a guided character animation run by id. Returns run status, item statuses, canonical generated assets, prep state, failures, and credits.
Async Result Contract
- Follow the returned
poll.toolwith its exactpoll.arguments; usecheckjobstatusfor jobs andcheckcharacteranimation_runfor character-animation runs. - Treat
operationidas the generic operation identifier while retainingjobidorrun_idfor the matching poll tool. - On success, use each asset's
assetidandspriteurl. Usespritesheet_urlonly when an animation also provides a spritesheet. - If a successful response contains
warning.code="assetoutputunavailable", execute the suppliedwarning.recoverytool call instead of searching arbitrary nested URL fields.
Working Style
- Be specific about subject, pose, camera/view angle, and key materials.
- Call
listgenerationmodelswhen current model names, pixel-art support, quality options, or credit costs matter. - When the user asks to use a saved preset, use
listpresetsandgetpresetsettingsfirst, then map the returned prompt, style, model, size, color, and reference guidance intogenerategame_art. - Use
listcharacterworkflows,generatecharacter, andgeneratecharacter_animationswhen the user wants a directly usable animated character set. - Route menus, HUDs, inventories, dialogs, settings screens, overlays, and other complete UI compositions to
spritecook-build-ui-kits. - Default to pixel art unless the user asks for HD, detailed, smooth, realistic, or high-res output.
- When the user wants the same character or item in multiple outputs, generate one canonical still asset first and reuse that asset ID.
- Use
styleassetidsfor follow-up generations that should keep the same visual style, especially when a preset returnssettings.reference.styleAssetIds. - Use
referenceassetidwhen the prompt depends on one specific visual/context reference asset. - Use
editassetidwhen directly modifying one existing SpriteCook asset. - Do not generate multiple independent still variations when the real goal is one consistent character plus later animations.
- Prefer
smartcropmode="tightest"unless the user explicitly asks for"powerof2".
Consistency Rules
- For a motion set like idle, walk, attack, or hurt: generate the base character once, then animate that exact
asset_idseparately for each motion. - For asset variations that should stay recognizably the same design, prefer
editassetidfor direct modification orstyleassetidsfor style guidance over a brand-new unreferenced generation. - Only skip a reference when the user explicitly wants different designs to explore.
Pixel Art vs Detailed Art
Pixel art (pixel: true, default):
- Crisp hard edges, no anti-aliasing, visible pixel grid
- Automatic pixel-perfect post-processing for clean grid alignment
- Best for retro games, indie games, and 8-bit/16-bit projects
Detailed/HD art (pixel: false):
- Smooth gradients, fine detail, anti-aliased edges
- Higher fidelity output without pixel grid constraints
- Best for HD 2D games, concept art, and marketing assets
Choose based on the game's art direction. When the user does not specify, default to pixel art.