Install any skill in seconds. Free to start, no credit card required.
Get Started Free →randallliuxin/tileset
Generate a fixed-profile terrain atlas and compile it into a native Godot TileSet.
Passed 12 of 16 test cases with the skill, and 4 of 16 without it.
and 19 more in the full report
12 fixed5 passed either way5 still failing0 broke
Tokens, turns and time describe resource use, not a dollar price.
One of 10 test cases the skill fixed. Same model, same prompt, with and without the skill.
What is the expected atlas grid dimension, reserved transparent slot location, and Godot terrain mode for the blob_47 autotile profile?
| Checked | Without skill | With skill |
|---|---|---|
| Uses an 8x6 atlas layout with slot (7,5) reserved as transparent | Missed | Passed |
| Configures Godot terrain mode to Match Corners and Sides | Passed | Passed |
The instructions your model reads when the skill loads.
Produce one reusable square TileSet from a real source atlas. This production path supports hand-painted, illustrated, or rendered terrain art. It is standalone: direct callers use the same request and result contract as callers higher in the pipeline.
Read and enforce .godotmaker/asset-runtime/asset-skill-contract.md and schema/request.schema.json. Read the caller input from ASSET_REQUEST.json. Accept only asset_type: "tileset", a stable asset_id, a concise brief, optional visible art references, and the typed family spec. The caller never supplies output paths, compiler recipes, profile coordinates, or processing commands. Return the deterministic runtime result at:
{
"asset_type": "tileset",
"outputs": [{"role": "runtime", "path": "res://assets/generated/tileset/<asset_id>/<asset_id>.tres", "godot_type": "TileSet"}],
"sources": [{"path": "res://assets/generated/tileset/<asset_id>/<asset_id>_atlas.png", "layout": "tile_atlas"}],
"previews": [],
"validation": {"passed": true, "levels": {"L0": true, "L1": true, "L2": true, "L3": true, "L4": true}}
}
Do not read or require tags, stage state, ASSETS.md, either generated
manifest, or any /gm-asset mode. Do not register outputs or decide worker dispatch. Those are caller responsibilities outside this skill.
Production supports exactly these versioned profiles:
| Profile | Atlas grid | Required painted slots | Godot terrain mode | Use when |
|---|---|---|---|---|
marching_squares_15 | 4x4 | 15; (0,0) remains transparent | Match Corners (1) | Rule-based roads, floors, walls, and simple boundaries |
blob_47 | 8x6 | 47; (7,5) remains transparent | Match Corners and Sides (0) | Natural ground, caves, shorelines, and detailed inner/outer corners |
spec.autotile_profile is required for declarative JSON. If an interactive caller asks for a TileSet without selecting it, ask whether the request needs simple rule-based boundaries for roads, floors, or walls, or detailed natural inner and outer corners for shorelines, caves, and irregular ground. Recommend one profile from the brief, then wait for a selection of marching_squares_15 or blob_47. If the caller cannot answer, STOP before provider work. Never guess, fall back, or accept another profile.
tools/asset_tileset_profile.py is the fixed source of truth for slot coordinates, edge signatures, and peering bits. Provider guides, final atlas validation, recipe generation, and compiler input must derive from that one implementation. Agents must not enumerate 15/47 cells or hand-write .tres resources.
The profile generator emits tile_size, margins, separation, terrain_sets, and peering_bits deterministically. Physics, navigation, and custom data may be declared in spec.semantic_metadata; they are applied only to named semantic roles such as foreground_full or foreground_isolated, never inferred from pixels. In blob_47, the no-peering-bit slot is the isolated current terrain, not a complete background tile. This Skill does not support animated TileSets, occlusion, or alternatives. Unknown or misspelled fields are rejected.
References are optional caller-provided visual inputs, never profile definitions. With references, resolve every res:// path against the project root, verify it is readable, preserve its canonical, style, or screen role, and attach the actual image to the selected provider. A textual path is not an attachment. If attachment fails, STOP. Use a style reference for its material, color, linework, and visual language; do not copy its unrelated scene composition.
test cases passed, vs 4 / 16 without
More skills from the same source and nearby in the registry, with their headline benchmark lift.