npx claudepluginhub kyh/vibedgamesThis skill uses the workspace's default tool permissions.
Use this skill when the user wants to generate pixel-art images or animation sheets through Retro Diffusion, especially when the task involves reference-image-driven character work like side-view platformer walks, turnarounds, or action cycles.
Generates game-ready 2D pixel-art sprite sheets, transparent PNG frames, and animated GIFs from natural-language prompts using Codex agent planning, image generation, and local Python post-processing for background removal, frame splitting, and export.
Creates and manages pixel art sprite animations: adds, deletes, duplicates frames; sets durations; creates/deletes tags; links cels using Aseprite tools.
Creates pixel art sprites, animations, tilesets, and limited palettes emphasizing deliberate pixel placement and game context. Useful for retro, 8-bit/16-bit, and indie 2D game art.
Share bugs, ideas, or general feedback.
Use this skill when the user wants to generate pixel-art images or animation sheets through Retro Diffusion, especially when the task involves reference-image-driven character work like side-view platformer walks, turnarounds, or action cycles.
Retro Diffusion does not expose a provider-agnostic model marketplace. The important control is the prompt_style, and each style implies a specific asset contract:
The right way to use Retro Diffusion is:
input_imageBefore generating, ask:
prompt_style impose a fixed frame size?Core principles:
prompt_style is the mode selector, not just a flavor tweak.animation__four_angle_walking is a 48x48 workflow, animation__8_dir_rotation is 80x80, and advanced animations should match the starting frame size.input_image should be RGB with no transparency, and the prompt should describe the reference rather than assume the API will infer everything.return_spritesheet: true so downstream analysis stays deterministic.input_imagereference_imagesPOST https://api.retrodiffusion.ai/v1/inferencescheck_cost: truerd-pro-platformerrd-pro-editrd-pro-spritesheetrd-pro-pixelaterd-fast-character-turnaroundrd-plus-character-turnaroundrd-plus-isometricrd-plus-isometric-assetanimation-four-angle-walkinganimation-8-dir-rotationanimation-walking-and-idleanimation-any-animationanimation-battle-spritesrd-advanced-animation-walkingrd-advanced-animation-idlerd-advanced-animation-attackrd-advanced-animation-jumprd-advanced-animation-crouchrd-advanced-animation-custom-actionrd-advanced-animation-subtle-motionPOST https://api.retrodiffusion.ai/v1/inferencesX-RD-Token: YOUR_API_KEYRETRO_DIFFUSION_API_KEY or RD_API_KEYOutputs can include:
base64_imagesoutput_urlsbalance_costremaining_balanceAnimations normally come back as transparent GIFs. Add return_spritesheet: true when you want a PNG sheet instead.
For input_image:
scripts/prepare_reference_image.py)data:image/png;base64, prefixFor side-view platformer walks:
rd_advanced_animation__walking first when you already have a neutral starting framewidth and height equal to that starting frameframes_duration deliberately instead of taking the default32x32 to 64x64) tend to behave more reliably than large onesFor multi-direction walking presets:
animation__four_angle_walking and animation__walking_and_idle are 48x48 workflowsFor eight-direction turnaround experiments:
animation__8_dir_rotation first when you want a one-shot directional sheet80x80rd_pro__edit workflow:
reference_imagesPrompt like animation direction, not concept art copy:
Good Retro Diffusion prompt components for character animation:
For advanced animation prompts in particular:
300 characters when possibleAll scripts use PEP 723 inline metadata and can be run with uv run:
scripts/retro_inference_run.py
--check-cost)scripts/retro_experiment_matrix.py
scripts/prepare_reference_image.py
scripts/extract_rd_sheet_frames.py
uv run scripts/retro_inference_run.py \
--preset rd-advanced-animation-walking \
--prompt "Character side walk in place, facing right. Stable profile, no background." \
--input-image prepared-reference.png \
--out-dir output/ \
--filename-prefix walk-test
uv run scripts/retro_inference_run.py \
--preset rd-pro-platformer \
--prompt "A warrior character in pixel art style" \
--check-cost \
--out-dir output/ \
--filename-prefix cost-check
uv run scripts/prepare_reference_image.py \
--input sprite.png \
--output prepared.png \
--matte-color "#808080" \
--target-size 64 \
--trim-alpha
Create a JSON config:
{
"task_slug": "walk-comparison",
"prompt_file": "prompt.txt",
"batch_output": "output/batch-results.json",
"runs": [
{
"preset": "rd-advanced-animation-walking",
"input_image": "prepared.png",
"out_dir": "output/run-1",
"filename_prefix": "walk-adv",
"task_slug": "walk-adv",
"width": 64,
"height": 64,
"frames_duration": 8,
"return_spritesheet": true
}
]
}
uv run scripts/retro_experiment_matrix.py --config experiment.json
uv run scripts/extract_rd_sheet_frames.py \
spritesheet.png \
--frame 64x64 \
--out-dir frames/ \
--prefix walk
❌ Anti-pattern: comparing incompatible animation styles as if they were the same task
Why bad: a fixed 48x48 four-angle walker and a reference-driven advanced walking sheet are not equivalent outputs.
Better: compare them as different Retro Diffusion strategies, not as the same contract.
❌ Anti-pattern: feeding transparent RGBA sprites directly into input_image
Why bad: the docs say input_image should be RGB with no transparency.
Better: use scripts/prepare_reference_image.py to convert the input to RGB first.
❌ Anti-pattern: asking for "walk animation" without saying whether you want a GIF or spritesheet
Why bad: you may get a preview format that is harder to analyze downstream.
Better: request return_spritesheet: true when the goal is extraction or frame comparison.
❌ Anti-pattern: using verbose prompts with advanced animation modes
Why bad: the backend may internally expand the action text and hit a hidden 500-character validation limit.
Better: keep advanced-animation prompts minimal and literal.
❌ Anti-pattern: using oversized reference images with advanced animation styles
Why bad: larger references can cause instability or failures where compact ones succeed.
Better: downscale the reference to a compact square (e.g. 64x64) first, then try advanced animation.
❌ Anti-pattern: trusting animation__8_dir_rotation as the canonical turnaround path
Why bad: it can return server-side 500 errors even at the documented 80x80 size.
Better: keep it as a cheap first probe only, and rely on staged rd_pro__edit when you need a dependable turnaround workflow.
❌ Anti-pattern: ignoring the built-in frame-size contracts Why bad: some styles silently clamp or ignore your requested size. Better: choose the style because its size/output format fits the task.
❌ Anti-pattern: treating Retro Diffusion as a general-purpose video model Why bad: this API is about pixel-art image and animation sheet generation, not free-camera video. Better: use it for sprite-native outputs and compare those against video-derived workflows later.
❌ Anti-pattern: skipping cost checks on unfamiliar styles
Why bad: different styles have very different credit costs.
Better: always run with --check-cost first on a new style before committing to generation.
IMPORTANT: Do not converge on one Retro Diffusion mode for every sprite task.
RD_PRO, RD_FAST, RD_PLUS, and advanced animation styles based on the asset contractframes_duration deliberately for short attack vs longer walk testsreferences/api-and-styles.mdreferences/animation-workflows.mdassets/model-presets.jsonRetro Diffusion is strongest when you meet it on its own terms:
RD Pro Edit for dependable isometric turnaround work