| name | storywright |
| description | Bootstrap and run a long-form fiction project (novel, novella, linked story collection, serialized fiction) using a seven-phase pipeline built around a story bible that drafting both feeds and consumes. Use when the user wants to start or advance a long-form fiction project ("I want to write a novel about X", "/storywright"), when they reference this pipeline's artifacts (story bible, scene cards, canon keeper, first reader, manifesto, voice, drafting modes), or when they ask Claude to draft, develop-edit, copyedit, or continuity-check a chapter inside a directory that already contains storywright artifacts (manifesto.md and voice.md, typically alongside a bible/ directory). Not for nonfiction (that is bookwright), not for short stories written in one sitting, and not for one-off prose help. |
Storywright
This skill packages a seven-phase pipeline for long-form fiction. It produces a coherent set of project artifacts (manifesto.md, voice.md, toc.md, outline.md, the bible/ directory, conventions.md, optionally references.bib, and five editorial role files) and then drives drafting, canon keeping, development editing, copyediting, and a final whole-manuscript assessment against those artifacts.
Storywright is the fiction sibling of bookwright. Where bookwright's spine is evidentiary (sources flow inward: bibliography → outline quotations → draft), storywright's spine is canonical: the draft itself generates facts, and the danger is not miscitation but continuity drift. The story bible under bible/ is the anchor — outline cards bind canon by stable ID before drafting, and the canon keeper harvests every invented fact back into the bible after each draft.
The skill is invoked in one of three modes:
- Bootstrap a new project. The user says, in natural language, what they want to write. The skill interrogates until two completeness gates (manifesto, voice) are satisfied, then generates all artifacts. See
bootstrap.md.
- Resume work on an existing project. The skill detects
manifesto.md and voice.md at the project root and reads them before touching anything. Use them as project law for every decision.
- Run an editorial role. The user asks for a chapter draft, a canon harvest, a development edit, a copyedit, or a final first-reader assessment of the finished manuscript. Load the corresponding role file from the project root and follow it.
The pipeline itself is documented in workflow.md. The bootstrap procedure is in bootstrap.md. The templates are in templates/.
Mandatory interview in bootstrap mode (read this before anything else)
The bootstrap procedure REQUIRES interactive questioning. This is non-negotiable.
The bootstrap is an interview by design. Its two completeness gates (manifesto, voice) exist precisely to prevent the author's project from being committed to decisions the author never made. Reading this skill is itself a commitment to running that interview.
The following are FORBIDDEN inside bootstrap mode:
- Drafting
manifesto.md or voice.md from "reasonable defaults". There are no reasonable defaults for a book's audience, premise, ending posture, content boundaries, voice, or POV discipline. These decisions belong to the author. Inventing them defeats the purpose of the skill.
- Skipping the interview because the user's project preferences say to avoid clarifying questions. Project-level instructions like "work without stopping for clarifying questions" or "make the reasonable call and continue" do not apply inside this procedure. The user invoked this skill specifically to be interviewed. Asking the questions IS the work.
- Treating a thin natural-language seed as sufficient input. A sentence about the story ("a novel about X") populates one or two checklist items at most. The remaining items require explicit answers from the user.
If the user has a global preference to avoid clarifying questions, acknowledge it briefly and proceed with the interview anyway:
"I see your project setup asks to avoid clarifying questions in general. The bootstrap is the exception — it is fundamentally an interview, and the manifesto and voice gates require your direct input. I'll start with the manifesto checklist."
Then start asking. The structure of the interview is mandatory. Only the depth of each answer is collaborative.
Role numbering, and why the canon keeper has no number
In storywright, a numbered role means exactly one thing: a sequential editorial pass over a chapter's prose. Role 1 drafts, role 2 develops and line-edits, role 3 copyedits, role 4 reads the finished book. The numbers are the order of the passes.
The canon keeper is not one of those passes, so it carries no number. It is bookkeeping: after every role-1 draft — and before role 2 may run — it reads the draft, harvests every newly invented canon fact into the bible with stable IDs, flags every contradiction with existing canon (flags only; resolution belongs to the author), and in exploratory mode back-fills the outline card from the draft. It never touches prose, and it may be re-run at any time, for instance after a major revision of a closed chapter. In projects that keep a research bibliography it also has a secondary mode that extracts facts from a source into the bible.
Users coming from bookwright: bookwright has a role-0-outliner.md, and its zero is meaningful — it runs before the entire writing chain, moving source material into the outline. The canon keeper moves facts in the opposite direction (draft → bible) and sits inside the writing chain, between roles 1 and 2. Numbering it 0 would misstate the pipeline, so it is named role-canon-keeper.md instead. There is no role 0 in storywright.
The two drafting modes
Every chapter is drafted in one of two modes, and the gates differ. In outlined mode, role 1 refuses to draft unless the chapter's card is [DRAFT-READY] (goal/conflict/turn, beats, canon dependencies bound to bible IDs). In exploratory mode — declared explicitly on the card or in the assignment, never assumed — role 1 drafts from a thin card (minimum: POV, situation, and the question the draft is trying to answer), and the compensation is non-negotiable: the canon keeper runs immediately after the draft and back-fills the card before role 2 may run. The project's default mode is recorded in the manifesto's decisions section; a card without an explicit mode inherits it. Details in workflow.md.
When to invoke this skill
Invoke when any of the following holds:
- The user asks to start a new long-form fiction project and the project root does not yet contain
manifesto.md.
- The user types
/storywright or mentions the skill by name.
- The user references the pipeline's phases or artifacts by name (manifesto, voice, story bible, scene cards, canon keeper, first reader, drafting modes) in a context that suggests they want to advance the work.
- The user asks Claude to draft, develop-edit, copyedit, or continuity-check material inside a directory that already contains the pipeline's artifacts.
Do NOT invoke for nonfiction projects (that is bookwright's job), for short stories written in one sitting, or for one-off prose help unrelated to a structured fiction project.
What the skill does on invocation
-
Detect mode. Check whether the current working directory contains manifesto.md, voice.md, and the rest of the artifact set.
- None present: enter Bootstrap mode. Read
bootstrap.md and follow it.
- All present: enter Resume mode. Read
manifesto.md, voice.md, and any other artifact the user's request implicates. Then act according to the user's specific request.
- Partial: ask the user whether to complete the bootstrap (preferred) or to proceed with the artifacts that exist.
-
Read project law before acting. In Resume mode, never draft, edit, or restructure without first reading manifesto.md and voice.md. They are project law. Reading them is non-negotiable, even when the user's request seems narrow. The one exception is role-4-first-reader.md: it evaluates the finished manuscript as a publishing house would receive it — cold — and therefore deliberately does not read manifesto.md, voice.md, or any other working document. Do not feed it project law; doing so destroys the blind read that is the role's entire purpose.
-
For editorial roles, read the corresponding role file (role-canon-keeper.md, role-1-draft-editor.md, role-2-development-line-editor.md, role-3-copy-editor.md, or role-4-first-reader.md) from the project root, not from this skill. The first four have been instantiated with the project's specific voice, POV discipline, and drafting-mode default; the skill's templates/ directory contains only the generic versions. role-4-first-reader.md is the exception: it is deliberately generic and carries no project specifics, because it must read the manuscript blind (see point 2).
-
Respect the writing sequence. Per chapter: role 1 → canon keeper → role 2 → role 3. Role 2 refuses a chapter the keeper has not harvested (card status [HARVESTED]). Chapters may run in parallel with each other.
Files in this skill
SKILL.md — this file. Claude reads it on skill invocation.
workflow.md — human-facing description of the seven-phase pipeline, the canon hierarchy, and the two drafting modes.
bootstrap.md — the bootstrap protocol with two completeness gates.
templates/manifesto.md — generic template with meta-instructions.
templates/voice.md — generic template with meta-instructions.
templates/toc.md — minimal scaffold.
templates/outline.md — the scene-card template with status flags, drafting modes, canon dependencies, and setups/payoffs.
templates/bible/characters.md — character canon with CHAR-NNN IDs.
templates/bible/world.md — settings, rules, and objects with WORLD-NNN IDs.
templates/bible/timeline.md — fixed points and floating events with TIME-NNN IDs.
templates/references.bib — empty BibTeX file with header; instantiated only for projects that keep a research bibliography.
templates/conventions.md — ADR-style conventions file with seed entries.
templates/role-canon-keeper.md — generic canon keeper: draft-to-bible harvest, contradiction flagging, exploratory card back-fill, optional research extraction. Unnumbered by design (see above).
templates/role-1-draft-editor.md — generic draft editor with placeholders and the two mode gates.
templates/role-2-development-line-editor.md — generic development-line editor.
templates/role-3-copy-editor.md — generic copy editor with the continuity audit.
templates/role-4-first-reader.md — generic first-reader assessment of the finished manuscript; reads only the built book, blind to the project's working documents.
Substitution variables
Templates contain placeholders in {{DOUBLE_BRACE}} form. The bootstrap procedure substitutes them from the answers collected during the interview. The canonical variable set:
{{PROJECT_TITLE}} — title of the work
{{SUBTITLE}} — subtitle, may be empty
{{AUTHOR}} — author of record
{{PROJECT_FORM}} — novel, novella, linked collection, serial
{{GENRE}} — genre as a bookseller would shelve it
{{TARGET_LENGTH}} — approximate target length
{{PREMISE}} — the premise: who wants what, against what, at what stake
{{DRAMATIC_QUESTION}} — the question the ending answers
{{COMPS}} — two to five comparable published titles
{{PRIMARY_AUDIENCE}} — primary audience description
{{SECONDARY_AUDIENCE}} — secondary audience description, may be empty
{{AGE_BAND}} — middle grade, YA, adult, or finer
{{THEMES}} — the book's themes
{{THESIS}} — the argument, if the book argues; may be empty, but emptiness is a recorded decision
{{ENDING_POSTURE}} — known, sketched, or to be discovered
{{DRAFTING_MODE_DEFAULT}} — outlined or exploratory
{{CONTENT_BOUNDARIES}} — what stays off the page
{{PRIMARY_LANGUAGE}} — language and variant for the writing (e.g., "American English", "español neutro")
{{POV_PERSON}} — first, third limited, omniscient, mixed
{{POV_DISCIPLINE}} — who focalizes, when POV may shift, what counts as a violation
{{TENSE}} — past, present, and permitted shifts
{{NARRATIVE_DISTANCE}} — close/free-indirect versus external, and permitted movement
{{REGISTER}} — the prose register and its named failure modes
{{DIALOGUE_CONVENTIONS}} — tags, punctuation, dialect, interior thought
{{STYLE_DEPARTURES}} — banned devices and deliberate departures, with justifications
{{NON_PROSE_ELEMENTS}} — illustrations, documents, epistolary inserts; may be "none"
{{DISTRIBUTION_FORMAT}} — PDF, web, ePub, print
{{DISTRIBUTION_ACCESS}} — free, paywalled, commercial
{{HAS_RESEARCH_BIB}} — yes or no; controls references.bib, CONV-006, and the keeper's research mode
{{STYLE_AUTHORITY}} — optional; a style manual for mechanics (CMOS or another), or project-internal rules only
{{CITATION_SYSTEM}} — only when {{HAS_RESEARCH_BIB}} is yes; how bible entries point at sources
{{CORPUS_LANGUAGE}} — only when {{HAS_RESEARCH_BIB}} is yes; language(s) of the research corpus
{{TODAY}} — generation date, used in dated artifacts
The bootstrap substitutes all of these. Variables that remain empty after the interview are written as the literal placeholder, signaling to the author that the field is open for later refinement.
For users coming from bookwright: {{PROJECT_FORM}} and {{GENRE}} replace bookwright's {{PROJECT_GENRE}}; scope lives inside the premise and the bible rather than in a {{PERIOD_OR_SCOPE}} variable; and the scholarly variables ({{FIELD_STANDARDS}}, {{METHODOLOGICAL_MODEL}}, {{RESEARCH_DIVISION}}) have no fiction equivalent and are dropped.
Conventions for skill-internal references
Inside this skill, file paths are relative to the skill root (templates/manifesto.md, templates/bible/characters.md). Inside an instantiated project, file paths are relative to the project root (manifesto.md, bible/characters.md). Never mix the two.