worldbuilding
Skill20 starsChanged 5 months agoMITView on GitHub
Use when creating or expanding worldbuilding content — locations, NPCs, factions, lore entries, quests, or items for a TTRPG campaign managed in an Obsidian vault. Triggers on any request to create, describe, detail, or flesh out campaign world elements, even if the user doesn't explicitly say "worldbuilding". Also use when the user asks to research source books, cross-reference lore, or add new notes to their vault.
6 other projects use a version of this.
Adopted by
Most recently taken up by
- boundlesslightbringer/novelwritertheir own version, first seen Nov 1, 2026
- chellehoniker/claude-code-storytellerostheir own version, first seen Oct 20, 2026
- Bisbi/ttrpg-studiotheir own version, first seen Oct 13, 2026
- danjdewhurst/story-skillstheir own version, first seen Jun 3, 2026
- Wondermonger-daydreaming/claude-skills-librarytheir own version, first seen May 30, 2026
- bs779517/story-skillstheir own version, first seen Feb 12, 2026
Other versions6 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 6
- danjdewhurst/story-skills★ 399same name
- bs779517/story-skills★ 8same name
- Wondermonger-daydreaming/claude-skills-library★ 7same name
- Bisbi/ttrpg-studio★ 2same name
- chellehoniker/claude-code-storytelleros★ 1same name
- boundlesslightbringer/novelwriter★ 0same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository3 other files it gives its agents.
- chronikSkill
- session-creationSkill
- vault-scoutSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
17 rules. 0 are common, 12 are distinctive, and 5 are very specific to this project.
0
Common
Most of the 4 edited versions we read keep these.
12
Distinctive
This author's own choices. Worth a look.
5
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 12
Every worldbuilding request follows four steps.
- Distinctive: line 16
Before generating anything, understand what already exists.
- Distinctive: line 30
Treat the notes it links to the same way instead of reading one or two link levels whole.
- Very specific: line 31
Use a whole Read only for unstructured source material the task is about, or for a note you are rewriting from scratch.
- Distinctive: line 40
Use the sourcebooks MCP server to find relevant published material.
- Very specific: line 60
Create [[wikilinks]] to every existing note you reference.
- Distinctive: line 62
Follow the vault's frontmatter schema for the note type (see Frontmatter Reference below)
- Very specific: line 63
Use the vault's tag conventions in the frontmatter tags: array
- Distinctive: line 65
When in doubt about a creative decision, present options to the GM rather than choosing
- Distinctive: line 69
Only reach this step when the GM wants content saved to the vault.
- Very specific: line 88
Refresh the graph: call vault_rebuild_graph() so the graph index reflects the new content.
- Distinctive: line 100
Ask before overwriting: If a note already exists at the target path, show the GM what would change and get confirmation.
- Very specific: line 101
Wikilink everything: Every reference to a known concept gets a [[wikilink]].
- Distinctive: line 102
Vault > Source books: If a source book says dwarves are isolationist but the vault establishes them as traders, the vault wins.
- Distinctive: line 104
Match the voice: Read existing notes to understand how the GM writes — formal or casual, terse or detailed, first-person or third-person — …
- Distinctive: line 108
Use the vault's CLAUDE.md for the definitive schema.
- Distinctive: line 145
Always check the vault's own CLAUDE.md for the full schema — the GM may have customized fields.
“Common” is measured: kept by at least 6 in 10 of the 4 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Worldbuilding Assistant
Orchestrate Obsidian vault navigation, source book research, and TTRPG content generation. The GM's vault is the single source of truth — source books provide inspiration, never override what's already established.
Workflow
Every worldbuilding request follows four steps. Some requests (pure research, quick lookups) may only need steps 1–2. Use judgment about which steps apply.
Step 1: Gather Vault Context
Before generating anything, understand what already exists. The vault is canon. Read it through the read ladder: pull the parts of notes you need instead of whole files.
- Search the graph for related notes:
vault_search_notes(name_pattern="topic")to find notes by namevault_search_notes(tag="faction")orvault_search_notes(note_type="NPC")to find by categoryvault_central_notes(tag="location")to find the most-connected notes in a category
- Map connections around the topic:
vault_graph(note="Note Name", depth=2)to see how a note connects to the rest of the worldvault_mentions(note="Note Name")for what the vault says about it: the block around every link to the note, labelledpath:lineand heading path. Excerpts fill a token budget, and a map lists every mention not shown; pull those withpaths=["<folder or note>"]when you need them. Addunlinked=truefor notes that name the topic without linking it.
- Read primary notes with the read ladder:
vault_read_note(note="Note Name"): a small note comes back whole, a large one as an outline (frontmatter, lead, and headings with line ranges and sizes).vault_read_section(note="Note Name", headings=["Heading"])for the sections you need from a large note.- Treat the notes it links to the same way instead of reading one or two link levels whole.
- Use a whole
Readonly for unstructured source material the task is about, or for a note you are rewriting from scratch.
- Search for structured references:
- Grep frontmatter fields like
faction: "Name"orlocation: "Place"for structured references
- Grep frontmatter fields like
- Summarize what's established before proceeding. Note any contradictions or gaps.
Step 2: Research Source Books
Use the sourcebooks MCP server to find relevant published material.
- Broad search:
search_lore(query="topic keywords")for general results - Filtered search: Narrow with
bookandcontent_typewhen results are too broad:search_lore(query="dwarven politics", book="Dwarf Kingdoms Sourcebook")search_lore(query="undead", content_type="bestiary")
- Deep dive:
get_chapter(book="Book Title", chapter="Chapter 3")when you need full chapter context - Discover sources:
list_books()if unsure what source books are available
Content types for filtering: lore, rules, bestiary, adventure, setting, appendix
Step 3: Generate Content
Combine vault context and source book research to create new worldbuilding content.
Canon hierarchy — this is non-negotiable:
- The GM's vault is CANON. Never contradict established facts, relationships, or characterizations.
- Source books are INSPIRATION. Adapt ideas to fit the GM's world. Don't copy verbatim — reinterpret through the lens of what already exists in the vault.
Writing rules:
- Create
[[wikilinks]]to every existing note you reference. Use Title Case with spaces:[[Captain Aldric]],[[Sellen River]],[[Ironhold Council]] - For display text variants use
[[Note Name|display text]] - Follow the vault's frontmatter schema for the note type (see Frontmatter Reference below)
- Use the vault's tag conventions in the frontmatter
tags:array - Match the GM's existing voice and writing style — read a few existing notes to calibrate tone
- When in doubt about a creative decision, present options to the GM rather than choosing
Step 4: Write to Vault
Only reach this step when the GM wants content saved to the vault.
Place the note in the correct folder based on its type:
Type Folder NPC {Campaign}/NPC/Location/place {Campaign}/Locations/Faction {Campaign}/Factions/Session log {Campaign}/Sessions/Lore/background {Campaign}/Background/Rules {Campaign}/Rules/PC {Campaign}/PC/Encounter notes typically live as scene sub-files under
{Campaign}/Sessions/Session N/, not in a standalone Encounters/ folder.- Include full frontmatter matching the vault's schema for that note type
- Update related notes — add
[[wikilinks]]pointing to the new note in any existing notes that should reference it. Ask before modifying existing notes. Read only the lines you change: thepath:linelabels fromvault_mentionsgive the offset, andEditworks after a partialRead. - Refresh the graph: call
vault_rebuild_graph()so the graph index reflects the new content. This re-parses the vault and reloads the cache in one step. (Note:vault_reload_cache()only re-reads the existing.graph.json— it won't pick up newly-written notes.) - Present a summary to the GM:
- What note was created (with path)
- What existing notes were updated with backlinks
- What
[[wikilinks]]were created in the new note - Any decisions you made that the GM should review
Rules
These apply at every step:
- Ask before overwriting. If a note already exists at the target path, show the GM what would change and get confirmation.
- Wikilink everything. Every reference to a known concept gets a
[[wikilink]]. This is how the vault stays navigable. - Vault > Source books. If a source book says dwarves are isolationist but the vault establishes them as traders, the vault wins. Always.
- Adapt, don't copy. Source book material should be reinterpreted to fit the GM's world, not pasted in.
- Match the voice. Read existing notes to understand how the GM writes — formal or casual, terse or detailed, first-person or third-person — and match it.
Frontmatter Reference
Use the vault's CLAUDE.md for the definitive schema. These are the common types:
NPC:
type: NPC
aliases: []
faction: ""
location: ""
race: ""
class: ""
level: 0
gender: ""
deceased: false
tags: [npc]Location (place):
type: place
aliases: []
faction: ""
location: ""
description: ""
tags: [location]Faction:
type: Faction
aliases: []
faction: []
location: []
description: ""
alignment: []
tags: [faction]Always check the vault's own CLAUDE.md for the full schema — the GM may have customized fields.
Tag Conventions
Standard tags in frontmatter tags: array:
#npc, #location, #faction, #lore, #quest, #item, #session
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

