From holocron
Adopt an existing draft into a new Holocron project. Reads your manuscript (.md or .docx), extracts era + premise + characters + world + outline + voice evidence (raw observations about how your prose sounds — not a declared voice, which is yours to write), pre-fills the `/holocron:new` wizard with those defaults for you to confirm or edit, then rewrites your chapters one at a time in your own declared voice and the project's craft rules. Use when you arrive with an existing draft you want to continue inside Holocron.
How this skill is triggered — by the user, by Claude, or both
Slash command
/holocron:adopt [path to draft.md or draft.docx][path to draft.md or draft.docx]holocron:new-projectThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Adopt an existing draft into a Holocron project. Sibling of `/holocron:new` — same six-phase wizard, plus an **extraction** phase before it (so the wizard's questions arrive pre-filled with everything we could derive from your prose) and a **rewrite** phase after it (so your existing chapters land in `chapters/` rewritten to the project's craft rules, one approval at a time).
Adopt an existing draft into a Holocron project. Sibling of /holocron:new — same six-phase wizard, plus an extraction phase before it (so the wizard's questions arrive pre-filled with everything we could derive from your prose) and a rewrite phase after it (so your existing chapters land in chapters/ rewritten to the project's craft rules, one approval at a time).
pandoc --version 2>/dev/null | head -1 || echo "NOT INSTALLED"| Phase | What happens | Output |
|---|---|---|
| A — Input & format check | Resolve the path argument; if .docx, run pandoc preflight + convert to markdown; if .md, use directly | working markdown of the draft |
| B — Project scaffold (Phase 0) | Ask for a project folder name (default: kebab-case slug from draft title or filename); copy the standalone-story template into that folder | Folder structure + .holocron-checkpoint.json with Phase 0 complete |
| C — Draft import | Copy original to imports/original.{md,docx}; split markdown on chapter headings; write splits to imports/original-split/chapter-NN.md | Preserved original + per-chapter splits |
| D — Extraction | Dispatch draft-extractor agent. It spawns reader-digest + voice-analyzer in parallel and synthesises the wizard's slot values | .holocron-adoption.json at project root + craft/voice-analysis.md (raw evidence — the author will read it and author craft/voice.md themselves during the wizard's Voice phase) + craft/tone.md (mechanics only — observed POV/tense/style-guide) |
| 1–7 — Wizard (pre-filled) | Dispatch new-project agent. It detects adoption mode (.holocron-adoption.json present), opens each phase with the extracted defaults, and lets you accept / edit / skip exactly as the normal wizard would. Phase 2 (Voice) surfaces craft/voice-analysis.md as evidence and asks the writer to author craft/voice.md themselves | craft/voice.md, CLAUDE.md, world/era.md, architecture.md, themes.md, characters/*.md, world/factions/, world/locations/, world/lore-overlay/, outline.md, roadmap.md, dashboard |
| E — Rewrite gate | For each imports/original-split/chapter-NN.md, dispatch writer with the original + full project context + a "rewrite, don't draft fresh" directive. Present the result and ask: accept / revise with notes / skip and stop | chapters/NN-<title>.md per approved chapter |
The resulting project is indistinguishable from one created by /holocron:new — same files in the same places — but seeded with your existing material instead of from a blank page.
/holocron:adopt path/to/the-price-of-glory.md
/holocron:adopt path/to/the-price-of-glory.docx
/holocron:adopt # asks for the path interactively
Check the Pandoc: line in the Adopt Context block above. If the input argument ends in .docx and pandoc reads NOT INSTALLED, stop immediately. Print the cross-platform install instructions (see the Dependencies section in /holocron:build) and ask the writer to install pandoc, then re-run /holocron:adopt. Markdown input does not need pandoc.
If pandoc shows a version (e.g. pandoc 3.1.x) or the input is .md, proceed.
.md or .docx file."Read (it'll error cleanly if not)..md, docx if .docx. Reject other formats with a clear "convert to .md or .docx first" message; markdown is the simplest path.Suggest a default:
.docx, peek at the document title (pandoc can extract it) or use the kebab-case filename stem..md, read the first H1 (# Title) or use the kebab-case filename stem.Use AskUserQuestion to confirm or change the folder name. Then ask for the absolute path to create the project in (default: current working directory).
Copy the standalone-story template:
cp -r ${CLAUDE_PLUGIN_ROOT}/templates/standalone-story/ ./<project-name>/
Write .holocron-checkpoint.json in the new project root with lastCompletedPhase: 0 and phases.0_setup.completed: true. This tells the wizard (when we dispatch it later) to begin at Phase 1.
Inside the project:
mkdir -p imports/original-split
Copy the original to imports/original.<ext>:
cp <input-path> ./imports/original.<md|docx>
If the input was .docx, also produce a markdown working copy:
pandoc imports/original.docx -o imports/original.md --wrap=none
(The .docx original is preserved alongside the markdown working copy. We work off the .md from this point on.)
Read imports/original.md. Detect chapter boundaries using these rules, in order of preference:
# Chapter 1, # Chapter One, # Prologue, # Epilogue, # 1, # I.)## Chapter 1, etc.) — fall back if no H1 chapter pattern matchesFor each chapter found, write imports/original-split/chapter-NN.md where NN is zero-padded (01, 02, ..., 99). Include the original heading as the file's first line so the writer can see what was matched. If no chapter boundaries are found (one continuous prose dump), ask the writer how to split it before continuing — don't guess.
Task tool with subagent_type: "holocron:draft-extractor"
prompt: "Extract Holocron adoption data from the splits in ./imports/original-split/.
Read every chapter. Spawn reader-digest (careful mode) and voice-analyzer
in parallel against the splits. Synthesise the wizard's slot values into
.holocron-adoption.json at the project root. Write craft/voice-analysis.md
as raw evidence from the voice-analyzer's report (the author authors
craft/voice.md themselves during the wizard's Voice phase — DO NOT write
voice.md). Write craft/tone.md from observed mechanics only (POV, tense,
style-guide hint, dash style, dialogue quotes) — NOT the voice itself.
Use the schema documented in your system prompt."
Wait for the extractor's summary. Confirm .holocron-adoption.json, craft/voice-analysis.md, and craft/tone.md were written before moving on. Do not proceed if craft/voice.md already exists at this stage — that file is the author's to author during the wizard, not the extractor's to write.
Task tool with subagent_type: "holocron:new-project"
prompt: "ADOPTION MODE. Phase 0 is already complete — the project folder is
scaffolded, the original draft is in imports/, and the draft-extractor
has populated .holocron-adoption.json + craft/voice-analysis.md +
craft/tone.md (mechanics only).
Begin at Phase 1. At each phase, read the relevant section of
.holocron-adoption.json and present its values as the *recommended
default* using your existing Socratic frame. Honour the confidence
flags — high-confidence values lead the question, low-confidence
values are asked openly as if no extraction had happened.
At Phase 2 (Voice): DO NOT auto-write craft/voice.md. Surface
craft/voice-analysis.md to the writer as raw evidence, then walk them
through authoring craft/voice.md in their own words — Path B (Write
fresh, guided) is the default in adoption mode, but offer Path A
(Import from another project) if the writer prefers. Generate CLAUDE.md
from voice.md once written.
Run through phases 1–7 as normal. Return when the dashboard is installed."
The wizard now drives. You wait for it to finish.
Once the wizard returns and the project is fully scaffolded with the writer's confirmed answers, enter the rewrite phase.
For each chapter in imports/original-split/ in numeric order:
Compute the target filename. Read the chapter's first line for a title; produce chapters/NN-<kebab-title>.md. If no title, use chapters/NN-untitled.md.
Dispatch the writer:
Task tool with subagent_type: "holocron:writer"
prompt: "REWRITE MODE — this is an adoption flow.
The original chapter is at imports/original-split/chapter-NN.md. Read it.
Preserve plot beats, character actions, world details, and the AUTHOR's
declared voice (in craft/voice.md — authored by the writer during the
wizard's Voice phase from the voice-analyzer's evidence). Apply project
craft rules: no filter words, no summarised emotion, scene structure
(Goal → Conflict → Disaster), audiobook awareness, prose rhythm.
Read the standard project context first, in this priority order:
1. CLAUDE.md (project root — shared agent context, author voice section)
2. craft/voice.md (the AUTHOR's canonical voice — overrides everything below)
3. craft/tone.md (mechanics — POV, tense, style guide)
4. architecture.md
5. outline.md entry for this chapter
6. characters/
7. world/
8. prior already-rewritten chapters chapters/01..(NN-1).md for voice continuity
Write the rewritten chapter to chapters/NN-<title>.md. Output the prose
only — no preamble, no commentary."
Present the result. Show the writer the rewritten chapter (file path + first 500 words or so for in-line preview). Then use AskUserQuestion:
"Chapter NN rewritten. What's next?"
- Accept and continue to the next chapter (recommended)
- Revise this chapter — I'll feed your notes back to the writer
- Skip and stop here — leave the rest of
imports/for later
On Accept: advance to the next chapter.
On Revise: ask for notes (free-form), then re-dispatch the writer with the same prompt plus a Revision notes: block. Loop on this same chapter until Accept or Skip.
On Skip: record which chapter we stopped at; break the loop; tell the writer how to resume (run /holocron:adopt again on the same project — it'll detect existing chapters/*.md and offer to resume from the next unrewritten chapter).
Once the rewrite loop ends (all chapters rewritten or skipped), produce a short summary:
Adoption complete.
Project: <project-name>
Source: imports/original.<ext> (preserved)
Splits: imports/original-split/ (NN chapters)
Wizard phases: 1–6 confirmed via /holocron:new pre-fill
Rewritten: chapters/01..MM-<title>.md (MM of NN approved)
Remaining: NN - MM chapters still in imports/ (skipped — resume any time)
Next steps:
/holocron:next — what to work on now
/holocron:dashboard — refresh the dashboard
/holocron:write next — keep going from the last rewritten chapter
/holocron:adopt writes the same .holocron-checkpoint.json that /holocron:new does. If the writer breaks mid-flow (in extraction, in the wizard, or in the rewrite gate), /holocron:go will load the project and offer to resume at the right phase.
For the rewrite gate specifically: if chapters/01..K-*.md already exist when adopt is re-run on an existing project, it offers to resume from chapter K+1 in imports/original-split/ without re-running extraction or the wizard.
If the writer doesn't specify, use these:
standalone-story (matches /holocron:new's default)draft-extractor — the extraction coordinator (Phase D); spawns the readers and the voice analyserreader-digest — coordinates parallel reader-careful runs across chaptersreader-careful — per-chapter extraction (plot, characters, themes, craft)voice-analyzer — POV / tense / rhythm / distance / characteristic moves → craft/voice-analysis.md (raw evidence; the author authors craft/voice.md from it during the wizard's Voice phase)new-project — the wizard (Phases 1–7) in adoption mode, including the Voice phase (Phase 2) where the author authors craft/voice.md themselvesarchitect / character-developer / outliner / world-builder / lore-researcher — spawned by new-project as it always does, on phases that need deep workwriter — the rewriter (Phase E), one chapter at a time, with approval gates.md or one .docx only. Writers with a folder should concatenate first.imports/original.* and imports/original-split/* are preserved forever; rewritten output lives under chapters/ per Holocron convention.Creates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.
npx claudepluginhub petitchu/holocron --plugin holocron