This skill should be used when starting a new adventure, creating player characters, building game worlds, or when playerRef/worldRef is null. Triggers include: "create a character", "make a new character", "roll up a character", "build a character sheet", "create my PC", "what characters do I have", "pick my character", "set up a new world", "design a world", "choose a world", "show me available worlds", "initialize my campaign", "start a new adventure".
This skill inherits all available tools. When active, it can use any tool Claude has access to.
references/file-structure.mdGuides the GM through setting up a character and world for a new adventure. Use this skill when playerRef and/or worldRef are null in the adventure state.
This skill is triggered when:
list_characters() and list_worlds()Use MCP tools to discover what exists:
list_characters()
Returns: Array of { slug, name } for characters in players/ directory.
list_worlds()
Returns: Array of { slug, name } for worlds in worlds/ directory.
Present choices based on what exists:
If characters exist:
"Welcome, adventurer! I see you have characters from previous adventures:
- [Character Name] (from [world/adventure context if known])
Would you like to continue with an existing character, or create someone new?"
If no characters exist:
"Welcome, adventurer! This appears to be your first journey. Let's create your character. What is your character's name?"
For world selection (similar pattern):
"Which world would you like to explore?
- [World Name] - [brief description if available]
- Create a new world"
Call set_character with is_new: true:
set_character({ name: "Kael Thouls", is_new: true })
This creates:
players/kael-thouls/sheet.md, state.md (with templates)playerRef in adventure state to "players/kael-thouls"Call set_character with is_new: false:
set_character({ name: "kael-thouls", is_new: false })
(Can use slug or display name)
Call set_world with is_new: true:
set_world({ name: "Eldoria", is_new: true })
This creates:
worlds/eldoria/world_state.md, locations.md, characters.md, quests.md (with templates)worldRef in adventure state to "worlds/eldoria"Call set_world with is_new: false:
set_world({ name: "eldoria", is_new: false })
After creating new entries, populate the markdown files with player-provided details.
Character files (sheet.md, state.md):
World files (world_state.md, locations.md, characters.md, quests.md):
For detailed file templates, see references/file-structure.md.
GM: "Welcome, adventurer! Let me check if you have any existing characters..."
[GM calls list_characters()]
GM: "This is your first adventure! Let's create your character. What name shall I call you?"
Player: "Call me Kael Thouls"
GM: "Kael Thouls - a strong name! And what world shall we explore? Shall I create a new realm for your adventures?"
[GM calls list_worlds()]
Player: "Yes, create a new world called Eldoria"
GM: "Excellent! Let me set everything up..."
[GM calls set_character({ name: "Kael Thouls", is_new: true })]
[GM calls set_world({ name: "Eldoria", is_new: true })]
GM: "Perfect! Now tell me about Kael - what race and class are they?"
[GM proceeds to populate sheet.md with player's answers]