| name | novelist-check |
| description | 检查小说整条故事线的一致性(18 子项)。当用户说"检查一致性/查冲突/审故事线/有没有矛盾/设定对不对"时调用; 也被 novelist-write 在编写前引用取事实快照。mode=detect(默认只读审查产冲突清单) / mode=fix(单点冲突直接 Edit 修正, 段落级派 chapter-writer)。派 continuity-auditor agent 审查, 报告落 元数据/检查报告/。 |
| user-invocable | true |
| argument-hint | [mode: detect|fix] [检查范围; 缺省=全书自动审] |
| arguments | ["mode","检查范围"] |
novelist-check — 故事线一致性审查(检测/修复同 skill, 入参决定)
把全书当成一个事实系统来核对: 任何"此处说 A、彼处说 ¬A"都是缺陷。本 skill 支持 mode=detect|fix 两态: detect(默认)只读审查产冲突清单(现状, 向后兼容); fix 在审查后单点冲突直接 Edit 修正, 段落级重写派 chapter-writer。
mode 入参解析
input 首token
"detect" → mode=detect(默认), 范围=剩余token
"fix" → mode=fix, 范围=剩余token
其他 → mode=detect, 范围=原input ← 向后兼容(现 check 是只读)
| mode | 行为 | 改文件? |
|---|
| detect(默认) | 派 continuity-auditor 只读审查, 产冲突清单(现状) | 否 |
| fix | 审查 + 单点冲突 auditor 直接 Edit 正文修正(文字级事实陈述); 段落级重写派 chapter-writer | 是(仅冲突点) |
审查维度(6 维 × 3 子项 = 18 子项, 每子项独立 detect + 严重度 + 计数)
| 维度 | 子项编号 | 子项 | 典型缺陷 |
|---|
| 1 设定冲突 | 1a | 物品定义不一 | 同一物品前后属性/外形不一 |
| 1b | 术语定义不一 | 同一术语前后所指不一 |
| 1c | 组织定义不一 | 同一组织前后性质/成员不一 |
| 2 人物矛盾 | 2a | 关系突变无铺垫 | 关系无铺垫地反转 |
| 2b | 行为违背性格动机 | 行为与既定性格/动机冲突 |
| 2c | 生死状态错乱 | 已死又出场 / 生死状态前后矛盾 |
| 3 世界观违规 | 3a | 力量超规则边界 | 违反 规则.md 的力量上限 |
| 3b | 未付代价 | 使用力量未付既定代价 |
| 3c | 势力格局自相矛盾 | 势力版图前后自相矛盾 |
| 4 时间线错乱 | 4a | 事件顺序矛盾 | 事件先后顺序矛盾 |
| 4b | 年龄经历对不上历史 | 年龄/经历与 历史.md 对不上 |
| 4c | 时长跨度不合理 | 时长跨度不合常理 |
| 5 伏笔遗漏 | 5a | 过计划回收章未回收 | 伏笔.md 已过计划回收章仍「未回收」 |
| 5b | 结尾悬空伏笔 | 全书结尾仍悬空未回收 |
| 5c | 伏笔间相互矛盾 | 多条伏笔相互打架 |
| 6 逻辑合理性 | 6a | 因果断裂 | 因果链断裂 |
| 6b | 关键转折动机不足 | 关键转折缺动机支撑 |
| 6c | 过度巧合 | 关键推进靠过度巧合 |
工作流(按序)
- 解析 mode + 定范围 — 首 token 为
detect/fix → 设对应 mode, 范围取剩余 token; 否则 mode=detect(默认, 向后兼容), 范围=原 input。范围未给 → 默认全书自动审, 不追问。可选: 第 N 章起 / 某人物线 / 某设定。
- 派 continuity-auditor(按 mode 授权) — 用
Agent 工具(真实 tool_use)派 continuity-auditor, 6 字段 prompt: 目标(审 X 范围一致性, 18 子项) / 已知(事实源路径: 人物/世界观/设定/情节/章节) / 范围(detect=只读禁改任何文件; fix=允许单点 Edit 修正文字级事实陈述, 段落级重写标「派 chapter-writer」不改) / 输出格式(按 references/conflict-rubric.md 的单条冲突格式 + 18 子项核对清单, 每条带子项编号) / 验收(覆盖 18 子项、引用具体文件行) / 失败处理(信息不足标「需要:」)。
- 汇总报告 + 一致性健康分 — 收 agent 结果, 落
元数据/检查报告/<日期>-<范围>.md, 按 references/conflict-rubric.md 的严重度分级(致命/重要/建议)排序。算量化健康分(纯算术, 直接算): 健康分 = 100 −(致命×20 + 重要×5 + 建议×1), 下限 0。门控: 健康分 == 100 才过(零容忍, 致命=重要=建议=0); 建议级也扣 1 分 → 任一子项有冲突(含 建议级)即 < 100 不过, 不进收尾链下一环。
- (mode=fix 修复路径) 未满分则修 — 健康分 < 100 时, 按 mode=fix 分流修复:
- 单点冲突(可改一处事实陈述消除) → continuity-auditor 直接 Edit 正文修正(如: 改年龄数字、改物品名、补一行铺垫)。判定: 冲突可「改一处事实陈述」消除 = check fix。
- 段落级(需重写段落衔接) → 不在 check fix 内做, 派
novelist-rewrite 模式 A 重写整段。判定: 需「重写段落衔接」= rewrite 模式 A, 不属 check fix。
- 边界铁律: check fix 只改文字级事实陈述(段内单点), 不重写整段、不删章、不改结构(那是 rewrite 模式 A/B/C)。
- 修后回到 step 2 重检, 直到健康分 == 100。
- (被 write 引用时) 返回事实快照 — 若由 novelist-write 调用, 额外输出当前「人物关系 + 世界观规则 + 未回收伏笔」快照, 不必生成完整报告。
- 导向修复(detect 模式收尾) / 死循环兜底(fix 模式) —
- detect 模式: 有致命冲突 → 必须先用
novelist-rewrite 修复才能继续编写, 禁带着致命冲突往下写; 重要 → 建议本轮修复; 建议 → 零容忍: 建议级 也阻断满分, 须修后重检到 ==100。
- 死循环兜底: 连续 3 次重检未达 ==100 → 硬停, 转人工裁决, 报告未过子项 + 当前健康分 + 累计修复尝试数, 禁无限重试。
失败模式(触发 → 一线修复 → 仍失败兜底)
| 触发 | 一线修复 | 仍失败兜底 |
|---|
| 范围过大 agent 超时 | 分段审(按卷/按章区间)再合并 | 仍超时 → 只审用户最关心的人物/设定线 |
| continuity-auditor 标「需要: <缺事实源>」 | 补全对应设定文件后重派 | 设定本就缺 → 报告标「设定缺失」为冲突项 |
| 报告与用户认知不符(误报) | 复核证据行, 区分真冲突 vs 风格选择 | 用户判定误报 → 标注豁免, 不强改 |
| 规则.md 本身模糊导致无法判违规 | 提示先用 worldview 明确规则边界 | 暂不明确 → 标「规则待明确」高风险 |
| auditor 18 子项报告不完整(漏某子项) | 点名要求补全该子项再重派 | 仍不完整 → 标「子项X未审」纳入健康分(未审子项每项扣3) |
| write 引用时 snapshot 超时/无历史报告 | 用最近一次检查报告代替, 标报告时间戳 | 无任何历史报告 → 硬停, 必须先跑完整 check 再继续编写 |
| mode=fix 单点 Edit 改动越界(误重写整段) | 收回 Edit, 改派 novelist-rewrite 模式 A | 越界已落盘 → 标「需人工复核改动」 |
| 连续 3 次重检未达 ==100(死循环) | 退出 fix 循环, 转人工裁决 | 报告未过子项清单 + 累计尝试数 |
反例黑名单(命中=错, 重来)
| # | 禁做 | 改为 |
|---|
| 1 | detect 模式直接改正文/设定 | detect 只读审查; 修复走 mode=fix 或 rewrite |
| 2 | main 自己通读判断, 不派 agent | 派 continuity-auditor(真实 Agent tool_use) |
| 3 | 口头说"已检查"但无 Agent 调用 | 宣称≠调用, 必有真实 tool_use |
| 4 | 报告只说"有矛盾"不给位置证据 | 每条带 子项编号 + 文件:位置 + 证据 + 严重度 |
| 5 | 漏查伏笔回收 | 18 子项必含 5a/5b/5c 伏笔核对 |
| 6 | 建议级放过不阻断 | 建议级 也扣 1 分阻断满分(零容忍, 必须 ==100) |
| 7 | fix 模式整段重写/删章(越界) | 段落级派 rewrite 模式 A; check fix 只改文字级事实陈述 |
| 8 | 死循环无限重试 fix | 连续 3 次未满分 → 硬停 转人工 |
mode=detect|fix 入参决定; detect 默认只读审查产冲突清单; fix 单点 Edit 修正 + 段落级派 chapter-writer/rewrite; 健康分 ==100(零冲突含建议级) 才过; 被 novelist-write 引用取快照。