# Content data Data-driven definitions (skills, items, recipes, quests) validated in CI with **JSON Schema**. | Path | Purpose | |------|---------| | [`schemas/`](schemas/) | JSON Schema files (`*.schema.json`) | | [`skills/`](skills/) | Skill catalogs; each row matches [`schemas/skill-def.schema.json`](schemas/skill-def.schema.json) — **stable `id`**, **`allowedXpSourceKinds`** for [E2.M1](../docs/decomposition/modules/E2_M1_SkillDefinitionRegistry.md) / [E2.M2](../docs/decomposition/modules/E2_M2_XpAwardAndLevelEngine.md) | Server load path and hot-reload policy are TBD; keep files versioned here as the source of truth. **Validate locally** (same as PR gate): ```bash pip install -r scripts/requirements-content.txt python scripts/validate_content.py python scripts/check_decomposition_language.py ```