Create a location, add a location, magic system
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…
--- 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
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.
Manual install (npx, ZIP)
npx skills add danjdewhurst/story-skills --skill worldbuilding -g -a claude-codemkdir -p ~/.claude/skills && curl -sL https://codeload.github.com/danjdewhurst/story-skills/tar.gz/28817a272657 \
| tar -xz -C ~/.claude/skills --strip-components=2 story-skills-28817a272657/skills/worldbuildingNew-Item -ItemType Directory -Force "$HOME\.claude\skills" | Out-Null; Invoke-WebRequest "https://m.agentalley.io/zip/873334a2099627cf9aba/worldbuilding.zip" -OutFile "$env:TEMP\worldbuilding.zip"; Expand-Archive "$env:TEMP\worldbuilding.zip" -DestinationPath "$HOME\.claude\skills" -ForceConnects with Agent Alley MCP · agentalley.io/mcp
Files included
SKILL.md7.8 KBreferences/9 files · 20.2 KB
Read the files here
danjdewhurst/
- artifact-template.md663 B
- calendars.md3.6 KB
- economy-logistics.md3.1 KB
- faction-template.md644 B
- location-template.md1.8 KB
- maps-and-routes.md3.5 KB
- naming-languages.md3.2 KB
- system-template.md1008 B
- world-element-types.md2.7 KB
Shared references2SKILL.md reads these from elsewhere in the repo. Not in the ZIP.
Get them on GitHub ↗Show the full text106 lines
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 |
Details
- Updated
- Sep 22, 2026
- License
- MIT
- Stars on the repo
- ★ 241
- Checked
- Source
- danjdewhurst/story-skills ↗
- Creator
- danjdewhurst · 13 listings
Similar skills
See all →
SkillReverse engineer native, managed, Electron/JavaScriptREA
SkillBrainstorms ideas into designs before any creative workBrainstorming Ideas Into Designs
SkillRequires technical rigor and verificationCode Review Reception
SkillDiagnosis loop for hard bugs and performance regressionsDiagnosing bugs
SkillImplement the result of /to-spec and /to-tickets in codeImplement spec
SkillWriting a PR bodyMore from danjdewhurst
SkillWrite a chapter, next chapter, chapter outlineChapter writing
SkillCreate a character, update a character, add a characterCharacter management
SkillPantsing, discovery write, write without an outlineDiscovery drafting
SkillProcess beta reader feedback, alpha reader feedbackFeedback triage
SkillMystery, fair play, clue, red herring, romance beats, HEAGenre craft
SkillCreate a plot arc, story structure, add a plot pointPlot structure