All skills
danjdewhurst avatar

/series-continuity

@3bff7a8

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", "link books in a series", "carry characters into the next book", "series continuity", "series bible", or needs to keep canon consistent across multiple Story Skills projects.

Use this Skill: https://skilld.dev/gh/danjdewhurst/story-skills/series-continuity

This session only. Nothing lands on disk.

SKILL.md

≈88 tokens always: the name and description. ≈3.2k when used: this file.

Series Continuity

Overview

Plan and maintain sequels, prequels, and companion books as linked Story Skills projects. Each book stays a standalone project with its own story.md, characters, world, chapters, and continuity files. Books point at each other through story.md frontmatter, and story series checks the canon they share.

  • series - kebab-case series id shared by every book, such as the-ember-cycle
  • series-title - optional retail series name, such as The Ember Cycle, that the metadata sheet prints in place of the id
  • book-number - publication order (1, 2, 3...); 0 for a prequel published later, a decimal such as 1.5 for a between-books novella
  • follows - paths to books set earlier in the story's chronology
  • precedes - paths to books set later in the story's chronology

Chronology and publication order are separate. A prequel written after the first book has book-number: 2 and lists ../book-one under precedes.

This skill owns the book-level layer: linked books and the canon they share. The within-serial installment layer — how serial or episodic installments are structured — is covered by the genre-craft skill's serial/episodic structure reference.

Links are relative paths from the book root, and every link needs a matching backlink: if book two lists ../book-one under follows, book one must list ../book-two under precedes. Keep sibling books in the same parent folder so the paths stay short and portable.

When to Use

  • Starting a sequel, prequel, interquel, or companion book to an existing project
  • Carrying characters, locations, systems, factions, artifacts, or glossary terms into another book
  • Revising a book that other books in the series depend on
  • NOT for a single standalone book (use story-init) or for within-book continuity (use revision-continuity)

Starting a Linked Book

  1. Read the existing book first: story.md, characters/_index.md, worldbuilding/_index.md, plot/timeline.md, continuity/state.md, open files in continuity/questions/ and continuity/promises/, and the final chapters.
  2. Ask the user for:
    • Title and synopsis
    • Relationship: sequel (set after), prequel (set before), or companion (set alongside, with no chronology link)
    • How much time passes between the books
    • Which characters and places return
  3. Create the project with the CLI, run from the folder that contains the existing book:
# Sequel: set after book one
story init "{Title}" --follows {existing-book-dir} --synopsis "{synopsis}"

# Prequel: set before book one
story init "{Title}" --precedes {existing-book-dir} --synopsis "{synopsis}"

Run init from the folder that contains the existing book, never from inside it: init refuses a new book inside another project, and a linked book outside the new book's parent folder. It also refuses a --series that differs from the linked book's, and a --book-number already used in the series. init checks that the linked path is a story project, writes the relative link, adds the backlink (and the new book's series, when the existing book has none) to the existing book's story.md, and inherits series, genre, sub-genre, pov, and tense, plus series-title, author or authors, and language when the linked book sets them. When any book in the linked series has a book-number, it sets book-number to one more than the highest whole number used anywhere in the series, so publication numbers never collide. A normal story init book has none, so a series with no numbered books leaves the new book unnumbered. Pass --book-number (or write the field on both story.md files) in that case. Pass --series, --genre, --pov, or --tense to override the inherited values.

If the existing book has no series yet, pass --series {series-id}: init also writes that series into the existing book's story.md. Add matching book-number values to both story.md files yourself.

If the CLI is not available, add the fields to both story.md files by hand.

  1. Add a ## Series Notes section to the new story.md body. Record where the book sits in the chronology, the time gap, and the canon facts it must not contradict.

Carrying Canon Across Books

Only carry entities the new book actually uses. For each one, copy the file from the other book and then adjust it:

  • Keep the filename id identical. story series matches entities across books by id. A renamed file is a new entity to the checker. story rename warns when the id is also defined in a linked book; rename it there too, or keep the old id.
  • Keep name identical. Put new titles or epithets in aliases, such as General Maren in a prequel for Lord Maren. A different name produces a warning, and so does a different pronunciation.
  • Set state for this book's starting point, not the source book's ending.
    • Sequel: start from the earlier book's final status, relationships, ownership, and knowledge.
    • Prequel: start from the earlier situation, and write the later book's facts as fixed endpoints in a ## Series Canon section.
  • Remove book-local references. died-in, the from of each progressions entry, and every other chapter id point at chapters in the source book. Set the frontmatter to the state the character starts this book in, and drop the source book's progressions. For a character who died before this book begins, by died-in or by a status progression, keep status: deceased, remove died-in, and list them only in mentions: story continuity warns when one appears in a chapter or scene cast. If they come back in this book, add a status progression to alive from that chapter; story series then allows them on the page from there.
  • Prune or carry every link. Relationships, locations, notable-characters, faction members, and artifact owner/location must point at entities that exist in this book, with backlinks. Either carry the linked entity too, or remove the reference.
  • Do not copy chapters, scenes, arcs, questions, promises, or continuity/state.md. Rebuild them for the new book:
    • Unresolved questions or promises the new book continues become new files in its continuity/ folders.
    • Events from the other book become Backstory Events rows in plot/timeline.md (sequel) or Series Canon notes (prequel).
    • continuity/state.md starts at current-chapter: 0 with the carried character and object state. Carried knowledge goes in knowledge-state without learned-in, because the character already knew it when the book began.
    • An artifact destroyed or lost in an earlier book keeps its object-state entry with status: destroyed (or lost) and no since: that marks it gone before this story, so story continuity errors on any scene whose state-changes use it while still allowing mentions.

Fact Ids

Give series-relevant knowledge a stable fact id in continuity/state.md, and use the same id in every book:

knowledge-state:
  - character: kael-voss
    knows: The gallery tunnel reaches the Whisper Gate
    fact: whisper-gate-route
    learned-in: chapter-04
  • Fact ids are kebab-case, and each character lists a given fact only once per book. story continuity checks both rules.
  • Add learned-in only in the book where the character discovers the fact on the page. In later books, carry the entry without learned-in. Do not put that rule in an inline comment: the parser keeps # ... as part of the chapter id, and story continuity then reports a missing chapter.
  • Reuse the exact id in every book. The checker matches the character id plus the fact id, never the knows text.
  • Give ids to the reveals, secrets, and discoveries a later or earlier book depends on. Everyday knowledge does not need one.

After carrying entities, run in the new book:

story reindex .
story links .
story validate .
story series .

What story series Checks

story series [path] finds every book reachable through follows and precedes, then orders them by chronology. At each step, among the books whose earlier books are already listed, the lowest book-number goes next, then title, then folder path. It only follows links between sibling book folders. It lists shared canon and reports:

  • Errors
    • A linked path that is not a story project
    • Books that declare different series ids
    • Two books that share a book-number, or a book-number that is not a number 0 or more
    • A chronology cycle
    • A character who is dead at the end of an earlier book (by died-in, a status progression to deceased, or status: deceased) but not deceased in a later one
    • A later book whose chapter or scene lists that character as pov or under characters, before a status progression in that book brings them back. Move flashbacks, memories, and ghosts to mentions. A ghost narrator may stay the pov when also listed in mentions.
    • A later book where a character learns a fact (an entry with learned-in) that the same character already knows in an earlier book. In a prequel, the usual fix is to remove the knowledge from the prequel, or to change which book the discovery happens in.
    • A later book where a character who died in an earlier book learns something (a knowledge-state entry with learned-in) before being brought back
    • A later book's scene whose state-changes target an artifact destroyed in an earlier book
  • Warnings
    • A shared entity whose name (or glossary term) or pronunciation differs from the most recent earlier book
    • Linked books that set different series-title values
    • An artifact that is destroyed in an earlier book but has a different status in a later one
    • Linked books that set no series id while the others share one (Linked books <titles> set no series id; add series: <id>); add the id to each named book

story links . also checks the book's own series links: each path exists, has a matching backlink, and uses the same series id.

The checker cannot judge knowledge without fact ids, or ages, dates, travel time, or tone. Check those by reading both books' timelines and Series Canon notes.

Writing Against Canon

  • Sequels: before drafting, reread the earlier book's final chapters, continuity/state.md, and every unresolved question or promise. Decide with the user which threads the new book picks up.
  • Threads left for the next book: a promise, question, or clue that pays off in a later book stays open in this one. story continuity warns about it while drafting (the Chekhov gap) and errors once story.md is complete (is still planted, is still open). Record each deliberate one in this book's continuity/exemptions.md (the finding's code and file, such as code: promise-unpaid and file: continuity/promises/the-sealed-letter.md, plus a reason naming the book that pays it off; once story.md is complete the code is complete-with-open-promise and the file story.md, so add a pattern naming the promise file) rather than marking it paid-off or dropped, and add the matching file to the later book's continuity/ folders.
  • Prequels: the later book is canon. Every fixed endpoint must still be reachable by the end of the prequel. Do not mark a character deceased who is alive in a later book. Do not give a character knowledge that the later book shows them learning for the first time. Before drafting, list the later book's fact ids that have learned-in, and keep those facts out of the prequel's knowledge.
  • Revising an earlier book after later books exist: run story series . before and after the revision. Update the later books' Series Notes and carried entity files when canon changes.

Maintenance

After any change to series links or carried entities, run the checks in each affected book:

story validate .
story links .
story continuity .
story series .

If story is not installed, use bun run story -- from the Story Skills repository checkout or the bundled fallback node ../story-maintenance/scripts/story.js with the same arguments, resolving the path relative to this skill folder.

Conventions

  • One project folder per book, with books side by side in a shared parent folder
  • series ids are kebab-case and identical in every book
  • Entity ids and name values stay stable across books; variants go in aliases
  • Chronology goes in follows/precedes, publication order in book-number
  • Every link needs a matching backlink in the other book

Source: SKILL.md on GitHub

No alerts2d3 checks · Risk SAFE
  • Gen Agent Trust Hub2d

    The skill provides instructions for maintaining continuity across story projects using a specialized CLI tool. It manages metadata links between files and ensures consistency in character and world facts. No security issues or malicious patterns were detected.

  • Socket2d

    No alerts

  • Snyk2d

    Risk: LOW · No issues

Signed by skilld at 3bff7a8. This ties the file your Agent reads to that commit on GitHub. It does not review the instructions.

Last checked against GitHub 18 hours ago.

Activeupdated 3 days ago

README badge

README badge for danjdewhurst/story-skills/series-continuity