character-biblelisted
Install: claude install-skill smkrv/character-bible
# character-bible
Input: one `.txt` or `.md` file with the book text (convert epub/pdf first with any standard tool). Output directory: `<basename>-bible/` next to the source, or `--out`.
The offline utilities run under Deno (recommended), Bun, or Node 22.18+. Deno invocations below carry the narrowest possible permissions; with Bun or Node run the same scripts without the flags.
## Pipeline
Follow the steps in order. Steps 1-6 are free and offline; step 7 costs money and never runs without explicit user confirmation.
### 1. Chunk
```
deno run --allow-read --allow-write=<out> scripts/chunk.ts <book.txt> --out <out>
```
Writes `<out>/chunks.json` - chapter-based when the text declares chapters, overlapping 5000-word windows otherwise. Options: `--words`, `--overlap`.
### 2. Extract (subagents)
Read `references/extraction.md` and follow it exactly: batch chunks at `ceil(chunkCount / 20)` per agent (at most 20 agents, one delegation level), use the agent prompt template from that file verbatim - including its delimiter fencing and injection-resistance rules - set each roster's `chunkId` from `chunks.json` (never from agent output, it becomes a filename), and write each roster to `<out>/rosters/<chunkId>.json`. Validate every roster before merging:
```
deno run --allow-read scripts/validate.ts --rosters <out>/rosters/<chunkId>.json
```
Re-run any chunk whose roster fails validation; do not merge a failing roster.
### 3. Merge
```
deno run --allow-read --allow-write=<