Skip to main content

json-formatter

JSON formatting rules for lore entity output. Enforces export-compatible JSON, plural collections, consistent IDs, and domain field names.

来源信息

仓库
bivex/loreSystem
最近来源活动
2026年3月21日 15:19
检测到的 SKILL.md 语言
英语
星标
0
分支
0

安装方式

默认使用会先检查来源的 Prompt;你也可以切换为直接命令,或下载本地副本。

检查来源文件

决定是否安装前,请先阅读 SKILL.md,以及 SkillsMP 当前展示的配套文件。

文件资源管理器
3 个文件

正在显示 SKILL.md

SKILL.md
来源说明 · 只读预览
name
json-formatter
description
JSON formatting rules for lore entity output. Enforces export-compatible JSON, plural collections, consistent IDs, and domain field names.
user-invocable
false
# json-formatter Base skill for JSON output formatting. All extraction skills produce JSON that can be loaded by the Lore GUI (`LoreData.from_dict`). ## Rules 1. **Valid JSON**: Output must be parseable JSON — no trailing commas, no comments. 2. **Export schema**: Use the GUI export format defined in `src/presentation/gui/lore_data.py`. 3. **Plural collections**: Each entity collection is a top-level key with a plural name and an array value (e.g., `worlds`, `characters`, `locations`). 4. **IDs are consistent**: Use integer IDs for GUI export collections. For entity types that use UUIDs in the domain model, use UUID strings consistently across references. 5. **Field names**: Use exact domain field names (snake_case). Do not invent `type` or `entity_type` unless that field exists in the domain model. 6. **Dates**: Use ISO 8601 strings for timestamps (`created_at`, `updated_at`, `start_date`, `end_date`). ## Output Structure (Export-Compatible) ```json { "worlds": [], "characters": [], "locations": [], "quests": [], "items": [], "events": [], "stories": [], "storylines": [], "tags": [], "images": [], "choices": [], "flowcharts": [], "handouts": [], "inspirations": [], "environments": [], "banners": [], "character_relationships": [], "factions": [], "shops": [], "maps": [], "notes": [], "requirements": [], "sessions": [], "tokenboards": [], "pity": [], "pulls": [], "player_profiles": [], "currencies": [], "rewards": [], "purchases": [], "event_chains": [], "faction_memberships": [], "lore_axioms": [], "music_controls": [], "music_states": [], "music_themes": [], "music_tracks": [], "progression_events": [], "character_states": [], "textures": [], "models": [], "next_id": 1 } ``` ## Required Fields (Core Entities) Use these minimum fields so JSON loads without validation errors: - **worlds**: `id`, `name`, `description`, `created_at`, `updated_at`, `version` - **characters**: `id`, `world_id`, `name`, `backstory`, `status`, `abilities`, `created_at`, `updated_at`, `version` - **locations**: `id`, `world_id`, `name`, `description`, `location_type`, `created_at`, `updated_at`, `version` - **quests**: `id`, `world_id`, `name`, `description`, `objectives`, `status`, `participant_ids`, `reward_ids`, `created_at`, `updated_at`, `version` If a field is unknown, set it to `null` or an empty list (for arrays), but keep the key.
在 GitHub 查看