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.
How to use it
Claude Code
- Run the line below. It pulls the whole folder into
~/.claude/skills/worldbuilding, including the files SKILL.md points to. - Describe your job in plain words. Claude Code follows the skill from there.
npx degit danjdewhurst/story-skills/skills/worldbuilding#main ~/.claude/skills/worldbuildingFor one project only, change the path to .claude/skills/worldbuilding. This skill also uses story.md — copying SKILL.md alone won't be enough. See the folder on GitHub.
Claude (web or desktop app)
- On this page open ⋯ → Download .md.
- Save it as SKILL.md in a folder, zip the folder, then Customize → Skills → + → Create skill → Upload a skill.
- Pick the file and Save. Claude shows the name and description and runs a security scan.
- Check the skill is switched on.
- Start a new chat and describe your job in plain words. The AI follows the skill from there.
ChatGPT or another app
- ChatGPT: make a Project and paste it into Instructions.
- Neither? Paste it at the top of a new chat — it works for that chat.
Not working?
- Check which app you pasted it into — the steps above name the right one.
- Some skills need the paid tier of Claude or ChatGPT.
Paste into Claude, ChatGPT or Cursor.
Source of Worldbuilding
Show the full text106 lines
| name | description |
|---|---|
| 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. |
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)
| 1 | |
| 2 | name worldbuilding |
| 3 | 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. |
| 4 | |
| 5 | |
| 6 | # Worldbuilding |
| 7 | |
| 8 | ## Overview |
| 9 | |
| 10 | 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. |
| 11 | |
| 12 | ## Prerequisites |
| 13 | |
| 14 | A 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 | |
| 18 | Read `story.md` for genre, era, and tone context |
| 19 | Read `worldbuilding/_index.md` for existing locations and systems |
| 20 | Ask for the location's name and type (city, fortress, wilderness, etc.) |
| 21 | 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 |
| 27 | Write the file using `references/location-template.md` |
| 28 | Save to `worldbuilding/locations/{name-kebab}.md` |
| 29 | Update `worldbuilding/_index.md` locations table |
| 30 | 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 |
| 31 | When CLI access is available, run `story reindex .`, `story links .`, and `story validate .` |
| 32 | |
| 33 | ## Creating a System |
| 34 | |
| 35 | Read `story.md` for genre and themes context |
| 36 | Read `worldbuilding/_index.md` for existing systems |
| 37 | Identify the system type and consult `references/world-element-types.md` for the relevant prompts |
| 38 | Build the system through conversation, addressing the key questions for that type |
| 39 | Write the file using `references/system-template.md` |
| 40 | Save to `worldbuilding/systems/{name-kebab}.md` |
| 41 | Update `worldbuilding/_index.md` systems table |
| 42 | Cross-reference with characters who interact with the system (e.g., magic-users for a magic system) |
| 43 | When CLI access is available, run `story reindex .`, `story links .`, and `story validate .` |
| 44 | |
| 45 | ## Creating A Faction |
| 46 | |
| 47 | 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`. |
| 48 | |
| 49 | Cover: |
| 50 | Purpose and ideology |
| 51 | Power base, resources, and territory |
| 52 | Important members |
| 53 | Conflicts and pressure points |
| 54 | |
| 55 | Then: |
| 56 | Save to `worldbuilding/factions/{name-kebab}.md` |
| 57 | Update the Factions table in `worldbuilding/_index.md` |
| 58 | If members are listed, verify those character files exist |
| 59 | When CLI access is available, run `story reindex .`, `story links .`, and `story validate .` |
| 60 | |
| 61 | ## Creating An Artifact |
| 62 | |
| 63 | 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`. |
| 64 | |
| 65 | Cover: |
| 66 | Description and recognition details |
| 67 | Function, constraints, and costs |
| 68 | History and prior owners |
| 69 | Current owner/location state |
| 70 | |
| 71 | Then: |
| 72 | Save to `worldbuilding/artifacts/{name-kebab}.md` |
| 73 | Update the Artifacts table in `worldbuilding/_index.md` |
| 74 | If an owner or location is listed, verify those files exist and cross-reference back |
| 75 | When CLI access is available, run `story reindex .`, `story links .`, and `story validate .` |
| 76 | |
| 77 | ## Updating World Elements |
| 78 | |
| 79 | Read the existing file |
| 80 | Make the requested changes |
| 81 | If cross-references changed, update the linked files |
| 82 | Update `worldbuilding/_index.md` if name, type, or status changed |
| 83 | When CLI access is available, run `story reindex .`, `story links .`, and `story validate .` |
| 84 | |
| 85 | ## Cross-Referencing |
| 86 | |
| 87 | Locations reference characters via `notable-characters` in frontmatter |
| 88 | Characters reference locations via `locations` in frontmatter |
| 89 | Factions reference character members and locations |
| 90 | Artifacts reference an owner character or faction and a current location |
| 91 | Systems reference practitioners via character tags |
| 92 | When a location is used in a chapter, the chapter's frontmatter `locations` field links back |
| 93 | Keep the `worldbuilding/_index.md` world overview section current as elements are added |
| 94 | |
| 95 | ## CLI Maintenance |
| 96 | |
| 97 | 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. |
| 98 | |
| 99 | ## Reference Files |
| 100 | |
| 101 | **`references/location-template.md`** - Template for location files |
| 102 | **`references/system-template.md`** - Template for system files |
| 103 | **`references/faction-template.md`** - Template for faction files |
| 104 | **`references/artifact-template.md`** - Template for artifact/object files |
| 105 | **`references/world-element-types.md`** - Detailed prompts for each system type (magic, political, technology, religion, economic, military, social) |
| 106 |
Discussion
Browse more free Claude skills.