Skip to content
Automation
Skill

/scene-prop-set

Generate non-pixel-art scene prop sets from one real source sheet and deliver fixed-slot AtlasTexture resources.

From plugin
godotmaker
51141 skills7 agents14 hooks
Install
$ npx -y skills add RandallLiuXin/GodotMaker --skill scene-prop-set --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/scene-prop-set

Context preview

The summary Claude sees to decide when to auto-load this skill.

Generate non-pixel-art scene prop sets from one real source sheet and deliver fixed-slot AtlasTexture resources.

SKILL.md

scene-prop-set.SKILL.md
name: scene-prop-set
description: Generate non-pixel-art scene prop sets from one real source sheet and deliver fixed-slot AtlasTexture resources.

Scene Prop Set Asset

Use this Skill for a set of standalone foreground props derived from a scene, map, stage reference, or an explicit scene brief. It produces usable prop resources only. It does not perform scene placement, PackedScene creation, TileMap editing, collision, navigation, scripts, and gameplay behavior are outside this Skill. Do not use it for pixel art, characters, UI, backgrounds, terrain, or generic compact pickup packs.

Contract

Accept the shared Asset Skill request schema at `.godotmaker/asset-runtime/schema/asset-skill-request.schema.json` with `asset_type: "scene-prop-set"`. Use the shared result schema and checker. This Skill can be invoked directly or by an orchestrator with the same contract. Do not read or write `ASSETS.md`, tags, stage state, or generated manifests. Read `.godotmaker/asset-runtime/asset-skill-contract.md` before producing a result; this family adds the source-sheet and atlas rules below.

`references` is optional. Without references, derive the visual direction and complete object list from the written brief. With references, every path must be a readable image, every declared role must be preserved, and the actual images must be supplied to the pinned provider. A path mentioned only in prompt text is not reference use. If the selected provider cannot attach a required image, return STOP. Never silently change `native`, `codex`, `gemini`, or `openai` to another provider. For Codex, call image generation with `referenced_image_paths` containing every readable local reference image.

Reject pixel-art requests. Request painted, illustrated, or rendered non-pixel-art source art. Do not use nearest-neighbor scaling or describe a normal image as pixel art after processing.

The family-specific `spec` is the exact fixed-slot declaration passed to `tools/asset_atlas_assemble.py --declaration` after source processing:

{
  "version": 1,
  "atlas": {"width": 512, "height": 256},
  "slots": [
    {"name": "market_stall", "rect": [0, 0, 144, 128], "source": ".godotmaker/asset-generation/normalized/market-stall/market_stall.png", "pivot": [0.5, 1.0]},
    {"name": "lantern_post", "rect": [160, 0, 64, 160], "source": ".godotmaker/asset-generation/normalized/market-stall/lantern_post.png", "pivot": [0.5, 1.0]}
  ]
}

Slot rectangles are explicit, positive, and non-overlapping `[x, y, width, height]` values. Their positions are never inferred or auto-packed. Autoslice is allowed only to discover separated source candidates before assembly; it must not invent semantic regions, merge touching props, or alter the declared atlas slots. No automatic packing is permitted. `asset_atlas_assemble.py` writes canonical lexicographic metadata region order; use it when compiling and reporting the resources. `source` names the already-normalized image that will fill the declared slot. `pivot` is optional and defaults to `[0.5, 0.5]`.

The shared physical atlas and metadata use stable paths:

res://assets/generated/scene-prop-set/<asset_id>/<asset_id>.png
res://assets/generated/scene-prop-set/<asset_id>/<asset_id>.json

Every declared logical prop receives one independent runtime resource:

res://assets/generated/scene-prop-set/<asset_id>/<logical_prop_id>.tres

Return one shared generic result with one `region_atlas` source and one `runtime` `AtlasTexture` output per declared slot. Output names exactly equal metadata region names. Internal processing reports and provenance remain sidecar evidence, never extra keys in the generic result.

Produce

1. Validate the request, provider, slot declaration, object names, and optional references before generation. A PackedScene request, unreadable required reference, unsupported provider attachment, contradictory request, or an invalid slot declaration is a real STOP. Do not ask the execution prompt to decide this outcome. 2. Generate one real provider source sheet for this `asset_id`, containing all requested props as visibly separated objects on a solid `#FF00FF` background. This is one image-generation attempt for the complete set, rather than separate per-slot provider calls. Require no text, labels, UI, actors, floor plane, grid lines, annotations, or watermarks. Keep the provider pixels unchanged at `.godotmaker/asset-generation/sources/<asset_id>_source.png`. 3. Record provenance through the pinned provider's controlled report or claim tool. For Codex, before the call write a one-item plan under `.godotmaker/asset-generation/` containing its exact project-relative `source_path`, **every** request reference as `{role, path}`, and `require_provider_trace: true` even when references is `[]`. After the one `image_gen` call, write its controlled generated-path report with `asset_id`, `generated_path`, `references`, and `provider_trace` containing provider, coding model, reasoning, image call identity, image-model identity, and the exact `referenced_image_paths` supplied to the call. Then run `python .godotmaker/asset-runtime/tools/codex_image_claim.py --plan ... --report ... --project-root . --out-report .godotmaker/asset-generation/reports/<asset_id>_source.json`. The resulting claim must retain those fields, including empty reference lists for a no-reference request. Never hand-write provider provenance or set `require_provider_trace` false for this family. For API-backed providers, use `tools/asset_source_generate.py --spec` with its controlled report path. 4. Use the raw source sheet directly with the owned deterministic processor:

   python tools/asset_sheet_process.py --source .godotmaker/asset-generation/sources/<asset_id>_source.png --out-dir .godotmaker/asset-generation/candidates/<asset_id> --names <declared-slot-names-in-reading-order>
Read more
Ships withgodotmaker

Autonomous text-to-game pipeline for Godot, powered by Claude Code,Codex,Opencode

Get the whole plugin