Generated metadata
SkillDev toolsLets your agent diagnose missing or stale build metadata caches when a project's generated files or catalogs resolve incorrectly.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Generated metadata skill
About this capability
Diagnose missing or stale dist/*-metadata.js, the Vite metadata plugin cache, and the ../name-metadata.js import alias. Use when dist/ is missing, a catalog resolves nothing, a spec fails only locally, or editing the Vite metadata plugin. Do not hand-edit dist/ or add another metadata module.
What this skill tells your AI
The instructions your AI receives, as published by liberatedpixelcup/universal-lpc-spritesheet-character-generator in .agents/skills/generated-metadata/SKILL.md and read by ahel’s review.
Vite writes five modules to dist/: index-, palette-, item-,
credits-, and layers-metadata.js. Source code imports them as
../<name>-metadata.js, never as a dist/ path. See
Generated metadata and the dist alias.
A resolve failure means dist/ was never built. After a fresh clone, run
npm run dev or npm run build once before specs, ZIP profiles, or
seedCatalogWithGeneratedContext. profile:app starts Vite itself.
The plugin fingerprints sheet_definitions/, palette_definitions/, and
scripts/generateSources/ under .cache/ (gitignored). If the fingerprint
matches and dist/index-metadata.js exists, generation is skipped. A
generator emit change without a definition change used to reuse stale
dist/. Symptoms: a seeded catalog resolves nothing, not-found for an
item you just added, or a spec that passes for someone else.
Force the full pipeline:
VITE_REGENERATE_SOURCES=1 npm run dev
Deleting .cache/ has the same effect. Details:
File Generation.
After changing emit (scripts/generateSources/), run npm run metadata:size
and npm run metadata:size:check. The check is the CI budget (item raw
500 KiB, item + index pair 600 KiB). Raising a budget is deliberate.
Do not hand-edit dist/ or add a sixth metadata module.
Intern tables
Emitted index-metadata.js stores shared tables; item-metadata.js stores
indices. registerIndexMetadata / registerItemMetadata expand them.
| Table | Indexed by | Restores |
|---|---|---|
variantArrays | per-item v | ItemLite.variants |
recolorVariantArrays | per-item r | recolors[0].variants |
paletteArrays | per-recolor p | recolors[].palettes |
Emitted lite has v / r / p and omits the expanded arrays/maps. Not
emitted on lite: licenses, tags, required_tags, excluded_tags,
priority (credits chunk / sheet JSON / generator tree sort).
Signals
- GitHub stars
- 2k
- Forks
- 580
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
generated-metadata- Source
- github.com/liberatedpixelcup/universal-lpc-spritesheet-character-generator