Story Initialization
Overview
Initialize a new story project with a structured markdown folder layout. Creates the story bible, registries, scene tracking, continuity state, glossary, worldbuilding folders, plot structure, and chapter tracker - all as cross-referenced markdown files with YAML frontmatter.
When to Use
- Starting a new story, book, or fiction project
- Setting up the folder structure for an existing story idea
- NOT for adding to an existing story project (use the domain-specific skills instead)
- NOT for converting an existing manuscript or chapter drafts: run
story import <source> --title "{Title}"instead, then build out the bible from the entity candidates it prints
Workflow
- Ask for basic story information:
- Title
- Genre and sub-genre
- Brief synopsis (2-3 sentences)
- Setting era/time period
- Key themes (2-4)
- POV style (first-person, third-person-limited, third-person-omniscient)
- Tense (past, present)
If the Story CLI is available, prefer using it to create the starter project, then inspect and refine the generated files as needed:
story init "{Title}" --genre "{genre}" --sub-genre "{sub-genre}" --setting-era "{era}" --pov "{pov-style}" --tense "{tense}" --synopsis "{synopsis}" --theme "{theme-1}" --theme "{theme-2}"
If story is not installed, use the bundled maintenance fallback when available, resolving the script path relative to the story-maintenance skill:
node ../story-maintenance/scripts/story.js init "{Title}"
If neither command is available, create the files manually using the steps below.
- Create the folder structure at the current working directory:
{story-title-kebab}/
├── story.md
├── characters/
│ └── _index.md
├── worldbuilding/
│ ├── _index.md
│ ├── locations/
│ ├── systems/
│ ├── factions/
│ └── artifacts/
├── plot/
│ ├── _index.md
│ ├── arcs/
│ └── timeline.md
├── scenes/
│ └── _index.md
├── continuity/
│ ├── state.md
│ ├── questions/
│ │ └── _index.md
│ └── promises/
│ └── _index.md
├── glossary/
│ ├── _index.md
│ └── terms/
└── chapters/
└── _index.md
- Populate
story.mdwith the story bible:
---
title: "{Title}"
schema-version: 2
genre: {genre}
sub-genre: {sub-genre}
setting-era: {era}
status: planning
themes:
- {theme-1}
- {theme-2}
pov: {pov-style}
tense: {tense}
---
Below the frontmatter, include sections:
- Synopsis - the 2-3 sentence synopsis provided
- Tone & Style - brief notes on the story's voice (derive from genre/themes)
- Notes - empty section for the user to fill in
- Populate each
_index.mdwith an empty registry:
characters/_index.md:
---
type: character-registry
story: {story-title-kebab}
---
# Characters
## Registry
| Name | Role | Status | File |
|------|------|--------|------|
| *No characters yet* | | | |
## Relationship Map
*No relationships defined yet.*
## Family Trees
*No family trees defined yet.*
worldbuilding/_index.md:
---
type: world-registry
story: {story-title-kebab}
---
# Worldbuilding
## World Overview
*Describe the world at a high level here.*
## Locations
| Name | Type | Region | File |
|------|------|--------|------|
| *No locations yet* | | | |
## Systems
| Name | Type | File |
|------|------|------|
| *No systems yet* | | |
## Factions
| Name | Type | Status | File |
|------|------|--------|------|
| *No factions yet* | | | |
## Artifacts
| Name | Type | Status | File |
|------|------|--------|------|
| *No artifacts yet* | | | |
plot/_index.md:
---
type: plot-registry
story: {story-title-kebab}
structure: three-act
---
# Plot Structure
## Story Structure
**Model:** Three-Act Structure (adjust as needed)
## Arcs
| Name | Type | Status | File |
|------|------|--------|------|
| *No arcs yet* | | | |
## Theme Tracking
| Theme | Arcs | Chapters |
|-------|------|----------|
| *No themes tracked yet* | | |
plot/timeline.md:
---
type: timeline
story: {story-title-kebab}
---
# Story Timeline
| When | Event | Arc | Chapter |
|------|-------|-----|---------|
| *No events yet* | | | |
chapters/_index.md:
---
type: chapter-registry
story: {story-title-kebab}
---
# Chapters
## Registry
| # | Title | POV | Status | Word Count | File |
|---|-------|-----|--------|------------|------|
| *No chapters yet* | | | | | |
## Total Word Count: 0
Also create the v2 support files:
scenes/_index.mdwith frontmattertype: scene-registrycontinuity/state.mdwith frontmattertype: continuity-state,current-chapter: 0, and emptycharacter-state,object-state, andknowledge-statelistscontinuity/questions/_index.mdwith frontmattertype: question-registrycontinuity/promises/_index.mdwith frontmattertype: promise-registryglossary/_index.mdwith frontmattertype: glossary-registry
If manual initialization gets tedious, stop and ask the user to install or run the Story CLI rather than inventing a different project shape.
-
Present a summary of what was created and suggest next steps:
- "Add your first character" (triggers character-management skill)
- "Start worldbuilding" (triggers worldbuilding skill)
- "Define your plot structure" (triggers plot-structure skill)
- "Run
story next ." to show deterministic next actions
-
When CLI access is available, run a final maintenance check:
story validate {story-title-kebab}
If using the bundled fallback, replace story with node ../story-maintenance/scripts/story.js, resolving the path relative to this skill folder.
Conventions
These conventions apply across ALL story skills:
- Kebab-case filenames for all entity files (e.g.,
sera-voss.md,ashen-citadel.md) - YAML frontmatter on every file for structured metadata
- Schema version -
story.mdfrontmatter includesschema-version: 2 _index.mdfiles are authoritative registries for each domainstory.mdis the top-level bible read by all skills for context- Bidirectional cross-links - when referencing another entity, update both files
- Character identifiers use the kebab-case filename without extension (e.g.,
sera-voss) - Death tracking - when a character dies on the page, set
status: deceasedanddied-in: chapter-{NN}sostory continuitycan flag posthumous appearances mentionsvscharacters- chapter and scene frontmatter lists characters present in-scene undercharacters; characters who are only referenced, remembered, recorded, or seen in flashback go undermentions- Scene identifiers use
chapter-{NN}-scene-{NN}and live inscenes/ - Continuity state lives in
continuity/state.md, with open questions and promises tracked undercontinuity/questions/andcontinuity/promises/ - Markdown-first artifacts - create and edit story content directly in the target
.mdfiles. Do not create project-local build scripts, generator scripts, or bulk writer scripts (for examplebuild-*.js) to emit story files. - CLI helpers stay external - the only JavaScript helper agents should run is the installed or bundled Story CLI (
story,bun run story --, orstory-maintenance/scripts/story.js) for deterministic maintenance. Do not copy it into the user's story project, and remove any unavoidable scratch helper before finishing.