background-map
Generate and validate a fixed-viewport background, map base, or parallax plate as a ready-to-load Texture2D.
Produce a complete reusable flat-first Godot UI Theme from a binding visual reference, with two provider-generated source sheets, fixed square nine-slice patches, stable AtlasTexture icons, and native Theme bindings.
Claude Code
$ npx -y skills add RandallLiuXin/GodotMaker --skill ui-kit --agent claude-code
Codex
$ npx skills add RandallLiuXin/GodotMaker --skill ui-kit -a codex -y
Cursor
$ npx skills add RandallLiuXin/GodotMaker --skill ui-kit -a cursor -y
Gemini CLI
$ npx skills add RandallLiuXin/GodotMaker --skill ui-kit -a gemini-cli -y
GitHub Copilot
$ npx skills add RandallLiuXin/GodotMaker --skill ui-kit -a github-copilot -y
OpenCode
$ npx skills add RandallLiuXin/GodotMaker --skill ui-kit -a opencode -y
Windsurf
$ npx skills add RandallLiuXin/GodotMaker --skill ui-kit -a windsurf -y
name: ui-kit description: Produce a complete reusable flat-first Godot UI Theme from a binding visual reference, with two provider-generated source sheets, fixed square nine-slice patches, stable AtlasTexture icons, and native Theme bindings.
Produce one reusable visual system, not a page layout. The result gives a worker a complete Godot `Theme`, named `StyleBoxTexture` resources, and named `AtlasTexture` icons. Its reusable art covers button states, panels, tabs, and semantic icons. It does not create a composite screen, readable UI copy, characters, logos, gameplay geometry, or final `Control`/`Container` layout. Do not use it for card frames. Do not use it for portrait frames.
Read [references/theme-baseline.md](references/theme-baseline.md) and [references/source-sheet-scheme.json](references/source-sheet-scheme.json) before planning. They own the baseline controls, stable runtime names, two provider sheets, fixed patch geometry, and source-to-runtime reuse mappings. The caller's brief supplies visual direction; do not make it repeat this contract.
Accept the shared Asset Skill request schema at `.godotmaker/asset-runtime/schema/asset-skill-request.schema.json`; require `asset_type: ui-kit`, a pinned `provider` (`native`, `codex`, `gemini`, `openai`, `grok`, or `wan`), and at least one readable image in `references`. Preserve every reference `role`. Missing or unreadable references and pixel-art requests are input-gate STOP conditions.
Validate the returned document with the shared result schema and checker at `.godotmaker/asset-runtime/schema/asset-skill-result.schema.json` before family binding checks.
Attach every reference as real image input to both provider calls. The Codex route uses `referenced_image_paths`; other routes use their declared attachment mechanism. Never reduce a reference to prompt text or silently switch provider. Record provider, image model when exposed, coding model, reasoning, roles, absolute attached paths, call identity, prompt, and attempt in provenance. STOP before generation if the pinned route cannot attach every reference.
This skill can be invoked directly or by an orchestrator with the same contract. Do not read or write `ASSETS.md`, tags, stage state, generated manifests, stable entries, or worker dispatch state.
The caller owns pre-dispatch planning. Before invoking this skill it must write `theme_plan.json`, `source_sheet_plan.json`, `stylebox_plan.json`, and `theme_recipe.json` under `.godotmaker/asset-generation/work/<asset_id>/`, use them to finish the canonical request, and then freeze that request. Under `/gm-asset`, the manager performs this work. The producer consumes all five inputs read-only.
1. Read the visual rules stated in `brief` — for a UI kit they cover both the image style and the UI visual language — then read the caller-owned `.godotmaker/asset-generation/work/<asset_id>/theme_plan.json`. Do not inspect the references to derive a replacement plan. The plan records how those rules and pre-dispatch reference evidence resolve into this family's required tokens for this one request; it is a production artifact, never a reusable style source, and it never adds a rule the brief did not state. A pre-dispatch finding that a reference contradicts a stated rule is a STOP with a blocker naming the reference role, its path, and the rule. It contains:
`hand-painted fantasy illustration`, or `glossy mobile-game illustration`;
`text`, `text_muted`, `text_outline`, `surface`, `surface_raised`, `input`, `primary`, `secondary`, `danger`, `success`, `border`, `focus`, `selection`, and `shadow`;
`corner_radius_medium`, `corner_radius_large`, `border_width`, `content_margin`, `shadow_size`, `shadow_offset`, and `font_size`;
material language, plus the `brief` rules and the reference roles and paths each observation was derived from.
Write `rendering_medium` and your own added prompt language positively; do not author a pixel-art negation of your own. This does not license editing the caller's rules: a rule the `brief` states is carried as written even when it names pixel art. The Theme plan is a deterministic visual-system specification, not generated art.
2. Generate the deterministic source plan before dispatch. The caller owns this step with `asset_ui_source_sheet_plan.py`, using its planning request rather than the not-yet-created canonical request. During production, read its result at `.godotmaker/asset-generation/work/<asset_id>/source_sheet_plan.json`; do not regenerate or modify it after dispatch.
Both plan prompts carry the `brief` word for word — every selected design rule, `Do` / `Don't` entry, and UI visual-language rule reaches both provider calls as written. There is no exception: the plan never drops, rewrites, or reweights a carried rule, because a rule the caller selected and the provider never sees is a rule that was not applied. Its line structure is kept too, so a heading and each bullet stay separate rules instead of reflowing into one running sentence.
Naming pixel art in an image prompt can bias a provider toward it, so every carried rule that does so — whatever its phrasing — is recorded under `visual_direction.pixel_art_rule_notes` with `disposition: carried_verbatim`. Report those notes as a residual risk; do not treat them as permission to edit the rule. `rendering_medium` still states the medium positively in the same prompt.
Use the plan prompts unchanged. Make exactly two provider calls, attaching every reference to each call:
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 reusable compact-prop atlas from one provider source sheet, with independently loadable AtlasTexture resources for…
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…
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…