Holocron v1.2.0
Author voice as a first-class concept. v1.1.0's /holocron:adopt flow leaked language suggesting the plugin could "match one of your voice personas" — referring to the critic personas (Lucas, Zahn, Stover, Karpyshyn, Traviss, James Wood). That was a misread of intent. Those personas are reviewers only; the plugin's purpose is to help the author develop their own voice from the start, not to imitate published writers. This release makes that explicit and structural.
The author's voice now lives in a dedicated, canonical document (craft/voice.md) generated during a new dedicated wizard phase (Phase 2: Voice, between Era and Premise). Every agent reads it as authoritative via a project-level CLAUDE.md that pulls in the voice declaration as shared context. The writer agent's hierarchy is explicit: craft/voice.md overrides its built-in literary references (Cusk, Offill, Ishiguro, Karpyshyn, Stover, Zahn, Traviss) every time they conflict. Voice is portable across projects via a new import flow — it's the author's, not the story's. The adopt flow no longer auto-writes the declared voice; it produces raw evidence (craft/voice-analysis.md) and the author authors voice.md themselves during the wizard.
Added
templates/standalone-story/craft/voice.md— new canonical author-voice document. Sections: How I sound, Rhythm, Distance & interiority, Register, What I am NOT trying to sound like, Sample paragraph, Imported from. Top-of-file disclaimer states clearly that the critic personas review work; they are not voice targets.templates/standalone-story/CLAUDE.md— new project-level shared agent context. Sections: Author Voice (transcludes voice.md), Craft Rules pointer, Critic Personas reminder, Reference Points (absorbed-not-imitated). This file is read by every Holocron agent when it touches the project.agents/new-project.md— new Phase 2: Voice between Era (Phase 1) and Premise (now Phase 3). Three paths: Import from another Holocron project (voice is yours; it travels with you across projects); Write fresh, guided by open questions that capture the author's words verbatim; Starter template for the author to fill in themselves. Auto-generatescraft/voice.mdandCLAUDE.md. Adoption-mode integration surfacescraft/voice-analysis.mdas raw evidence and asks the writer to authorvoice.mdthemselves.- Voice surfaces on the dashboard. Briefing tab gets a Voice card (status:
declared/evidence-only/missing; 2–3 line excerpt of "How I sound"; last-modified; CTA if missing). Workshop tab gets a Voice section (consistency stats, voice-drift flags from reviews, link to voice.md).--deepmode adds voice-vs-declared consistency: per-chapter sentence rhythm + POV/tense/distance compared against the author's declared voice.
Changed
- Phase renumbering — schema v2. Inserting Phase 2 (Voice) shifts every downstream phase by one. New order: 0 Setup, 1 Era, 2 Voice, 3 Premise, 4 Characters, 5 World, 6 Roadmap, 7 Dashboard, 8 Ready to Write.
.holocron-checkpoint.jsonbumps toschemaVersion: 2. Existing v1 projects still load —/holocron:gotreats the missing2_voicephase as incomplete and offers to run it before continuing. agents/new-project.md— Phase 3 (formerly Phase 2: Premise & Theme) register question rewritten. Persona-named options removed entirely ("Karpyshyn-style moral grey", "Stover-style intensity", "Traviss-style military", "Zahn-style tactical", "Lucas-mythic-operatic" — gone). Replaced with Story atmosphere: content/emotional-aesthetic descriptors ("Morally-grey protagonist", "Intense / philosophical", "Tactical / military", "System-rigorous", "Operatic / mythic", "Mixed"). Explicit disclaimer above the options: "This is the STORY's atmosphere — its emotional aesthetic. It is separate from YOUR voice (declared in Phase 2). The named critics REVIEW your work; they are not voice models."agents/writer.md— new "The Author's Voice Comes First" section at the top of the agent body, asserting thatcraft/voice.mdis authoritative and overrides every reference and craft default the agent carries. The existing "Your Sensibility" section is preserved but explicitly reframed as absorbed background craft, never voice targets — the section now opens with a guard rail stating the author's declared voice always wins on conflict. The "Before You Write" reading hierarchy is explicit: CLAUDE.md (1) → craft/voice.md (2) → craft/tone.md (3) → README (4) → characters (5) → outline (6) → prior chapters (7). Missing voice.md is a hard-stop, not a fall-through.agents/voice-analyzer.md— reframed from "produces a voice report" to "extracts voice EVIDENCE". Now writescraft/voice-analysis.mddirectly in adoption mode (was: returned the report inline for the draft-extractor to consume). The output format adds Rhythm & Sentence Patterns, Narrative Distance, Sample Passages, and "What the prose currently AVOIDS" sections. The "Recommendations" section is removed — the author decides what to do with the evidence; the analyzer reports. Frontmatter description explicitly states: does NOT writecraft/voice.md(that's the author's to write).agents/draft-extractor.md— output split into three files instead of two..holocron-adoption.jsonandcraft/voice-analysis.md(raw evidence) andcraft/tone.md(mechanics only — no Voice section anymore). The persona-namedregisterfield inphase3_premise(renumbered from phase2_premise) is replaced withstoryAtmosphere, with persona names explicitly disallowed. ThevoiceProfileblock in the JSON drops theregisterfield and addscharacteristicMoves,dashStyle,dialogueQuotes— observation-only data. Phase keys renumbered to match schema v2 (phase3_premise,phase4_characters,phase5_world,phase6_roadmap). Explicit guard rails: never writecraft/voice.md; the author authors it during the wizard.skills/adopt/skill.md— description reframed: extracts "voice evidence" (not "voice"). Step-by-step prose updated to make explicit thatvoice-analyzerproduces evidence atcraft/voice-analysis.mdand the author authorscraft/voice.mdthemselves during the wizard's Voice phase. The rewrite-gate prompt to thewriteragent now readscraft/voice.mdas authoritative ahead ofcraft/tone.md(mechanics).skills/dashboard/skill.md— files-read list addscraft/voice.md,craft/voice-analysis.md, andCLAUDE.md. Briefing tab and Workshop tab descriptions updated to surface voice.--deepmode adds voice-vs-declared consistency analysis.templates/standalone-story/craft/tone.md— Voice section stripped. File is now mechanics only (POV, tense, style guide, scene-break marker, internal-thought style, project-specific overrides). Header points readers tovoice.mdfor voice.templates/standalone-story/README.md— "Tone & References" section refactored into "Voice & Craft". The persona-named reference list is reframed as "Critics who will review you" (explicitly: not people to write like). Outside-genre references explained as absorbed-by-the-writer-agent background craft, never voice targets.README.md(plugin root) — Status block, project-structure block, Personas section all updated for the voice-first framing. Personas section header changed to "Personas (reviewers, NOT voice models)" with an explicit disclaimer at the top..claude-plugin/plugin.json,.claude-plugin/marketplace.json— version bumped to1.2.0.
Notes
- Why personas can't be voice models. Karpyshyn, Stover, Zahn, Traviss, Lucas, and James Wood are reviewers carrying single concerns (moral-grey psychology, philosophical violence, system rigor, Mandalorian culture, mythic structure, sentence-craft). They're calibrated to evaluate prose against those concerns — not to generate it. Even when v1.1.0's adopt flow leaked language about "matching a persona's voice", the personas never actually produced prose; the language was a misread of intent. v1.2.0 removes that ambiguity from every file in the plugin.
- Voice is the author's, not the story's. Voice travels across projects via the import flow in Phase 2. The author's rhythm, distance, and negative space don't restart with each story. Atmosphere (Phase 3) is the story-specific layer — Karpyshyn-energy versus Stover-energy as emotional aesthetics, with no persona names attached.
- Adopt no longer claims to write the declared voice. v1.1.0 wrote
craft/tone.mdfrom the voice-analyzer's report, which conflated raw evidence with a declared voice. v1.2.0 splits them: raw evidence atcraft/voice-analysis.md(the analyzer's output), declared voice atcraft/voice.md(the author's output, written during the wizard's Voice phase). The two files coexist; the analysis is reference material, the voice is canon. - Backwards compatibility. Existing v1 projects open without breaking. The checkpoint schema bumps to v2 but
/holocron:goreads either version. v1 projects show a missing-voice card on the Briefing tab until the author runs through the new Phase 2; until then, the writer agent falls back to its absorbed references (with the new hard-stop check: ifcraft/voice.mdis missing, the agent will refuse to write a full chapter and ask the author to declare their voice first). - No new critic persona was added. The critique surface is unchanged. v1.2.0 is a voice-architecture release, not a review-tooling release.