OpenWriterControle/novel/PACK-NOTES.md
cclohmar 3ce2d638a6
Some checks are pending
Create Release / Check if Version Bump PR Merged (push) Waiting to run
Create Release / Create Git Tag and GitHub Release (push) Blocked by required conditions
Post-Merge Version Bump / Check if Version Bump Needed (push) Waiting to run
Post-Merge Version Bump / Create Version Bump PR (push) Blocked by required conditions
feat(novel): add the OpenNovelWriter agent pack (10 agents, commands, schema, templates)
The novel-writing agent pack existed only as three byte-identical copies inside
Obsidian vaults (Die-Kessler-Zwillinge, Scruffy-der-Weltenhund, OpenNovelWriter),
with no version control anywhere. It is now versioned here as the single source
of truth.

Contents (novel/):
- .opencode/agent/  OpenNovelAgent (primary) + LineEditor, Proofreader,
  StyleAnalyst, ContinuityEditor, StoryReviewer, Translator, Importer,
  Illustrator, CopyrightWatchdog
- .opencode/command/  import.md, init.md
- .opencode/languages.yaml, .opencode/opencode.json (pristine: default_agent)
- docs/SCHEMA.md  canonical schema — the newer OpenNovelWriter revision, which
  supersedes the stale copy in the Scruffy vault (adds workspace = book,
  images/prompts + images/generated, parallel books, rewrites section 7)
- templates/  AGENTS.md placeholder + DATA/{wiki,timeline,glossary}.yaml.md, style.md
- sync-to-vault.sh  dry-run by default; --apply backs up what it replaces and
  never touches DATA/, AGENTS.md, chapters or a vault's own opencode.json
- PACK-NOTES.md  per-file md5 provenance and the verified cross-vault comparison

Verified before committing: all 10 agents, both commands, languages.yaml and
start.sh are md5-identical across the three vaults.
2026-10-16 23:18:30 +01:00

3.5 KiB

OpenNovelWriter agent pack — provenance

Committed 2026-10-16 by Hermes. Before this, the pack existed only as three byte-identical copies inside Obsidian vaults, with no version control.

Sources

file md5 source
.opencode/agent/ContinuityEditor.md 5083c6929bd2 agent
.opencode/agent/CopyrightWatchdog.md 0457635edecc agent
.opencode/agent/Illustrator.md e8dc9e1c5fd8 agent
.opencode/agent/Importer.md 67d2434b980e agent
.opencode/agent/LineEditor.md cdb3f8b1e69c agent
.opencode/agent/OpenNovelAgent.md 15b891682a34 agent
.opencode/agent/Proofreader.md 7572ea57ef75 agent
.opencode/agent/StoryReviewer.md a4a9249b1401 agent
.opencode/agent/StyleAnalyst.md b19f9cba3eff agent
.opencode/agent/Translator.md 8efac4a757f7 agent
.opencode/command/import.md edfd797b99ce command
.opencode/command/init.md 19f0c1670b64 command
.opencode/languages.yaml 0a33e641d04c language map
.opencode/opencode.json 65438515bec8 pristine config (default_agent)
LICENSE 538dbda71eed pack doc
README.md 805f1d95a2f3 pack doc
docs/SCHEMA.md e28c37ae2ada canonical schema (newest)
start.sh 841b0997a053 launcher
templates/AGENTS.md ba5da851f769 template
templates/DATA/glossary.yaml.md af92947f7799 template
templates/DATA/style.md 61dd239ac643 template
templates/DATA/timeline.yaml.md 06fa5d2c0fc6 template
templates/DATA/wiki.yaml.md ffbb023a0a18 template
templates/README.md 937b06aaa694 template

What was verified before committing

  • All 10 agents, both commands (import.md, init.md), languages.yaml and start.sh are md5-identical in all three vaults (Die-Kessler-Zwillinge, Scruffy-der-Weltenhund, OpenNovelWriter) — so there was no divergence to reconcile for them.
  • docs/SCHEMA.md did diverge: OpenNovelWriter's copy (9477 B, 257 lines, 2026-09-08 21:30) is newer and a superset of Scruffy's (5812 B, 182 lines, 17:45). The newer one is committed; it adds the workspace = book concept, images/prompts + images/generated, multiple-books-in-parallel, and a rewritten section 7 (Images & Illustrations).
  • AGENTS.md in the Scruffy vault is a filled-in instance (real series title/author/genre), not the template — the placeholder version is committed as templates/AGENTS.md; instances stay in their vault.
  • opencode.json is committed pristine ($schema + default_agent). The permission block added to the Kessler vault (external_directory allow for /Users/Shared/Novels/**) is machine-local and deliberately not in the pack.

Sync direction

The repo is now the source of truth. Vaults pull from here:

novel/sync-to-vault.sh /Users/Shared/Vaults/Die-Kessler-Zwillinge          # dry run
novel/sync-to-vault.sh /Users/Shared/Vaults/Die-Kessler-Zwillinge --apply  # write (backs up what it replaces)

sync-to-vault.sh overwrites only agent/command files, docs/SCHEMA.md, languages.yaml and start.sh. It never touches DATA/, AGENTS.md, 01/, Notizen/ or the vault's own opencode.json — your content and instance config are safe.

Known open items

  • Scruffy's docs/SCHEMA.md is stale — run the sync to bring it up to date.
  • The Scruffy vault is the test bed for the Kessler run; no book-specific DATA was committed.
  • Importer is a subagent: invoke via the primary agent or /import, not opencode run --agent Importer.