story-init
npx machina-cli add skill danjdewhurst/story-skills/story-init --openclawStory Initialization
Overview
Initialize a new story project with a structured markdown folder layout. Creates the story bible, character registry, worldbuilding index, 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)
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)
-
Create the folder structure at the current working directory:
{story-title-kebab}/
├── story.md
├── characters/
│ └── _index.md
├── worldbuilding/
│ ├── _index.md
│ ├── locations/
│ └── systems/
├── plot/
│ ├── _index.md
│ ├── arcs/
│ └── timeline.md
└── chapters/
└── _index.md
- Populate
story.mdwith the story bible:
---
title: "{Title}"
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* | | | |
## Family Trees
*No family trees defined yet.*
## Relationship Map
*No relationships 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* | | |
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
- 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)
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
_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)
Source
git clone https://github.com/danjdewhurst/story-skills/blob/main/skills/story-init/SKILL.mdView on GitHub Overview
Story Initialization creates a complete, cross-referenced Markdown project for a new fiction work. It builds a kebab-cased folder tree (story bible, characters, worldbuilding, plot, chapters) and fills each with frontmatter and placeholder registries. This gives writers a scalable, organized starting point from which to draft.
How This Skill Works
First collect basic story details: Title, Genre/Subgenre, Synopsis, Era, Themes, POV, and Tense. It then creates the standard folder tree (story, characters, worldbuilding, plot, chapters) and populates story.md and the registries with YAML frontmatter and placeholder content, ensuring cross-references between domains.
When to Use It
- Starting a new story, book, or fiction project
- Setting up the folder structure for an existing story idea
- Initializing a brand-new writing project from scratch
- Creating the story bible, character registry, and worldbuilding index upfront
- Not for adding to an existing story project (use domain-specific skills instead)
Quick Start
- Step 1: Provide Title, Genre, Sub-Genre, Synopsis (2-3 sentences), Setting Era, Key Themes, POV, and Tense
- Step 2: Run story-init to generate the folder structure and initial Markdown files
- Step 3: Open story.md and registries (_index.md files) to fill in details and start drafting
Best Practices
- Ask for complete basic story information before generation
- Follow kebab-case naming to ensure compatibility with the folder structure
- Populate story.md with a concise synopsis, tone, and notes
- Keep registries in _index.md up-to-date as you draft
- Use the next steps to trigger domain-specific skills (character, worldbuilding, plot)
Example Use Cases
- Starting a fantasy epic to outline kingdoms, magic systems, and key characters
- Launching a sci-fi project about a space colony and a time-tension plot
- Opening a historical fiction project with era details and notable figures
- Beginning a mystery novel with a central investigation arc and timeline
- Creating a romance novella with clear setting and POV choices