Agent Sprite Forge is a Codex-oriented workflow for producing reusable 2D game assets such as sprite sheets, map layers, transparent PNG frames, and animated GIFs. It supports game developers working with Godot, Unity, or other 2D workflows by combining image generation with local processing, asset validation, and engine-ready exports, and its catalogue skills provide the workflow.
Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add 0x0funky/agent-sprite-forge --skill video2dspritegit clone --depth 1 https://github.com/0x0funky/agent-sprite-forgeWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/0x0funky/agent-sprite-forge/video2dsprite)<a href="https://agentmods.dev/skills/0x0funky/agent-sprite-forge/video2dsprite"><img src="https://agentmods.dev/badge/skills/0x0funky/agent-sprite-forge/video2dsprite/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/0x0funky/agent-sprite-forge/video2dsprite"><img src="https://agentmods.dev/badge/skills/0x0funky/agent-sprite-forge/video2dsprite.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00215 | $0.03982 |
| Opus 5.5 | $0.00086 | $0.01593 |
| Sonnet 5.5 | $0.00043 | $0.00796 |
| Haiku 4.5 | $0.00021 | $0.00398 |
Grade A, and why
video2dsprite scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 19d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
Copies of this mod
1 near-identical copy found in the catalogue:
- video2dsprite — 100% identical, 0 lines differ
How it starts
The opening of the file, as written. The whole thing — 109 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Video to 2D Animation
An approved still sets identity and geometry, a video model supplies motion, and deterministic tools prepare it for the engine. Video is not promised to be smaller, seamless or cheaper than sheets.
Use when
- Animating a character or creature: every action comes from one approved master still, one clip per action.
- Fluid motion from an accepted master: idle breathing, walks, runs, attacks, casts, hair, capes, creatures.
- A supplied clip must become transparent, registered, looped frames and engine video.
Do not use when
- FX, icon or prop sheets: generate2dsprite.
- Water, fire or mist inside a still scene plate: generate2dmap. Only an API or CLI call: generate2dmedia.
- Code-drawn animation the user asked for: codeart2d.
Capability check (once per session)
Run python "<skill-dir>/../generate2dmedia/scripts/forge_doctor.py" --host-tools <tools> --save <output>/doctor.json, where <tools> lists the media tools in your own tool list (image_gen, image_edit, image_to_video) or none. Its ROUTES block shows which API keys are configured (yes or no), the local readiness and the resolved order. If encoding.stdout fails, set PYTHONUTF8=1. python "<skill-dir>/scripts/video2dsprite.py" doctor checks ffmpeg (5.1+, VP9 alpha round trip).
Art source
The master still comes from generate2dsprite (image generation, approved by the user) or from the user. Motion is image-to-video, one clip per action from that master; record the route as art_source and name it in your reply:
- API, when a key is configured: xAI Grok Imagine Video (
XAI_API_KEY), BytePlus Seedance (ARK_API_KEY) or fal.ai (FAL_KEY: Kling v3, Veo 3.1, Luma Ray 3.2, MiniMax H3, Wan 3.0, Vidu Q3, LTX) (route-media.md). The configured key is the owner's consent, so there is no per-call question.--last-frame <still>pins idle and attack clips to end on their first pose. - Local: your own image-to-video tool (Grok's native
image_to_video) when you have one, otherwise the user's Grok CLI in ACP mode (it cannot pin a last frame; the result sayslastFrameUsed). - A clip the user supplies (no account needed).
- codeart2d only when the user explicitly asks for code-drawn animation, or when
route_media.pyprintsno-route(exit 3); otherwise prepare the job and prompt, explain the gap, and never invent a successful generation.
What ships with it
29 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- agents/openai.yaml 495 B
- references/animation-review.md 11 KB
- references/finishing.md 19 KB
- references/matte.md 11 KB
- references/motion-prompts.md 15 KB
- references/packed-alpha-runtime.js 2.8 KB runs code
- references/pipeline.md 17 KB
- references/prompt-rules.md 9.1 KB
- references/runtime/forge-runtime.mjs 38 KB runs code
- references/runtime/packed-alpha-webgl.mjs 21 KB runs code
- references/schemas/common.schema.json 13 KB
- references/schemas/video.schema.json 48 KB
- references/sprite-set.md 20 KB
- scripts/animation_review.py 31 KB runs code
- scripts/colour_lock.py 25 KB runs code
- scripts/engine_export.py 108 KB runs code
- scripts/finish_frames.py 116 KB runs code
- scripts/forge_av.py 47 KB runs code
- scripts/forge_core.py 78 KB runs code
- scripts/forge_matte.py 72 KB runs code
- scripts/forge_palette.py 70 KB runs code
- scripts/forge_schema.py 26 KB runs code
- scripts/gait_loop.py 104 KB runs code
- scripts/prepare_i2v_input.py 46 KB runs code
- scripts/register_clip.py 103 KB runs code
- scripts/retime.py 46 KB runs code
- scripts/sprite_set.py 176 KB runs code
- scripts/validate_animation.py 40 KB runs code
- scripts/video2dsprite.py 97 KB runs code
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 19d ago Changed · -97 lines · +91 tokens per session 5c14c84df107
- 1mo ago First seen · 206 lines · 124 tokens per session scan A d6d5a642dc10
video2dsprite is a skill published in the GitHub repository 0x0funky/agent-sprite-forge (4,572 stars, last pushed 20d ago), licensed MIT. It adds 215 tokens to every session and 3,982 once invoked, about $0.0009 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
img2blockbench
Reconstruct a Minecraft-style creature, character, prop, or vehicle concept as a native Blockbench model using an optional provider-selected 3D mesh, agent vision, and deterministic compilation. Use when Codex should turn PNG, JPEG, or WebP artwork, optionally accompanied by a textured GLB or GLTF from any image-to-3D…
pyxel
Build, debug, and verify games made with Pyxel, the retro game engine for Python. Use whenever a task creates, changes, tests, or reviews a Pyxel game, or asks for a retro Python game that should use Pyxel. Do not use for other engines or general Python work.
Pixel Art Exporter
Export sprites to PNG, GIF, or spritesheet formats with JSON metadata for game engines. Use when the user wants to "export", "save", "output", "render", "generate", "create file", mentions file formats like "PNG", "GIF", "animated GIF", "spritesheet", "sprite sheet", "texture atlas", "tile sheet", or game engine…
Pixel Art Professional
Apply advanced pixel art techniques including dithering, palette optimization, shading, antialiasing, and color theory. Use when the user mentions "dithering", "dither", "Bayer", "Floyd-Steinberg", "palette", "colors", "reduce colors", "optimize palette", "color limit", "shading", "shadows", "highlights", "lighting"…
Pixel Art Creator
Create new pixel art sprites from scratch with canvas creation, layer management, and basic drawing primitives. Use when the user wants to create a sprite, draw pixel art, make a new canvas, start a new image, begin a new project, or mentions pixel dimensions like "64x64", "32x32 sprite", "128 by 128", "16 pixel…
Pixel Art Animator
Create and manage sprite animations with multiple frames, animation tags, frame durations, and linked cels. Use when the user wants to animate a sprite, add animation, create movement, make it move, mentions "animation", "animated", "frames", "keyframes", "frame rate", "FPS", "timing", "duration", "walk cycle", "run…