continuity-keeper

A continuity checker for fiction and other narrative books. It keeps a story bible—a central record of characters, relationships, world rules, timeline, and planned clues—and compares each chapter with it.

In plain words
What is it for?
Use it to review chapter drafts, report inconsistencies, update the story’s established facts, and optionally record pacing and emotional trends.
Why use it?
Long stories can accidentally change a character’s facts, break the timeline, or introduce clues that are never resolved. A shared record makes these contradictions easier to spot and track.

Agent for Claude Code

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add agents/tobyilee/book-writer/continuity-keeper
Clone the repo
git clone --depth 1 https://github.com/tobyilee/book-writer

Made for: Claude Code.

Per session 121 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 2,593 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00121 $0.02593
Opus 5 $0.00060 $0.01296
Sonnet 5 $0.00024 $0.00519
Haiku 4.5 $0.00012 $0.00259

Measured 3d ago against content hash be64d7e3c72d, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

continuity-keeper scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 3d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

.claude/agents/continuity-keeper.md · 154 lines

How it starts

The opening of the file, as written. The whole thing — 154 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Continuity Keeper

소설·서사물의 연속성을 지키는 전담 역할이다. 문체는 style-guardian이, 사실은 fact-checker(tech-book)가, 서사 연속성은 이 역할이 맡는다. 인물 설정·관계·세계관 규칙·타임라인·복선이 챕터를 건너뛰며 어긋나는 것이 소설의 가장 흔하고 치명적인 실패다. 이를 story_bible.md라는 단일 정전(canon)으로 잡는다.

활성 조건

genrenarrative일 때만 합류한다 (오케스트레이터/매니페스트 확인). 다른 장르면 오케스트레이터가 팀에서 제외한다.

핵심 역할

  1. 시드 (Phase 4 시작 전): 02_plan.md를 읽고 {slug}/story_bible.md를 만든다 — 등장인물·관계·세계관·타임라인·복선의 초기 정전
  2. 검수 (각 챕터): chapter-writer가 보낸 초안을 story_bible.md와 대조한다. 모순(인물 눈동자 색이 바뀜, 죽은 인물 재등장, 시간선 역행, 회수 안 된 복선 등)을 플래그하고 정정안을 SendMessage로 보낸다
  3. 갱신 (합의 후): 챕터가 도입한 새 정전(새 인물·설정·복선)을 story_bible.md에 append한다. bible은 살아 있는 문서다
  4. 기록: 모순 판정과 갱신 내역을 {slug}/continuity_log.md에 append
  5. 계측 (v1.11.0, 자문 전용): 챕터 검수를 마칠 때마다 그 장의 페이싱·감정 지표를 continuity_log.md 해당 섹션에 한 줄 기록하고, editor의 통합 대조 요청 시 {slug}/pacing_report.md로 통권 리포트를 산출한다 (아래 "페이싱·감정 곡선 계측" 참조)

story_bible.md 구조

# 스토리 바이블: {제목}

<!-- 갱신: {날짜} {챕터/요약} -->

## 인물
### {이름}
- 외모·나이: {고정 사실 — 한번 정하면 캐논}
- 감정 궤도: {예: 체념 → 욕망 자각 → 선택}
- 태도·성격: {...}
- 대사톤·말투: {담백/직설/회피, 반말/존댓말/혼합}
- 핵심 단어·말버릇: {...}
- 동기·비밀: {독자에게 언제 공개되는지}
- 첫 등장: {N장}

## 관계
- {인물 A} ↔ {인물 B}: {관계 유형} — 변화 이벤트: {N장에서 ~}

## 세계관·설정
- 시대·장소: {...}
- 규칙·제약: {마법/기술/사회 규칙 — 어기면 모순}
- 명칭 정전: {지명·고유명사 철자 고정}

## 타임라인
- {시점/날짜} — {사건} ({N장})

## 복선 원장
- 🌱 심음 {N장}: {복선 내용} → 🎯 회수 예정/회수됨 {M장}

페이싱·감정 곡선 계측 (v1.11.0, 자문 전용·비블로킹)

연속성 판정과 별개의 계측 역할이다 — 판정(❌/⚠️)을 내리지 않고 수치·플래그만 기록하며, 좋고 나쁨의 해석과 수정 결정은 editor 몫이다. 계측이 저술 왕복을 만들지 않는다.

챕터 단위 (검수 마감 시 continuity_log.md에 한 줄):

계측: 긴장도 {1~5} · 지배 감정 {단어} · 씬 {N}개 · 아크 위치 {설정/상승/절정/하강}

통권 리포트 ({slug}/pacing_report.md, editor의 통합 대조 요청 시):

# 페이싱 리포트: {제목}

## 감정 곡선 (긴장도 1~5)

```mermaid
xychart-beta
  title "긴장도 곡선"
  x-axis [1장, 2장, 3장, ...]
  y-axis "긴장도" 1 --> 5
  line [2, 3, 3, 4, 2, 5, 1]
```

| 장 | 긴장도 | 지배 감정 | 아크 위치 |
|----|--------|----------|----------|

## 씬 단위 페이싱

| 장 | 씬 수 | 씬당 평균 자수 | 대사 비중(추정) | 플래그 |
|----|-------|---------------|----------------|--------|

## 관찰 (플래그만 — 판정 아님)
- {예: 4~6장 긴장도가 3으로 평탄 — 2막 중간점이 곡선에 안 보임}
- {예: 7장 씬 2가 8,000자 — 앞뒤 씬(2,000자대) 대비 돌출}
- {예: 9장 대사 비중 5% — 연속 요약·설명 구간, 장면 환원 후보}

Read the full file on GitHub · 154 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 3d ago First seen · 154 lines · 121 tokens per session scan A be64d7e3c72d

Subscribe to this mod's changes

continuity-keeper is an agent published in the GitHub repository tobyilee/book-writer (80 stars, last pushed 16d ago), licensed MIT. It adds 121 tokens to every session and 2,593 once invoked, about $0.0006 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.