Sheet definitions

SkillDev tools

Lets your agent add or edit JSON definitions for spritesheet items, categories, credits, and layers.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the Sheet definitions skill

About this capability

Add or edit sheet_definitions JSON for items, categories, variants, credits, layers, or z-positions. Use when adding art, a new category, a credits entry, or renaming an asset. Copy a neighboring definition; do not invent keys.

What this skill tells your AI

The instructions your AI receives, as published by liberatedpixelcup/universal-lpc-spritesheet-character-generator in .agents/skills/sheet-definition/SKILL.md and read by ahel’s review.

Copy a neighboring JSON under sheet_definitions/. Do not invent a schema. Accepted fields: SheetDefinition in scripts/generateSources/items.ts. Human walkthrough and the credits example: CONTRIBUTING.md. Multi-layer example: tail_lizard.json.

Typical required keys: name, type_name, layer_1 (zPos plus body-type paths into spritesheets/), and credits[] (file, authors, licenses, urls; notes is optional).

type_name is the hash key and name supplies the Item half of the Item_variant hash value, so both are part of the URL contract — see catalog.

credits[].file must name the spritesheet file or one of its path-segment ancestors, not an arbitrary string prefix. searchCredit in credits.ts matches credit.file against the path exactly, against path + ".png", or against credit.file + "/", then retries after trimming at the last /. So arms/hands/ring covers arms/hands/ring/stud, but arms/hands/ri covers nothing. Failing to match logs missing credit after searching recursively and then throws missing credit inside ….

Existing category: add PNGs under spritesheets/ and the variant name on the matching definition (variants). Palette-backed items use recolors and do not add a PNG per color — follow Adding Palette Support, do not invent recolors keys.

New category: new JSON next to similar items.

Optional: animations restricts the animations filter; omit it for the default list. Asset renames need aliases on the destination definition and an issue first. Other keys (tags, replace_in_path, match_body_color, …) — copy a neighbor that already uses them.

Then npm run validate-site-sources and commit any dirty CREDITS.csv / z_positions.csv. CREDITS.csv is generate-only. z_positions.csv may be edited as a bulk aid; JSON is the source of truth (npm run z-positions:update writes the CSV back to JSON). The app reads generated dist/*-metadata.js, not the JSON directly; if a new item is invisible after npm run dev, see generated-metadata.

Signals

GitHub stars
2k
Forks
580
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
sheet-definition
Source
github.com/liberatedpixelcup/universal-lpc-spritesheet-character-generator