Novel review
章节 / 全书校稿。37 维质量审查:4 维统计学(Python 脚本)+ 33 维主观(LLM 评估)+ 一致性 + 伏笔账 + 硬规则。当用户说"校稿"、"审一遍"、"检查第 X 章"、"看看哪里有问题"、"全书审查"、"review chapter"、"audit" 时触发。审稿只评结构和完成度,**不评文笔**(文笔由 novel-style-engine + novel-chapter 在生成阶段控制)。From its SKILL.md
npx -y skills add alonegg/novel-suite --skill novel-reviewAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 3 stars3 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
8.4 KB, as published. Nobody here has run it
Novel Review —— 章节校稿
功能
37 维质量审查(借鉴 inkos continuity.ts,独立重写)。 四种检查并行:
| 层 | 检查类型 | 实现 | 维度数 |
|---|---|---|---|
| 1 | 客观统计 | Python 脚本 | 4 维 |
| 2 | 硬规则违规 | Python 脚本 | 10+ 条规则 |
| 3 | 伏笔账核对 | Python 脚本 | 1 维(伏笔回声 + 揭 1 埋 1) |
| 4 | 一致性 / 完成度 | LLM 评估 | ≥ 17 维 |
输出统一的批注式问题列表,不直接改稿。
Reviewer 边界(重要)
借鉴 inkos:审稿只看 结构 + 完成度,不审文笔。
文笔由 novel-style-engine + novel-chapter 的 writing-guidelines 在生成阶段控制。
本 skill 不应该说"这一句不好看 / 这一段啰嗦"——那种主观品味问题留给作者本人。
本 skill 评判的是:
- 章节有没有偏离大纲(结构)
- 角色有没有失格(一致性)
- 设定有没有矛盾(一致性)
- 伏笔账有没有兑现(完成度)
- 句式 / 节奏 / AI 痕迹有没有客观可识别的问题(统计)
触发场景
- 写完一章自检(
novel-chapterStep 6.5 自动调用 Python 脚本部分) - 用户手动单章校稿:"校稿第 8 章"
- 全书审查:"全书过一遍"
- 定期质检:建议每 5-10 章跑一次全章校稿
- 卷尾检查:在卷完结前必跑
工作流
A. 单章校稿(默认)
输入:章节号 N
输出:chapters/ch-NNN.review.md(批注列表)
Step 1 - 跑 4 个 Python 脚本
python3 .../check_ai_tells.py --chapter chapters/ch-008.md
python3 .../check_post_write.py --chapter chapters/ch-008.md --vault {vault}
python3 .../check_hook_ledger.py --chapter chapters/ch-008.md --vault {vault}
python3 .../check_consistency.py --chapter chapters/ch-008.md --vault {vault}
每个脚本输出 JSON:
{
"passed": true/false,
"issues": [
{
"severity": "critical|warning|info",
"dimension": "ai-tells.paragraph-uniformity",
"location": "L 23-25",
"description": "...",
"suggestion": "..."
}
]
}
Step 2 - LLM 主观维度评估
把 4 类脚本结果合并后,调 LLM 跑剩余 LLM 维度(详见 references/audit-dimensions.md):
- OOC 检查(vs character.md 的 voice patterns)
- 时间线检查(vs plot/timeline.md)
- 设定冲突(vs worldbuilding/)
- 战力崩坏(vs worldbuilding/systems/)
- 信息越界(角色不应该知道的事)
- 节奏检查(vs pacing-principles)
- 流水账(vs writing-guidelines)
- ...
LLM 输出 JSON:
{
"passed": true/false,
"overall_score": 0-100,
"issues": [...],
"summary": "一句话总结"
}
Step 3 - 合并 + 输出
把所有 issue 合并,按位置排序,生成 chapters/ch-NNN.review.md:
---
type: review
chapter: 8
reviewed-at: 2026-05-20 14:30
overall-score: 82
passed: true
critical-count: 0
warning-count: 3
info-count: 5
---
# Ch 8 校稿报告
## 总评(一句话)
结构稳,节奏 OK,但 sera 力量使用的描写过度(与角色克制基调有偏离)。
## Critical(0)
无。
## Warning(3)
### [L 23] 节奏 / pacing-monotony
段落变异系数 0.12(阈值 < 0.15),段落长度过于均匀。
建议:在 L 18-30 之间插入一个 1-2 句的短段,制造节奏起伏。
### [L 67] OOC / character-fidelity
sera 在对峙时主动说出"我可以放过你们",与其 character-voice "嘴硬主角型 + 沉默克制" 不符。
建议:把这句改为动作(如把武器收起来)或沉默。
### [L 88] hook-ledger / advance-evidence
hook H001 在 advance 列表,但正文中关键词"皇家纹章"、"金线"均未出现。
建议:在 L 80-95 之间加入 sera 注意到斥候腰间纹章的细节。
## Info(5)
### [L 5] ai-tells / hedge-density
套话词"似乎"出现 2 次。低于上限 3 次,仅作记录。
...
B. 全书审查
输入:vault 路径
输出:deliverables/full-review.md
跑每一章的 single chapter review,汇总:
- 总评分分布
- 各章 critical / warning 计数
- 跨章问题(如某伏笔 30 章未推进)
- 跨章 OOC 趋势(如某角色在多章中 voice 漂移)
C. 卷尾检查
输入:卷 ID
输出:plot/arcs/{arc}-review.md
- 每章逐项审
- 卷级伏笔检查(卷尾仍 open 的 hook 是否合理)
- 卷级节奏检查(是否符合 pacing-principles 的节奏结构)
- 30 章承诺兑现(仅对前 30 章触发)
4 个 Python 脚本
详见各脚本文件头注释。
check_ai_tells.py
4 维统计学检测(借鉴 inkos ai-tells.ts 重写):
- dim 20: 段落长度变异系数 < 0.15 → warning
- dim 21: 套话密度 > 3 次/千字 → warning
- dim 22: 同转折词重复 ≥ 3 次 → warning
- dim 23: 连续相同开头句 ≥ 3 → info
check_post_write.py
硬规则违规(借鉴 inkos post-write-validator.ts 重写):
- 禁用句式("不是…而是…"等)→ critical
- 禁用标点(破折号)→ critical
- 元叙事词 → critical
- 学术报告术语 → critical
- 全场震惊式 → critical
- 转折词密度上限 → warning
- 疲劳词每章 ≤ 1 次 → warning
- 详细规则见
novel-style-engine/references/anti-ai-rules.md
check_hook_ledger.py
伏笔账核对(借鉴 inkos hook-ledger-validator.ts 重写):
- 解析章节
## hook-账段 - advance / resolve 必须在正文中有 CJK 2-gram 关键词回声 → critical
- 揭 1 埋 1 硬底线 → critical
- defer 必须给出原因 → warning
check_consistency.py
跨实体一致性(自创 + 借鉴):
- 出场角色是否都在 characters/ 中存在 → critical 若不在
- 角色当前状态 vs
.memory/entity-state.md是否冲突 → critical - 涉及地点是否在 worldbuilding/locations/ 中 → warning 若不在
- 力量体系动作 vs systems/.md 规则边界 → warning 若越界
- continuity-facts 中的"永久事实"是否被违反 → critical
LLM 维度(≥ 17 维)
LLM 评估部分用以下 prompt 模板:
你是中文网文结构编辑。审稿只看完成度 + 结构,不审文笔。
- ALL OUTPUT MUST BE 中文 JSON
- passed=false 仅当存在 critical issue
- overall_score 0-100 校准:
- 95-100: 可直接发表
- 85-94: 小瑕疵但顺畅
- 75-84: 明显问题但骨架稳
- 65-74: 多处问题影响阅读
- <65: 结构崩坏需重写
审稿维度:
1. OOC 检查(vs character.md voice patterns)
2. 时间线检查(vs timeline.md)
3. 设定冲突(vs worldbuilding/)
4. 战力崩坏(vs systems/)
5. 数值检查
6. 伏笔检查(结构层;脚本已做表面检查)
7. 节奏检查(参考 pacing-principles)
8. 信息越界
9. 利益链断裂
10. 配角降智 / 工具人化
11. 爽点虚化
12. 台词失真
13. 流水账
14. POV 一致性
15. 支线停滞
16. 弧线平坦
17. 读者期待管理
18. 章节备忘偏离
[输入上下文]
- 章节正文:{...}
- 章纲:{...}
- 当前 arc:{...}
- 出场角色卡:{...}
- 涉及世界观:{...}
- 当前 .memory/entity-state.md:{...}
输出 JSON:
{
"passed": ...,
"overall_score": ...,
"issues": [{"severity":"...","dimension":"...","location":"...","description":"...","suggestion":"..."}],
"summary": "..."
}
完整 37 维清单见 references/audit-dimensions.md。
评分阈值(决定 passed)
- 任一 critical 存在 → passed = false
- warning 数 ≥ 5 → 提醒但不阻断
- info 数任意 → 不影响 passed
- overall_score < 65 → 即使无 critical 也建议重写
与其他 skill 的边界
- 不改正文:只输出批注。改正文是
novel-chapter的rewrite/fix-ai任务(或用户手改) - 不评文笔好不好:那是主观品味,留给作者
- 不重新跑写法引擎:style 漂移问题报为 issue,让用户决定是否重跑
compile_style.py或重新写章节
输出
每次跑完后:
chapters/ch-NNN.review.md写好- 给用户简短摘要(critical / warning / info 计数 + overall_score)
- 列出值得立即修复的前 3 个 issue