본문으로 건너뛰기
cccskills
무료GitHub에 공개

generate2dmap

Plan 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).

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

연동 도구OpenAIGemini
설치 방법 보기

포함된 파일(41)

  • SKILL.md11.5 KB
  • agents/openai.yaml513 B
  • references/background-scenes.md14.2 KB
  • references/engine-maps.md14.4 KB
  • references/hd2d-plates.md11.9 KB
  • references/hd2d-presentation.md9.8 KB
  • references/layered-map-contract.md21.3 KB
  • references/map-presets.md7.9 KB
  • references/map-strategies.md12.2 KB
  • references/parallax-backgrounds.md14.0 KB
  • references/prop-pack-contract.md15.0 KB
  • references/runtime/map-runtime.mjs81.1 KB
  • references/scene-preview.md14.6 KB
  • references/schemas/common.schema.json12.9 KB
  • references/schemas/map.schema.json128.5 KB
  • references/side-scroll-scenes.md14.3 KB
  • scripts/build_motion_mask.py46.3 KB
  • scripts/build_scene_preview.py93.5 KB
  • scripts/compose_layered_preview.py92.2 KB
  • scripts/conform_background.py25.4 KB
  • scripts/edit_locality_check.py27.0 KB
  • scripts/export_godot.py85.6 KB
  • scripts/export_ldtk.py51.4 KB
  • scripts/export_tiled.py45.5 KB
  • scripts/extract_platform_strip.py29.4 KB
  • scripts/extract_prop_pack.py63.2 KB
  • scripts/extract_scene_lights.py43.2 KB
  • scripts/extract_terrain_tiles.py54.1 KB
  • scripts/forge_av.py46.6 KB
  • scripts/forge_core.py78.3 KB
  • scripts/forge_matte.py71.6 KB
  • scripts/forge_nav.py95.5 KB
  • scripts/forge_schema.py26.1 KB
  • scripts/map_bundle.py82.3 KB
  • scripts/map_nav.py31.8 KB
  • scripts/scene_layout_guide.py22.0 KB
  • scripts/scene_motion.py54.4 KB
  • scripts/validate_chunks.py48.8 KB
  • scripts/validate_layout.py47.1 KB
  • scripts/validate_parallax.py29.4 KB
  • scripts/validate_stage.py62.3 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

Generate 2D Map

Build the smallest scene bundle the request needs, in the game's art, camera, renderer and data conventions. A background picture needs no game system; a playable map needs explicit geometry and data beyond a painting.

Use when

  • A playable map, level, room set, tilemap, terrain or prop kit, with collision and exits.
  • A parallax background, a battle, title or story backdrop, or an HD-2D plate with lights and motion.
  • Map data must be validated, previewed or exported to Tiled, Godot or LDtk.

Do not use when

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.

Art source

Image generation is the default for map art: terrain and tile sheets, prop kits, HD-2D plates, painted backgrounds and parallax layers. Map data (layout, collision, exits, spawns) is data you write and validate, not art. Record each asset's art_source (api, host_image, existing, or code only on request) and name the route in your reply. A route the user names explicitly wins.

  1. API, when a key is configured: OpenAI (OPENAI_API_KEY), Google Gemini (GEMINI_API_KEY), xAI (XAI_API_KEY), BytePlus Seedream (ARK_API_KEY) or fal.ai (FAL_KEY), in the environment or the user config file (route-media.md). The configured key is the owner's consent, so there is no per-call question.
  2. Local: your own image tool (Codex image_gen, Grok's native tool) when you have one, otherwise the user's signed-in Codex CLI, then Grok CLI.
  3. codeart2d (autotiles, layouts, stylized parallax, ambient loops) only when the user explicitly asks for code-drawn art, or when route_media.py prints no-route (exit 3). Then say "code-drawn, no image model".

Every image goes through one command: python "<skill-dir>/../generate2dmedia/scripts/route_media.py" image --prompt-file <txt> --reference <png> --size 1536x1024 --out-dir <new>; masked plate motion uses route_media.py video. Each prints one JSON line with route, artifact, sha256 and estimateUsd. Existing art the user supplies is always welcome. Never claim a generation that did not happen; keep the prompt and contract and report a missing capability.

Host notes

  • Codex: image_gen is your own image tool; with no configured key use it and look at results with view_image. An image this session made that is not in the project: python "<skill-dir>/../generate2dmedia/scripts/cli_media.py" adopt --codex-thread <thread-id> --output-dir <new>. codeart2d and generate2dmedia are explicit-only: open their SKILL.md when this one routes there.
  • Claude Code: no built-in image generator: route_media.py takes the API or the local CLIs. Look at every PNG you make with Read (debug overlays, previews); run tools with Bash; <skill-dir> is ${CLAUDE_SKILL_DIR}.
  • Grok: its native image and video tools are your own tools; use their real schema.

Commands

Run each tool as one line from the user's project root: python "<skill-dir>/scripts/<tool>.py" .... <skill-dir> is this skill's folder; sibling skills sit beside it (<skill-dir>/../codeart2d). Keep inputs and outputs inside the project. Every tool writes a new --output-dir (or a new --output file): it refuses an existing one, stages beside it and publishes only after its checks (--strict-qc / --strict publish nothing on failure). Success prints one JSON line; errors print error: ... and exit 1; usage errors exit 2. Needs Python 3.10+, numpy and Pillow (scipy recommended); ffmpeg 5.1+ for scene motion; node for the browser runtime. --help lists every flag.

Plan before art

Record viewport and logical resolution, world extent, origin, camera and zoom, actor scale and footprint, routes, landmarks, interactions, exits and render order. Source pixels are not world units: measure returned sizes and declare uniform scale and anchors. Choose by behaviour (map-strategies.md; starting values per genre in map-presets.md):

  • scene_mode: authored area, town or arena; terrain plus props and explicit geometry.
  • tile_mode / grid_mode: repeated or editable terrain or cell rules; tiles plus layer data.
  • room_chunk_mode: connected rooms from a shared kit with door sockets.
  • side_scroll_mode: side-view scenery or a playable platform stage with movement geometry.
  • baked_scene_mode: a complete battle, title or story picture, with optional hotspots or bounded motion.

Split objects only when interaction, depth, reuse, editing or motion needs it. Pixel art needs deliberate logical pixels and nearest scaling; HD-2D pairs pixel actors with painted plates and light.

Pipeline

Block out navigation, make art and kit, place it, validate the data, preview, then export. A playable map is a map_bundle.v2 (layered-map-contract.md).

NeedRoute
Props from a sheetextract_prop_pack.py --input <sheet> --rows R --cols C --labels a,b --output-dir <new> (--grid-rounding nearest, --auto-boxes, --boxes-file <json> --keep-canvas, --world-scale 3/8, --suggest-footprint ellipse); place by anchor_px (prop-pack-contract.md)
Terrain fills, overlays, iso or hex, Wang rowsextract_terrain_tiles.py --strict-qc (--layer overlay, --shape iso-diamond, --wang NAME=A/B:MASKS; --edge-policy seamless only for art meant to tile)
Platform caps and middlesextract_platform_strip.py --strict-qc (side-scroll-scenes.md)
Code-drawn autotiles, only on requestcodeart2d autotile_build.py (seam-proven tileset manifest), then the exporters
A code-drawn playable map, only on requestcodeart2d layout_build.py (writes map_bundle.v2), then map_nav.py check and the exporters
Draw order, contact anchors, placement auditcompose_layered_preview.py --base <png> --placements <json> --output <png> --report <json>; with --bundle <map_bundle.json> --debug-overlay --audit-out <json> look at both
Validate a playable mapmap_bundle.py validate --bundle <b> (map_bundle.py hash fills sha256), then map_nav.py check --bundle <b> --output-dir <new> (--link each neighbour); review nav-debug.png; map_nav.py query tests one spot or move
Walk the map, check every routebuild_scene_preview.py --bundle <b> --output-dir <new> --verify; attach scene-snapshot.json (scene-preview.md)
Exportexport_tiled.py export --bundle <b> --output-dir <new> (--embedded-variant for Phaser); export_godot.py --bundle <b> --output-dir <new>; export_ldtk.py --bundle <b> --output-dir <new> (engine-maps.md)
Room chunks; side-scroll grammarvalidate_chunks.py --chunks <json> --output-dir <new>; validate_layout.py --layout <json> --output-dir <new>
Parallaxvalidate_parallax.py --spec <plan> --report <qa.json> (declare camera.pivot and the aspects you ship); code-drawn layers on request: codeart2d parallax_build.py (parallax-backgrounds.md)
Fit a painting to the game size or floorconform_background.py conform --mode cover or --mode ground-fit; subjects on every screen aspect: conform_background.py validate-crops
HD-2D platehd2d-plates.md: plan stage.json, scene_layout_guide.py, generate with guide.png attached, then validate_stage.py --stage <json> --output-dir <new>; look at every layout-*.png
Lights, shadows, atmospherehd2d-presentation.md: extract_scene_lights.py extract --stage <json>, curate lights.json
Night, lit or damaged variant of a plateedit_locality_check.py --before <master> --after <variant> --stage <json> --edit-box <box>; regenerate on failure
Water, fire, mist or cloth on a still platebackground-scenes.md: build_motion_mask.py --envelope-from <clip>, scene_motion.py build, then scene_motion.py qa on the decoded file; code-drawn ripples or glow on request: codeart2d ambient_bake.py
Full-frame scene loopgenerate2dsprite assemble_frames.py (--static-regions, --loop-overlap K --ambient)
Collision and paths in a web gamereferences/runtime/map-runtime.mjs (same rules as map_nav.py)

Acceptance

  • A playable map is accepted only after map_bundle.py validate and map_nav.py check pass, and the build_scene_preview.py route check says ok: true for every route. map_nav proves reachability from data, not that collision matches the painted art.
  • Compose with a representative actor at game scale; check spawn clearance, collider versus canopy, reciprocal portal arrivals, joins, repeat seams and camera coverage.
  • With a plate the best stage status is needs-visual-review. Quote scene_motion.py qa numbers (decoded seam, frames, fps, keyint, bytes) before calling a loop seamless.
  • Native alpha must keep purple; an RGB checkerboard is not transparency. Test devices before claiming mobile performance.
  • Deliver originals and prompts with their provenance (route, model, estimateUsd), runtime assets and data, the preview and the checks run, with remaining limits.
  • Report every WARN or FAIL check verbatim (id, value, threshold, files) from each published QA envelope; never say "all checks passed" when any published envelope has a warn.

References

map-strategies.md, map-presets.md, layered-map-contract.md, prop-pack-contract.md, side-scroll-scenes.md, parallax-backgrounds.md, background-scenes.md, hd2d-plates.md, hd2d-presentation.md, scene-preview.md, engine-maps.md; data contracts in references/schemas/map.schema.json.

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

<What it does, one line>. Trigger phrases: <phrases>.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

gabrielmoreira/agent-skills-mirror192026년 10월 18일 업데이트

Use this skill whenever the user wants to create or improve a presentation for an academic context — conference papers, seminar talks, thesis defenses, grant briefings, lab meetings, invited lectures, or any presentation where the audience will evaluate reasoning and evidence. Triggers include: 'conference talk', 'seminar slides', 'thesis defense', 'research presentation', 'academic deck', 'academic presentation'. Also triggers when the user asks to 'make slides' in combination with academic content (e.g., 'make slides for my paper on X', 'create a presentation for my dissertation defense', 'build a deck for my grant proposal'). This skill governs CONTENT and STRUCTURE decisions. For the technical work of creating or editing the .pptx file itself, also read the pptx SKILL.md.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

gabrielmoreira/agent-skills-mirror192026년 10월 18일 업데이트

adapt

무료

Shortest English alias for web-adapt / universal-web-adaptation. Use this when adapting an unfamiliar public website generically before creating any site-specific rules.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

gabrielmoreira/agent-skills-mirror192026년 10월 18일 업데이트

Use this skill to audit CLI adapter projects (like opencli) for missing output fields, then batch-generate fixes and submit PRs. Turns AI agents into adapter quality reviewers.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

gabrielmoreira/agent-skills-mirror192026년 10월 18일 업데이트

ads

무료

Operate professional paid advertising across Google, Meta, YouTube, LinkedIn, TikTok, Microsoft, Apple, Amazon, Reddit, Pinterest, Snapchat, and X. Use for account intake, source-grounded audits, strategy, budget and measurement planning, creative production, experiments, reporting, monitoring, and explicitly approved campaign changes. Also trigger on PPC, paid social, retail media, attribution, tracking, landing pages, cross-platform conversion totals, negative keywords or search terms, beta-feature scoring, stale platform claims, API-token or credential setup, campaign deletion, and safe Claude Ads installation or uninstall.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

gabrielmoreira/agent-skills-mirror192026년 10월 18일 업데이트

Audit Amazon Ads profiles, regions, Sponsored Products, Sponsored Brands, Sponsored Display, DSP, portfolios, targeting, search terms, retail readiness, creative, budgets, ACOS, TACOS, reporting, and policy. Use for Amazon Ads, sponsored ads, Amazon PPC, ACOS, TACOS, ASIN advertising, Amazon DSP, or retail-media optimization.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

gabrielmoreira/agent-skills-mirror192026년 10월 18일 업데이트

gabrielmoreira의 스킬 모두 보기

이 스킬의 문제 신고