compact-prop-pack
Produce a reusable compact-prop atlas from one provider source sheet, with independently loadable AtlasTexture resources for every declared prop.
Install / Use
npx skills add RandallLiuXin/GodotMaker --skill compact-prop-packInstalls into whichever agent you are using.
SKILL.md
Installable skill definition
Quality Score
Category
Development & EngineeringSupported Platforms
Our assessment of compact-prop-pack
compact-prop-pack scores 86/100 on our quality scale, 1913th of 4,634 Development & Engineering skills we index (top 42%).
Its SKILL.md is 9.1 KB long, split into 6 sections with 2 code examples: a thorough specification that gives an agent plenty to work with.
It has 549 GitHub stars, a meaningful sign that others use it.
Maintenance, license and trust
- The repository was last updated 16 days ago, so compact-prop-pack is actively maintained.
- No license is declared. By default that means all rights are reserved: you can read it, but reusing or redistributing it is not clearly permitted. Ask the author before building on it commercially.
- Its trust signals score 88/100, with 1 caution from licensing, adoption, age or documentation. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.
compact-prop-pack compared with similar skills
All 4 of these similar skills score higher than compact-prop-pack; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| compact-prop-pack (this skill)by RandallLiuXin | 86 | 549 | 16d ago | SKILL.md |
| ai-job-searchby MadsLorentzen | 100 | 44.9k | today | CLAUDE.md |
| claude-howtoby luongnv89 | 100 | 41.7k | 3d ago | CLAUDE.md |
| LocalAIby mudler | 100 | 49.4k | today | MCP Server |
| algorithmic-artby anthropics | 100 | 177.9k | 11d ago | SKILL.md |
Frequently asked questions
- How do I install compact-prop-pack?
- Run
npx skills add RandallLiuXin/GodotMaker --skill compact-prop-pack. The install tabs above show the steps for each supported agent. - Which AI agents does compact-prop-pack work with?
- It is written for Universal, as a SKILL.md file. Other agents that read the same format can often use it too.
- Is compact-prop-pack safe to use?
- It declares no license and scores 88/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is compact-prop-pack still maintained?
- The repository was last updated 16 days ago, so compact-prop-pack is actively maintained.
Skill content
View source on GitHubname: compact-prop-pack description: Produce a reusable compact-prop atlas from one provider source sheet, with independently loadable AtlasTexture resources for every declared prop.
Compact Prop Pack
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.
Contract
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.
Provider and Reference Preconditions
Honor the request's provider exactly. Never silently switch among native,
codex, gemini, openai, or wan.
- With no
references, generate the one source sheet from the brief and declared item list. - With references, validate every path is readable before generation, preserve
its
canonical,style, orscreenrole in the trace, and pass each real image as provider image input. Passing a path only in text is not attachment. - For
codex, call the image provider with the actual reference files throughreferenced_image_paths; omit that parameter only when there are no references. Forgemini,openai, andwan, use the reference-input path oftools/asset_source_generate.py. If the pinned provider cannot accept a required reference image, STOP before output rather than changing provider. - For
native, use its declared native generation path. If that path cannot 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.
Production Loop
- 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.
- 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
#FF00FFbackground, and no text, labels, UI, floor plane, borders, or grid. Archive the raw provider PNG. - Process that sheet with
asset_sheet_process.py --snap-mode autoslice,--background magenta,--padding 2, and--min-component-area 100; never pass--gridto autoslice. The shared cleanup removes strict-key holes, then iteratively mattes a spill edge only when it matches a neighbouring foreground/background composite; it does not delete purple or blue-purple pixels merely for touching transparency. Write the cleaned transparent sheet using--processed-out, candidates, AABB report, and report JSON. Supply--namesin source-sheet reading order. A count mismatch returnsneeds_regenerationwith no candidate or processed-sheet output: inspect spacing, names, or source output and regenerate or repair instead of treating it as a final failure. - Curate the named candidates with
tools/asset_curation_select.py. Preserve the selection and rejection reasons. For every selected prop, calltools/asset_image_finalize.py --resize <slot_width>x<slot_height> --no-origininto its declarednormalized/source. The matte has already made the candidates transparent, so do not re-key the tight candidate crop here. This preserves aspect ratio, centers art, and adds transparent padding without writing a sharedassets/origin/<name>.png; do not resize the whole source sheet before slicing. - Assemble only the finalized sources with
asset_atlas_assemble.py. Its stable atlas and metadata must contain the exact declared regions. Compile every region independently through.godotmaker/asset-runtime/asset_compiler/atlas_texture.pywith onlymetadata_pathandlogical_asset_idas compiler spec. - Run
standalone_validation.compile_and_validate()for L0-L4. It verifies the exact declaration/result binding, decodable transparent RGBA atlas, per-slot visible content and transparent padding, no opaque magenta, native compilation, headless Godot loading, shared atlas path, exact regions, and zero margins. Read any diagnostic, repair the source, processing parameters, metadata, or artifact, then re-run the applicable checks. Mark ready only when every L0-L4 check passes.
Use the existing deterministic tools first. You may use a temporary image tool, drawing command, SVG/canvas, script, or Godot drawing to diagnose or repair a run when needed. Record its reason, command or code, inputs, outputs, modified files, diagnostics, and post-repair results in the trace. Tool names are not a STOP condition; invented provider calls, reference attachments, or validation evidence are.
Result registration
The standalone result remains free of tag and registration state. After L0-L4
passes, return the complete named AtlasTexture result. The fixed request slots
are its output contract; /gm-asset validates the result and atomically records
every prop in its matching ASSETS.md row.
Evidence and Result
Keep the raw source, transparent processed sheet, candidate/AABB report,
curation report, every finalized PNG/report, declaration, atlas, metadata,
compiled .tres files, source/provider report, command trace, and L0-L4
diagnostics. Before returning, serialize the exact shared request/result pair to
.godotmaker/asset-generation/<asset_id>-request.json and
.godotmaker/asset-generation/<asset_id>-result.json, and validate the result
with tools/asset_skill_contract_check.py --kind result. Return that checked
JSON byte-for-byte: outputs must be the complete array of one named
AtlasTexture per logical prop, never a prose count or summary. A real STOP
has no fake output or ready entry and states the actual blocking condition.
See samples/result/market-props.json for the shared atlas/result shape.
Related Skills
ai-job-search
44.9kThe job search that runs on your machine. AI job application framework built on Claude Code: evaluate postings, tailor CVs, write cover letters, prep interviews. Fork it and own it.
claude-howto
41.7kA visual, example-driven guide to Claude Code — from basic concepts to advanced agents, with copy-paste templates that bring immediate value.
LocalAI
49.4kLocalAI is the open-source AI engine. Run any model - LLMs, vision, voice, image, video - on any hardware. No GPU required.
algorithmic-art
177.9kCreating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems.
Languages
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.
