worldbuilding
This skill should be used when the user asks to "create a location", "add a location", "magic system", "political system", "build the world", "add culture", "world history", "technology system", "religion", "economy", or wants to develop any aspect of a story's world and setting.
Install
npx skills add https://github.com/danjdewhurst/story-skills/tree/main/skills/worldbuilding
claude plugin marketplace add https://llmmart.ai/marketplace.json && claude plugin install danjdewhurst-story-skills@llmmart
git clone https://github.com/danjdewhurst/story-skills.git
The skills CLI installs just this skill, for any of its supported agents. Claude Code installs the whole danjdewhurst/story-skills collection as a plugin from our marketplace. Git is the plain clone.
Skill manifest
Worldbuilding
Overview
Create and manage world elements for a story project. Locations, systems (magic, politics, technology, etc.), factions, and artifacts are stored as markdown files in the worldbuilding/ directory with YAML frontmatter. All elements cross-reference characters and other story elements.
Prerequisites
A story project must already exist (created via the story-init skill). Verify by checking for story.md in the project root.
Creating a Location
- Read
story.mdfor genre, era, and tone context - Read
worldbuilding/_index.mdfor existing locations and systems - Ask for the location's name and type (city, fortress, wilderness, etc.)
- Build the location through conversation, covering:
- Physical description and atmosphere
- History relevant to the story
- Culture and customs of inhabitants
- Notable features characters will interact with
- Current state at story's timeline
- Write the file using
references/location-template.md - Save to
worldbuilding/locations/{name-kebab}.md - Update
worldbuilding/_index.mdlocations table - If notable characters are listed, verify those character files exist and add this location's kebab-case identifier to each character file's
locationsfrontmatter list - When CLI access is available, run
story reindex .,story links ., andstory validate .
Creating a System
- Read
story.mdfor genre and themes context - Read
worldbuilding/_index.mdfor existing systems - Identify the system type and consult
references/world-element-types.mdfor the relevant prompts - Build the system through conversation, addressing the key questions for that type
- Write the file using
references/system-template.md - Save to
worldbuilding/systems/{name-kebab}.md - Update
worldbuilding/_index.mdsystems table - Cross-reference with characters who interact with the system (e.g., magic-users for a magic system)
- When CLI access is available, run
story reindex .,story links ., andstory validate .
Creating A Faction
Use story add faction "{Faction Name}" --type "{family|guild|government|military|religion|company|community|criminal|other}" when the CLI is available. Otherwise create worldbuilding/factions/{name-kebab}.md with frontmatter fields name, type, status, members, locations, and tags.
Cover:
- Purpose and ideology
- Power base, resources, and territory
- Important members
- Conflicts and pressure points
Then:
- Save to
worldbuilding/factions/{name-kebab}.md - Update the Factions table in
worldbuilding/_index.md - If members are listed, verify those character files exist
- When CLI access is available, run
story reindex .,story links ., andstory validate .
Creating An Artifact
Use story add artifact "{Artifact Name}" --type "{object|weapon|document|technology|relic|symbol|resource|other}" when the CLI is available. Otherwise create worldbuilding/artifacts/{name-kebab}.md with frontmatter fields name, type, status, owner, location, and tags.
Cover:
- Description and recognition details
- Function, constraints, and costs
- History and prior owners
- Current owner/location state
Then:
- Save to
worldbuilding/artifacts/{name-kebab}.md - Update the Artifacts table in
worldbuilding/_index.md - If an owner or location is listed, verify those files exist and cross-reference back
- When CLI access is available, run
story reindex .,story links ., andstory validate .
Updating World Elements
- Read the existing file
- Make the requested changes
- If cross-references changed, update the linked files
- Update
worldbuilding/_index.mdif name, type, or status changed - When CLI access is available, run
story reindex .,story links ., andstory validate .
Cross-Referencing
- Locations reference characters via
notable-charactersin frontmatter - Characters reference locations via
locationsin frontmatter - Factions reference character members and locations
- Artifacts reference an owner character or faction and a current location
- Systems reference practitioners via character tags
- When a location is used in a chapter, the chapter's frontmatter
locationsfield links back - Keep the
worldbuilding/_index.mdworld overview section current as elements are added
CLI Maintenance
Use the Story CLI when it is available. If story is not installed, use bun run story -- from the Story Skills repository checkout or the bundled fallback node ../story-maintenance/scripts/story.js with the same arguments, resolving the path relative to this skill folder. If no CLI is available, perform the registry, backlink, and word-count checks manually.
Reference Files
references/location-template.md- Template for location filesreferences/system-template.md- Template for system filesreferences/faction-template.md- Template for faction filesreferences/artifact-template.md- Template for artifact/object filesreferences/world-element-types.md- Detailed prompts for each system type (magic, political, technology, religion, economic, military, social)
Files (story-skills)
-
references
-
artifact-template.md 663 B
# Artifact Template Use this template when creating an artifact file at `worldbuilding/artifacts/{artifact-name-kebab}.md`. ```yaml --- name: "{Artifact Name}" type: {object|weapon|document|technology|relic|symbol|resource|other} status: {active|lost|destroyed|hidden|transferred|unknown} owner: {character-or-faction-kebab} location: {location-kebab} tags: - {tag-1} --- ``` ## Description What the artifact looks like and how readers recognize it. ## Function What it can do, what it cannot do, and what it costs. ## History Origin, prior owners, and story-relevant events. ## Current State Current owner, location, condition, and unresolved risks. -
faction-template.md 644 B
# Faction Template Use this template when creating a faction file at `worldbuilding/factions/{faction-name-kebab}.md`. ```yaml --- name: "{Faction Name}" type: {family|guild|government|military|religion|company|community|criminal|other} status: {active|hidden|declining|defeated|disbanded|unknown} members: - {character-kebab} locations: - {location-kebab} tags: - {tag-1} --- ``` ## Purpose What this faction wants and why it exists. ## Power Base Resources, influence, territory, legitimacy, secrets, rituals, or leverage. ## Members Important members and their roles. ## Conflicts Internal divisions and external opposition. -
location-template.md 1.5 KB
# Location Template Use this template when creating a new location file at `worldbuilding/locations/{location-name-kebab}.md`. ```yaml --- name: "{Location Name}" type: "{location-type, e.g. city, district, wilderness, submerged-ruin}" region: "{Parent Region}" population: {number or estimate} controlled-by: {character-kebab or faction} notable-characters: - {character-kebab} tags: - {tag-1} - {tag-2} status: "{location-status, e.g. thriving, declining, strained, exposed, unknown}" --- ``` `type` and `status` are free-form descriptive strings, not a closed set. Use the validator truth: any kebab-case or plain value passes `story validate`. Match existing example usage where it fits (e.g. `city`, `district`, `wilderness`, `submerged-ruin` for type; `thriving`, `declining`, `strained`, `exposed`, `unknown` for status). ## Description What the location looks, sounds, smells, and feels like. First impressions for someone arriving. Key sensory details that make it distinct. ## History How the location came to be and key events that happened here. Only include history relevant to the story. ## Culture & Customs The people who live here, their way of life, traditions, social norms. What makes this place culturally distinct. ## Notable Features Specific landmarks, buildings, natural features, or points of interest within the location. Things characters would interact with. ## Current State What the location is like at the time of the story. Political situation, recent events, tensions, opportunities. -
system-template.md 1008 B
# System Template Use this template when creating a new system file at `worldbuilding/systems/{system-name-kebab}.md`. Systems represent structured aspects of the world: magic, politics, technology, religion, economy, etc. ```yaml --- name: "{System Name}" type: {magic|political|technology|religion|economic|military|social|education|other} prevalence: {universal|common|uncommon|rare|secret} --- ``` ## Overview What this system is and its role in the world. One paragraph summary. ## Rules & Limitations How the system works. What it can and cannot do. Costs, constraints, and consequences. Be specific - well-defined limitations make systems compelling. ## History How the system developed or was discovered. Key historical moments that shaped its current form. ## Practitioners Who uses or participates in this system. Social status, requirements, training, organizations. ## Impact on Society How this system shapes daily life, culture, politics, and conflict in the world. Ripple effects. -
world-element-types.md 2.7 KB
# World Element Types Reference When building a world element, use these prompts to ensure thorough coverage for each type. ## Magic System Key questions to address: - What is the source of magic? (innate, learned, divine, natural, artifact-based) - Who can use it? (everyone, select few, specific bloodlines, trained practitioners) - What does it cost? (energy, health, materials, sanity, lifespan) - What are the hard limits? (cannot raise dead, cannot create matter, etc.) - How is it perceived socially? (revered, feared, regulated, mundane) - What are the categories/schools/disciplines? ## Political System Key questions to address: - What is the power structure? (monarchy, democracy, oligarchy, theocracy, tribal) - How is power transferred? (hereditary, elected, conquered, appointed) - What factions exist and what do they want? - What laws matter to the story? - What is the relationship between regions/nations? - What tensions or conflicts exist? ## Technology System Key questions to address: - What is the general technology level? (stone age, medieval, industrial, modern, futuristic) - What technologies are unusually advanced or absent? - How does technology interact with other systems (e.g., magic)? - Who controls key technologies? - What are the societal impacts of key technologies? ## Religion System Key questions to address: - What deities or spiritual forces exist? (real or believed) - What are the major religious institutions? - How does religion interact with political power? - What rituals, holidays, or practices matter to the story? - Are there religious conflicts or schisms? ## Economic System Key questions to address: - What is the currency and trade system? - What are the major industries and resources? - What is the wealth distribution? - What economic tensions drive conflict? - How does the economy interact with other systems? ## Military System Key questions to address: - How are armed forces organized? - What weapons, tactics, and strategies are used? - What is the relationship between military and political power? - What recent or ongoing conflicts exist? - How does military service affect social standing? ## Social System Key questions to address: - What are the social classes or castes? - How is social mobility achieved (or prevented)? - What are the gender roles and family structures? - What cultural values dominate? - What social tensions exist? ## Education System Key questions to address: - How is knowledge transmitted? (apprenticeship, schools, oral tradition, magical) - Who has access to education? (everyone, elite, specific guilds/orders) - What institutions exist? (academies, temples, guilds, military schools) - How does education intersect with social class? - What knowledge is forbidden or restricted?
-
-
SKILL.md 5.4 KB
--- name: worldbuilding description: This skill should be used when the user asks to "create a location", "add a location", "magic system", "political system", "build the world", "add culture", "world history", "technology system", "religion", "economy", or wants to develop any aspect of a story's world and setting. --- # Worldbuilding ## Overview Create and manage world elements for a story project. Locations, systems (magic, politics, technology, etc.), factions, and artifacts are stored as markdown files in the `worldbuilding/` directory with YAML frontmatter. All elements cross-reference characters and other story elements. ## Prerequisites A story project must already exist (created via the story-init skill). Verify by checking for `story.md` in the project root. ## Creating a Location 1. Read `story.md` for genre, era, and tone context 2. Read `worldbuilding/_index.md` for existing locations and systems 3. Ask for the location's name and type (city, fortress, wilderness, etc.) 4. Build the location through conversation, covering: - Physical description and atmosphere - History relevant to the story - Culture and customs of inhabitants - Notable features characters will interact with - Current state at story's timeline 5. Write the file using `references/location-template.md` 6. Save to `worldbuilding/locations/{name-kebab}.md` 7. Update `worldbuilding/_index.md` locations table 8. If notable characters are listed, verify those character files exist and add this location's kebab-case identifier to each character file's `locations` frontmatter list 9. When CLI access is available, run `story reindex .`, `story links .`, and `story validate .` ## Creating a System 1. Read `story.md` for genre and themes context 2. Read `worldbuilding/_index.md` for existing systems 3. Identify the system type and consult `references/world-element-types.md` for the relevant prompts 4. Build the system through conversation, addressing the key questions for that type 5. Write the file using `references/system-template.md` 6. Save to `worldbuilding/systems/{name-kebab}.md` 7. Update `worldbuilding/_index.md` systems table 8. Cross-reference with characters who interact with the system (e.g., magic-users for a magic system) 9. When CLI access is available, run `story reindex .`, `story links .`, and `story validate .` ## Creating A Faction Use `story add faction "{Faction Name}" --type "{family|guild|government|military|religion|company|community|criminal|other}"` when the CLI is available. Otherwise create `worldbuilding/factions/{name-kebab}.md` with frontmatter fields `name`, `type`, `status`, `members`, `locations`, and `tags`. Cover: - Purpose and ideology - Power base, resources, and territory - Important members - Conflicts and pressure points Then: 1. Save to `worldbuilding/factions/{name-kebab}.md` 2. Update the Factions table in `worldbuilding/_index.md` 3. If members are listed, verify those character files exist 4. When CLI access is available, run `story reindex .`, `story links .`, and `story validate .` ## Creating An Artifact Use `story add artifact "{Artifact Name}" --type "{object|weapon|document|technology|relic|symbol|resource|other}"` when the CLI is available. Otherwise create `worldbuilding/artifacts/{name-kebab}.md` with frontmatter fields `name`, `type`, `status`, `owner`, `location`, and `tags`. Cover: - Description and recognition details - Function, constraints, and costs - History and prior owners - Current owner/location state Then: 1. Save to `worldbuilding/artifacts/{name-kebab}.md` 2. Update the Artifacts table in `worldbuilding/_index.md` 3. If an owner or location is listed, verify those files exist and cross-reference back 4. When CLI access is available, run `story reindex .`, `story links .`, and `story validate .` ## Updating World Elements 1. Read the existing file 2. Make the requested changes 3. If cross-references changed, update the linked files 4. Update `worldbuilding/_index.md` if name, type, or status changed 5. When CLI access is available, run `story reindex .`, `story links .`, and `story validate .` ## Cross-Referencing - Locations reference characters via `notable-characters` in frontmatter - Characters reference locations via `locations` in frontmatter - Factions reference character members and locations - Artifacts reference an owner character or faction and a current location - Systems reference practitioners via character tags - When a location is used in a chapter, the chapter's frontmatter `locations` field links back - Keep the `worldbuilding/_index.md` world overview section current as elements are added ## CLI Maintenance Use the Story CLI when it is available. If `story` is not installed, use `bun run story --` from the Story Skills repository checkout or the bundled fallback `node ../story-maintenance/scripts/story.js` with the same arguments, resolving the path relative to this skill folder. If no CLI is available, perform the registry, backlink, and word-count checks manually. ## Reference Files - **`references/location-template.md`** - Template for location files - **`references/system-template.md`** - Template for system files - **`references/faction-template.md`** - Template for faction files - **`references/artifact-template.md`** - Template for artifact/object files - **`references/world-element-types.md`** - Detailed prompts for each system type (magic, political, technology, religion, economic, military, social)
Comments (0)
Sign in to join the conversation.
Reviews (0)
No reviews yet.
No comments yet.