New: Earn 20% as an AgentAlley affiliate. Share your link and earn on every sale you refer. Join now New: Earn 20% as an affiliate. Join now

Create a location, add a location, magic system

Worldbuilding

by danjdewhurst · MIT license · ★ 241 on GitHub · updated Sep 22

Worldbuilding cover

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.

The SKILL.md below is the copy AgentAlley read and checked. The repo has changed it since; the other files are from commit 28817a2.

Manual install (npx, ZIP)
Claude Codenpx skills add danjdewhurst/story-skills --skill worldbuilding -g -a claude-code
Claude Code (manual)mkdir -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/worldbuilding
Windows (PowerShell)New-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" -Force
Claude.ai / desktopDownload the ZIP and upload it under Settings → Capabilities → Skills.
Codex, Cursor, other agentsPoint them at SKILL.md. The other files are plain text.

Connects with Agent Alley MCP · agentalley.io/mcp

Files included

  • SKILL.md7.8 KB
  • references/9 files · 20.2 KB
Read the files here
danjdewhurst/28817a210 files
Shared references2SKILL.md reads these from elsewhere in the repo. Not in the ZIP.Get them on GitHub ↗
SKILL.md
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

  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)
1---
2name: worldbuilding
3description: 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 
55Then:
561. Save to `worldbuilding/factions/{name-kebab}.md`
572. Update the Factions table in `worldbuilding/_index.md`
583. If members are listed, verify those character files exist
594. When CLI access is available, run `story reindex .`, `story links .`, and `story validate .`
60 
61## Creating An Artifact
62 
63Use `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 
65Cover:
66- Description and recognition details
67- Function, constraints, and costs
68- History and prior owners
69- Current owner/location state
70 
71Then:
721. Save to `worldbuilding/artifacts/{name-kebab}.md`
732. Update the Artifacts table in `worldbuilding/_index.md`
743. If an owner or location is listed, verify those files exist and cross-reference back
754. When CLI access is available, run `story reindex .`, `story links .`, and `story validate .`
76 
77## Updating World Elements
78 
791. Read the existing file
802. Make the requested changes
813. If cross-references changed, update the linked files
824. Update `worldbuilding/_index.md` if name, type, or status changed
835. 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 
97Use 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 
View all files on GitHub →

Details

Updated
Sep 22, 2026
License
MIT
Stars on the repo
★ 241
Checked
Source
danjdewhurst/story-skills ↗
Creator
danjdewhurst · 13 listings
View creator

Similar skills

See all →
SkillReverse engineer native, managed, Electron/JavaScriptREAmorluto/rea · by morlutoReverse engineer native, managed, Electron/JavaScript, packaged, firmware, and browser targets with REA. Use shipped-artifact or requested runtime evidence to explain features, compare versions, decompile code, or guide a reconstruction. Skip REA for ordinary source-repository architecture analysis.★ 316k GitHub starsSkillBrainstorms ideas into designs before any creative workBrainstorming Ideas Into Designsobra/superpowers · by obraYou MUST use this before any creative work - creating features, building components, adding functionality, or modifying behavior. Explores user intent, requirements and design before implementation.★ 290k GitHub starsSkillRequires technical rigor and verificationCode Review Receptionobra/superpowers · by obraUse when receiving code review feedback, before implementing suggestions, especially if feedback seems unclear or technically questionable - requires technical rigor and verification, not performative agreement or blind implementation★ 290k GitHub starsSkillDiagnosis loop for hard bugs and performance regressionsDiagnosing bugsmattpocock/skills · by mattpocockDiagnosis loop for hard bugs and performance regressions. Use when the user says "diagnose"/"debug this", or reports something broken/throwing/failing/slow.★ 267k GitHub starsSkillImplement the result of /to-spec and /to-tickets in codeImplement specmattpocock/skills · by mattpocockImplement the result of /to-spec and /to-tickets in code.★ 267k GitHub starsSkillWriting a PR bodymattpocock/skills · by mattpocockUse when writing a PR body.★ 267k GitHub stars

More from danjdewhurst

SkillWrite a chapter, next chapter, chapter outlineChapter writingdanjdewhurst/story-skills · by danjdewhurstThis skill should be used when the user asks to "write a chapter", "next chapter", "chapter outline", "draft chapter", "continue the story", "write a scene", "outline a chapter", or wants to write prose for a story project.★ 241 GitHub starsSkillCreate a character, update a character, add a characterCharacter managementdanjdewhurst/story-skills · by danjdewhurstThis skill should be used when the user asks to "create a character", "update a character", "add a character", "build a family tree", "character relationships", "character timeline", "character arc", "character profile", or needs to manage characters in a story project.★ 241 GitHub starsSkillPantsing, discovery write, write without an outlineDiscovery draftingdanjdewhurst/story-skills · by danjdewhurstThis skill should be used when the user asks to "pantsing", "discovery write", "write without an outline", "discovery draft", "write into the dark", "story kernel", "reconcile a chapter", "reverse outline", "cut a subplot", "dead end", "drafting sprint", "writing cadence", or wants to draft a story by discovery with retrospective bible reconciliation.★ 241 GitHub starsSkillProcess beta reader feedback, alpha reader feedbackFeedback triagedanjdewhurst/story-skills · by danjdewhurstThis skill should be used when the user asks to "process beta reader feedback", "alpha reader feedback", "feedback round", "synthesize reader feedback", "reader notes", "beta feedback", "readiness check", or wants to collect, reconcile, and act on external reader feedback for a story project.★ 241 GitHub starsSkillMystery, fair play, clue, red herring, romance beats, HEAGenre craftdanjdewhurst/story-skills · by danjdewhurstThis skill should be used when the user asks to "mystery", "fair play", "clue", "red herring", "romance beats", "HEA", "thriller", "ticking clock", "horror", "dread", "MG", "YA", "middle grade", "young adult", "science fiction", "sci-fi", "serial", "episodic", "web serial", "genre conventions", or wants genre-specific structural craft for a story project.★ 241 GitHub starsSkillCreate a plot arc, story structure, add a plot pointPlot structuredanjdewhurst/story-skills · by danjdewhurstThis skill should be used when the user asks to "create a plot arc", "story structure", "add a plot point", "story timeline", "track foreshadowing", "pacing", "act structure", "story arc", "plot outline", or wants to plan and manage the narrative structure of a story.★ 241 GitHub stars