This skill should be used when the user asks to "start a new story", "initialize a story project", "create a story", "new book", "set up a story", or wants to begin a new fiction writing project from scratch.
npx skills add https://github.com/danjdewhurst/story-skills --skill story-init
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.
story import <source> --title "{Title}" instead, then build out the bible from the entity candidates it printsIf 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.
{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
story.md with 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:
_index.md with 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.md with frontmatter type: scene-registrycontinuity/state.md with frontmatter type: continuity-state, current-chapter: 0, and empty character-state, object-state, and knowledge-state listscontinuity/questions/_index.md with frontmatter type: question-registrycontinuity/promises/_index.md with frontmatter type: promise-registryglossary/_index.md with frontmatter type: glossary-registryIf manual initialization gets tedious, stop and ask the user to install or run the Story CLI rather than inventing a different project shape.
story next ." to show deterministic next actionsstory 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.
These conventions apply across ALL story skills:
sera-voss.md, ashen-citadel.md)story.md frontmatter includes schema-version: 2_index.md files are authoritative registries for each domainstory.md is the top-level bible read by all skills for contextsera-voss)status: deceased and died-in: chapter-{NN} so story continuity can flag posthumous appearancesmentions vs characters - chapter and scene frontmatter lists characters present in-scene under characters; characters who are only referenced, remembered, recorded, or seen in flashback go under mentionschapter-{NN}-scene-{NN} and live in scenes/continuity/state.md, with open questions and promises tracked under continuity/questions/ and continuity/promises/.md files. Do not create project-local build scripts, generator scripts, or bulk writer scripts (for example build-*.js) to emit story files.story, bun run story --, or story-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.Guide users through a structured workflow for co-authoring documentation. Use when user wants to write documentation, proposals, technical specs, decision docs, or similar structured content. This workflow helps users efficiently transfer context, refine content through iteration, and verify the doc works for readers. Trigger when user mentions writing docs, creating proposals, drafting specs, or similar documentation tasks.
Automatically creates user-facing changelogs from git commits by analyzing commit history, categorizing changes, and transforming technical commits into clear, customer-friendly release notes. Turns hours of manual changelog writing into minutes of automated generation.
Use when implementing any feature or bugfix, before writing implementation code
Use when you have a spec or requirements for a multi-step task, before touching code
Use when creating new skills, editing existing skills, or verifying skills work before deployment
Use when writing or improving README files. Not all READMEs are the same — provides templates and guidance matched to your audience and project type.
| Remove signs of AI-generated writing from text. Use when editing or reviewing text to make it sound more natural and human-written. Based on Wikipedia's inflated symbolism, promotional language, superficial -ing analyses, vague attributions, em dash overuse, rule of three, AI vocabulary words, negative parallelisms, and excessive conjunctive phrases.
Official Opentrons Protocol API for OT-2 and Flex robots. Use when writing protocols specifically for Opentrons hardware with full access to Protocol API v2 features. Best for production Opentrons protocols, official API compatibility. For multi-vendor automation or broader equipment control use pylabrobot.
Take danjdewhurst/story-init from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.