generate2dmap
generate2dmap is a skill in 0x0funky/agent-sprite-forge, last changed 6 Oct 2026. It can run shell commands, reach the network, name web addresses and bundle scripts — read the findings before installing. Our pattern check flagged nothing at commit 5324342 on 27 Oct 2026.
Pattern check: nothing flagged · commit 5324342 · 27 Oct 2026
InstallPlan and build 2D game maps and scenes - top-down and side-scrolling levels, tilemaps, prop packs, parallax backgrounds and HD-2D battle or story plates - with collision, navigation and reachability checks, environment motion, a playable HTML preview and export to Tiled, Godot 4 or LDtk. Map art (terrain, tiles, props, plates, parallax layers) is image generation by default, through generate2dmedia route_media.py (the API when a key is configured, else the local Codex or Grok CLI); map data (layout, collision, exits, spawns) is written as data. Use for any map, level, room, scene, background, terrain or prop-kit request. Not for characters, creatures, items or FX (generate2dsprite), character animation (video2dsprite), code-drawn tiles or maps (codeart2d, only on request) or calling an image or video API by itself (generate2dmedia).
- Licence
- MIT
- Repo stars
- 4.6k
- Folder last changed
- 6 Oct 2026 (opens in a new tab)
- Publisher
- 0x0funky
- Files
- 41 files
- Checked
- 5324342 (opens in a new tab) · 27 Oct 2026
Install
Each tab says whether it installs commit 5324342, the one we checked, or the latest version.
No tab for your agent? Use Any agent for OpenCode, Goose, Windsurf (Devin Desktop), Zed, Roo Code, Factory Droid, Junie, Amp and Antigravity, and Claude Code for Cline. Kiro needs the folder copied by hand.
Pinned to commit 5324342, the one we checked.
From your project's root folder:
tmp="$(mktemp -d)" &&
git clone -q --depth 1 --filter=blob:none --no-checkout https://github.com/0x0funky/agent-sprite-forge.git "$tmp" &&
git -C "$tmp" fetch -q --depth 1 origin 5324342fdfab72430f4e9604f3fe427009f8596d &&
git -C "$tmp" sparse-checkout set -- skills/generate2dmap &&
git -C "$tmp" checkout -q 5324342fdfab72430f4e9604f3fe427009f8596d &&
mkdir -p .claude/skills &&
mkdir .claude/skills/generate2dmap &&
cp -R "$tmp"/skills/generate2dmap/. .claude/skills/generate2dmap/ &&
rm -rf "$tmp"If Claude Code was already running and this created the skills folder, run /reload-skills.
Or install the agent-sprite-forge plugin it ships in. Installs the latest version, not the one we checked. Installs everything in the plugin, including any hooks, MCP servers and scripts our check doesn't cover.
claude plugin marketplace add 0x0funky/agent-sprite-forge --scope project &&
claude plugin install agent-sprite-forge@agent-sprite-forge --scope projectPinned to commit 5324342, the one we checked.
Skills in the Claude apps belong to your account rather than to a project.
Make generate2dmap.zip, with the skill folder at the top level:
tmp="$(mktemp -d)" &&
git clone -q --depth 1 --filter=blob:none --no-checkout https://github.com/0x0funky/agent-sprite-forge.git "$tmp" &&
git -C "$tmp" fetch -q --depth 1 origin 5324342fdfab72430f4e9604f3fe427009f8596d &&
git -C "$tmp" sparse-checkout set -- skills/generate2dmap &&
git -C "$tmp" checkout -q 5324342fdfab72430f4e9604f3fe427009f8596d &&
out="$(mktemp -d)" &&
cp -R "$tmp"/skills/generate2dmap "$out"/generate2dmap &&
(cd "$out" && zip -qr - generate2dmap) > generate2dmap.zip &&
rm -rf "$tmp" "$out"In Claude, open Customize > Skills, select +, then + Create skill > Upload a skill, and choose generate2dmap.zip.
On Free, Pro and Max plans, turn on Code execution and file creation (Create and edit files in newer settings) under Settings > Capabilities.
Pinned to commit 5324342, the one we checked.
From your project's root folder:
tmp="$(mktemp -d)" &&
git clone -q --depth 1 --filter=blob:none --no-checkout https://github.com/0x0funky/agent-sprite-forge.git "$tmp" &&
git -C "$tmp" fetch -q --depth 1 origin 5324342fdfab72430f4e9604f3fe427009f8596d &&
git -C "$tmp" sparse-checkout set -- skills/generate2dmap &&
git -C "$tmp" checkout -q 5324342fdfab72430f4e9604f3fe427009f8596d &&
mkdir -p .agents/skills &&
mkdir .agents/skills/generate2dmap &&
cp -R "$tmp"/skills/generate2dmap/. .agents/skills/generate2dmap/ &&
rm -rf "$tmp"Codex picks up new skills on its own; restart it if this one does not appear.
Pinned to commit 5324342, the one we checked.
From your project's root folder:
tmp="$(mktemp -d)" &&
git clone -q --depth 1 --filter=blob:none --no-checkout https://github.com/0x0funky/agent-sprite-forge.git "$tmp" &&
git -C "$tmp" fetch -q --depth 1 origin 5324342fdfab72430f4e9604f3fe427009f8596d &&
git -C "$tmp" sparse-checkout set -- skills/generate2dmap &&
git -C "$tmp" checkout -q 5324342fdfab72430f4e9604f3fe427009f8596d &&
mkdir -p .cursor/skills &&
mkdir .cursor/skills/generate2dmap &&
cp -R "$tmp"/skills/generate2dmap/. .cursor/skills/generate2dmap/ &&
rm -rf "$tmp"Pinned to commit 5324342, the one we checked.
From your project's root folder:
tmp="$(mktemp -d)" &&
git clone -q --depth 1 --filter=blob:none --no-checkout https://github.com/0x0funky/agent-sprite-forge.git "$tmp" &&
git -C "$tmp" fetch -q --depth 1 origin 5324342fdfab72430f4e9604f3fe427009f8596d &&
git -C "$tmp" sparse-checkout set -- skills/generate2dmap &&
git -C "$tmp" checkout -q 5324342fdfab72430f4e9604f3fe427009f8596d &&
mkdir -p .github/skills &&
mkdir .github/skills/generate2dmap &&
cp -R "$tmp"/skills/generate2dmap/. .github/skills/generate2dmap/ &&
rm -rf "$tmp"In a running Copilot CLI session, run /skills reload.
Or install it with gh skill, which also installs the commit we checked. Needs GitHub CLI 2.90 or later.
gh skill install 0x0funky/agent-sprite-forge skills/generate2dmap/SKILL.md@5324342fdfab72430f4e9604f3fe427009f8596d --agent github-copilot --scope projectPinned to commit 5324342, the one we checked.
From your project's root folder:
tmp="$(mktemp -d)" &&
git clone -q --depth 1 --filter=blob:none --no-checkout https://github.com/0x0funky/agent-sprite-forge.git "$tmp" &&
git -C "$tmp" fetch -q --depth 1 origin 5324342fdfab72430f4e9604f3fe427009f8596d &&
git -C "$tmp" sparse-checkout set -- skills/generate2dmap &&
git -C "$tmp" checkout -q 5324342fdfab72430f4e9604f3fe427009f8596d &&
mkdir -p .gemini/skills &&
mkdir .gemini/skills/generate2dmap &&
cp -R "$tmp"/skills/generate2dmap/. .gemini/skills/generate2dmap/ &&
rm -rf "$tmp"In a running session, run /skills reload.
Or use Gemini CLI’s own installer. Installs the latest version, not the one we checked.
gemini skills install https://github.com/0x0funky/agent-sprite-forge.git --path skills/generate2dmap --scope workspacePinned to commit 5324342, the one we checked.
Codex, Cursor, Copilot, VS Code, Gemini CLI, OpenCode, Goose, Amp and Zed all read .agents/skills; Claude Code and Kiro list only their own folders.
From your project's root folder:
tmp="$(mktemp -d)" &&
git clone -q --depth 1 --filter=blob:none --no-checkout https://github.com/0x0funky/agent-sprite-forge.git "$tmp" &&
git -C "$tmp" fetch -q --depth 1 origin 5324342fdfab72430f4e9604f3fe427009f8596d &&
git -C "$tmp" sparse-checkout set -- skills/generate2dmap &&
git -C "$tmp" checkout -q 5324342fdfab72430f4e9604f3fe427009f8596d &&
mkdir -p .agents/skills &&
mkdir .agents/skills/generate2dmap &&
cp -R "$tmp"/skills/generate2dmap/. .agents/skills/generate2dmap/ &&
rm -rf "$tmp"Or use the skills CLI from skills.sh. Installs the latest version, not the one we checked. The skills CLI reports installs to skills.sh unless you set DISABLE_TELEMETRY=1.
npx skills@1.7.4 add 0x0funky/agent-sprite-forge --skill generate2dmapWhat it can touch
From the files and frontmatter at commit 5324342. This is how much a skill can do, not whether it is risky.
What it can touch: Shell, network or credentials
Runs shell commands
Its instructions or files give the agent commands to run on your computer.
Reaches the network
It sends or fetches data over the internet, for example with curl, an HTTP library or a package install.
Names web addresses
It mentions outside web addresses the agent may visit. We list them but don't follow them.
Bundles scripts
The folder holds code files the agent may run.
Pattern check
Pattern check: nothing flagged · commit 5324342 · 27 Oct 2026
We checked every text file in this skill, at commit 5324342 on 27 Oct 2026, against 45 published patterns such as download-and-run commands, hidden text and credential access. We don't run the skill, we don't read the web pages it points to, and we can't judge everything its instructions might lead an agent to do. In published tests, pattern checks like this one missed most malicious skills. Read the skill before you install it — especially anything it asks you to download or run.
How the check worksReport an incorrect finding
Outside links we did not follow
- https://docs.godotengine.org/en/stable/tutorials/2d/2d_parallax.html
- https://docs.godotengine.org/en/stable/classes/class_parallax2d.html
- https://json-schema.org/draft/2020-12/schema
- https://raw.githubusercontent.com/0x0funky/agent-sprite-forge/main/shared/schemas/common.schema.json
- https://raw.githubusercontent.com/0x0funky/agent-sprite-forge/main/shared/schemas/map.schema.json
- https://ldtk.io/json
- https://ldtk.io/files/JSON_SCHEMA.json
- https://ldtk.io
Format check
Each agent reads SKILL.md a little differently. We check the file against each one's published rules; we don't run the skill in any agent.
Agent Skills specPasses with warnings
The open format from agentskills.io, held to what the strictest agents enforce, so one folder loads everywhere.
- Warning
Paths that may not work once the skill is installed: line 19: ../generate2dsprite/SKILL.md (outside the skill folder), line 19: ../video2dsprite/SKILL.md (outside the skill folder), line 20: ../codeart2d/SKILL.md (outside the skill folder), line 20: ../generate2dmedia/SKILL.md (outside the skill folder) and line 30: ../generate2dmedia/references/route-media.md (outside the skill folder). B6
Fix: Use forward-slash paths relative to SKILL.md, and copy shared files into the skill.
- Note
The first sentence of the description is 288 characters. Agents shorten long descriptions, so lead with the main job. D8
Fix: Start with one short sentence that names the job.
- Note
There is no license field, so readers can't tell whether they may reuse the skill. O2
Fix: Add license: with an SPDX name such as MIT or Apache-2.0, or the name of a bundled licence file.
- Note
Reference files over 100 lines with no table of contents at the top: references/background-scenes.md (137 lines), references/engine-maps.md (119 lines), references/hd2d-plates.md (123 lines), references/hd2d-presentation.md (126 lines), references/layered-map-contract.md (252 lines) and 4 more. B5
Fix: Add a short list of the sections at the top of each.
- Warning
Claude CodePasses with warnings
Claude Code reads its own extra fields, ignores unknown ones, and still loads a skill whose frontmatter is broken, without its fields.
- Warning
Paths that may not work once the skill is installed: line 19: ../generate2dsprite/SKILL.md (outside the skill folder), line 19: ../video2dsprite/SKILL.md (outside the skill folder), line 20: ../codeart2d/SKILL.md (outside the skill folder), line 20: ../generate2dmedia/SKILL.md (outside the skill folder) and line 30: ../generate2dmedia/references/route-media.md (outside the skill folder). B6
Fix: Use forward-slash paths relative to SKILL.md, and copy shared files into the skill.
- Note
The first sentence of the description is 288 characters. Agents shorten long descriptions, so lead with the main job. D8
Fix: Start with one short sentence that names the job.
- Note
Reference files over 100 lines with no table of contents at the top: references/background-scenes.md (137 lines), references/engine-maps.md (119 lines), references/hd2d-plates.md (123 lines), references/hd2d-presentation.md (126 lines), references/layered-map-contract.md (252 lines) and 4 more. B5
Fix: Add a short list of the sections at the top of each.
- Warning
Claude apps & API uploadPasses with warnings
Uploading to claude.ai or the Claude API, or packaging with Anthropic's script, accepts only the six spec fields and stops on anything else.
- Warning
Paths that may not work once the skill is installed: line 19: ../generate2dsprite/SKILL.md (outside the skill folder), line 19: ../video2dsprite/SKILL.md (outside the skill folder), line 20: ../codeart2d/SKILL.md (outside the skill folder), line 20: ../generate2dmedia/SKILL.md (outside the skill folder) and line 30: ../generate2dmedia/references/route-media.md (outside the skill folder). B6
Fix: Use forward-slash paths relative to SKILL.md, and copy shared files into the skill.
- Note
The description is 844 characters. The claude.ai Help Center says 200 at most, though Anthropic's API docs and validator allow 1,024. D4
Fix: If the claude.ai upload refuses it, trim the description to 200 characters.
- Note
Reference files over 100 lines with no table of contents at the top: references/background-scenes.md (137 lines), references/engine-maps.md (119 lines), references/hd2d-plates.md (123 lines), references/hd2d-presentation.md (126 lines), references/layered-map-contract.md (252 lines) and 4 more. B5
Fix: Add a short list of the sections at the top of each.
- Warning
OpenAI (Codex & API)Passes with warnings
Codex finds SKILL.md by its exact name and needs a description; OpenAI's Skills API checks the frontmatter against the spec and caps uploads.
- Warning
Paths that may not work once the skill is installed: line 19: ../generate2dsprite/SKILL.md (outside the skill folder), line 19: ../video2dsprite/SKILL.md (outside the skill folder), line 20: ../codeart2d/SKILL.md (outside the skill folder), line 20: ../generate2dmedia/SKILL.md (outside the skill folder) and line 30: ../generate2dmedia/references/route-media.md (outside the skill folder). B6
Fix: Use forward-slash paths relative to SKILL.md, and copy shared files into the skill.
- Note
The first sentence of the description is 288 characters. Agents shorten long descriptions, so lead with the main job. D8
Fix: Start with one short sentence that names the job.
- Warning
VS Code & CopilotPasses with warnings
VS Code reads skills one folder below .github/skills, .claude/skills or .agents/skills and falls back to the folder name when the name is missing or differs; GitHub's Copilot docs require the exact name SKILL.md.
- Warning
Paths that may not work once the skill is installed: line 19: ../generate2dsprite/SKILL.md (outside the skill folder), line 19: ../video2dsprite/SKILL.md (outside the skill folder), line 20: ../codeart2d/SKILL.md (outside the skill folder), line 20: ../generate2dmedia/SKILL.md (outside the skill folder) and line 30: ../generate2dmedia/references/route-media.md (outside the skill folder). B6
Fix: Use forward-slash paths relative to SKILL.md, and copy shared files into the skill.
- Warning
SKILL.md
Files
41 files
Show 21 more
More from 0x0funky/agent-sprite-forge
codeart2d
0x0funky/agent-sprite-forge
Explicit-only last resort. Draws game art from code, with no image model - pixel sprites from a PixelSpec, flat vector props, UI and icons from portable SVG, rigged characters with planted feet, FX with a JS runtime, seam-proven autotiles, playable top-down layouts with collision, stylized parallax and ambient plate motion - palette-exact, with QA and review sheets. Use only when the user explicitly asks for code-drawn art, or when generate2dmedia route_media.py finds no image or video route (no-route, exit 3). Never the default - image generation (generate2dsprite, generate2dmap, video2dsprite) comes first for characters, props, maps and FX. Not for painterly, detailed or likeness art, HD-2D plates or realistic fire, smoke or water. Always disclose the result as code-drawn.
- Runs shell commands
- Reaches the network
- +2 more
Pattern check: Nothing flaggedMIT · 4.6k repo stars · Updated 5 Oct 2026
generate2dmedia
0x0funky/agent-sprite-forge
The art-route layer of the Forge skills. route_media.py is the one command that generates an image or an image-to-video clip - through the paid API of any provider whose key is configured (OpenAI, Google Gemini, xAI, BytePlus ModelArk, fal.ai; the configured key is the owner's consent), else through the user's own signed-in Codex or Grok CLI - and prints one JSON line with the route, artifact, sha256 and cost estimate; with no route it answers no-route (codeart2d is then the last resort). Also the capability check (forge_doctor), API key configuration, the spend ledger, resume and Codex image adoption. Use when a Forge skill sends a generation here, for the capability check, or when the user asks about keys, routes or spend. Not for planning, processing or QA of sprites, video frames or maps (generate2dsprite, video2dsprite, generate2dmap) or for code-drawn art (codeart2d).
- Touches credentials
- Runs shell commands
- +3 more
Pattern check: Nothing flaggedMIT · 4.6k repo stars · Updated 6 Oct 2026
generate2dsprite
0x0funky/agent-sprite-forge
Make game-ready 2D characters, creatures, props, icons and FX as master stills, sprite sheets or animation clips. Plan size, motion and finish; generate the art (image generation is the default, through generate2dmedia route_media.py - the API when a key is configured, else the local Codex or Grok CLI); approve one master still per character; then key, slice, register, scale, palette, QA and export frames for a game engine (Aseprite JSON, Godot SpriteFrames or Sprite3D). HD finish by default, pixel finish on request. Character animation is one image-to-video clip per action from the master (video2dsprite); sheets are for FX, icons and props. Use for sprites, masters, sheets, frame-by-frame animation and packaging frames from any source. Not for maps, tiles or backgrounds (generate2dmap), video clips (video2dsprite), code-drawn art (codeart2d, only on request) or calling an image or video API by itself (generate2dmedia).
- Runs shell commands
- Reaches the network
- +2 more
Pattern check: Nothing flaggedMIT · 4.6k repo stars · Updated 6 Oct 2026
video2dsprite
0x0funky/agent-sprite-forge
Turn one approved master still into a character's whole animated sprite set - one image-to-video clip per action (idle, walk, run, attack, jump, hurt, cast and so on), all from that still, generated through generate2dmedia route_media.py (the xAI API when a key is configured, else the local Grok CLI) - then gate each take, key it with a soft matte, register it to the master, pick loops or retime actions, finish (HD by default, pixel on request) and package fixed-canvas frames, alpha WebM, packed MP4 for iPhone and a PNG fallback with engine metadata and a JS runtime. Also processes a supplied clip. Use for character and creature animation, fluid motion and any video-to-sprite work. Not for FX, icon or prop sheets (generate2dsprite), maps or plate loops (generate2dmap), code-drawn animation (codeart2d, only on request) or calling a video API by itself (generate2dmedia).
- Runs shell commands
- Reaches the network
- +2 more
Pattern check: Nothing flaggedMIT · 4.6k repo stars · Updated 6 Oct 2026