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
آخر نشاط في المصدر
٢١ مارس ٢٠٢٦ في ١٥:١٩
لغة SKILL.md المكتشفة
الإنجليزية
النجوم
٠
التفرعات
٠

خيارات التثبيت

يُحدَّد 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