worldbuilding
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseWorldbuilding
世界观构建
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 directory with YAML frontmatter, and glossary terms for the world's invented words in . All elements cross-reference characters and other story elements.
worldbuilding/glossary/terms/为故事项目创建和管理世界元素。地点、系统(魔法、政治、科技等)、派系和造物等元素以带有 YAML frontmatter 的 Markdown 文件存储在 目录中,世界自造词对应的术语表条目则存储在 中。所有元素均可与角色及其他故事元素交叉引用。
worldbuilding/glossary/terms/Prerequisites
前置条件
A story project must already exist (created via the story-init skill). Verify by checking for in the project root.
story.md故事项目必须已经存在(通过 story-init skill 创建)。检查项目根目录中是否存在 以进行确认。
story.mdCreating a Location
创建地点
- Read for genre, era, and tone context
story.md - Read for existing locations and systems
worldbuilding/_index.md - 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
- Routes to other locations: travel time in hours and mode (see )
references/maps-and-routes.md - Pronunciation, if the name is invented or easily misread ()
pronunciation: "KEL-ah-mar"
- Before settling an invented name, run to catch clashes and look-alikes (see
story names '{Candidate}')references/naming-languages.md - Create it with when the CLI is available (add
story add location '{Location Name}' --type '{type}',--region,--population, and--controlled-byas known); it writes--characterand updatesworldbuilding/locations/{name-kebab}.md. Then fill the body fromworldbuilding/_index.mdreferences/location-template.md - Without the CLI, write the file from to
references/location-template.mdworldbuilding/locations/{name-kebab}.md - Without the CLI, update the locations table
worldbuilding/_index.md - If notable characters are listed, verify those character files exist and add this location's kebab-case identifier to each character file's frontmatter list
locations - When CLI access is available, run ,
story reindex ., andstory wordcount . --writestory check .
- 阅读 ,了解体裁、时代和基调背景
story.md - 阅读 ,了解现有地点和系统
worldbuilding/_index.md - 询问地点的名称和类型(城市、堡垒、荒野等)
- 通过对话构建地点,涵盖:
- 外貌描述和氛围
- 与故事相关的历史
- 当地居民的文化和习俗
- 角色会 interact 的显著特征
- 故事时间线当前阶段的状态
- 通往其他地点的路线:以小时和交通方式计算的旅行时间(见 )
references/maps-and-routes.md - 如果名称是自造的或容易被误读,则提供发音()
pronunciation: "KEL-ah-mar"
- 确定自造名称之前,运行 ,检查是否存在名称冲突或相似名称(见
story names '{Candidate}')references/naming-languages.md - CLI 可用时,使用 创建地点(已知时添加
story add location '{Location Name}' --type '{type}'、--region、--population和--controlled-by);该命令会写入--character并更新worldbuilding/locations/{name-kebab}.md。然后根据worldbuilding/_index.md填写正文references/location-template.md - 没有 CLI 时,根据 将文件写入
references/location-template.mdworldbuilding/locations/{name-kebab}.md - 没有 CLI 时,更新 中的地点表
worldbuilding/_index.md - 如果列出了重要角色,验证对应角色文件存在,并将该地点的 kebab-case 标识符添加到每个角色文件的 frontmatter 列表中
locations - 可以访问 CLI 时,运行 、
story reindex .和story wordcount . --writestory check .
Maps, Routes, and Travel
地图、路线与旅行
Record travel between locations as on the location file, not in prose notes, so the CLI can check it:
routesyaml
routes:
- to: harbor-district
hours: 1.5
mode: on foot
- to: saltmarsh-fort
hours: 9
mode: coach- is a location id;
tochecks it exists.story links . - A route is two-way unless the other location declares its own route back (for example, uphill slower than down).
- errors when a character appears in two dated scenes at locations joined by a route and the story time between them is shorter than the route's
story continuity ..hours - prints the route network as a Mermaid map-graph with edges labelled in hours; add
story diagram locationsto save it. Use it to spot unreachable places and implausible shortcuts.--out dist/locations.mmd
Use the travel speeds table in to set plausible hours, and for the full workflow.
references/economy-logistics.mdreferences/maps-and-routes.md将地点之间的旅行记录为地点文件上的 ,而不是散文形式的笔记,以便 CLI 进行检查:
routesyaml
routes:
- to: harbor-district
hours: 1.5
mode: on foot
- to: saltmarsh-fort
hours: 9
mode: coach- 是地点 id;
to会检查它是否存在story links . - 路线默认是双向的,除非另一个地点声明了自己的返程路线(例如,上坡可能比下坡更慢)
- 如果角色出现在两个有日期标记的场景中,场景地点之间存在路线,且故事时间跨度短于路线的 ,
hours将报错story continuity . - 会将路线网络输出为带小时数边标签的 Mermaid map-graph;添加
story diagram locations可将其保存。使用该图来发现无法到达的地点和不合理的捷径--out dist/locations.mmd
使用 中的旅行速度表来设置合理的小时数,完整工作流见 。
references/economy-logistics.mdreferences/maps-and-routes.mdCreating a System
创建系统
- Read for genre and themes context
story.md - Read for existing systems
worldbuilding/_index.md - Identify the system type and consult for the relevant prompts. For calendars, naming languages, economies, and magic costs, also use
references/world-element-types.md,references/calendars.md, andreferences/naming-languages.mdreferences/economy-logistics.md - 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 systems table
worldbuilding/_index.md - 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 ., andstory wordcount . --writestory check .
- 阅读 ,了解体裁和主题背景
story.md - 阅读 ,了解现有系统
worldbuilding/_index.md - 确定系统类型,并查阅 中相应的提示。对于日历、命名语言、经济和魔法成本,还需使用
references/world-element-types.md、references/calendars.md和references/naming-languages.mdreferences/economy-logistics.md - 通过对话构建系统,解答该类型的关键问题
- 使用 编写文件
references/system-template.md - 保存到
worldbuilding/systems/{name-kebab}.md - 更新 中的系统表
worldbuilding/_index.md - 与使用该系统的角色进行交叉引用(例如,魔法系统对应魔法使用者)
- 可以访问 CLI 时,运行 、
story reindex .和story wordcount . --writestory check .
Creating A Faction
创建派系
Use when the CLI is available. Otherwise create with frontmatter fields , , , , , and .
story add faction '{Faction Name}' --type '{family|guild|government|military|religion|company|community|criminal|other}'worldbuilding/factions/{name-kebab}.mdnametypestatusmemberslocationstagsCover:
- 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 ., andstory wordcount . --writestory check .
CLI 可用时,使用 。否则,创建 ,其 frontmatter 字段为 、、、、 和 。
story add faction '{Faction Name}' --type '{family|guild|government|military|religion|company|community|criminal|other}'worldbuilding/factions/{name-kebab}.mdnametypestatusmemberslocationstags涵盖:
- 目标和理念
- 权力基础、资源和领地
- 重要成员
- 冲突和压力点
然后:
- 保存到
worldbuilding/factions/{name-kebab}.md - 更新 中的 Factions 表
worldbuilding/_index.md - 如果列出了成员,验证对应角色文件存在
- 可以访问 CLI 时,运行 、
story reindex .和story wordcount . --writestory check .
Creating An Artifact
创建造物
Use when the CLI is available. Otherwise create with frontmatter fields , , , , , and .
story add artifact '{Artifact Name}' --type '{object|weapon|document|technology|relic|symbol|resource|other}'worldbuilding/artifacts/{name-kebab}.mdnametypestatusownerlocationtagsCover:
- 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 ., andstory wordcount . --writestory check .
CLI 可用时,使用 。否则,创建 ,其 frontmatter 字段为 、、、、 和 。
story add artifact '{Artifact Name}' --type '{object|weapon|document|technology|relic|symbol|resource|other}'worldbuilding/artifacts/{name-kebab}.mdnametypestatusownerlocationtags涵盖:
- 描述和辨识细节
- 功能、限制和代价
- 历史和历任所有者
- 当前所有者及所在位置的状态
然后:
- 保存到
worldbuilding/artifacts/{name-kebab}.md - 更新 中的 Artifacts 表
worldbuilding/_index.md - 如果列出了所有者或地点,验证对应文件存在并建立反向引用
- 可以访问 CLI 时,运行 、
story reindex .和story wordcount . --writestory check .
Adding A Glossary Term
添加术语表条目
Record an invented word, title, rank, or concept that the prose must spell and use the same way every time as a glossary term in .
glossary/terms/- Read for the existing terms, then run
glossary/_index.mdto catch a clash with another name or termstory names '{Term}' - Use when the CLI is available, with
story add term '{Term}' --category '{person|place|faction|artifact|concept|term|other}'once for each accepted variant; it writes--alias '{Variant}'and updatesglossary/terms/{term-kebab}.md. Otherwise create the file with frontmatter fieldsglossary/_index.md,term, andcategory, and add a row to the Registry table inaliasesglossary/_index.md - Fill (what it means in the story) and
## Definition(spelling, capitalisation, who uses it, and what it never means). Add a## Usage Noteswhen the term is invented or easily misreadpronunciation - When the term's capitalisation or hyphenation is a house-style decision, record it in too (see the
style-sheet.mdskill)voice-style - When CLI access is available, run ,
story reindex ., andstory wordcount . --writestory check .
A glossary for translators belongs to the skill, which adds a section to these term files.
adaptation## Translations将正文中必须始终采用相同拼写和用法的自造词、头衔、等级或概念记录为 中的术语表条目。
glossary/terms/- 阅读 了解现有术语,然后运行
glossary/_index.md,检查是否与其他名称或术语冲突story names '{Term}' - CLI 可用时,使用 ,每个认可的变体使用一次
story add term '{Term}' --category '{person|place|faction|artifact|concept|term|other}';该命令会写入--alias '{Variant}'并更新glossary/terms/{term-kebab}.md。否则,创建包含 frontmatter 字段glossary/_index.md、term和category的文件,并在aliases的 Registry 表中添加一行glossary/_index.md - 填写 (该术语在故事中的含义)和
## Definition(拼写、大小写、使用者,以及该术语绝不表示的含义)。如果术语是自造的或容易被误读,还应添加## Usage Notespronunciation - 当术语的大小写或连字符用法属于文体规范决策时,也应将其记录在 中(见 voice-style skill)
style-sheet.md - 可以访问 CLI 时,运行 、
story reindex .和story wordcount . --writestory check .
面向译者的术语表属于 adaptation skill,该 skill 会为这些术语文件添加 部分。
## TranslationsUpdating World Elements
更新世界元素
- Read the existing file
- Make the requested changes. If a location or faction changes partway through the story (a city falls, a guild disbands), add a progression instead of editing the opening value (see Changes Over the Story)
- If cross-references changed, update the linked files
- Update if name, type, or status changed
worldbuilding/_index.md - When CLI access is available, run ,
story reindex ., andstory wordcount . --writestory check .
- 读取现有文件
- 进行所请求的更改。如果地点或派系在故事中途发生变化(城市陷落、工会解散),应添加 progression,而不是直接修改故事开篇时的值(见“故事发展过程中的变化”)
- 如果交叉引用发生变化,更新关联文件
- 如果名称、类型或状态发生变化,更新
worldbuilding/_index.md - 可以访问 CLI 时,运行 、
story reindex .和story wordcount . --writestory check .
Changes Over the Story
故事发展过程中的变化
Location and faction files describe the world as the story opens. Record a later change as a progression, so drafting an early chapter does not see what happens in a late one:
yaml
progressions:
- from: chapter-10
field: status
value: occupied
- from: chapter-10
field: controlled-by
value: lord-maren- is the first chapter where the new value holds. It may be a planned
fromwith no file yetchapter-NN - is a kebab-case single-value field, existing (
field,status,controlled-by) or new (region,ruler). List fields (population-note,notable-characters,routes,members,locations) cannot change this waytags - is one value. A faction's
valueandtypemust stay within their allowed valuesstatus - Keep entries in story order, and read the progressions up to the chapter being drafted before describing the place or faction in it
- Artifacts and systems do not take progressions; track an artifact's changes with and scene
object-state(see the revision-continuity skill)state-changes
After adding or editing progressions, run , , and .
story reindex .story wordcount . --writestory check .地点和派系文件描述的是故事开篇时的世界状态。将后续变化记录为 progression,避免在起草早期章节时看到后期才会发生的情节:
yaml
progressions:
- from: chapter-10
field: status
value: occupied
- from: chapter-10
field: controlled-by
value: lord-maren- 是新值开始生效的第一个章节。它可以是尚未创建文件的计划章节
fromchapter-NN - 是采用 kebab-case 的单值字段,可以是现有字段(
field、status、controlled-by),也可以是新字段(region、ruler)。列表字段(population-note、notable-characters、routes、members、locations)不能以此方式更改tags - 是一个值。派系的
value和type必须保持在其允许值范围内status - 按故事顺序保留条目,并在描述某章节中的地点或派系之前,读取截至该章节的所有 progressions
- 造物和系统不支持 progressions;使用 object-state 和场景 state-changes 跟踪造物的变化(见 revision-continuity skill)
添加或编辑 progressions 后,运行 、 和 。
story reindex .story wordcount . --writestory check .Cross-Referencing
交叉引用
- Locations reference characters via in frontmatter
notable-characters - Characters reference locations via in frontmatter
locations - Factions reference character members and locations
- Artifacts reference an owner character or faction and a current location
- Systems reference practitioners via character tags
- Location reference other locations by id
routes - Invented names across characters, locations, systems, factions, artifacts, and glossary terms may carry a ;
pronunciationgathers them into a pronunciation guide for audiobook narratorsstory build --format narration - When a location is used in a chapter, the chapter's frontmatter field links back
locations - Keep the world overview section current as elements are added
worldbuilding/_index.md
- 地点通过 frontmatter 中的 引用角色
notable-characters - 角色通过 frontmatter 中的 引用地点
locations - 派系引用角色成员和地点
- 造物引用所有者角色或派系,以及当前所在地点
- 系统通过角色标签引用使用者
- 地点的 通过 id 引用其他地点
routes - 角色、地点、系统、派系、造物和术语表条目中的自造名称均可携带 ;
pronunciation会将这些发音汇总成供有声书朗读者使用的发音指南story build --format narration - 当某个地点在章节中使用时,该章节 frontmatter 的 字段会反向链接到该地点
locations - 随着元素不断添加,持续更新 中的世界概览部分
worldbuilding/_index.md
CLI Maintenance
CLI 维护
Use the Story CLI when it is available. If is not installed, use the bundled fallback with the same arguments. Use instead only when the user names a Story Skills repository checkout or you are working in one. Write the script as an absolute path (resolve the fallback relative to this skill folder) and run it from the folder you would run from, so and other relative paths keep their meaning. Use Node, not Bun or a package script: Bun would load that folder's (which can run code) and , and a package script runs from the checkout's root. If no CLI is available, perform the registry, backlink, and word-count checks manually.
storynode ../story-maintenance/scripts/story.jsnode <checkout>/bin/story.jsstory.bunfig.toml.envStory CLI 可用时,应优先使用。如果未安装 ,则使用捆绑的备用脚本 ,并传入相同参数。只有当用户指定了 Story Skills 仓库检出目录,或你正在该目录中工作时,才改用 。将脚本路径写为绝对路径(相对于此 skill 目录解析备用脚本),并从原本运行 的目录执行,这样 和其他相对路径仍能保持原有含义。使用 Node,不要使用 Bun 或 package script:Bun 会加载该目录的 (其中可以运行代码)和 ,而 package script 会从检出目录的根目录运行。如果没有可用的 CLI,则手动执行注册表、反向链接和字数统计检查。
storynode ../story-maintenance/scripts/story.jsnode <checkout>/bin/story.jsstory.bunfig.toml.envReference Files
参考文件
- - Template for location files
references/location-template.md - - Template for system files
references/system-template.md - - Template for faction files
references/faction-template.md - - Template for artifact/object files
references/artifact-template.md - - Detailed prompts for each system type (magic, political, technology, religion, economic, military, social)
references/world-element-types.md - - Recording
references/maps-and-routes.md, theroutesmap-graph, and the continuity travel checkstory diagram locations - - Adding a custom
references/calendars.mdtocalendar, dating scenes in it, and recording seasons and moons as a system filestory.md - - Phonology sketches, naming rules per culture, pronunciation, and the
references/naming-languages.mdcollision checkstory names - - Prices and wages, supply lines, magic and technology costs, and a travel speeds table by mode
references/economy-logistics.md
- - 地点文件模板
references/location-template.md - - 系统文件模板
references/system-template.md - - 派系文件模板
references/faction-template.md - - 造物或物品文件模板
references/artifact-template.md - - 每种系统类型的详细提示(魔法、政治、科技、宗教、经济、军事、社会)
references/world-element-types.md - - 记录
references/maps-and-routes.md、使用routes生成 map-graph,以及执行连续性旅行检查story diagram locations - - 向
references/calendars.md添加自定义story.md、使用自定义日历为场景标注日期,以及将季节和月亮记录为系统文件calendar - - 音系草图、各文化的命名规则、发音,以及
references/naming-languages.md冲突检查story names - - 价格和工资、补给线、魔法与科技成本,以及按交通方式划分的旅行速度表
references/economy-logistics.md
Shared Conventions
共享约定
Every story skill follows the shared conventions in , resolved relative to this skill folder. Read it before creating, renaming, or linking story files. If that file is missing because this skill was installed without , the essentials are: kebab-case ids and filenames, YAML frontmatter on every story-project file, files as the authoritative registries, bidirectional links between entities, for who is on the page and for who is only referred to, plus for deaths, and no project-local generator or build scripts (run only the installed or bundled Story CLI).
../story-maintenance/references/conventions.mdstory-maintenance_index.mdcharactersmentionsstatus: deceaseddied-in: chapter-{NN}每个 story skill 都遵循 中的共享约定,该路径相对于此 skill 目录解析。在创建、重命名或关联故事文件之前,应先阅读该文件。如果安装此 skill 时未附带 story-maintenance,导致该文件缺失,则需遵循以下基本要求:id 和文件名采用 kebab-case;每个故事项目文件都包含 YAML frontmatter; 文件作为权威注册表;实体之间使用双向链接; 表示实际登场的角色, 表示仅被提及的角色;死亡信息使用 加 ;不得使用项目本地的生成器或构建脚本(仅运行已安装或捆绑的 Story CLI)。
../story-maintenance/references/conventions.md_index.mdcharactersmentionsstatus: deceaseddied-in: chapter-{NN}