book-setup
You are running the book-setup skill. Your job is to interactively define
a new fantasy book in collaboration with the user, then write a complete
setup.md file.
When to invoke
- The user says "new book", "new series", "set up a book", "start a fantasy
novel", or equivalent.
- There is no
output/<slug>/book-NN/setup.md, OR there is one and the user
asks to "redo" it.
Hard rules
- This project writes fantasy only. If the user asks for another genre,
steer them back to a fantasy interpretation or stop.
- The writing language defaults to Spanish (es) unless the user
explicitly asks otherwise. The agent and reference docs may be in
English, but the prose of the book will be in the declared language.
- Do not invent setup details the user has not approved. You may
propose alternatives, but the user must pick or rewrite.
- The user can leave sections blank for
plan-book to handle later, but
certain fields are gating: title, language, chapter count, words per
chapter, premise of world, magic source/mechanic/cost/limits, principal
character names with want/need/wound, central conflict, midpoint
candidate. If these are missing, say so before finishing.
Steps
1. Initialize the directory
If the user has not already created the structure:
- Ask for the title (or a working title).
- Ask whether this is a standalone or book N of a series.
- If it's part of a series and the series already exists in
output/,
ask which series slug. Otherwise compute the slug from the title.
- Run:
python3 .claude/skills/book-setup/scripts/init_book.py \
--title "<title>" \
--series-slug "<slug>" \
--book-number <N>
This creates the directory tree and writes a setup.md template.
2. Walk through setup.md interactively
Open setup.md and walk the user through each section, in this order
(critical sections first; allow skipping non-critical ones):
- Identity (title, author, subgenre, language, voice, tense). The
author line is prefilled with the project pen name from
config.toml
([author] name); only change it for a book-specific pseudonym.
- Length & shape (chapters, words per chapter, act structure).
- Premise of world (3-5 sentences, era, geography, calendar).
- Magic system — most important. Use
references/magic-design-checklist.md as your guide. Push for:
- A specific source (not "energy").
- A walkable mechanic.
- At least two costs visible in prose.
- At least three hard limits.
- One thematic question forced by the magic.
- Three escalation tiers.
- Castes / factions / orders. Aim for 2-4 with stated current
conflict.
- Geography. 5-10 named places, each with sensory detail.
- Historical weight. 3-5 past events the present reverberates.
- Characters — principals. For each: role, age, three physical
details, want / need / wound, lie they believe, voice, arc, magic
relationship, secret, relationships matrix. Don't accept "brave
warrior" — push for specifics. Use
references/fantasy-beats.md
(Character arcs section).
- Theme. Force the user to articulate a moral question, not a
"what's it about" pitch.
- Plot. Central conflict, inciting incident, midpoint
overturn, all-is-lost, climax decision, resolution costs.
- Subplots. 1-3, each with theme that differs from main.
- POV. Number, default character, distribution.
- Slow-immersion specifics. Sensory anchors that recur. Texture
beats budget per chapter.
- Prose constraints. Voice, distance, register, allowed/forbidden tics.
- If continuation. Inherited threads, returning characters,
unpaid promises.
For each section:
- Read aloud (in the chat) the prompts from the template.
- If the user gives a thin answer, push back specifically — show one
concrete example of what good would look like.
- If the user asks for suggestions, propose 2-3 alternatives drawn
from fantasy craft, not boilerplate. Always declare them as
suggestions to be accepted, modified, or rejected.
- Write each section to
setup.md as soon as the user confirms it.
Do not batch.
3. Validate before finishing
After the walk-through, check the gating fields:
- title, language, num chapters, words per chapter range
- world premise (≥ 3 sentences)
- magic: source + mechanic + ≥2 costs + ≥3 limits + thematic question
- ≥2 principal characters with want/need/wound declared
- central conflict + midpoint + climax decision named
If any are missing, show the user the list and ask whether to fill
them now or defer. If deferred, write a clear > TODO: comment in the
section so plan-book can prompt for it later.
4. Wrap up
Confirm the file exists at output/<series-slug>/book-NN/setup.md and
print a short summary (title, chapters, principal characters, central
conflict in one sentence).
Tell the user the next step: run plan-book to generate the outline,
shadow timeline, seeds, and initial canon. Optionally remind them that
they can edit setup.md at any time and re-run plan-book to refresh.
What this skill does NOT do
- Does not generate plot beats or chapter plans (that's
plan-book).
- Does not write any prose.
- Does not populate
canon/, plan/, or summaries/.
Files this skill writes
output/<series>/book-NN/setup.md (created if absent, then iteratively edited).
output/<series>/series.md (if new series).
output/<series>/series-state.md (empty placeholder if new series).
1---2name: book-setup3description: Interactive intake to define a new fantasy book (or next book in a series). Walks the user through identity, world, magic, castes, characters, plot, subplots, POV. Produces a complete `setup.md` that becomes the single source of truth for everything downstream. Use this when the user wants to start a new book and `setup.md` does not yet exist (or is mostly empty).4---56# book-setup78You are running the **book-setup** skill. Your job is to interactively define9a new fantasy book in collaboration with the user, then write a complete10`setup.md` file.1112## When to invoke1314- The user says "new book", "new series", "set up a book", "start a fantasy15 novel", or equivalent.16- There is no `output/<slug>/book-NN/setup.md`, OR there is one and the user17 asks to "redo" it.1819## Hard rules2021- This project writes **fantasy only**. If the user asks for another genre,22 steer them back to a fantasy interpretation or stop.23- The writing language defaults to **Spanish (es)** unless the user24 explicitly asks otherwise. The agent and reference docs may be in25 English, but the prose of the book will be in the declared language.26- **Do not invent setup details the user has not approved.** You may27 *propose* alternatives, but the user must pick or rewrite.28- The user can leave sections blank for `plan-book` to handle later, but29 certain fields are **gating**: title, language, chapter count, words per30 chapter, premise of world, magic source/mechanic/cost/limits, principal31 character names with want/need/wound, central conflict, midpoint32 candidate. If these are missing, say so before finishing.3334## Steps3536### 1. Initialize the directory3738If the user has not already created the structure:39401. Ask for the **title** (or a working title).412. Ask whether this is a **standalone** or **book N of a series**.423. If it's part of a series and the series already exists in `output/`,43 ask which series slug. Otherwise compute the slug from the title.444. Run:45 ```bash46 python3 .claude/skills/book-setup/scripts/init_book.py \47 --title "<title>" \48 --series-slug "<slug>" \49 --book-number <N>50 ```51 This creates the directory tree and writes a `setup.md` template.5253### 2. Walk through `setup.md` interactively5455Open `setup.md` and walk the user through each section, in this order56(critical sections first; allow skipping non-critical ones):57581. **Identity** (title, author, subgenre, language, voice, tense). The59 author line is prefilled with the project pen name from `config.toml`60 (`[author] name`); only change it for a book-specific pseudonym.612. **Length & shape** (chapters, words per chapter, act structure).623. **Premise of world** (3-5 sentences, era, geography, calendar).634. **Magic system** — *most important*. Use64 `references/magic-design-checklist.md` as your guide. Push for:65 - A specific source (not "energy").66 - A walkable mechanic.67 - At least two costs visible in prose.68 - At least three hard limits.69 - One thematic question forced by the magic.70 - Three escalation tiers.715. **Castes / factions / orders.** Aim for 2-4 with stated current72 conflict.736. **Geography.** 5-10 named places, each with sensory detail.747. **Historical weight.** 3-5 past events the present reverberates.758. **Characters — principals.** For each: role, age, three physical76 details, want / need / wound, lie they believe, voice, arc, magic77 relationship, secret, relationships matrix. Don't accept "brave78 warrior" — push for specifics. Use `references/fantasy-beats.md`79 (Character arcs section).809. **Theme.** Force the user to articulate a moral question, not a81 "what's it about" pitch.8210. **Plot.** Central conflict, inciting incident, midpoint83 overturn, all-is-lost, climax decision, resolution costs.8411. **Subplots.** 1-3, each with theme that differs from main.8512. **POV.** Number, default character, distribution.8613. **Slow-immersion specifics.** Sensory anchors that recur. Texture87 beats budget per chapter.8814. **Prose constraints.** Voice, distance, register, allowed/forbidden tics.8915. **If continuation.** Inherited threads, returning characters,90 unpaid promises.9192For each section:93- Read aloud (in the chat) the prompts from the template.94- If the user gives a thin answer, push back specifically — show one95 concrete example of what good would look like.96- If the user asks for suggestions, propose 2-3 alternatives drawn97 from fantasy craft, *not* boilerplate. Always declare them as98 suggestions to be accepted, modified, or rejected.99- Write each section to `setup.md` as soon as the user confirms it.100 Do not batch.101102### 3. Validate before finishing103104After the walk-through, check the gating fields:105- title, language, num chapters, words per chapter range106- world premise (≥ 3 sentences)107- magic: source + mechanic + ≥2 costs + ≥3 limits + thematic question108- ≥2 principal characters with want/need/wound declared109- central conflict + midpoint + climax decision named110111If any are missing, **show the user the list** and ask whether to fill112them now or defer. If deferred, write a clear `> TODO:` comment in the113section so `plan-book` can prompt for it later.114115### 4. Wrap up116117Confirm the file exists at `output/<series-slug>/book-NN/setup.md` and118print a short summary (title, chapters, principal characters, central119conflict in one sentence).120121Tell the user the next step: run `plan-book` to generate the outline,122shadow timeline, seeds, and initial canon. Optionally remind them that123they can edit `setup.md` at any time and re-run `plan-book` to refresh.124125## What this skill does NOT do126127- Does not generate plot beats or chapter plans (that's `plan-book`).128- Does not write any prose.129- Does not populate `canon/`, `plan/`, or `summaries/`.130131## Files this skill writes132133- `output/<series>/book-NN/setup.md` (created if absent, then iteratively edited).134- `output/<series>/series.md` (if new series).135- `output/<series>/series-state.md` (empty placeholder if new series).