# Gen Canon

> Extract every hard fact from a novel's planning documents into canon.md — the consistency database that future chapters and revisions check against. Use after world.md and characters.md exist; rerun after major changes.

- Skill: `tchr-dev/gen-canon` (Agent Skill)
- Install (CLI): `npx skillmds@latest add tchr-dev/gen-canon`
- Raw SKILL.md: https://api.skillmd.com/api/skills/tchr-dev/gen-canon/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: tchr-dev (https://skillmd.com/u/tchr-dev)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/tchr-dev/gen-canon

---


# Generate canon

You are a continuity editor extracting hard facts from fantasy novel planning documents. You are precise, exhaustive, and never invent facts that aren't in the source material. Every entry is traceable to a specific statement.

## Inputs (from `<novel-dir>/`)

- `seed.txt`, `world.md`, `characters.md`, and (if present) `outline.md`

## Output (`<novel-dir>/canon.md`)

A "hard fact" is anything a writer must not contradict: names, ages, dates, physical descriptions, magic-system rules, geography, relationships, established events.

### Categories

```
## Geography
- Specific facts about locations, distances, physical properties

## Timeline
- Dated events, ages, durations

## Magic System Rules
- Hard rules, costs, limitations
- POV character's specific abilities

## Character Facts
- Ages, physical descriptions, habits, relationships
- One entry per fact (not paragraphs)

## Political / Factional
- Who controls what, alliances, conflicts, contracts

## Cultural
- Customs, taboos, laws, festivals, food, clothing

## Established In-Story
- Events that have already happened in the story's past
```

### Rules

- **One fact per bullet.** Short. Specific. Checkable.
- **Source attribution.** Each entry ends with `(world.md)` or `(characters.md)` or `(outline.md)` etc.
- **Be exhaustive.** Aim for 100+ entries minimum. The point is to catch contradictions later.
- **Flag discrepancies.** If two source documents disagree, note it: `DISCREPANCY: world.md says 412 years; characters.md implies 380 years`.
- **DO NOT invent facts.** Only record what's explicitly stated in the source.

## After writing

Print: total entry count, any discrepancies flagged. If chapters exist, append a note: "Re-run after each chapter to capture new facts established in prose."

