discovery-drafting
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseDiscovery Drafting
探索式起草(Discovery Drafting)
Overview
概述
Draft by discovery ("pantsing"): start from a one-paragraph story kernel
rather than a beat sheet, write forward, then reconcile each chapter back
into the story bible through a structured loop (extract entities → reverse
outline → diff against the bible → reconcile). This is the complement to
chapter-writing's outline-first workflow. The bible is maintained after
the prose, not before — which the repo's import-style entity extraction and
continuity checks already support.
通过探索式写作(“pantsing”)起草:从一段话的故事内核(story kernel)出发,而不是从节拍表(beat sheet)出发;向前写作,然后通过结构化循环将每一章回溯校准到故事设定文档(story bible,以下简称 bible)中(提取实体 → 反向大纲 → 与 bible 进行差异比对 → 校准)。这是 chapter-writing 先大纲工作流的补充。bible 在正文完成后维护,而不是开始前——仓库现有的导入式实体提取和连续性检查已经支持这种流程。
Prerequisites
前置条件
A story project must already exist (created via the story-init skill), with
at least a and one character. No plot structure is required to
start — arcs get built during reconciliation.
story.md必须已经存在一个故事项目(通过 story-init skill 创建),其中至少包含 和一个角色。开始写作不需要情节结构——故事弧线会在校准过程中逐步建立。
story.mdWhen to Use
使用场景
- The user wants to draft without outlining first, or identifies as a discovery writer
- Starting a project from a situation/character rather than a plot
- NOT for mysteries or other clue-dependent genres where setup must precede
payoff (use chapter-writing; see )
genre-craft - NOT for revising existing chapters, including a reverse outline of an
existing linear draft or cutting a subplot as a revision pass (use ). The reverse outline inside the reconcile loop, and cutting dead ends in a batch review, stay here
revision-continuity - The user can switch modes per project or per chapter; record the mode so audits know which discipline applies
- 用户希望不先列大纲就起草,或自认是探索式作者
- 从情境或角色而非情节开始一个项目
- 不适用于悬疑或其他依赖线索的体裁,这类体裁必须先铺垫、后揭示(使用 chapter-writing;参见 )
genre-craft - 不适用于修订现有章节,包括为现有线性草稿制作反向大纲,或将裁剪支线作为一次修订处理(使用 revision-continuity)。校准循环内部使用的反向大纲,以及批量审查时裁剪废弃支线,仍属于此 skill
- 用户可以按项目或按章节切换模式;应记录模式,让审查工具知道应采用哪种写作规范
Workflow
工作流
- Write the story kernel. Consult and draft the one-paragraph kernel with the user (character in a situation, a want, an obstacle, a tone signal). Store it in
references/story-kernel.mdunderstory.mdand set## Story Kernelin frontmatter.draft-mode: discovered - Draft forward. Create the chapter with
so
story add chapter 'Title' --number N --mode discoveredflags it until it is reconciled (in astory nextproject a drafted chapter with nodraft-mode: discoveredis flagged too). Write the chapter from the kernel using the session shape inmode(re-read → write → close with a next-session note). Write forward only; park bible questions asreferences/drafting-cadence.mdinline rather than stopping. Follow the prose craft in[TODO: check bible]and the scene-grain tools in thechapter-writing/references/writing-guidelines.mdskill as usual, and write in the voice and house style recorded inscene-craft— discovery changes planning order, not prose standards. Write in thestyle-sheet.mdset inlanguage(a missing field meansstory.md); the craft references' word-level advice is English, so in another language keep its aims and follow the style sheet's conventions.en - Run the reconcile loop. After each chapter, follow
exactly:
references/reconcile-loop.md- Extract new entity/promise candidates (import-style, user-approved),
keeping names as the prose spells them. Ids stay ASCII kebab-case:
Cyrillic and Greek names get one automatically (gives
Пётр), and a name in a script with no transliteration table (petr) needs李明, with the id agreed with the userstory add character '李明' --id li-ming - Reverse-outline the chapter into the chapter file and records
scenes/ - Diff against the bible (new / contradiction / enrichment / dangling)
- Reconcile: update the bible or revise the chapter — never neither
- Add post-hoc chapter notes above (below it they count and ship as prose); set chapter frontmatter
## Chapter Textmode: discovered
- Extract new entity/promise candidates (import-style, user-approved),
keeping names as the prose spells them. Ids stay ASCII kebab-case:
Cyrillic and Greek names get one automatically (
- Batch review every 3–5 chapters. Re-read post-hoc notes, sweep the
promise/question ledgers for dangling setups, and cut dead ends per
(abandoned ledger entries keep a recorded reason; cut characters get
references/dead-ends.md, not deletion).status: cut - Hold the cadence. Keep the agreed target (see
) and log each session with
references/drafting-cadence.md; at midpoint and draft completion, hand the batch tostory progress . --logfor developmental checks before continuing.revision-continuity - Close the loop on mode. When the draft is complete, every
chapter must have post-hoc notes and a completed diff —
mode: discoveredlists any without post-hoc notes understory next; finish those, then hand the manuscript toReconcile discovered chaptersfor revision passes.revision-continuity
- 撰写故事内核。 查阅 ,与用户共同起草一段话的故事内核(角色、所处情境、愿望、障碍、语气信号)。将其存储在
references/story-kernel.md的story.md下,并在 frontmatter 中设置## Story Kernel。draft-mode: discovered - 向前起草。 使用 创建章节,让
story add chapter 'Title' --number N --mode discovered在该章完成校准前将其标记出来(在story next项目中,已起草但没有draft-mode: discovered的章节也会被标记)。按照mode中的会话流程,从故事内核开始撰写章节(重读 → 写作 → 以下次会话备注收尾)。只向前写;将 bible 中待确认的问题以内联references/drafting-cadence.md暂存,而不是停下来。按照[TODO: check bible]中的正文写作规范和chapter-writing/references/writing-guidelines.mdskill 中的场景颗粒度工具进行写作,并采用scene-craft中记录的语气和既定风格——探索式写作只改变规划顺序,不改变正文标准。使用style-sheet.md中story.md指定的语言(缺少该字段意味着language);craft references 中的词级建议是英文,因此使用其他语言时,应保留其目标并遵循 style sheet 的惯例。en - 运行校准循环。 每章完成后,严格按照 执行:
references/reconcile-loop.md- 提取新的实体和叙事承诺候选项(采用导入方式并获得用户批准),名称保持正文中的拼写。Id 始终采用 ASCII kebab-case:西里尔字母和希腊字母名称会自动获得一个 id(→
Пётр);对于没有转写表的文字(例如petr),需要运行李明,其中 id 需与用户商定story add character '李明' --id li-ming - 在章节文件和 记录中写入本章的反向大纲
scenes/ - 与 bible 进行差异比对(新增 / 矛盾 / 补充 / 悬空)
- 校准:更新 bible 或修改章节——绝不能两者都不做
- 在 上方添加事后章节备注(若放在其下方,会被计入并作为正文一同发布);将章节 frontmatter 设置为
## Chapter Textmode: discovered
- 提取新的实体和叙事承诺候选项(采用导入方式并获得用户批准),名称保持正文中的拼写。Id 始终采用 ASCII kebab-case:西里尔字母和希腊字母名称会自动获得一个 id(
- 每 3–5 章进行一次批量审查。 重读事后备注,扫描承诺和问题账本,找出悬空铺垫,并按照 裁剪废弃支线(废弃的账本条目应保留已记录的原因;被裁剪角色应设置为
references/dead-ends.md,而不是删除)。status: cut - 保持写作节奏。 维持商定的目标(参见 ),并使用
references/drafting-cadence.md记录每次会话;在中点和草稿完成时,将这一批次交给 revision-continuity 进行情节发展检查,然后继续。story progress . --log - 完成模式闭环。 草稿完成后,每个 章节都必须包含事后备注和已完成的差异比对——
mode: discovered会在story next下列出所有缺少事后备注的章节;完成这些章节后,将稿件交给 revision-continuity 进行修订。Reconcile discovered chapters
Conventions
规范
- frontmatter
story.mdmarks a discovery project; per-chapterdraft-mode: discovered/mode: discoveredtracks mixed projects.mode: outlined - Chapters carry a section, above
## Chapter Notes (post-hoc), recording what was discovered, what was cut, and open questions — the project's memory of why the bible looks the way it does.## Chapter Text - Entity candidates extracted from prose are presented for user approval
before bible files are created (same discipline as ).
story import - Cut threads are logged, not erased: abandoned promises/questions keep
with a reason; cut characters keep their file with
status: abandoned.status: cut - Bidirectional links and kebab-case ids follow the shared story conventions exactly — discovery changes when the bible is written, not how.
- frontmatter 中的
story.md用于标记探索式项目;每章的draft-mode: discovered/mode: discovered用于跟踪混合模式项目。mode: outlined - 章节包含一个 部分,位于
## Chapter Notes (post-hoc)上方,用于记录发现了什么、裁剪了什么以及有哪些未决问题——这是项目Remembering bible 当前形态原因的记忆。## Chapter Text - 从正文中提取的实体候选项会在创建 bible 文件之前呈现给用户批准(与 采用相同的审批规范)。
story import - 被裁剪的线索只记录,不抹除:废弃的承诺或问题应保留 并注明原因;被裁剪角色应保留文件并设置为
status: abandoned。status: cut - 双向链接和 kebab-case id 必须完全遵循共享故事规范——探索式写作改变 bible 的写入时机,而不是改变规范本身。
CLI Maintenance
CLI 维护
Use the Story CLI when it is available. If is not installed, use the bundled fallback with the same arguments. Use instead only when the user names a Story Skills repository checkout or you are working in one. Write the script as an absolute path (resolve the fallback relative to this skill folder) and run it from the folder you would run from, so and other relative paths keep their meaning. Use Node, not Bun or a package script: Bun would load that folder's (which can run code) and , and a package script runs from the checkout's root. If no CLI is available, perform the registry, backlink, and word-count checks manually.
storynode ../story-maintenance/scripts/story.jsnode <checkout>/bin/story.jsstory.bunfig.toml.envAfter each reconcile loop:
shell
story reindex .
story wordcount . --write
story check .如果 Story CLI 可用,就使用它。如果未安装 ,使用捆绑的 fallback 并传入相同参数。只有当用户指定了 Story Skills repository checkout,或你正在该 checkout 中工作时,才使用 。应以绝对路径调用脚本(相对于此 skill 文件夹解析 fallback),并从原本会运行 的文件夹执行,这样 和其他相对路径的含义才能保持不变。使用 Node,不要使用 Bun 或 package script:Bun 会加载该文件夹的 (其中可以运行代码)和 ,而 package script 会从 checkout 的根目录运行。如果 CLI 不可用,则手动执行注册表、反向链接和字数统计检查。
storynode ../story-maintenance/scripts/story.jsnode <checkout>/bin/story.jsstory.bunfig.toml.env每次校准循环后:
shell
story reindex .
story wordcount . --write
story check .Reference Files
参考文件
- - The one-paragraph kernel: character in a situation, want, obstacle, tone signal
references/story-kernel.md - - The core loop: extract entities/promises → reverse-outline → diff against the bible → reconcile;
references/reconcile-loop.mdflagmode: discovered - - Recognizing and cutting dead ends: cut/fold/prune, abandoned ledger entries, the darling log
references/dead-ends.md - - Daily targets, batch reviews, session shape, recovering a broken cadence
references/drafting-cadence.md
- - 一段话的故事内核:角色、所处情境、愿望、障碍、语气信号
references/story-kernel.md - - 核心循环:提取实体/承诺 → 反向大纲 → 与 bible 进行差异比对 → 校准;
references/reconcile-loop.md标记mode: discovered - - 识别并裁剪废弃支线:裁剪/折叠/修剪、废弃的账本条目、darling log
references/dead-ends.md - - 每日目标、批量审查、会话流程、恢复中断的写作节奏
references/drafting-cadence.md
Shared Conventions
共享规范
Every story skill follows the shared conventions in , resolved relative to this skill folder. Read it before creating, renaming, or linking story files. If that file is missing because this skill was installed without , the essentials are: kebab-case ids and filenames, YAML frontmatter on every story-project file, registry tables that rebuilds (never edit them by hand), bidirectional links between entities, for who is on the page and for who is only referred to, plus for deaths, and no project-local generator or build scripts (run only the installed or bundled Story CLI).
../story-maintenance/references/conventions.mdstory-maintenance_index.mdstory reindexcharactersmentionsstatus: deceaseddied-in: chapter-{NN}所有 story skill 都遵循 中定义的共享规范,该路径相对于此 skill 文件夹解析。在创建、重命名或链接故事文件之前应先阅读该文件。如果安装此 skill 时未包含 story-maintenance,导致该文件缺失,则需要遵守以下核心要求:id 和文件名采用 kebab-case;每个故事项目文件都包含 YAML frontmatter; 注册表表格由 重建(绝不手动编辑);实体之间使用双向链接; 用于表示出场角色, 用于表示仅被提及的角色;角色死亡时使用 ,并配合 ;项目内不得放置本地生成器或构建脚本,只能运行已安装或捆绑的 Story CLI。
../story-maintenance/references/conventions.md_index.mdstory reindexcharactersmentionsstatus: deceaseddied-in: chapter-{NN}