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.md for genre, era, and tone context
- Read
worldbuilding/_index.md for 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.md locations table
- 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
- When CLI access is available, run
story reindex ., story links ., and story validate .
Creating a System
- Read
story.md for genre and themes context
- Read
worldbuilding/_index.md for existing systems
- Identify the system type and consult
references/world-element-types.md for 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.md systems 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 ., 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
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
Updating World Elements
- Read the existing file
- Make the requested changes
- If cross-references changed, update the linked files
- Update
worldbuilding/_index.md if name, type, or status changed
- 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 but the story-maintenance skill is present, use 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 and backlink 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)
1---2name: worldbuilding3description: 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.4---5
6# Worldbuilding
7
8## Overview
9
10Create 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.
11
12## Prerequisites
13
14A story project must already exist (created via the story-init skill). Verify by checking for `story.md` in the project root.
15
16## Creating a Location
17
181. Read `story.md` for genre, era, and tone context
192. Read `worldbuilding/_index.md` for existing locations and systems
203. Ask for the location's name and type (city, fortress, wilderness, etc.)
214. Build the location through conversation, covering:
22 - Physical description and atmosphere
23 - History relevant to the story
24 - Culture and customs of inhabitants
25 - Notable features characters will interact with
26 - Current state at story's timeline
275. Write the file using `references/location-template.md`
286. Save to `worldbuilding/locations/{name-kebab}.md`
297. Update `worldbuilding/_index.md` locations table
308. 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
319. When CLI access is available, run `story reindex .`, `story links .`, and `story validate .`
32
33## Creating a System
34
351. Read `story.md` for genre and themes context
362. Read `worldbuilding/_index.md` for existing systems
373. Identify the system type and consult `references/world-element-types.md` for the relevant prompts
384. Build the system through conversation, addressing the key questions for that type
395. Write the file using `references/system-template.md`
406. Save to `worldbuilding/systems/{name-kebab}.md`
417. Update `worldbuilding/_index.md` systems table
428. Cross-reference with characters who interact with the system (e.g., magic-users for a magic system)
439. When CLI access is available, run `story reindex .`, `story links .`, and `story validate .`
44
45## Creating A Faction
46
47Use `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`.
48
49Cover:
50- Purpose and ideology
51- Power base, resources, and territory
52- Important members
53- Conflicts and pressure points
54
55## Creating An Artifact
56
57Use `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`.
58
59Cover:
60- Description and recognition details
61- Function, constraints, and costs
62- History and prior owners
63- Current owner/location state
64
65## Updating World Elements
66
671. Read the existing file
682. Make the requested changes
693. If cross-references changed, update the linked files
704. Update `worldbuilding/_index.md` if name, type, or status changed
715. When CLI access is available, run `story reindex .`, `story links .`, and `story validate .`
72
73## Cross-Referencing
74
75- Locations reference characters via `notable-characters` in frontmatter
76- Characters reference locations via `locations` in frontmatter
77- Factions reference character members and locations
78- Artifacts reference an owner character or faction and a current location
79- Systems reference practitioners via character tags
80- When a location is used in a chapter, the chapter's frontmatter `locations` field links back
81- Keep the `worldbuilding/_index.md` world overview section current as elements are added
82
83## CLI Maintenance
84
85Use the Story CLI when it is available. If `story` is not installed but the `story-maintenance` skill is present, use `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 and backlink checks manually.
86
87## Reference Files
88
89- **`references/location-template.md`** - Template for location files
90- **`references/system-template.md`** - Template for system files
91- **`references/faction-template.md`** - Template for faction files
92- **`references/artifact-template.md`** - Template for artifact/object files
93- **`references/world-element-types.md`** - Detailed prompts for each system type (magic, political, technology, religion, economic, military, social)