| name | novelist-proofread |
| description | 校对小说正文的文字层问题(12 子项)——错别字(形近/音近/多漏字)、语法(残缺/搭配/语序)、标点、用词、用字统一。支持 mode=detect(只读扫描产报告, 不改正文) 与 mode=fix(默认, 报告+就地 Edit 修正)。当用户说"校对/查错别字/润色文字/检查语法/通顺一下"时调用。区别于 novelist-check(查剧情设定一致性), 本 skill 只管文字表达正确通顺, 不动剧情。派 proofreader agent 校对, 报告落 元数据/校对报告/。 |
| user-invocable | true |
| argument-hint | [mode: detect|fix] [校对范围; 缺省=最近章] |
| arguments | ["mode","校对范围"] |
novelist-proofread — 文字校对
只在文字表达层工作: 把字、词、句、标点修对修顺。不评判剧情合不合理(那是 novelist-check 的事), 不改设定。
逐项校对清单与报告格式见 references/proofread-checklist.md。
mode 入参(detect | fix)
| mode | 行为 | proofreader 授权 |
|---|
| detect | 只读扫描, 逐项核对, 产出报告 | ❌ 不授予 Edit(只产报告, 不改正文) |
| fix(默认) | 报告 + 就地 Edit 修正 | ✅ 授予 Edit(就地改正文) |
mode 解析: 用户输入首 token 为 detect / fix → 设 mode, 范围=剩余 token; 否则 fix(默认, 向后兼容, 因现 proofreader 已是 fix 一体)。
校对维度(5 维 → 12 子项)
| 维度 | 子项 |
|---|
| 1 错别字(3) | 1a 形近字(己/已、的/得/地) / 1b 音近字 / 1c 多字漏字 |
| 2 语法(3) | 2a 成分残缺 / 2b 搭配不当 / 2c 语序与关联词 |
| 3 标点(2) | 3a 误用与缺失 / 3b 中英标点混用与引号书名号配对 |
| 4 用词(2) | 4a 啰嗦重复与口语书面混杂 / 4b 生造词 |
| 5 用字统一(2) | 5a 人物称呼/译名(基准 人物/_索引.md) / 5b 术语专有名词(基准 设定/_索引.md) |
每子项独立报告条数 + detect/fix。
工作流(按序)
- 解析 mode + 定范围(免输入) — 首 token 为
detect/fix → 设 mode; 否则 fix。范围: 用户给了用之; 未给 → 默认本次/最近新写的章(读 章节/_索引.md 取状态非定稿的), 不追问。
- 取统一基准 — 读 人物/_索引.md 与 设定/_索引.md, 取人物称呼/术语的标准用字, 作为「用字统一(5a/5b)」基准。基准文件缺失或称呼未定义 → 硬停, 提示先在 人物/设定 补定标准用字, 禁无基准硬校 5a/5b 子项。
- 派 proofreader(按 mode 授权, 范围受限) — 真实
Agent tool_use 派 proofreader, 6 字段 prompt: 目标(校对 X 范围, 12 子项核对) / 已知(统一基准 + 章节路径 + mode) / 范围(只改文字层, 禁改剧情/设定/情节走向) / 输出格式(逐条: 子项编号+位置+原文+改后+类别; detect=只报告, fix=报告+就地修正) / 验收(不引入剧情改动; detect 模式正文零改动) / 失败处理(拿不准是否文字层 → 标出请人定, 不擅改)。detect → 不授予 Edit; fix → 授予 Edit。
- 报告 + 落盘 — 校对清单(含 12 子项条数分布)存
元数据/校对报告/<日期>-<范围>.md; fix 模式正文就地修正, detect 模式正文不动。
- 文字质量分 + 门控(零容忍满分) — 算分(纯算术): 质量分 = 100 − 每千字错误密度×6(每千字错误数 = 修正前错误数(12 子项合计) ÷ 章节千字数), 下限 0。质量分 == 100(即 12 子项错误数 == 0, 零错误) 才过; < 100 → 硬停, 退回 proofreader 重校高错密度段, 不带低质量章进收尾链下一环。连续 3 次重校未达 ==100 → 硬停, 报告未过子项分布 + 建议转人工裁决, 禁无限循环。供收尾链定稿分综合。
- 状态更新 —
章节/_索引.md 对应章状态推进为「已校对」(fix 模式); detect 模式不更新定稿状态。
- 回报 — 列 mode + 修正条数与 12 子项分布 + 文字质量分。
与 novelist-check 的边界
- proofread = 文字对不对、顺不顺(字词句标点)。
- check = 剧情设定一致不一致(逻辑/世界观/人物)。
- 二者不重叠: proofreader 发现疑似剧情矛盾 → 硬停 该处不自行改, 转记一条建议跑 novelist-check; 拿不准是错别字还是有意风格 → 标出请用户定, 禁擅改。
失败模式(触发 → 一线修复 → 仍失败兜底)
| 触发 | 一线修复 | 仍失败兜底 |
|---|
| 范围过大 | 分章校对再汇总 | 仍大 → 优先校对状态为「草稿」的新章 |
| 改字误伤剧情/对话风格 | 退回, 只改明确错误, 保留风格化表达 | 拿不准 → 标出请用户定, 不擅改 |
| 人物称呼不统一但基准本身缺失 | 提示先在 人物/设定 定准标准用字 | 暂缺 → 标「基准待定」, 不强统一 |
| proofreader 越界改了剧情 | 撤销该改动, 重申只改文字层 | 反复越界 → 缩小授权范围重派 |
| 连续 3 次重校未达 ==100 | 退回高错密度段逐项重校 | 硬停, 报告未过子项 + 转人工裁决 |
反例黑名单(命中=错, 重来)
| # | 禁做 | 改为 |
|---|
| 1 | 借校对之名改剧情/设定 | 只动文字层, 剧情交 check/rewrite |
| 2 | main 自己逐字校对不派 agent | 派 proofreader(真实 Agent tool_use) |
| 3 | 口头说"已校对"无 Agent 调用 | 宣称≠调用, 必有真实 tool_use |
| 4 | 把方言/风格化表达当错别字改掉 | 保留有意的风格, 只改真错 |
| 5 | 校对清单不给位置/原文 | 每条带 子项编号+位置+原文+改后+类别 |
| 6 | detect 模式误改正文(只读模式下动 Edit) | detect 只产报告; 改正文须显式 mode=fix |
12 子项(5 维 3+3+2+2+2)逐项核对; mode=detect|fix 入参; 门控 质量分==100(零错误); 派 proofreader agent 校对; 报告落 元数据/校对报告/。