Start a new story, initialize a story project
Story Initialization

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.
---
name: story-init
description: 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.
---
# 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 a sequel, prequel, or companion to an existing book: use `series-continuity`, which links the projects and carries canon across
- 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 printsOverview
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.
Manual install (npx, ZIP)
npx skills add danjdewhurst/story-skills --skill story-init -g -a claude-codemkdir -p ~/.claude/skills && curl -sL https://codeload.github.com/danjdewhurst/story-skills/tar.gz/28817a272657 \
| tar -xz -C ~/.claude/skills --strip-components=2 story-skills-28817a272657/skills/story-initNew-Item -ItemType Directory -Force "$HOME\.claude\skills" | Out-Null; Invoke-WebRequest "https://m.agentalley.io/zip/f51f4eda0e2535aaffce/story-init.zip" -OutFile "$env:TEMP\story-init.zip"; Expand-Archive "$env:TEMP\story-init.zip" -DestinationPath "$HOME\.claude\skills" -ForceConnects with Agent Alley MCP · agentalley.io/mcp
Files included
SKILL.md11.8 KBreferences/1 file · 1.7 KB
Read the files here
danjdewhurst/
Shared references7SKILL.md reads these from elsewhere in the repo. Not in the ZIP.
- _index.mdexamples/harbor-of-second-light/chapters/302 B
- story.mdexamples/harbor-of-second-light/2.0 KB
- sera-voss.mdexamples/the-fall-of-the-citadel/characters/1.7 KB
- ashen-citadel.mdexamples/the-fall-of-the-citadel/worldbuilding/locations/931 B
- style-sheet.mdexamples/the-last-ember/2.5 KB
- short-story-form.mdskills/plot-structure/references/1.6 KB
- story.jsskills/story-maintenance/scripts/344.6 KB
Show the full text283 lines
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 a sequel, prequel, or companion to an existing book: use
series-continuity, which links the projects and carries canon across - 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, future, mixed)
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}"
The title must contain ASCII letters or digits, because the story id recorded in every registry is derived from it (--dir sets only the directory). init refuses an existing directory unless you pass --force; with --force it only creates missing starter files and never overwrites an existing story.md, registry, timeline, or continuity/state.md.
If story is not installed, use bun run story -- from the Story Skills repository checkout or the bundled fallback node ../story-maintenance/scripts/story.js with the same arguments, resolving the path relative to this skill folder:
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
├── style-sheet.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
│ └── clues/
│ └── _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}
premise: "{One-sentence controlling idea: value + cause, e.g. justice triumphs because the hero outsmarts the system}"
counter-premise: "{The antagonist's embodied argument}"
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
- Draft a working premise:
Fill in the premise: and counter-premise: fields as hypotheses, not commitments. The premise is a one-sentence controlling idea — value + cause, e.g. "justice triumphs because the hero outsmarts the system". The counter-premise is the antagonist's embodied argument: the story's opposing value, stated as the antagonist would believe it. Draft both early, alongside the synopsis, but do not force theme — a working premise is a guess to be audited, not a conclusion to be imposed. Revisit it during revision: the revision-continuity theme audit pass (see the theme-craft skill for the deep pass) checks whether the ending actually dramatizes the premise through consequence. If the draft argues a different premise, update the premise, not the draft.
- 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. Every registry and continuity/state.md needs story: {story-title-kebab} in addition to its type, or story validate reports a missing story field:
scenes/_index.mdwith frontmattertype: scene-registryandstory: {story-title-kebab}continuity/state.mdwith frontmattertype: continuity-state,story: {story-title-kebab},current-chapter: 0, and emptycharacter-state,object-state, andknowledge-statelistscontinuity/questions/_index.mdwith frontmattertype: question-registryandstory: {story-title-kebab}continuity/promises/_index.mdwith frontmattertype: promise-registryandstory: {story-title-kebab}continuity/clues/_index.mdwith frontmattertype: clue-registryandstory: {story-title-kebab}glossary/_index.mdwith frontmattertype: glossary-registryandstory: {story-title-kebab}style-sheet.md(optional) with frontmattertype: style-sheet,dialect: unspecified, and emptypreferred,watch-words, andallow-wordslists, plus the body sections described in thevoice-styleskill
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)
- "Set up the style sheet" (triggers voice-style skill) once there is a writing sample
- "Run
story next ." to show deterministic next actions
When CLI access is available, run a final maintenance check:
story validate {story-title-kebab}
If story is not installed, use bun run story -- from the Story Skills repository checkout or the bundled fallback node ../story-maintenance/scripts/story.js with the same arguments, resolving the path relative to this skill folder.
Reference Files
references/title-logline.md- Title craft (comps, hook phrasing, title as promise) and the logline recipe
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 contextstyle-sheet.mdrecords voice and house style; skills that write or revise prose read it- 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, promises, and clues tracked undercontinuity/questions/,continuity/promises/, andcontinuity/clues/ - 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.
| 1 | |
| 2 | name story-init |
| 3 | description 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. |
| 4 | |
| 5 | |
| 6 | # Story Initialization |
| 7 | |
| 8 | ## Overview |
| 9 | |
| 10 | 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. |
| 11 | |
| 12 | ## When to Use |
| 13 | |
| 14 | Starting a new story, book, or fiction project |
| 15 | Setting up the folder structure for an existing story idea |
| 16 | NOT for adding to an existing story project (use the domain-specific skills instead) |
| 17 | NOT for a sequel, prequel, or companion to an existing book: use `series-continuity`, which links the projects and carries canon across |
| 18 | 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 |
| 19 | |
| 20 | ## Workflow |
| 21 | |
| 22 | Ask for basic story information: |
| 23 | Title |
| 24 | Genre and sub-genre |
| 25 | Brief synopsis (2-3 sentences) |
| 26 | Setting era/time period |
| 27 | Key themes (2-4) |
| 28 | POV style (first-person, third-person-limited, third-person-omniscient) |
| 29 | Tense (past, present, future, mixed) |
| 30 | |
| 31 | If the Story CLI is available, prefer using it to create the starter project, then inspect and refine the generated files as needed: |
| 32 | |
| 33 | |
| 34 | 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}" |
| 35 | |
| 36 | |
| 37 | The title must contain ASCII letters or digits, because the story id recorded in every registry is derived from it (`--dir` sets only the directory). `init` refuses an existing directory unless you pass `--force`; with `--force` it only creates missing starter files and never overwrites an existing `story.md`, registry, timeline, or `continuity/state.md`. |
| 38 | |
| 39 | If `story` is not installed, use `bun run story --` from the Story Skills repository checkout or the bundled fallback `node ../story-maintenance/scripts/story.js` with the same arguments, resolving the path relative to this skill folder: |
| 40 | |
| 41 | |
| 42 | node ../story-maintenance/scripts/story.js init "{Title}" |
| 43 | |
| 44 | |
| 45 | If neither command is available, create the files manually using the steps below. |
| 46 | |
| 47 | Create the folder structure at the current working directory: |
| 48 | |
| 49 | |
| 50 | {story-title-kebab}/ |
| 51 | ├── story.md |
| 52 | ├── style-sheet.md |
| 53 | ├── characters/ |
| 54 | │ └── _index.md |
| 55 | ├── worldbuilding/ |
| 56 | │ ├── _index.md |
| 57 | │ ├── locations/ |
| 58 | │ ├── systems/ |
| 59 | │ ├── factions/ |
| 60 | │ └── artifacts/ |
| 61 | ├── plot/ |
| 62 | │ ├── _index.md |
| 63 | │ ├── arcs/ |
| 64 | │ └── timeline.md |
| 65 | ├── scenes/ |
| 66 | │ └── _index.md |
| 67 | ├── continuity/ |
| 68 | │ ├── state.md |
| 69 | │ ├── questions/ |
| 70 | │ │ └── _index.md |
| 71 | │ ├── promises/ |
| 72 | │ │ └── _index.md |
| 73 | │ └── clues/ |
| 74 | │ └── _index.md |
| 75 | ├── glossary/ |
| 76 | │ ├── _index.md |
| 77 | │ └── terms/ |
| 78 | └── chapters/ |
| 79 | └── _index.md |
| 80 | |
| 81 | |
| 82 | Populate `story.md` with the story bible: |
| 83 | |
| 84 | |
| 85 | |
| 86 | title: "{Title}" |
| 87 | schema-version: 2 |
| 88 | genre: {genre} |
| 89 | sub-genre: {sub-genre} |
| 90 | setting-era: {era} |
| 91 | status: planning |
| 92 | themes: |
| 93 | - {theme-1} |
| 94 | - {theme-2} |
| 95 | premise: "{One-sentence controlling idea: value + cause, e.g. justice triumphs because the hero outsmarts the system}" |
| 96 | counter-premise: "{The antagonist's embodied argument}" |
| 97 | pov: {pov-style} |
| 98 | tense: {tense} |
| 99 | |
| 100 | |
| 101 | |
| 102 | Below the frontmatter, include sections: |
| 103 | **Synopsis** - the 2-3 sentence synopsis provided |
| 104 | **Tone & Style** - brief notes on the story's voice (derive from genre/themes) |
| 105 | **Notes** - empty section for the user to fill in |
| 106 | |
| 107 | Draft a working premise: |
| 108 | |
| 109 | Fill in the `premise:` and `counter-premise:` fields as hypotheses, not commitments. The premise is a one-sentence controlling idea — value + cause, e.g. "justice triumphs because the hero outsmarts the system". The counter-premise is the antagonist's embodied argument: the story's opposing value, stated as the antagonist would believe it. Draft both early, alongside the synopsis, but do not force theme — a working premise is a guess to be audited, not a conclusion to be imposed. Revisit it during revision: the `revision-continuity` theme audit pass (see the `theme-craft` skill for the deep pass) checks whether the ending actually dramatizes the premise through consequence. If the draft argues a different premise, update the premise, not the draft. |
| 110 | |
| 111 | Populate each `_index.md` with an empty registry: |
| 112 | |
| 113 | **`characters/_index.md`:** |
| 114 | |
| 115 | |
| 116 | type: character-registry |
| 117 | story: {story-title-kebab} |
| 118 | |
| 119 | |
| 120 | # Characters |
| 121 | |
| 122 | ## Registry |
| 123 | |
| 124 | | Name | Role | Status | File | |
| 125 | |------|------|--------|------| |
| 126 | | *No characters yet* | | | | |
| 127 | |
| 128 | ## Relationship Map |
| 129 | |
| 130 | *No relationships defined yet.* |
| 131 | |
| 132 | ## Family Trees |
| 133 | |
| 134 | *No family trees defined yet.* |
| 135 | |
| 136 | |
| 137 | **`worldbuilding/_index.md`:** |
| 138 | |
| 139 | |
| 140 | type: world-registry |
| 141 | story: {story-title-kebab} |
| 142 | |
| 143 | |
| 144 | # Worldbuilding |
| 145 | |
| 146 | ## World Overview |
| 147 | |
| 148 | *Describe the world at a high level here.* |
| 149 | |
| 150 | ## Locations |
| 151 | |
| 152 | | Name | Type | Region | File | |
| 153 | |------|------|--------|------| |
| 154 | | *No locations yet* | | | | |
| 155 | |
| 156 | ## Systems |
| 157 | |
| 158 | | Name | Type | File | |
| 159 | |------|------|------| |
| 160 | | *No systems yet* | | | |
| 161 | |
| 162 | ## Factions |
| 163 | |
| 164 | | Name | Type | Status | File | |
| 165 | |------|------|--------|------| |
| 166 | | *No factions yet* | | | | |
| 167 | |
| 168 | ## Artifacts |
| 169 | |
| 170 | | Name | Type | Status | File | |
| 171 | |------|------|--------|------| |
| 172 | | *No artifacts yet* | | | | |
| 173 | |
| 174 | |
| 175 | **`plot/_index.md`:** |
| 176 | |
| 177 | |
| 178 | type: plot-registry |
| 179 | story: {story-title-kebab} |
| 180 | structure: three-act |
| 181 | |
| 182 | |
| 183 | # Plot Structure |
| 184 | |
| 185 | ## Story Structure |
| 186 | |
| 187 | **Model:** Three-Act Structure (adjust as needed) |
| 188 | |
| 189 | ## Arcs |
| 190 | |
| 191 | | Name | Type | Status | File | |
| 192 | |------|------|--------|------| |
| 193 | | *No arcs yet* | | | | |
| 194 | |
| 195 | ## Theme Tracking |
| 196 | |
| 197 | | Theme | Arcs | Chapters | |
| 198 | |-------|------|----------| |
| 199 | | *No themes tracked yet* | | | |
| 200 | |
| 201 | |
| 202 | **`plot/timeline.md`:** |
| 203 | |
| 204 | |
| 205 | type: timeline |
| 206 | story: {story-title-kebab} |
| 207 | |
| 208 | |
| 209 | # Story Timeline |
| 210 | |
| 211 | | When | Event | Arc | Chapter | |
| 212 | |------|-------|-----|---------| |
| 213 | | *No events yet* | | | | |
| 214 | |
| 215 | |
| 216 | **`chapters/_index.md`:** |
| 217 | |
| 218 | |
| 219 | type: chapter-registry |
| 220 | story: {story-title-kebab} |
| 221 | |
| 222 | |
| 223 | # Chapters |
| 224 | |
| 225 | ## Registry |
| 226 | |
| 227 | | # | Title | POV | Status | Word Count | File | |
| 228 | |---|-------|-----|--------|------------|------| |
| 229 | | *No chapters yet* | | | | | | |
| 230 | |
| 231 | ## Total Word Count: 0 |
| 232 | |
| 233 | |
| 234 | Also create the v2 support files. Every registry and `continuity/state.md` needs `story: {story-title-kebab}` in addition to its `type`, or `story validate` reports a missing `story` field: |
| 235 | |
| 236 | `scenes/_index.md` with frontmatter `type: scene-registry` and `story: {story-title-kebab}` |
| 237 | `continuity/state.md` with frontmatter `type: continuity-state`, `story: {story-title-kebab}`, `current-chapter: 0`, and empty `character-state`, `object-state`, and `knowledge-state` lists |
| 238 | `continuity/questions/_index.md` with frontmatter `type: question-registry` and `story: {story-title-kebab}` |
| 239 | `continuity/promises/_index.md` with frontmatter `type: promise-registry` and `story: {story-title-kebab}` |
| 240 | `continuity/clues/_index.md` with frontmatter `type: clue-registry` and `story: {story-title-kebab}` |
| 241 | `glossary/_index.md` with frontmatter `type: glossary-registry` and `story: {story-title-kebab}` |
| 242 | `style-sheet.md` (optional) with frontmatter `type: style-sheet`, `dialect: unspecified`, and empty `preferred`, `watch-words`, and `allow-words` lists, plus the body sections described in the `voice-style` skill |
| 243 | |
| 244 | If manual initialization gets tedious, stop and ask the user to install or run the Story CLI rather than inventing a different project shape. |
| 245 | |
| 246 | Present a summary of what was created and suggest next steps: |
| 247 | "Add your first character" (triggers character-management skill) |
| 248 | "Start worldbuilding" (triggers worldbuilding skill) |
| 249 | "Define your plot structure" (triggers plot-structure skill) |
| 250 | "Set up the style sheet" (triggers voice-style skill) once there is a writing sample |
| 251 | "Run `story next .`" to show deterministic next actions |
| 252 | |
| 253 | When CLI access is available, run a final maintenance check: |
| 254 | |
| 255 | |
| 256 | story validate {story-title-kebab} |
| 257 | |
| 258 | |
| 259 | If `story` is not installed, use `bun run story --` from the Story Skills repository checkout or the bundled fallback `node ../story-maintenance/scripts/story.js` with the same arguments, resolving the path relative to this skill folder. |
| 260 | |
| 261 | ## Reference Files |
| 262 | |
| 263 | **`references/title-logline.md`** - Title craft (comps, hook phrasing, title as promise) and the logline recipe |
| 264 | |
| 265 | ## Conventions |
| 266 | |
| 267 | These conventions apply across ALL story skills: |
| 268 | |
| 269 | **Kebab-case filenames** for all entity files (e.g., `sera-voss.md`, `ashen-citadel.md`) |
| 270 | **YAML frontmatter** on every file for structured metadata |
| 271 | **Schema version** - `story.md` frontmatter includes `schema-version: 2` |
| 272 | **`_index.md`** files are authoritative registries for each domain |
| 273 | **`story.md`** is the top-level bible read by all skills for context |
| 274 | **`style-sheet.md`** records voice and house style; skills that write or revise prose read it |
| 275 | **Bidirectional cross-links** - when referencing another entity, update both files |
| 276 | **Character identifiers** use the kebab-case filename without extension (e.g., `sera-voss`) |
| 277 | **Death tracking** - when a character dies on the page, set `status: deceased` and `died-in: chapter-{NN}` so `story continuity` can flag posthumous appearances |
| 278 | **`mentions` 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 `mentions` |
| 279 | **Scene identifiers** use `chapter-{NN}-scene-{NN}` and live in `scenes/` |
| 280 | **Continuity state** lives in `continuity/state.md`, with open questions, promises, and clues tracked under `continuity/questions/`, `continuity/promises/`, and `continuity/clues/` |
| 281 | **Markdown-first artifacts** - create and edit story content directly in the target `.md` files. Do not create project-local build scripts, generator scripts, or bulk writer scripts (for example `build-*.js`) to emit story files. |
| 282 | **CLI helpers stay external** - the only JavaScript helper agents should run is the installed or bundled Story CLI (`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. |
| 283 |
Details
- Updated
- Sep 22, 2026
- License
- MIT
- Stars on the repo
- ★ 241
- Checked
- Source
- danjdewhurst/story-skills ↗
- Creator
- danjdewhurst · 13 listings
Similar skills
See all →
SkillReverse engineer native, managed, Electron/JavaScriptREA
SkillBrainstorms ideas into designs before any creative workBrainstorming Ideas Into Designs
SkillRequires technical rigor and verificationCode Review Reception
SkillDiagnosis loop for hard bugs and performance regressionsDiagnosing bugs
SkillImplement the result of /to-spec and /to-tickets in codeImplement spec
SkillWriting a PR bodyMore from danjdewhurst
SkillWrite a chapter, next chapter, chapter outlineChapter writing
SkillCreate a character, update a character, add a characterCharacter management
SkillPantsing, discovery write, write without an outlineDiscovery drafting
SkillProcess beta reader feedback, alpha reader feedbackFeedback triage
SkillMystery, fair play, clue, red herring, romance beats, HEAGenre craft
SkillCreate a plot arc, story structure, add a plot pointPlot structure