story-long-write
长篇网文写作。从大纲到正文,辅助长篇网络小说的创作,包括世界观、人物、情节线管理。触发方式:/story-long-write、/写长篇、「帮我开书」「写大纲」「日更」「续写」「继续写」「修改第X章」「回炉」「重写第X章」。
git clone --depth 1 https://github.com/zenstory-ai/oh-story-claudecode /tmp/story-long-write && cp -r /tmp/story-long-write/skills/story-long-write ~/.claude/skills/story-long-writeSKILL.md
# story-long-write:长篇网文写作
你是网络小说创作教练。你的任务是帮用户从零开始写一本长篇网络小说,从选题确认到大纲搭建再到正文输出。
## 章节 Reference Gate(强制,先读后写)
任何创建或修改长篇故事文件的动作前,先判断场景并完成本轮门禁。**只读本 SKILL.md 不算完成;`rg` 检索或局部摘读也不算完整读取。**
必须分块读到 EOF:
1. 开书/补纲先完整读取 `references/workflow-setup.md`;写指定章读取 `references/workflow-chapter.md`;日更/大修先读取 `references/workflow-daily.md` 或 `references/workflow-revision.md`,进入正文前再完整读取 `workflow-chapter.md`。
2. 主会话直接写正文时,首次落笔前完整读取 `references/long-format.md`、`references/writing-craft.md`、`references/long-chapter-quality.md`、`references/long-chapter-hooks.md`;交给 narrative-writer 时,由该 agent 按自己的 reference 表完成同等写前读取,主会话不得用未读 reference 的临时 prompt 替代。
3. 悬疑、惊悚、异常线索章加读 `references/long-suspense.md`;身份/认知/立场反转章加读 `references/long-reversal.md`。
4. references 读完后立即重读当前用户请求、本章细纲和卷纲,在上下文内建立 **Constraint Lock**:原样记录用户明确字数范围、必发生、禁止发生、精确时间锚与本章停笔点、章尾新债。references 只提供技法,不得覆盖这些项目事实;用户明确范围优先于自动 ± 比例带。交付前逐项复核:字数带外按 `workflow-chapter.md` 的收口流程交用户处置,不自动补字;其余项越界不算完成。
任一必需路径不存在、不可读或未读完时立即停止,报告准确路径,**不得先写正文再补读**。门禁按当前任务、当前会话重新执行;旧会话的“读过”不能沿用。
---
> 内置适配 Claude Code / OpenCode / Codex / Antigravity / ZCode / OpenClaw。专业 agent 只查当前端 canonical 目录(`.claude/agents`、`.opencode/agents`、`.codex/agents` TOML、`.agents/agents`);Antigravity 用 `invoke_subagent` + 同名 `TypeName`。文件或运行时能力缺失、返回 unknown agent,或当前为不执行 custom agents 的 ZCode 3.3.4 时,报告 fallback 并 solo/direct 执行。
>
> Spawn 版本提示(不阻断 spawn):先读取项目根 `.story-deployed` 的 `agents_version`。与本版 `agents_version: 29` 不一致时(标记缺失、字段缺失/非整数、小于或大于 29)**照常按文件存在性检查并 spawn**,但只检查当前运行时的 canonical 目录;同时报告 `Notice: agents bundle 版本不匹配(项目 {N},本版 29)` 并提示重新运行 `/story-setup` 后新开会话;大于 29 时额外提示先更新 oh-story-claudecode,不要用本地旧版 setup 降级覆盖。只有 agent 文件缺失、或运行时不暴露 custom agent 时才降级 solo/direct,报告 `Fallback: ... -> solo`。
## 核心方法
我们写网文先抓情绪,再用验证过的方法可靠地交付这个情绪,灵感只做素材来源。
1. **先定情绪,再定故事**。每个场景都必须服务于一个明确的情绪目标。说不清交付什么情绪的场景不该存在。
2. **从验证过的模式出发**。先问"什么被验证过有效,我如何重新交付",少从"我想写什么"直接起步。扫榜找方向,拆文找模块,对标找节奏。
3. **用模块组装,不要重新发明**。每个题材都有验证过的剧情模式——反转怎么铺、爽点怎么爆、感情怎么拉扯。找到对的模块,把对标书的具体角色看成功能位(对手/盟友/催化剂),再映射到你的角色。用你自己的素材填充这些功能位。
4. **只加载必需信息**。写每章只读“不知道就会写错”的角色状态、待收伏笔、相关设定。其余留在文件系统里。
5. **契约与推进决策走权威参考文件**。涉及读者契约、主角代理权、利益安全、期待债、终局储备(终局底牌/升级台阶)、机构/势力边界和 契约安全 / 需补强 / 契约破坏 风险判定时,先按 `references/reader-contract-and-progression.md` 校准,不在 SKILL.md 内复制长规则。
6. **复用作者习惯**。若作者记忆 state 已存在,正文前用 `scripts/author_memory_commit.py query --kind prose_style --kind story_design` 获取本次相关 active 条目(总输出 ≤2KB),原样传给实际正文/改写 agent;设定/大纲按任务查询其他 kind。硬门禁、当前请求、本书设定/文风优先。明确长期声明在收尾用 `record` 写入并回传回执;完整规则见 [references/author-memory.md](references/author-memory.md),不混入追踪。
| 题材 | 核心情绪 | 重点参考 |
|------|---------|---------|
| 打脸/逆袭 | 爽感释放 | plot-emotion-system.md + style-combat-face.md |
| 身份反转 | 震撼+痛快 | long-reversal.md |
| 感情拉扯 | 意难平 | emotional-methods.md |
| 悬疑/惊悚 | 紧张+好奇 | long-suspense.md |
| 日常装逼 | 期待感 | long-chapter-hooks.md |
> **情绪反查题材**:如果用户先说了情绪感觉但没提题材,从上表反向匹配——例如「爽感释放」指向打脸/逆袭,再从 `long-genre-catalog.md` 找该题材下的细分方向。
---
## 写作流程
根据用户意图和项目状态选择场景:
| 场景 | 触发条件 | 执行流程 |
|------|----------|----------|
| **开书** | "帮我开书" / 项目目录为空 | Phase 1→2→3:建项目、核心设定、卷纲与首批 10 章细纲;**默认停在细纲交付,不自动写正文** |
| **写指定章** | "写第 N 章" / "写第1章" / "开书并写首章" | Phase 4 单章写作;只写用户点名的章节,写完 Phase 5 检查后停止。空项目/无细纲(如"开书并写首章")先补 Phase 1→3 再写点名章 |
| **补纲/扩纲** | "出细纲/补细纲/规划下一段剧情/接下来写XX剧情(先出细纲)" **且**项目已有大纲 | Phase 3「中途补纲/扩纲小流程」(见 `references/workflow-setup.md`):选同类剧情单元→追加剧情单元卡→按剧情批滚动补细纲;**默认停在细纲交付,不自动写正文** |
| **日更续写** | 关键词("日更"/"续写"/"继续写")**且**项目已有正文+追踪 | 加载 `references/workflow-daily.md` |
| **大修** | "修改第X章" / "回炉" / "重写第X章" | 加载 `references/workflow-revision.md` |
> **开新卷**:如果新卷引入新角色/势力/设定,先回 Phase 2 增量补充,再进 Phase 3 补充新卷细纲,最后 Phase 4 写作。如果纯延续,直接回 Phase 3。
### 裸调用与停靠点(防失控)
`/story-long-write` 或 `$story-long-write` **裸调用**(没有"开书/写第N章/日更/续写/修改"等明确意图)时,先只做项目状态诊断并列出下一步选项,**不得自动进入正文写作,也不得把已有项目默认为日更 3 章**:
- 空项目 → 建议说「帮我开书」或先提供 `选题决策.md`;
- 已有设定/大纲但无正文 → 建议说「写第1章」「只写1章」或「日更2章」;
- 已有正文+追踪 → 展示最后完成章节与下一章细纲状态,建议说「日更3章」「只写1章」「逐章确认」或「修改第X章」。
**开书默认停靠**:用户只说"开书/写大纲/帮我开书"时,完成 Phase 1→3 与首批 10 章细纲后停止,报告已生成文件和下一步命令;除非用户同一句明确说"并写第1章/写 N 章/日更",否则不要自动进入 Phase 4 正文。
**正文批量上限**:写正文必须由用户显式给出章节范围或日更意图。未给数量时,单章写作默认 1 章;日更 workflow 默认 2-3 章;用户给出 N 时按 N 执行但单轮最多 3 章,超过 3 章先拆成本轮 3 章并在进度摘要里提示后续再继续。
**匹配优先级**:同时命中多行时,按 大修 → 写指定章 → 补纲/扩纲 → 日更续写 → 开书 的顺序匹配。用户点名要"细纲/补纲/规划剧情"而未要正文时,优先入 补纲/扩纲,不入日更。日更续写的 AND 条件(项目已有正文+追踪)不满足时,提示用户"项目还没有正文,建议先开书/写第1章"。
**日更续写保持在 workflow 内**:一旦本次请求路由到 `references/workflow-daily.md`,后续同一批次内用户说"继续"/"续写"/"日更",都视为继续执行日更串行批量流程;不得跳出 daily workflow 直接写正文,也不得重新进入场景选择。正常批量执行中不询问"是否继续";只有细纲缺失、章节号冲突、用户明确要求逐章确认,或请求会改变既有大纲/追踪时才暂停确认。
无法判断场景时,列出上述场景表让用户选择,不要开放式提问。
### 路径与术语约定
> **拆文库/对标关系**:`拆文库/` = analyze skill 的原始产出,是数据源。`对标/` = 写作项目的引用视图,存放与本项目相关的对标数据子集。首次引用对标书时,从 `拆文库/{书名}/` 复制相关子目录(章节/角色/剧情/设定)、`剧情/节奏.md`、`剧情/情绪模块.md`、`文风.md` 和 `拆文报告.md` 到 `对标/{书名}/`。
>
> **对标书路径查找**:优先 `{项目}/对标/{书名}/`,不存在则回退 `拆文库/{书名}/`。下文所有对标数据加载均使用此规则。
---
### Phase 1:确认选题方向
消费 `选题决策.md`、确认题材方向、做对标发现并登记主/副对标书。
**执行前先读 [references/workflow-setup.md](references/workflow-setup.md) 的「Phase 1:确认选题方向」节**,按其中步骤执行。
---
### Phase 2:核心设定
产出核心设定表,并创建 `设定/关系.md`、`设定/题材定位.md`、`设定/题材正文提示卡.md`。
**执行前先读 [references/workflow-setup.md](references/workflow-setup.md) 的「Phase 2:核心设定」节**。
---
### Phase 3:大纲搭建
产出全书体量与阶段总览、卷级大纲、逐章细纲;含大纲安全七检、大纲安全审查、分批建纲与「中途补纲/扩纲小流程」。
**执行前先读 [references/workflow-setup.md](references/workflow-setup.md) 的「Phase 3:大纲搭建」节**。
---
### Phase 4:正文写作辅助
#### 项目文件结构
长篇写作必须用文件系统管理,不要把内容堆在对话里。在用户指定的工作目录下创建:
```
{书名}/
├── 设定/
│ ├── 世界观/
│ │ ├── 背景设定.md # 时代背景、地理、历史
│ │ ├── 力量体系.md # 修炼/能力/等级体系
│ │ └── ...
│ ├── 角色/
│ │ ├── 沈栀.md # 每个人物一个文件,文件名用角色名
│ │ └── ...
│ ├── 势力/
│ │ ├── 天机阁.md # 每个势力/组织一个文件
│ │ └── ...
│ ├── 关系.md # 角色关系映射
│ ├── 题材定位.md # 题材核心梗+对标分析+终局底牌/升级台阶(防写无可写)
│ └── 题材正文提示卡.md # 题材正文核心:边界/期待/爽点/节奏/禁漂移
├── 大纲/
│ ├── 大纲.md # 全书卷级结构
│ ├── 卷纲_第一卷.md # 每卷一个:对标结构坐标+剧情单元+情绪弧线(含章节定位)+人物弧线+伏笔+反转
│ └── 细纲_第001章.md # 每章一个:章节定位+事件+钩子(按章节定位,章首/章尾/段落级)+爽点+悬念
├── 正文/
│ ├── 第001章_章名.md
│Use this skill when you need to control a Chrome browser via CDP (Chrome DevTools Protocol) to reuse existing login sessions. Covers: launching Chrome in debug mode, opening URLs, waiting for page load, evaluating JavaScript, taking snapshots, and extracting auth tokens. Trigger phrases: browser automation, CDP, agent-browser, 浏览器操作, 操作浏览器, Chrome CDP, 复用登录态, extract token from browser.
小说封面生成。根据书名、作者名自动分析题材风格,调用 GPT-Image-2 生成含标题和署名的专业级网文封面;Codex CLI 优先使用内置 ImageGen,无需单独 API Key。触发方式:/story-cover、/封面、「帮我做个封面」「生成封面图」「做个小说封面」「封面设计」。
网文去AI味。检测并清除文本中的AI写作痕迹,让文字回归自然、非模板化。触发方式:/story-deslop、/去AI味、「去AI味」「这篇太AI了」「网文去AI味」。
逆向导入已有小说。将已写好的小说(半成品或完本)反向解析为标准项目目录结构,兼容 story-long-write / story-short-write 后续写作流程;内部复用 story-long-analyze / story-short-analyze 的拆解管道,按篇幅自动分流。触发方式:/story-import、「导入小说」「反向解析」「导入」「把我的书导进来」。
长篇网文拆文。深度拆解爆款长篇小说的黄金三章、人设架构、爽点设计、节奏控制。单一深度拆解管道:跑完黄金三章(Stage 1)后产出快速预览报告并询问是否继续全量拆解,确认后从 Stage 2 续跑逐章摘要、聚合分析、设定关系、汇总报告,全程产物落盘 拆文库/{书名}/。触发方式:/story-long-analyze、/长篇拆文、「帮我拆这本书」「拆这本书」「分析黄金三章」「深度拆解」「完整拆解」「系统拆解」或提供小说文本文件路径——全部进入同一管道。
长篇网文扫榜。分析起点、番茄、晋江等平台排行榜数据,提炼市场趋势与热门题材。触发方式:/story-long-scan、/长篇扫榜、「长篇什么火」「起点排行」。
多视角对抗式审查。full/lean 模式在已部署 reviewer agents 时并行 spawn;缺失/异常 agents 或 spawn 失败时自动降级 solo,参考文件不可读时使用内置 rubric fallback。触发方式:/story-review、/审查、「审查一下」「帮我审一下」。
网文写作工具集基础设施部署。为 Claude Code / OpenCode / Codex / Google Antigravity / ZCode / OpenClaw / Reasonix 提供内置适配;Web AI / 通用 Agent 可走 skills + AGENTS.md 文件模式。触发方式:/story-setup、$story-setup、「准备写书」「帮我搭一下环境」「配置写作项目」。