# Novelist Rewrite

> novelist-rewrite — 章节重写(三模式, 一站式)

- Skill: `lazygophers/novelist-rewrite` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add lazygophers/novelist-rewrite`
- Raw SKILL.md: https://api.skillmd.com/api/skills/lazygophers/novelist-rewrite/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: lazygophers (https://skillmd.com/u/lazygophers)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/lazygophers/novelist-rewrite

---


# novelist-rewrite — 章节重写(三模式, 一站式)

入参 `mode=detect|fix`(默认 **fix**):
- `mode=detect` — 只读诊断: 扫描全书, 产「建议重写章清单 + 理由 + 建议模式 A/B/C」, **不改任何文件**(不派 chapter-writer, 不删章)。用于动手前先评估。
- `mode=fix`(默认) — 执行三模式 A/B/C(现状), 走完整收尾链。

修复或重来。无论哪种模式, 重写的本质 = 让正文重新满足四要素与一致性约束。**重写也是一站式**: 重写正文后同样走完整收尾链(检查→审查→校对→去AIGC→定稿, 见工作流 step 4), 用户只需调 rewrite, 不必再分别调 check/proofread/humanize。涉及删除时, 破坏性操作必须先确认、先备份。

三模式的逐步操作细则见 `references/rewrite-modes.md`; 核心约束速览如下。

## 关键约束速览

| 场景 | 约束 |
|---|---|
| 模式A选章范围 | 只重写「冲突直接涉及」的章/段落, 禁无关章漫扩 |
| 模式B操作顺序 | 确认 → 备份(移入 .废弃/) → 清索引 → 回退状态源 → 重写; 任一步缺=未完成 |
| 模式C每章必做 | 重取/重定该章四要素, 禁跳章直接写 |
| 备份格式 | 移入 `元数据/.废弃章节-<YYYYMMDD>/`, 文件名不变便于恢复 |
| 收尾链(三模式通用) | 重写后必过 check→proofread→humanize→棘轮分门控; 不可跳 |

## mode=detect — 诊断模式(只读)

扫描全书, 评估每章是否需重写(而非单点修), 产「建议重写章清单 + 理由 + 建议模式 A/B/C」。**禁动任何文件**(不派 chapter-writer, 不删章, 不改 `章节/` 正文)。用户据此决定是否进 mode=fix。详细字段见 `references/rewrite-modes.md`。

## 三种模式(均归入 mode=fix)

### 模式 A — 按检查报告定点修复
1. 读最新 `元数据/检查报告/<...>.md`(或先跑 novelist-check 生成)。
2. 对每条 致命/重要 冲突, 定位涉及章节。
3. 逐条派 chapter-writer 重写**受影响段落/章节**, prompt 附: 冲突点 + 正确事实(从事实源) + 修复要求。
4. 重写后回写状态变更, 重跑 novelist-check 确认冲突清零。

### 模式 B — 从第 N 章起清空重写(破坏性)
1. **硬停 确认** — 用 `AskUserQuestion` 明确: "将删除第 N 章及之后全部章节(共 X 章), 不可逆, 确认?"。未确认不动手。
2. **先备份** — 把待删章节移到 `元数据/.废弃章节-<日期>/`(不是直接 rm), 留后悔余地。
3. **清空** — 从 `章节/_索引.md` 移除第 N 章起的行; 对应正文文件已移入备份。
4. **回滚状态源** — 把人物关系/世界观/伏笔回退到第 N-1 章末的状态(依据第 N-1 章四要素的事后状态)。
5. **重写** — 从第 N 章起, 逐章走 `novelist-write` 完整流程(四要素 → chapter-writer → 回写)。

### 模式 C — 连续重写多章(第 A-B 章)
1. 确认区间 [A, B]。
2. 对区间内每章按顺序: 取该章原四要素(或与用户重定) → 派 chapter-writer 重写 → 回写状态。
3. 区间外章节不动; 重写完跑 novelist-check 核对区间与上下文衔接。

## 工作流(统一)

1. **解析 mode** — 首 token 为 `detect` → mode=detect(进诊断分支, 见上「mode=detect 诊断模式」, 完成后直接 step 5 回报, 不走 step 2-4); 首 token 为 `fix` 或其他 → mode=fix(默认, 进 A/B/C)。**判模式** — mode=fix 时从用户措辞判 A/B/C。不明确 → `AskUserQuestion` 让用户选模式 + 范围。
2. **破坏性前置闸门** — 模式 B(或 C 含清空)必须先确认 + 先备份, 见上。
3. **派 chapter-writer 重写** — 真实 `Agent` tool_use, 不亲自改正文。
4. **生成后收尾链(同 write, 不可跳)+ 重写棘轮** — 重写的正文同样过三环才算定稿: **a.** 回写事实源 → **b.** `novelist-check` 一致性(派 continuity-auditor, 致命冲突回 step 3 重写) → **c.** `novelist-proofread` 校对 → **d.** `novelist-humanize` 去 AIGC → **e.** 算定稿分(一致性×0.5+文字×0.2+人味×0.3, 纯算术)。**棘轮(满分零容忍)**: 重写后定稿分必须 > 重写前那版(否则重写无效甚至改坏 → 回退或重做), 且 **==100** 才定稿。==100 等价于一致性/文字/人味三项全满分(因加权和==100 ⟺ 各项==100); 任一项非满分 → 定稿分<100 → 不定稿。连续 3 次重写未达 ==100 → 硬停 转人工裁决。
5. **回报** — mode=detect: 报告建议重写章清单+理由+建议模式; mode=fix: 列重写了哪些章、状态回退/更新、收尾链结果(检查/校对/去AIGC 各是否过, 定稿分是否 ==100)。

## 失败模式(触发 → 一线修复 → 仍失败兜底)

| 触发 | 一线修复 | 仍失败兜底 |
|---|---|---|
| 模式不明确 | `AskUserQuestion` 让用户选 A/B/C + 范围 | 仍不明 → 不动手 |
| mode=detect 误动文件 | detect 禁派 chapter-writer / 禁删章 / 禁改正文, 只产诊断报告 | 已动 → 撤回, 改为只产建议 |
| 模式 B 用户未明确确认删除 | 硬停, 必须显式确认才执行 | 不确认 → 取消, 一字不删 |
| 删错/删多了 | 从 `元数据/.废弃章节-<日期>/` 恢复 | 备份也无 → 报告用户, 禁谎称已恢复 |
| 重写后与上下文衔接断裂 | 调整衔接段, 重跑 check | 断裂大 → 扩大重写区间 |
| chapter-writer 重写仍带原冲突 | 把冲突点更显式地写进 prompt 重派 | 连续 2 次未修复 → 硬停 转人工 |
| 模式A: check 仍有致命冲突(重写后未清零) | 遗漏冲突逐条加入 prompt 重派(一次只修一条) | 连续2次清零失败 → 硬停, 事实源本身矛盾, 需人工解设定冲突 |
| 重写棘轮不过(定稿分≤原版 或 <100) | 逐环定位拖分处: check低→补修; proofread低→重校; 人味低→重去AI(目标三项全 ==100) | 连续 3 次未满分 → 硬停 转人工 |
| 模式C: 某章与前章衔接断裂 | 调整该章四要素使衔接自然 → 重写该章 | 反复断裂 → 缩短区间逐章推进 |

## 反例黑名单(命中=错, 重来)

| # | 禁做 | 改为 |
|---|---|---|
| 1 | 模式 B 不确认就删章节 | 删除前必 AskUserQuestion 显式确认 |
| 2 | 直接 rm 删除, 无备份 | 先移入 .废弃章节-<日期>/ 再清 |
| 3 | 删章后不回退状态源 | 人物/世界观/伏笔回退到 N-1 章末 |
| 4 | main 自己改写正文 | 派 chapter-writer(真实 Agent tool_use) |
| 5 | 重写后不重跑 check | 收尾必跑 novelist-check 确认 |
| 6 | 谎称已恢复但实际无备份 | 如实报告, 禁幻觉式合规 |
| 7 | mode=detect 派 chapter-writer / 删章 / 改正文 | detect 只产诊断建议, 不动文件 |
| 8 | 定稿分 <100 就谎称定稿 | 棘轮 ==100(三项全满分) 才定稿; 否则 硬停 转人工 |

> 修复依据 novelist-check 报告; 重写派 chapter-writer; 破坏性删除先确认先备份; 收尾回 check 闭环; mode=detect 只读不动文件; 棘轮定稿分 ==100 才定稿。独占 章节/ 覆盖写入。

