background-map
Generate and validate a fixed-viewport background, map base, or parallax plate as a ready-to-load Texture2D.
Produce a reusable compact-prop atlas from one provider source sheet, with independently loadable AtlasTexture resources for every declared prop.
Claude Code
$ npx -y skills add RandallLiuXin/GodotMaker --skill compact-prop-pack --agent claude-code
Codex
$ npx skills add RandallLiuXin/GodotMaker --skill compact-prop-pack -a codex -y
Cursor
$ npx skills add RandallLiuXin/GodotMaker --skill compact-prop-pack -a cursor -y
Gemini CLI
$ npx skills add RandallLiuXin/GodotMaker --skill compact-prop-pack -a gemini-cli -y
GitHub Copilot
$ npx skills add RandallLiuXin/GodotMaker --skill compact-prop-pack -a github-copilot -y
OpenCode
$ npx skills add RandallLiuXin/GodotMaker --skill compact-prop-pack -a opencode -y
Windsurf
$ npx skills add RandallLiuXin/GodotMaker --skill compact-prop-pack -a windsurf -y
name: compact-prop-pack description: Produce a reusable compact-prop atlas from one provider source sheet, with independently loadable AtlasTexture resources for every declared prop.
Produce a standalone atlas-backed pack of small reusable props: pickups, crates, stones, bushes, pots, debris, small signs, lamps, and environmental dressing. Use one provider source sheet for the whole requested pack; do not make one provider image request per prop. Do not use this Skill for platforms, terrain, buildings, doors, gates, large trees, or other wide, tall, collision-bearing assets. It produces assets only, never scene placement or gameplay objects.
This Skill can be invoked directly or by an orchestrator. It never reads or writes `ASSETS.md`, tags, stage state, or generated manifests.
Accept the shared Asset Skill request schema and shared result schema and checker from `.godotmaker/asset-runtime/asset-skill-contract.md` with `asset_type: "compact-prop-pack"`. The `spec` is the exact fixed-slot declaration consumed by `tools/asset_atlas_assemble.py --declaration`:
{
"version": 1,
"atlas": { "width": 192, "height": 64 },
"slots": [
{ "name": "coin", "rect": [0, 0, 32, 32], "source": "assets/generated/compact-prop-pack/market/normalized/coin.png" },
{ "name": "crate", "rect": [48, 0, 48, 48], "source": "assets/generated/compact-prop-pack/market/normalized/crate.png", "pivot": [0.5, 1.0] }
]
}Slot names are logical prop ids. Rectangles are explicit, positive, non-overlapping `[x, y, width, height]` values. `source` is the final, normalized project-relative PNG for that slot; it must have exactly the rectangle's width and height. The assembler does not resize, perform packing, trim, or infer semantics. It only copies these finalized files into declared slots.
Use these stable paths:
res://assets/generated/compact-prop-pack/<bundle_id>/<bundle_id>.png res://assets/generated/compact-prop-pack/<bundle_id>/<bundle_id>.json res://assets/generated/compact-prop-pack/<bundle_id>/<logical_prop_id>.tres
Return one `runtime` `AtlasTexture` output per declared slot, one `region_atlas` source for the physical PNG, and no registration fields. The request's fixed slots are the complete logical output declaration; the manager records every validated prop directly in its own `ASSETS.md` row.
Pixel-art production is not supported by this family. Do not use pixel-art prompts, nearest-neighbor resampling, or a pixelated filter to disguise ordinary illustration.
Honor the request's provider exactly. Never silently switch among `native`, `codex`, `gemini`, `openai`, `grok`, or `wan`.
the visual specification for this pack. References condition those rules and never outrank or extend them; a supplied reference that contradicts one of them is a STOP with a blocker naming the reference role, its path, and the rule.
declared item list.
its `canonical` or `style` role in the trace, and pass each real image as provider image input. Passing a path only in text is not attachment.
`referenced_image_paths`; omit that parameter only when there are no references. For `gemini`, `openai`, `grok`, and `wan`, use the reference-input path of `tools/asset_source_generate.py`. If the pinned provider cannot accept a required reference image, STOP before output rather than changing provider.
receive the required reference attachment, STOP before output.
Archive the raw provider sheet at `.godotmaker/asset-generation/sources/<bundle_id>_source.png` and write its source report at `.godotmaker/asset-generation/reports/<bundle_id>_source.json`. The report records `raw_source`, `reference_inputs`, and `provider_trace`. Each reference record has `role`, `path`, `sha256`, and `attached: true`; `provider_trace` records the actual coding provider/model/reasoning, `image_provider`, visible `image_model_identity` (or `not_exposed_by_subscription_runtime` when that is the runtime's truthful limit), provider tool-call id, and its real image-attachment field (for Codex, `referenced_image_paths`). Use these exact keys: `coding_provider`, `coding_model`, `reasoning`, `image_provider`, `image_model_identity`, `tool_call_id`, and `referenced_image_paths`. The call id must be the id emitted by the actual image-generation tool, not an invented label; each attached path must be the same real image passed to that call. With no references, retain an empty `reference_inputs` array. Include the actual prompt, payload claim, readable-file checks, and attachment provenance. Never fabricate any of those records.
1. Before any provider call, validate the request, declared slots, source paths, and reference inputs. Each logical prop name must satisfy the shared cross-platform safe-identifier rule (one non-reserved path segment; no separator, device name, control character, or trailing dot). STOP only for a missing or unreadable required input, an unsupported or contradictory request, a provider/reference attachment that is objectively unavailable, or an unrecoverable environment or permission error. 2. Make one real provider image request for a separated source sheet containing the whole ordered prop list. Specify shared style, lighting, perspective, plentiful gaps between objects, a solid `#FF00FF` background, and no text, labels, UI, floor plane, borders, or grid. Archive the raw provider PNG. 3. Process that sheet with `asset_sheet_process.py --snap-mode autoslice`, `--background m
Autonomous text-to-game pipeline for Godot, powered by Claude Code,Codex,Opencode
Generate and validate a fixed-viewport background, map base, or parallax plate as a ready-to-load Texture2D.
Produce reusable card art sources and native Godot card UI resources.
Produce one illustrated character SpriteFrames resource from high-level body-action intent, optional character and style…
Produce a standalone static Texture2D effect or one explicitly timed animated SpriteFrames effect.
Generate non-pixel-art, horizontally repeatable platform strips from real image sources as fixed Texture2D cells or AtlasTexture…
Generate and validate one character portrait for a UI display slot as a ready-to-load Texture2D.
Direct browser control via CDP for web interaction: automation, scraping, testing, screenshots, and site/app work. Also covers…
Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling…