chapter-writing
This skill should be used when the user asks to "write a chapter", "next chapter", "chapter outline", "draft chapter", "continue the story", "write a scene"…
Skill by danjdewhurst
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/danjdewhurst-chapter-writing
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: writing
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md and code. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/chapter-writing
What's inside
- Skill name
chapter-writing- Description
- This skill should be used when the user asks to "write a chapter", "next chapter", "chapter outline", "draft chapter", "continue the story", "write a scene", "outline a chapter", or wants to write prose for a story project. NOT for planning a scene's structure, subtext, or outcome (use scene-craft), drafting without an outline (use discovery-drafting), or revising existing chapters (use revision-continuity).
- License
- MIT
- Instructions
- 174 lines in SKILL.md · view on GitHub
Files (4)
- SKILL.md
- chapter-template.md · references/
- scene-template.md · references/
- writing-guidelines.md · references/
SKILL.md (first lines)
# Chapter Writing
## Overview
Write story chapters using an outline-first workflow. Gathers context with `story context`, which keeps later chapters out, builds a beat-by-beat outline for approval, then writes full prose. After writing, records the scene dates, the continuity state, and each setup planted or paid off in the one record that owns it, and rebuilds registries with `story reindex`.
## Prerequisites
A story project must already exist with at least:
- `story.md` (story bible)
- At least one character in `characters/`
- A plot structure in `plot/_index.md` (recommended but not required for first chapters)
## Prose Pass and Companion Skill
The in-repo `line-editing` skill owns the prose-quality pass (line edit, voice differentiation, copyedit, read-aloud, proof). It ships with Story Skills, so it is always available: run it on a drafted chapter before marking it `revised`.
The external `better-writing` skill is an optional complement for general prose quality and anti-generic writing checks. Before drafting or revising chapter prose, check whether it is available in the active agent environment. Detect it by looking for its skill directory in the configured skills paths:
```shell
ls -d ~/.claude/skills/better-writing .claude/skills/better-writing ~/.agents/skills/better-writing .agents/skills/better-writing skills/better-writing 2>/dev/null
```
- If a `better-writing` directory exists (containing `SKILL.md`), use it for prose quality, voice calibration, anti-generic writing checks, and the final pre-flight pass before saving the chapter.
- If `better-writing` is not installed, continue with this skill's built-in writing guidelines (`references/writing-guidelines.md`). Do not ask about it every session: offer it once, when you draft the project's first chapter, by pointing the user at [forjd/better-writing](https://github.com/forjd/better-writing) and asking whether they want to install it. After that, mention it only if the user asks about prose-quality tools, and never again once they decline. Do not run any installer without explicit approval.
## Outline-First Workflow
### 1. Gather Context
If the chapter you are drafting already has a file with its `pov` and `characters` set (for example a planned chapter that `story next` names), start with its packed context:
```shell
story context chapter-{NN} --path .
```
It prints, within a token budget (`--budget`, default 6000), the chapter's outline and cast, the `story.md` essentials (including the book's language, writing mode, chapter numerals, and count unit) and `style-sheet.md` rules, the POV character's knowledge and state at that point, cards for the characters on the page and the chapter's locations (with their `progressions` applied at this chapter), open promises, clues, and questions, and summaries of the previous scenes. Knowledge uses the same rule as `story knowledge`: the character knows a fact when its `learned-in` chapter is not after the target in story time (by date when both chapters are dated, otherwise by chapter number). A line marked `reader-knowledge` may be used in the prose. A line marked `character-knowledge` and `do not reveal` is known to the POV from a flashback the reader has not reached; write them as knowing it, and do not put the fact on the page. Everything else from a later chapter is left out. Add `--json` if you would rather read the items as data. For a new chapter, run it after step 2 instead.
Draft from that output, and do not open project files for background. If it ends with "Left out to fit the budget", do not open the files that list names, even though the line under it says to read them: they are whole files, and context filtered their items to the target. `continuity/state.md` holds knowledge learned later, character and location files hold later `progressions`, and promise and clue files hold their payoffs. Instead rerun with a larger `--budget`, or run with `--json` and use the `text` of each item in `sections` whose `included` is `false`, which is already filtered. Context already left out anything past the target: `continuity/state.md` is the full current snapshot, and a character's state from it is included only when `current-chapter` is before the target. `plot/timeline.md`, `continuity/questions/_index.md`, `continuity/promises/_index.md`, `plot/_index.md`, active arc files in `plot/arcs/`, and the other `_index.md` registries hold later beats or whole-book state, and the previous chapter is already covered by the recent scene summaries. Do not open them while drafting; the one exception is the arc `## Foreshadowing` rows for this chapter, which the outline step reads.
The packed context's Story essentials give the book's `language` (a BCP 47 tag; `en` when unset), writing mode, chapter numerals, and count unit, so you do not need to open `story.md`. Draft in that language, with its dialogue punctuation as the style sheet records it. If the style sheet records none and the book is not in English, settle it with the user first (see `../line-editing/references/language-conventions.md`). If the packed context has no style-sheet section and no left-out item names `style-sheet.md`, the file is missing: draft normally and suggest the `voice-style` skill once a chapter exists.
### 2. Determine Chapter Scope
Ask the user:
- What should this chapter cover?
- Whose POV?
- Which location(s)?
For a planned chapter, suggest the next beats from its packed context: its outline, the arcs it advances, and the open promises, clues, and questions. For a new chapter there is no packed context yet, so take the scope from the user and the `story next` suggestion. Do not open arc files or `plot/_index.md` to find beats.
Once the scope is agreed, give the chapter its POV and cast so the packed context can include them: create a new chapter with `story add chapter 'Title' --pov <character-id> --character <character-id> --location <location-id>`, or set `pov`, `characters`, and `locations` in an existing chapter's frontmatter. Then run `story context chapter-{NN} --path .` (or pass a scene id, `chapter-{NN}-scene-{NN}`, to draft one scene) and build the outline and prose from it.
### 3. Build the Outline
Create a beat-by-beat outline listing:
- Each scene/beat and what it accomplishes
- POV character and location for each beat
- Which arc plot points are advanced, and how the chapter delivers its structural beat when the packed context lists one (`Beat: Midpoint`)
- Any setup to plant or pay off (see Setups to plant or pay off below)
- Any machine-readable state changes the scene should record
- Each scene's intended `outcome` (`yes`, `no`, `yes-but`, `no-and`) and how the chapter ends (`hook`)
Setups to plant or pay off come from these three places, plus any the user names:
- The packed context's open promises, clues, and questions: those planted or raised by this chapter, including the ones scheduled for it (`plant in this chapter`, `pay off in this chapter`).
- Records with no chapter yet, which the packed context leaves out: list them with `story list promises --where status=planned --where '!planted'`, the same for `clues`, and `story list questions --where '!introduced'`. The list shows titles only. Plant one here only if the user agrees, and set its chapter in step 6.
- Small arc hints: for each arc in the packed context's `Arcs advanced`, read only the `## Foreshadowing` table of `plot/arcs/{arc-id}.md`, and use only the rows whose Chapter Planted or Chapter Payoff is this chapter. The rest of the arc file holds later beats, so do not read it.
Use the POV character card and the location cards from the packed context for voice and setting. If a card was left out to fit the budget, get it from a larger `--budget` or its `--json` item text, not from the character or location file.
Present the outline to the user for approval. Revise until approved.
### 4. Write the Chapter
With the approved outline, write the full prose:
- Write in the book's `language` and follow the POV and tense from the packed context (they come from `story.md`). The craft advice in `references/writing-guidelines.md` and `scene-craft` is written for English; in another language keep its aims and use that language's own conventions
- Use the POV character's voice and speech patterns from their packed card
- Ground scenes in the location details from the packed context
- Consult `references/writing-guidelines.md` for quick prose craft guidance. For the deep reference — the Scene/Sequel unit, dialogue subtext and voice-differentiation, deep POV and psychic distance — use the `scene-craft` skill.
- Give each speaker their recorded voice, using `voice-words` and avoiding `voice-avoid` from their packed character card
- When available, apply the `better-writing` skill before finalizing prose; the `line-editing` skill handles the fuller prose pass afterwards
- To check a drafted scene before saving it, pipe it to `story prose -` (style sheet, filter words, echoes) and `story voices -` (`voice-avoid` words) from the project folder. If either reports a check skipped for the book's language, reread the scene for that check instead
- Use the chapter template from `references/chapter-template.md`
- Include the approved outline in the file above `## Chapter Text` (for reference). CLI word counts start at that heading, so an outline kept above it never inflates `word-count`: run `story wordcount . --write` after writing to record counts.
Save to `chapters/chapter-{NN}.md` with appropriate frontmatter.
Create or update a matching scene file in `scenes/chapter-{NN}-scene-{NN}.md` for each scene. Scene frontmatter should include `title`, `chapter`, `scene`, `pov`, `location`, `characters`, `mentions`, `arcs-advanced`, `status`, `date`, `time`, and `state-changes` so continuity survives beyond prose. Set `date` (`YYYY-MM-DD`, or a date in the book's `calendar` when `story.md` has one, such as `3 Thaw 412 AF`) and `time` (`"HH:MM"` or `dawn`, `morning`, `midday`, `afternoon`, `evening`, `night`) on every scene as its moment settles, and `travel-hours` (a number) when the POV character had to travel since the previous scene: undated scenes switch off the clock and route checks in `story continuity` without a warning, except an undated scene with `travel-hours` above 0, which warns; `story timeline` lists undated scenes. Set `outcome` on each goal-driven scene record to what actually happened on the page (`yes`, `no`, `yes-but`, `no-and`), and set the chapter's `hook` to how it actually ends (`cliffhanger`, `question`, `revelation`, `reversal`, `decision`, `emotional`, `resolution`).
Write chapter prose directly into the chapter markdown file. Do not stage prose in project-local build scripts, generator scripts, or bulk writer scripts (for example `build-*.js`) to emit chapters. If a temporary helper is truly unavoidable for mechanical file operations, keep it outside the story project and remove it before finishing.
### 5. Post-Write Updates
After the chapter is written:
1. **Leave the registries alone.** Every `_index.md` registry, including `chapters/_index.md` and the question, promise, and clue indexes, is generated. `story reindex` rebuilds those tables from the entity files, and `story wordcount . --write` refreshes the chapter word counts and then reindexes. Do not add or edit registry rows by hand.
2. **Mark the plan in `plot/timeline.md`** - the `date` and `time` on the scene records say when this chapter happens, and `story timeline` orders them, so do not add a row for each scene. Set the `Chapter` cell to `Ch {N}` on each planned event this chapter put on the page, and add a row, in chronological order, only for backstory the chapter reveals or a plot event the plan lacks
3. **Update arc files** - mark advanced plot points with chapter reference
4. **Update scene records** - make sure every scene has a corresponding `scenes/` file
5. **Update continuity** - after the prose is saved, carry forward character state, object ownership, and knowledge. This is the one time to open `continuity/state.md`: recording the new state, not reading it for drafting context. The CLI reads its frontmatter, not its body tables (those are optional notes), so record state there:
```yaml
current-chapter: 3
character-state:
- character: mara-quill
location: port-kestrel
physical: bruised ribs
emotional: wary
object-state:
- artifact: brass-key
owner: mara-quill
status: active
since: chapter-03
knowledge-state:
- character: mara-quill
knows: The ledger was forged
learned-in: chapter-03From danjdewhurst/story-skills, MIT.
More from danjdewhurst/story-skills
- 0.676score
adaptation
danjdewhurst
This skill should be used when the user asks to "make an audiobook", "narration script", "narrator", "ACX", "Findaway", "pronunciation guide", "how long is…
SkillAFreshness: A★ 347Claude Code +9 - 0.676score
theme-craft
danjdewhurst
This skill should be used when the user asks about "theme", "controlling idea", "thematic argument", "moral argument", "thematic arc", "flat arc", "negative…
SkillAFreshness: A★ 347Claude Code +9 - 0.676score
verse-craft
danjdewhurst
This skill should be used when the user asks to "write a poem", "write a limerick", "write a sonnet", "haiku", "villanelle", "ballad", "song lyrics", "a song…
SkillAFreshness: A★ 347Claude Code +9 - 0.676score
voice-style
danjdewhurst
This skill should be used when the user asks to "create a style sheet", "style guide", "house style", "keep the voice consistent", "voice drift", "British or…
SkillAFreshness: A★ 347Claude Code +9 - 0.676score
feedback-triage
danjdewhurst
This skill should be used when the user asks to "process beta reader feedback", "alpha reader feedback", "feedback round", "synthesize reader feedback"…
SkillAFreshness: A★ 347Claude Code +9 - 0.676score
genre-craft
danjdewhurst
This skill should be used when the user asks about "mystery", "fair play", "clue", "red herring", "romance beats", "HEA", "thriller", "ticking clock"…
SkillAFreshness: A★ 347Claude Code +9 - 0.676score
plot-structure
danjdewhurst
This skill should be used when the user asks to "create a plot arc", "story structure", "add a plot point", "story timeline", "track foreshadowing", "pacing"…
SkillAFreshness: A★ 347Claude Code +9 - 0.676score
premise-workshop
danjdewhurst
This skill should be used when the user asks to "brainstorm a story idea", "I have an idea for a story", "what if", "develop a premise", "is this idea strong…
SkillAFreshness: A★ 347Claude Code +9 - 0.676score
publishing
danjdewhurst
This skill should be used when the user asks to "self-publish", "publish my book", "ISBN", "copyright page", "book metadata", "BISAC", "keywords", "KDP"…
SkillAFreshness: A★ 347Claude Code +9 - 0.676score
revision-continuity
danjdewhurst
This skill should be used when the user asks to "revise a chapter", "continuity check", "find inconsistencies", "audit character state", "check timeline…
SkillAFreshness: A★ 347Claude Code +9 - 0.676score
scene-craft
danjdewhurst
This skill should be used when the user asks to "plan a scene", "scene structure", "sequel scene", "dialogue subtext", "deep POV", "psychic distance", "try…
SkillAFreshness: A★ 347Claude Code +9 - 0.676score
series-continuity
danjdewhurst
This skill should be used when the user asks to "write a sequel", "write a prequel", "start book two", "continue the series", "companion novel", "spin-off"…
SkillAFreshness: A★ 347Claude Code +9
Signals
- Stars
- 347
- Forks
- 55
- Open issues
- 0
- Last commit (this folder)
- Oct 14, 2026 (14 days ago)
- Last release
- Oct 13, 2026 (15 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/danjdewhurst/story-skills
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from danjdewhurst
- 0.676score
premise-workshop
danjdewhurst
This skill should be used when the user asks to "brainstorm a story idea", "I have an idea for a story", "what if", "develop a premise", "is this idea strong…
SkillAFreshness: A★ 347Claude Code +9 - 0.676score
feedback-triage
danjdewhurst
This skill should be used when the user asks to "process beta reader feedback", "alpha reader feedback", "feedback round", "synthesize reader feedback"…
SkillAFreshness: A★ 347Claude Code +9 - 0.676score
genre-craft
danjdewhurst
This skill should be used when the user asks about "mystery", "fair play", "clue", "red herring", "romance beats", "HEA", "thriller", "ticking clock"…
SkillAFreshness: A★ 347Claude Code +9 - 0.676score
adaptation
danjdewhurst
This skill should be used when the user asks to "make an audiobook", "narration script", "narrator", "ACX", "Findaway", "pronunciation guide", "how long is…
SkillAFreshness: A★ 347Claude Code +9 - 0.676score
plot-structure
danjdewhurst
This skill should be used when the user asks to "create a plot arc", "story structure", "add a plot point", "story timeline", "track foreshadowing", "pacing"…
SkillAFreshness: A★ 347Claude Code +9 - 0.676score
publishing
danjdewhurst
This skill should be used when the user asks to "self-publish", "publish my book", "ISBN", "copyright page", "book metadata", "BISAC", "keywords", "KDP"…
SkillAFreshness: A★ 347Claude Code +9
Cite this page
chapter-writing skill. Agent Mart. https://agentmart.dev/skills/danjdewhurst-chapter-writing (last updated 2026-10-24)