[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M7CWN8VRXJVSPF508MS90XPD":3,"skill-same:01M7CWN8VRXJVSPF508MS90XPD":97},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":15,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":19,"linkOnly":20,"markdownContent":21,"markdownBody":22,"frontMatter":23,"refName":27,"commitSha":28,"skillDirectory":29,"forksCount":30,"repositoryHtmlUrl":31,"repositoryHomepageUrl":32,"ownerHtmlUrl":33,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":34,"install":35,"resources":48},"01M7CWN8VRXJVSPF508MS90XPD","generate2dmap",null,"Generate production-oriented 2D game maps with `imagine_text_to_image`: RPG\u002Ftop-down maps, side-scroller parallax stages, tilemaps, layered raster maps, prop packs, collision zones, and walkable areas. Use when building browser games that need real map art (not pure code-drawn tiles), layered props, or map collision metadata. Triggers on \"map\", \"level\", \"stage\", \"tilemap\", \"overworld\", \"dungeon\", \"side scroller background\", \"prop pack\", \"2D map\".","appleid7899067-netizen\u002FPanupan22","appleid7899067-netizen","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F300236599?v=4","01M7CWK55DMWGCYFWE8A9R6RY2","01M7CWK563ZZ7ADJET0T99DQXD",1,"MIT","https:\u002F\u002Fgithub.com\u002Fappleid7899067-netizen\u002FPanupan22\u002Fblob\u002Fmain\u002F.grok\u002Fskills\u002Fgenerate2dmap\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fappleid7899067-netizen\u002FPanupan22\u002Fblob\u002Fmain\u002F.grok\u002Fskills\u002Fgenerate2dmap\u002FSKILL.md",[],[],"2026-11-15 14:19:17",false,"---\nname: generate2dmap\ndescription: >\n  Generate production-oriented 2D game maps with `imagine_text_to_image`: RPG\u002Ftop-down maps,\n  side-scroller parallax stages, tilemaps, layered raster maps, prop packs,\n  collision zones, and walkable areas. Use when building browser games that\n  need real map art (not pure code-drawn tiles), layered props, or map\n  collision metadata. Triggers on \"map\", \"level\", \"stage\", \"tilemap\",\n  \"overworld\", \"dungeon\", \"side scroller background\", \"prop pack\", \"2D map\".\nmetadata:\n  short-description: \"2D game maps: layered art, props, collision metadata\"\nuser-invocable: false\n---\n\n# Generate2dmap\n\n## App-builder \u002F Grok environment\n\n| Item | Value |\n| --- | --- |\n| Skill dir \u002F scripts | `.grok\u002Fskills\u002Fgenerate2dmap\u002F`, run as `python3 .grok\u002Fskills\u002Fgenerate2dmap\u002Fscripts\u002F\u003Cscript>.py …` |\n| Image tools | `imagine_text_to_image` \u002F `imagine_image_to_image` (path-based; see **`imagine`**); inspect output with `read_file` on the PNG path (not Codex view_image) |\n| Generated image path | `imagine_text_to_image` → sandbox `file_path` → copy into `assets\u002Fmap\u002F`; Pillow is preinstalled |\n| Default `engine_target` | `raw_canvas` or `Phaser` for this TanStack browser sandbox — only use Godot\u002FUnity\u002FTiled when the user explicitly wants those exports |\n| Related skills | **`generate2dsprite`** (character\u002FFX sprites; prop packs still use this skill's extract script), **`building-games`**, **`imagine`** |\n\n## Decide the pipeline first\n\nBuild the smallest playable map bundle that satisfies the game: choose a\nproduct-level `map_mode`, then the lower-level axes (`visual_model`,\n`runtime_object_model`, `collision_model`, `engine_target`).\n\n- `tile_mode` — editable tile\u002Fgrid maps: Pokemon-like routes, top-down RPG towns, platformer tilemaps, or any project already on Tiled\u002FLDtk\u002FGodot\u002FUnity\u002FPhaser tilemaps.\n- `scene_mode` — foundation base plus separate props: tower defense, survivors-like arenas, cozy top-down showcase maps.\n- `side_scroll_mode` — parallax side-scroller stages: Mega Man-like, action platformers, Metroidvania rooms, runners, brawlers.\n- `grid_mode` — rule-heavy grids: tactical RPGs, factory\u002Fautomation, board\u002Fcard battlers, build grids.\n- `room_chunk_mode` — modular rooms\u002Fchunks: roguelike dungeons, Metroidvania networks, procedural assembly.\n- `baked_scene_mode` — explicitly flat, non-playable scenes only: title\u002Fmenu screens, battle backdrops, visual-novel scenes, concept art.\n\nUse user-specified parameters when present; otherwise infer the lightest playable\npipeline from the existing game, camera, collision needs, map scale, and editing\nneeds. When mode and axes disagree, the mode's playable\u002Feditable contract wins.\nGenre routing, per-mode axis defaults, presets, and the escalation heuristic are in\n`references\u002Fmap-strategies.md` — read it whenever the choice is not obvious.\n\n**A playable map is never one baked image.** For any request implying a playable\nmap, level, stage, room, prototype, or engine scene, the deliverable must expose\ngameplay geometry and objects as separate layers, props, tile\u002Fobject data,\ncollision, zones, or engine-native scene nodes. A baked image may be a background,\nreference, or preview artifact — never the runtime map — unless the user\nexplicitly asked for a flat background only.\n\n**Scenes and maps only.** Do not generate character, enemy, boss, NPC, player,\nprojectile, or animation sprites here; those belong to `$generate2dsprite`. Maps\ncarry scene hooks (spawn markers, patrol\u002Fencounter zones, arena entrances, gates,\nexits, camera triggers) as **metadata**, not as drawn art.\n\n## Art comes from image generation, and you write the prompts\n\n- `imagine_text_to_image` is the default art source for base maps, parallax plates,\n  references, prop sheets, and tileset art. Default `art_style` is `clean_hd`\n  (hand-painted HD, sharp readable shapes, low texture noise, no chunky pixels);\n  use `pixel_inspired` or `retro_pixel` only when asked.\n- **Write every creative prompt yourself.** Scripts may assemble, slice,\n  chroma-key, crop, validate, compose previews, and emit JSON\u002Fengine files — never\n  write creative prompts or draw final art. Procedural\u002Fplaceholder art only when\n  the user explicitly asks for placeholders, fixtures, debug maps, or scaffolding.\n  With a tile engine target, generate the tileset art first, then script only the\n  layers, collision, zones, and scene wiring.\n- Save each prompt beside its asset as `\u003Casset>.prompt.txt` (or an explicit\n  manifest field) whenever the run creates new visual assets.\n- **A reference handoff is a file path, not a sentence.** To build on an earlier\n  image, pass its sandbox `file_path` to `imagine_image_to_image` (and `read_file`\n  it so you can see it), then name the concrete features to preserve: camera\n  framing, horizon, road\u002Fwater shapes, terrain boundaries, entrances\u002Fexits,\n  landmarks. A filename, \"based on the map\", or the image merely being visible in\n  conversation is **not** a handoff — stop and pass the path.\n\n## Keep runtime objects out of the base layer\n\nThe first generated base\u002Fbackground\u002Ffoundation image may hold only stable, non-interactive\nfoundation art — ground material, paths, roads, water, cliffs, floor patterns, lane\nmarkings and build pads; for side views sky, far\u002Fmid scenery, silhouettes, atmosphere; for\ntilemaps tileset art as editable layers. It must **not** contain tall props, buildings,\ntrees, rocks, crates, signs, doors, gates, pickups, chests, checkpoints, hazards, traps,\nturrets, ladders, foreground occluders, destructibles, actors, enemies, NPCs, UI, labels,\nor anything needing collision, interaction, reuse, y-sorting, animation, or its own render\norder — regenerate a foundation-only base, or demote such an image to a reference\nartifact.\n\n## Reference mockups are checkpoints, not deliverables\n\nDressed references (top-down) and stage references (side-view) plan placement in-world:\nnatural game-world objects or subtle blockout geometry, at most **9 distinct visible\nobject candidates** (repeats count once, then recur in placement metadata), **no\nannotation graphics** (circles, arrows, outlines, labels, text, callouts, legends,\nmeasurement lines), and no non-visual metadata — spawns, triggers, patrol hints, camera\nbounds are written later as scene hooks.\n\n**Having generated one, do not stop there.** Continue through\n`references\u002Fobject-production-gate.md`: re-`read_file` both images, build the object\nlist, generate the final separate objects, write placement \u002F collision \u002F scene-hook\nmetadata, compose the QA preview. Reference-only output is an incomplete run unless\nthe user explicitly asked for a concept image.\n\n## Depth for the pipeline you picked — open these before producing assets\n\n- Layered raster maps → `references\u002Flayered-map-contract.md` (layer types, base and\n  prop prompt patterns, prop metadata, render order, collision, QA checklist).\n- `side_scroll_mode` → `references\u002Fside-scroll-stages.md`: the `stage_canvas`\n  decision, the named scenery-only parallax layers, and the mandatory in-world\n  stage reference before any platform\u002Fobject work.\n- Any prop or scene-object generation → classify each object first, then follow\n  `references\u002Fprop-pack-contract.md`: only compact props may share a square prop\n  pack; platforms, floors, bridges, gates, buildings and anything collision-aligned\n  go one-by-one, as a platform strip, a custom wide pack, or tile\u002Fobject layers.\n- Parameters, the step-by-step workflow, and the `extract_prop_pack.py` \u002F\n  `compose_layered_preview.py` commands → `references\u002Fpipeline.md`.\n- Deliverable lists per pipeline and the validation checklist →\n  `references\u002Fdeliverables.md`; run both before calling a map done.\n","# Generate2dmap\n\n## App-builder \u002F Grok environment\n\n| Item | Value |\n| --- | --- |\n| Skill dir \u002F scripts | `.grok\u002Fskills\u002Fgenerate2dmap\u002F`, run as `python3 .grok\u002Fskills\u002Fgenerate2dmap\u002Fscripts\u002F\u003Cscript>.py …` |\n| Image tools | `imagine_text_to_image` \u002F `imagine_image_to_image` (path-based; see **`imagine`**); inspect output with `read_file` on the PNG path (not Codex view_image) |\n| Generated image path | `imagine_text_to_image` → sandbox `file_path` → copy into `assets\u002Fmap\u002F`; Pillow is preinstalled |\n| Default `engine_target` | `raw_canvas` or `Phaser` for this TanStack browser sandbox — only use Godot\u002FUnity\u002FTiled when the user explicitly wants those exports |\n| Related skills | **`generate2dsprite`** (character\u002FFX sprites; prop packs still use this skill's extract script), **`building-games`**, **`imagine`** |\n\n## Decide the pipeline first\n\nBuild the smallest playable map bundle that satisfies the game: choose a\nproduct-level `map_mode`, then the lower-level axes (`visual_model`,\n`runtime_object_model`, `collision_model`, `engine_target`).\n\n- `tile_mode` — editable tile\u002Fgrid maps: Pokemon-like routes, top-down RPG towns, platformer tilemaps, or any project already on Tiled\u002FLDtk\u002FGodot\u002FUnity\u002FPhaser tilemaps.\n- `scene_mode` — foundation base plus separate props: tower defense, survivors-like arenas, cozy top-down showcase maps.\n- `side_scroll_mode` — parallax side-scroller stages: Mega Man-like, action platformers, Metroidvania rooms, runners, brawlers.\n- `grid_mode` — rule-heavy grids: tactical RPGs, factory\u002Fautomation, board\u002Fcard battlers, build grids.\n- `room_chunk_mode` — modular rooms\u002Fchunks: roguelike dungeons, Metroidvania networks, procedural assembly.\n- `baked_scene_mode` — explicitly flat, non-playable scenes only: title\u002Fmenu screens, battle backdrops, visual-novel scenes, concept art.\n\nUse user-specified parameters when present; otherwise infer the lightest playable\npipeline from the existing game, camera, collision needs, map scale, and editing\nneeds. When mode and axes disagree, the mode's playable\u002Feditable contract wins.\nGenre routing, per-mode axis defaults, presets, and the escalation heuristic are in\n`references\u002Fmap-strategies.md` — read it whenever the choice is not obvious.\n\n**A playable map is never one baked image.** For any request implying a playable\nmap, level, stage, room, prototype, or engine scene, the deliverable must expose\ngameplay geometry and objects as separate layers, props, tile\u002Fobject data,\ncollision, zones, or engine-native scene nodes. A baked image may be a background,\nreference, or preview artifact — never the runtime map — unless the user\nexplicitly asked for a flat background only.\n\n**Scenes and maps only.** Do not generate character, enemy, boss, NPC, player,\nprojectile, or animation sprites here; those belong to `$generate2dsprite`. Maps\ncarry scene hooks (spawn markers, patrol\u002Fencounter zones, arena entrances, gates,\nexits, camera triggers) as **metadata**, not as drawn art.\n\n## Art comes from image generation, and you write the prompts\n\n- `imagine_text_to_image` is the default art source for base maps, parallax plates,\n  references, prop sheets, and tileset art. Default `art_style` is `clean_hd`\n  (hand-painted HD, sharp readable shapes, low texture noise, no chunky pixels);\n  use `pixel_inspired` or `retro_pixel` only when asked.\n- **Write every creative prompt yourself.** Scripts may assemble, slice,\n  chroma-key, crop, validate, compose previews, and emit JSON\u002Fengine files — never\n  write creative prompts or draw final art. Procedural\u002Fplaceholder art only when\n  the user explicitly asks for placeholders, fixtures, debug maps, or scaffolding.\n  With a tile engine target, generate the tileset art first, then script only the\n  layers, collision, zones, and scene wiring.\n- Save each prompt beside its asset as `\u003Casset>.prompt.txt` (or an explicit\n  manifest field) whenever the run creates new visual assets.\n- **A reference handoff is a file path, not a sentence.** To build on an earlier\n  image, pass its sandbox `file_path` to `imagine_image_to_image` (and `read_file`\n  it so you can see it), then name the concrete features to preserve: camera\n  framing, horizon, road\u002Fwater shapes, terrain boundaries, entrances\u002Fexits,\n  landmarks. A filename, \"based on the map\", or the image merely being visible in\n  conversation is **not** a handoff — stop and pass the path.\n\n## Keep runtime objects out of the base layer\n\nThe first generated base\u002Fbackground\u002Ffoundation image may hold only stable, non-interactive\nfoundation art — ground material, paths, roads, water, cliffs, floor patterns, lane\nmarkings and build pads; for side views sky, far\u002Fmid scenery, silhouettes, atmosphere; for\ntilemaps tileset art as editable layers. It must **not** contain tall props, buildings,\ntrees, rocks, crates, signs, doors, gates, pickups, chests, checkpoints, hazards, traps,\nturrets, ladders, foreground occluders, destructibles, actors, enemies, NPCs, UI, labels,\nor anything needing collision, interaction, reuse, y-sorting, animation, or its own render\norder — regenerate a foundation-only base, or demote such an image to a reference\nartifact.\n\n## Reference mockups are checkpoints, not deliverables\n\nDressed references (top-down) and stage references (side-view) plan placement in-world:\nnatural game-world objects or subtle blockout geometry, at most **9 distinct visible\nobject candidates** (repeats count once, then recur in placement metadata), **no\nannotation graphics** (circles, arrows, outlines, labels, text, callouts, legends,\nmeasurement lines), and no non-visual metadata — spawns, triggers, patrol hints, camera\nbounds are written later as scene hooks.\n\n**Having generated one, do not stop there.** Continue through\n`references\u002Fobject-production-gate.md`: re-`read_file` both images, build the object\nlist, generate the final separate objects, write placement \u002F collision \u002F scene-hook\nmetadata, compose the QA preview. Reference-only output is an incomplete run unless\nthe user explicitly asked for a concept image.\n\n## Depth for the pipeline you picked — open these before producing assets\n\n- Layered raster maps → `references\u002Flayered-map-contract.md` (layer types, base and\n  prop prompt patterns, prop metadata, render order, collision, QA checklist).\n- `side_scroll_mode` → `references\u002Fside-scroll-stages.md`: the `stage_canvas`\n  decision, the named scenery-only parallax layers, and the mandatory in-world\n  stage reference before any platform\u002Fobject work.\n- Any prop or scene-object generation → classify each object first, then follow\n  `references\u002Fprop-pack-contract.md`: only compact props may share a square prop\n  pack; platforms, floors, bridges, gates, buildings and anything collision-aligned\n  go one-by-one, as a platform strip, a custom wide pack, or tile\u002Fobject layers.\n- Parameters, the step-by-step workflow, and the `extract_prop_pack.py` \u002F\n  `compose_layered_preview.py` commands → `references\u002Fpipeline.md`.\n- Deliverable lists per pipeline and the validation checklist →\n  `references\u002Fdeliverables.md`; run both before calling a map done.\n",{"name":5,"metadata":24,"description":26,"user-invocable":20},{"short-description":25},"2D game maps: layered art, props, collision metadata","Generate production-oriented 2D game maps with `imagine_text_to_image`: RPG\u002Ftop-down maps, side-scroller parallax stages, tilemaps, layered raster maps, prop packs, collision zones, and walkable areas. Use when building browser games that need real map art (not pure code-drawn tiles), layered props, or map collision metadata. Triggers on \"map\", \"level\", \"stage\", \"tilemap\", \"overworld\", \"dungeon\", \"side scroller background\", \"prop pack\", \"2D map\".\n","main","454952fe8a4908d9d278197d5665af590797456f",".grok\u002Fskills\u002Fgenerate2dmap",0,"https:\u002F\u002Fgithub.com\u002Fappleid7899067-netizen\u002FPanupan22","https:\u002F\u002Fpanupan22.vercel.app","https:\u002F\u002Fgithub.com\u002Fappleid7899067-netizen","2026-09-23 18:47:18",{"source":8,"skillName":5,"commands":36,"prompt":46,"zipAvailable":47},[37,40,43],{"tool":38,"command":39},"npx","npx skills add appleid7899067-netizen\u002FPanupan22 --skill generate2dmap",{"tool":41,"command":42},"bunx","bunx skills add appleid7899067-netizen\u002FPanupan22 --skill generate2dmap",{"tool":44,"command":45},"pnpm","pnpm dlx skills add appleid7899067-netizen\u002FPanupan22 --skill generate2dmap","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fappleid7899067-netizen\u002FPanupan22\u002Fblob\u002Fmain\u002F.grok\u002Fskills\u002Fgenerate2dmap\u002FSKILL.md",true,[49,53,59,63,67,71,75,79,83,89,93],{"path":50,"resourceType":50,"resourceTypeDesc":51,"sizeBytes":52,"sourceHtmlUrl":15},"LICENSE","许可证",1065,{"path":54,"resourceType":55,"resourceTypeDesc":56,"sizeBytes":57,"sourceHtmlUrl":58},"references\u002Fdeliverables.md","REFERENCE","参考文档",7345,"https:\u002F\u002Fgithub.com\u002Fappleid7899067-netizen\u002FPanupan22\u002Fblob\u002Fmain\u002F.grok\u002Fskills\u002Fgenerate2dmap\u002Freferences\u002Fdeliverables.md",{"path":60,"resourceType":55,"resourceTypeDesc":56,"sizeBytes":61,"sourceHtmlUrl":62},"references\u002Flayered-map-contract.md",8102,"https:\u002F\u002Fgithub.com\u002Fappleid7899067-netizen\u002FPanupan22\u002Fblob\u002Fmain\u002F.grok\u002Fskills\u002Fgenerate2dmap\u002Freferences\u002Flayered-map-contract.md",{"path":64,"resourceType":55,"resourceTypeDesc":56,"sizeBytes":65,"sourceHtmlUrl":66},"references\u002Fmap-strategies.md",26755,"https:\u002F\u002Fgithub.com\u002Fappleid7899067-netizen\u002FPanupan22\u002Fblob\u002Fmain\u002F.grok\u002Fskills\u002Fgenerate2dmap\u002Freferences\u002Fmap-strategies.md",{"path":68,"resourceType":55,"resourceTypeDesc":56,"sizeBytes":69,"sourceHtmlUrl":70},"references\u002Fobject-production-gate.md",3192,"https:\u002F\u002Fgithub.com\u002Fappleid7899067-netizen\u002FPanupan22\u002Fblob\u002Fmain\u002F.grok\u002Fskills\u002Fgenerate2dmap\u002Freferences\u002Fobject-production-gate.md",{"path":72,"resourceType":55,"resourceTypeDesc":56,"sizeBytes":73,"sourceHtmlUrl":74},"references\u002Fpipeline.md",16554,"https:\u002F\u002Fgithub.com\u002Fappleid7899067-netizen\u002FPanupan22\u002Fblob\u002Fmain\u002F.grok\u002Fskills\u002Fgenerate2dmap\u002Freferences\u002Fpipeline.md",{"path":76,"resourceType":55,"resourceTypeDesc":56,"sizeBytes":77,"sourceHtmlUrl":78},"references\u002Fprop-pack-contract.md",9458,"https:\u002F\u002Fgithub.com\u002Fappleid7899067-netizen\u002FPanupan22\u002Fblob\u002Fmain\u002F.grok\u002Fskills\u002Fgenerate2dmap\u002Freferences\u002Fprop-pack-contract.md",{"path":80,"resourceType":55,"resourceTypeDesc":56,"sizeBytes":81,"sourceHtmlUrl":82},"references\u002Fside-scroll-stages.md",5627,"https:\u002F\u002Fgithub.com\u002Fappleid7899067-netizen\u002FPanupan22\u002Fblob\u002Fmain\u002F.grok\u002Fskills\u002Fgenerate2dmap\u002Freferences\u002Fside-scroll-stages.md",{"path":84,"resourceType":85,"resourceTypeDesc":86,"sizeBytes":87,"sourceHtmlUrl":88},"scripts\u002Fcompose_layered_preview.py","SCRIPT","脚本",5256,"https:\u002F\u002Fgithub.com\u002Fappleid7899067-netizen\u002FPanupan22\u002Fblob\u002Fmain\u002F.grok\u002Fskills\u002Fgenerate2dmap\u002Fscripts\u002Fcompose_layered_preview.py",{"path":90,"resourceType":85,"resourceTypeDesc":86,"sizeBytes":91,"sourceHtmlUrl":92},"scripts\u002Fextract_prop_pack.py",13050,"https:\u002F\u002Fgithub.com\u002Fappleid7899067-netizen\u002FPanupan22\u002Fblob\u002Fmain\u002F.grok\u002Fskills\u002Fgenerate2dmap\u002Fscripts\u002Fextract_prop_pack.py",{"path":94,"resourceType":55,"resourceTypeDesc":56,"sizeBytes":95,"sourceHtmlUrl":96},"SOURCE.md",303,"https:\u002F\u002Fgithub.com\u002Fappleid7899067-netizen\u002FPanupan22\u002Fblob\u002Fmain\u002F.grok\u002Fskills\u002Fgenerate2dmap\u002FSOURCE.md",[98,106],{"skillNo":99,"name":100,"nameZh":6,"description":101,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":102,"sourceHtmlUrl":103,"categories":104,"keywords":105,"publishedAt":19},"01M7CWQ9K4F8YJ183FVKHE9AZ5","video2dsprite","Grok Build only. Turn a 2D character still into denser animation sprites via imagine_text_to_image base → imagine_image_to_video (6s\u002F10s run-in-place) → ffmpeg frames → magenta chroma-key → dense sampled strips\u002Fgrids\u002FGIFs. Use when the user wants video-to-sprite, smoother run\u002Fwalk cycles, or denser intermediate poses. Prefer generate2dsprite for crisp production pixel sheets. Triggers on \"video to sprite\", \"imagine_image_to_video sprite\", \"dense walk cycle\", \"smooth run animation from video\".","https:\u002F\u002Fgithub.com\u002Fappleid7899067-netizen\u002FPanupan22\u002Fblob\u002Fmain\u002F.grok\u002Fskills\u002Fvideo2dsprite\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fappleid7899067-netizen\u002FPanupan22\u002Fblob\u002Fmain\u002F.grok\u002Fskills\u002Fvideo2dsprite\u002FSKILL.md",[],[],{"skillNo":107,"name":108,"nameZh":6,"description":109,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":110,"sourceHtmlUrl":111,"categories":112,"keywords":113,"publishedAt":19},"01M7CWNG7BDWNBS4FR7TZBR5EC","generate2dsprite","Generate and postprocess 2D game sprites and animation sheets: pixel-art characters, NPCs, creatures, spells, projectiles, impacts, props, summons, and transparent PNG\u002FGIF exports. Use when building browser games that need real sprite sheets (not code-drawn placeholders), matching a map art style, or producing magenta-background sheets for chroma-key cleanup. Triggers on \"sprite\", \"sprite sheet\", \"animation sheet\", \"pixel art character\", \"walk cycle\", \"attack animation\", \"projectile sprite\", \"2D game asset\".","https:\u002F\u002Fgithub.com\u002Fappleid7899067-netizen\u002FPanupan22\u002Fblob\u002Fmain\u002F.grok\u002Fskills\u002Fgenerate2dsprite\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fappleid7899067-netizen\u002FPanupan22\u002Fblob\u002Fmain\u002F.grok\u002Fskills\u002Fgenerate2dsprite\u002FSKILL.md",[],[]]