adaptation
This skill should be used when the user asks to "make an audiobook", "narration script", "narrator", "ACX", "Findaway",…
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. NOT for a sequel or prequel (use series-continuity), or for finding
Claude Code
$ npx -y skills add danjdewhurst/story-skills --skill story-init --agent claude-code
Codex
$ npx skills add danjdewhurst/story-skills --skill story-init -a codex -y
Cursor
$ npx skills add danjdewhurst/story-skills --skill story-init -a cursor -y
Gemini CLI
$ npx skills add danjdewhurst/story-skills --skill story-init -a gemini-cli -y
GitHub Copilot
$ npx skills add danjdewhurst/story-skills --skill story-init -a github-copilot -y
OpenCode
$ npx skills add danjdewhurst/story-skills --skill story-init -a opencode -y
Windsurf
$ npx skills add danjdewhurst/story-skills --skill story-init -a windsurf -y
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. NOT for a sequel or prequel (use series-continuity), or for finding the idea before a project exists (use premise-workshop).
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.
1. Ask for basic story information (if a `premise-workshop` session produced a premise, logline, genre, and form, reuse them rather than asking again):
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}' --form '{form}' --genre '{genre}' --sub-genre '{sub-genre}' --setting-era '{era}' --pov '{pov-style}' --tense '{tense}' --synopsis '{synopsis}' --theme '{theme-1}' --theme '{theme-2}'The values are the user's own words, so wrap each one in single quotes. Never paste a value into double quotes, where `$(...)`, backticks, and `"` still take effect. A single quote inside a value depends on the shell: write it as `'\''` in a POSIX shell (bash, zsh, sh, Git Bash) and as `''` in PowerShell. Never run the command in cmd.exe, which has no single quotes and runs `&` inside a value; use PowerShell or a POSIX shell.
`--form` records `form` in `story.md` and, when no target is given, sets a default `target-words` for the form (novel 80,000, novella 30,000, novelette 12,000, short story 5,000, flash 1,000, chapter book 10,000, picture book 500; serials get no book-level default). `story validate` then warns when `target-words` is outside the form's usual range. For short forms, point the user to `references/short-story-form.md` in the `plot-structure` skill.
Record the language straight after init. `story init` has no flag for it, so add `language: {tag}` to the `story.md` frontmatter by hand, with the exact tag the user gave, regional variants such as `en-GB` or `en-AU` included. Write it for English books too: it costs nothing, and a missing field only means `en`. The language is not just metadata: drafting, editing, and critique skills write and judge prose in it, `story validate` checks the tag, and builds declare it. For a book not in English, set `dialect: unspecified` in `style-sheet.md` (the British and American spelling pairs are English) and, before the first chapter, settle the dialogue punctuation with the `voice-style` skill.
A Chinese (`zh`) or Japanese (`ja`) book is counted in characters, not words: `story wordcount`, `story progress`, the registries, and the form check all measure characters, against `target-characters`. Because the language is added after init, `--form` will have written a `target-words`; replace it with `target-characters` for the form (Chinese: novel 200,000, novella 60,000, short story 10,000, flash 1,500; Japanese: novel 150,000, novella 80,000, short story 20,000, flash 4,000), or a number the user names. No source sets a novelette, picture-book, or chapter-book length in characters, so those forms get no default and no range check: ask the user for a target. `story validate` warns `unused-target` until you do. Only set `count-unit: words` or `count-unit: characters` when the user asks to count the other way. Then run `story reindex .`, `story wordcount . --write`, and `story check .`.
The other publishing metadata (`isbn`, `publisher`, `publication-date`, `description`, `keywords`, `subjects`, `copyright`, `cover-alt`, `ai-disclosure`) is o
Agent Skills for end-to-end story writing in markdown, packaged as Codex and Claude Code plugins.
This skill should be used when the user asks to "make an audiobook", "narration script", "narrator", "ACX", "Findaway",…
This skill should be used when the user asks to "write a chapter", "next chapter", "chapter outline", "draft chapter", "continue…
This skill should be used when the user asks to "create a character", "update a character", "add a character", "build a family…
This skill should be used when the user asks about "pantsing", "discovery write", "write without an outline", "discovery draft",…
This skill should be used when the user asks for a "sensitivity reader", "authenticity reader", "cultural review", "is this…
This skill should be used when the user asks to "process beta reader feedback", "alpha reader feedback", "feedback round",…
Activates when the user asks about AI prompts, needs prompt templates, wants to search for prompts, or mentions prompts.chat. Use…
AI-driven presentation workflow for generating editable PPTX decks and slides, reconstructing page visuals, creating reusable…
Use this skill when the user wants a .pptx with smooth cross-slide animation — PowerPoint Morph transitions, Keynote-style…
Create stunning, animation-rich HTML presentations from scratch or by converting PowerPoint files. Use when the user wants to…