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
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.
3.5 KiB
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.yamlandstart.share md5-identical in all three vaults (Die-Kessler-Zwillinge,Scruffy-der-Weltenhund,OpenNovelWriter) — so there was no divergence to reconcile for them. docs/SCHEMA.mddid 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.mdin the Scruffy vault is a filled-in instance (real series title/author/genre), not the template — the placeholder version is committed astemplates/AGENTS.md; instances stay in their vault.opencode.jsonis 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.mdis 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.
Importeris a subagent: invoke via the primary agent or/import, notopencode run --agent Importer.