About Vellum
Vellum exists because the failure modes of long-form AI fiction are not imagination problems. They are accounting problems: what the reader knows, what the character knows, what was promised, what was paid off, what the clock says, who is holding the ring. Those are checkable. A novelist's daily tool should check them and then get out of the way.
The design rule is separation of authority. Your prose is ground truth. The knowledge base is durable canon. state/ is derived and engine-owned. work/ is scratch. Gate verdicts come from artifacts on disk. The author owns approval, acceptance, and dismissal.
Vellum ships as a Claude Code plugin: 8 slash commands, 16 agents, 34 skills, and 7 hooks around a Python ≥ 3.8 stdlib-only engine. It is tested on ubuntu-latest and windows-latest.
Lineage
The base fork contributed the muse coordinator, stance-isolated subagents, the five-level edit chain, the story-knowledge-base concept, and the craft corpus. It had no deterministic enforcement and no hooks, and it coupled to a private memory tool. Vellum adds a blocking gate layer, a stdlib Python engine, tests and CI, and runs fully on stock Claude Code.
Sixteen graft requirements were planned from the other nineteen repositories, then unified into a binding build spec by a chief-architect pass over competing design proposals. The full file-level provenance, licenses, and changes are recorded in ATTRIBUTION.md.
Validation record
After the build workstreams completed, the plugin went through three adversarial validate-and-fix rounds with independent multi-lens validators: craft and slop, platform hooks and manifests, Windows portability, and license and security hygiene. 92 findings were logged; all 92 were fixed and verified. A mechanical lint and an end-to-end paper-run followed; neither found a new engine or gate defect.
The paper-run executed the full flow with the real hook scripts and the real engine: outline, gate block, approval, gate pass, drafting, acceptance, capture, and export — including the gate paths on both Write and Bash, the subagent forgery protections, the pivotal blind-read precondition, the acceptance transaction, and the EPUB build.
- Engine + hooks155 tests, run on
ubuntu-latestandwindows-latestthrough GitHub Actions. - Plugin lintDeep frontmatter validation, attribution headers, hook manifest parsing, vocabulary leaks, and a size cap — clean.
- CompatibilityA byte-identity golden suite proves the v0.1.1 command surface is unchanged on a linked series project; a second test deletes the series modules and re-runs the surface.
The full record — including what is still rough — is in VALIDATION.md. The build spec, including what was deliberately not built, is in DESIGN.md.
Sources, and what Vellum changed
What follows is the short version. The complete per-file record is in ATTRIBUTION.md.
| Source | We took | Vellum improves by |
|---|---|---|
| haowjy/creative-writing-skills base · Apache-2.0 | Muse architecture, stance isolation, edit chain, craft corpus | Adding blocking gates, a deterministic engine, tests and CI; removing private-tool coupling so it runs on stock Claude Code |
| danjdewhurst/story-skills MIT | Bible schema, promise and question ledgers, continuity catalog | Invoking the checks through hooks rather than a standalone CLI; adding prop custody, clock checks, and timeline-scoped knowledge queries |
| zenstory-ai/oh-story-claudecode MIT | Guard hooks, transactional state card | Portable English implementation, fail-open gates, gate-input forgery protection, Windows coverage and tests |
| avoid-ai-writing + stop-slop MIT | Detector categories, replacement tables | Fiction carve-outs and a hard law: style bans cap at the author's measured baseline, so the net never flattens voice |
| claude-ghost-writer MIT | Demolition protocol, voice retune | Chapter-scoped, logged, declinable demolition; retune inside a measured-voice lifecycle with drift checks |
| epicsagas/Velith Apache-2.0 | Beta-reader gate, quality bar | Readiness thresholds enforced by the engine, with a sha256 export manifest recording which gates passed |
| fiction-forge MIT | Cold-read protocol, markdown ledgers | Subagent-batched cold reads and a rolling issue log unified with the exemption system |
| howells/fiction MIT | Persona critics (Wood, King, Le Guin, Gay) | Wiring them into the automated pipeline, bound to a shared rubric so verdicts cite criteria |
| author-toolkit MIT | Weiland/Bell beat map, finding schema | Beats as auditable structure maps wired into planning and audit modes |
| Novel-OS MIT | Dismissed-finding keying, stall detector | Stdlib Python re-implementation; exemptions re-arm once when the underlying fact changes |
| book-genesis-v4 ideas only | The blind-reader gate | A strictly read-only agent inside the plugin with engine cross-checks |
| Craft theory: Shawn Coyne, Sanderson/Butcher/Writing Excuses, Gaiman/Craig/MorningStar, BubbleCow/Windrow, Michel/Yang/Brei ideas only | Obligatory scenes, try-fail ladders, beta doctrine, revision-letter practice, dialogue stylometry | Original checkable resources implementing the mechanisms; all prose our own, all ideas credited |
License
Apache-2.0, inherited from the base fork. The base author's copyright and notice are retained in LICENSE and NOTICE. Ported MIT sources keep their notices; unlicensed sources contributed ideas only — no text or code was copied.
Vellum is an independent project. It is not affiliated with or endorsed by the authors of the systems credited above.