Install
$ agentstack add skill-jay6697117-agent-sprite-forge-codex-skill-generate2dsprite ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Generate2dsprite
Use this skill for self-contained 2D sprite or animation assets.
If the user wants a whole playable content pack, map, story, slideshow, or pack assembly, use generate2dgamepack.
Parameters
Infer these from the user request:
asset_type:player|npc|creature|character|spell|projectile|impact|prop|summon|fxaction:single|idle|cast|attack|hurt|combat|walk|run|hover|charge|projectile|impact|explode|deathview:topdown|side|3/4sheet:auto|1x4|2x2|2x3|3x3|4x4frames:autoor explicit countbundle:single_asset|unit_bundle|spell_bundle|combat_bundle|line_bundleeffect_policy:all|largestanchor:center|bottom|feetmargin:tight|normal|safeart_style: pixelart | cleanhd | pixelinspired | retropixel | map_style | project-nativereference:none|attached_image|generated_image|local_fileprompt: the user's theme or visual directionrole: only when the asset is clearly an NPC rolename: optional output slug
Read [references/modes.md](references/modes.md) when the request is ambiguous.
Agent Rules
- Decide the asset plan yourself. Do not force the user to spell out sheet size, frame count, or bundle structure when the request already implies them.
- Write the art prompt yourself. Do not default to the prompt-builder script.
- Use built-in
image_genfor every raw image. - When the user provides or implies a visual reference, use built-in image edit/reference semantics only after the reference image is visible in the conversation context. If the reference is a local file, call
view_imagefirst; do not rely on a filesystem path in the prompt as the visual reference. - Do not force pixel art when the asset is a map prop for
$generate2dmapor when the user/project requests a different style. Match the map or reference style first. - Use the script only as a deterministic processor: magenta cleanup, frame splitting, component filtering, scaling, alignment, QC metadata, transparent sheet export, and GIF export.
- Do not use scripts to generate the creative image prompt. If a legacy prompt-builder command exists, treat it as historical compatibility only, not the normal skill workflow.
- Treat script flags as execution primitives chosen by the agent, not user-facing hardcoded workflow.
- If a generated sheet touches cell edges, drifts in scale, or breaks a projectile / impact loop, either reprocess with better primitive settings or regenerate the raw sheet.
- Keep the solid
#FF00FFbackground rule unless the user explicitly wants a different processing workflow.
Workflow
1. Infer the asset plan
Pick the smallest useful output.
Examples:
- controllable hero with four directions ->
player+player_sheet - healer overworld NPC ->
npc+single_assetorunit_bundle - large boss idle loop ->
creature+idle+3x3 - wizard throwing a magic orb ->
spell_bundle - caster cast sheet
- projectile loop
- impact burst
- monster line request ->
line_bundle - plan 1-3 forms
- per form, make the sheets the request actually needs
2. Write the prompt manually
Use [references/prompt-rules.md](references/prompt-rules.md).
Choose art_style before writing the prompt:
- Use
pixel_artorretro_pixelfor classic sprites, 16-bit RPG actors, and requests that explicitly ask for pixel art. - Use
clean_hdfor map props or assets intended to match clean hand-painted HD maps. - Use
pixel_inspiredonly when the user wants a pixel-adjacent look without retro chunkiness. - Use
map_styleorproject-nativewhen an existing map, game, or reference should define the style.
If a reference is involved:
- Make the reference visible first. For local paths, use
view_image; for freshly generated references, rely on the image already shown in context. - State the reference role explicitly: preserve identity/style, create an animation sheet for the same subject, create an evolution/variant, or derive a matching prop/FX.
- Preserve the stable identity markers from the reference: silhouette, palette, face/eye features, costume marks, major accessories, and material language.
- Let only the requested action or evolution change. Do not redesign the subject unless the user asks.
- Still require exact sheet shape, solid magenta background, frame containment, and same scale across frames.
Keep the strict parts:
- solid
#FF00FFbackground - exact sheet shape
- same character or asset identity across frames
- same bounding box and pixel scale across frames
- explicit containment: nothing may cross cell edges
3. Generate the raw image
Use built-in image_gen.
After generation:
- find the raw PNG under
$CODEX_HOME/generated_images/... - copy or reference it from the working output folder
- keep the original generated image in place
4. Postprocess locally
Run scripts/generate2dsprite.py process on the raw image.
The processor is intentionally low-level. The agent chooses:
rows/colsfit_scalealignshared_scalecomponent_modecomponent_paddingedge_touchrejection strategy
Use the processor to gather QC metadata, not to make aesthetic decisions for you.
5. QC the result
Check:
- did any frame touch the cell edge
- did any frame resize differently than intended
- did detached effects become noise
- does the sheet still read as one coherent animation
If not, rerun with different processor settings or regenerate the raw sheet.
6. Return the right bundle
For a single sheet, expect:
raw-sheet.pngraw-sheet-clean.pngsheet-transparent.png- frame PNGs
animation.gifprompt-used.txtpipeline-meta.json
For player_sheet, expect:
- transparent 4x4 sheet
- 16 frame PNGs
- direction strips
- 4 direction GIFs
For spell_bundle or unit_bundle, create one folder per asset in the bundle.
Defaults
idle- small or medium actor ->
2x2 - large creature or boss ->
3x3 cast-> prefer2x3projectile-> prefer1x4impact/explode-> prefer2x2walk- topdown actor ->
4x4for four-direction walk - side-view asset ->
2x2 - use
shared_scaleby default for any multi-frame asset where frame-to-frame consistency matters - use
largestcomponent mode when detached sparkles or edge debris make the main body unstable
Resources
references/modes.md: asset, action, bundle, and sheet selectionreferences/prompt-rules.md: manual prompt patterns and containment rulesscripts/generate2dsprite.py: postprocess primitive for cleanup, extraction, alignment, QC, and GIF export
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: jay6697117
- Source: jay6697117/agent-sprite-forge-codex-skill
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.