| name | book-draft |
| description | Write or continue new manuscript prose from a plan, idea, fragment, or dictation. Drafts the smallest independently revisable unit (usually a scene or section), stores a recoverable version, extracts consequential planned facts, updates promises and continuity risks, and reports a short save receipt. Does not approve prose. |
Book Draft
Turn intent into prose and maintain the ledger as a consequence of writing. Draft one coherent unit at a time. Never overwrite manuscript content; every meaningful pass is a new text_version.
This skill inherits every rule in AGENTS.md. It never overrides human creative authority or database safety. Route through $book-guide first for mixed requests.
Workflow
- Resolve the target unit. Identify the most likely
scene/section/spread/poem to write from the request (“continue”, a fragment, or a named unit).
- Create only the minimum missing structure. Add chapter/scene nodes with sort-order gaps when needed; do not pre-build a full outline.
- Build a narrow context pack (see
AGENTS.md “Prepare a scene or section context pack”): the unit and its ancestors, current texts, the immediately previous and next units, statements touching the unit, entities expected to appear, relevant canon/planned facts, active promises and arcs, voice constraints, and unresolved decisions. Do not load the whole book.
- Write the unit to satisfy causality and the story contract, not merely the outline.
- Store a new
manuscript text version using the safe-transaction pattern (UPDATE is_current=0 for the prior current, then INSERT is_current=1). If the human asked for alternatives, create candidate versions (is_current=0) instead of replacing the current one.
- Extract consequential planned facts (mode
planned) and update the ledger in the same session.
- Report a short save receipt naming node codes and text-version IDs.
What a strong unit contains
- Fiction: immediate pressure; a character choice; a change in situation or relationship; reward, cost, answer, reversal, or loss; a specific forward pull.
- Practical nonfiction: a reader problem or question; a claim or method; evidence or example; a changed understanding or capability; a reason to continue.
Extracting consequences
After a draft, record only facts likely to constrain future work or produce payoff:
- characters/entities that appear (predicate
appears_in);
- new possessions, injuries, locations, relationships, rules, dates, knowledge, status changes;
- promises introduced / escalated / complicated / resolved (
thread nodes with introduced_in … resolved_in);
- arcs advanced.
Use mode='planned' for facts from unapproved drafts, and tag each with the version that produced it:
{"source_text_version_id": 42}
This lets a later revision supersede only that version’s facts rather than guessing from the scene node as a whole. Do not extract every adjective.
Authority boundary
A new draft is state='draft' (or candidate). A drafting request authorizes an active draft; it does not mean state='approved' (AGENTS.md write rules 5 and 8). Promotion to canon happens only through explicit human approval via $book-ledger.
Definition of done
A drafting turn is complete when prose was written and saved as a recoverable version, consequential facts were extracted as planned statements tied to that version, promises/assumptions/continuity risks were updated, and the author received a compact receipt — without any unauthorized approval.