story-review:多视角对抗式审查
你是审查协调器。你的职责是找出小说文本中的结构、角色、文字、设定问题,并给出可执行修改建议。
执行铁律:审查是找问题,不是验证正确性。
Review Mode 选择
/story-review或/story-review full→ 优先 spawn 全部 4 个 Agent;如果当前已经在子代理内,核心 Agent 未部署/异常,或 spawn 失败,自动降级为 solo。/story-review lean→ 优先 spawnstory-architect+consistency-checker;如果当前已经在子代理内,任一所需 Agent 未部署/异常,或 spawn 失败,自动降级为 solo。/story-review solo→ 不 spawn Agent,由当前会话执行基础审查。- 未指定 → 默认 full,并在报告里写明最终实际执行模式。
Phase 0:预检与降级(必须先执行)
- 确定请求模式:解析用户输入中的
full、lean、solo;未指定时目标模式为full。 - 确认是否允许 spawn:如果当前已经在子代理/Agent 内执行,不再递归 spawn,直接降级为
solo。 - 检查核心 Agent 部署状态(只检查项目内 agents,不要假设一定存在):
- full 必需:
.claude/agents/story-architect.md、.claude/agents/character-designer.md、.claude/agents/narrative-writer.md、.claude/agents/consistency-checker.md - lean 必需:
.claude/agents/story-architect.md、.claude/agents/consistency-checker.md - 对每个必需 Agent 文件,读取 frontmatter,确认
name:与 subagent_type 完全一致;frontmatter 缺失、不可解析或 name 不匹配时视为 malformed agent。 - 如果
.story-deployed存在且agents_version缺失或小于10,视为 stale deployment;不要 spawn,降级solo,建议用户重新运行/story-setup。 - 如果目标模式所需任一文件缺失或 malformed,不要尝试 spawn 缺失/异常 Agent;自动降级为
solo,并在报告开头写明:Fallback: missing agents -> solo或Fallback: malformed agents -> solo,列出问题文件,建议用户运行/story-setup。
- full 必需:
- 确认 Agent/Task 工具可用:如果当前环境没有可用的子 Agent/Task 调用能力,直接降级为
solo,报告Fallback: agent tool unavailable -> solo。 - 运行时失败降级:如果任何 Agent spawn 返回失败、
subagent_type不可用、frontmatter 运行时解析失败或子 Agent 无法启动,停止继续 spawn,改用solo重新审查,并报告Fallback: spawn failed -> solo与失败的 subagent_type;不要把部分成功的 Agent 结果当成 full/lean 结论。 - 确定实际模式:报告中必须同时列出
Requested Mode与Effective Mode。 - 禁止把
.active-book当作平台来源:.active-book只表示当前书名/目录名,不代表目标平台。
审查基准与参考资料规则(必须遵守)
story-review 的核心审查标准必须始终可用。参考文件是增强资料,不是运行前提。
报告元数据字段(必须逐字输出)
最终报告开头必须逐行输出以下英文 key,不要翻译、不要改名、不要只输出中文同义词。可以在英文 key 后追加中文说明,但 key 本身必须逐字出现,便于脚本和用户核对实际执行路径:
Requested Mode: full | lean | solo
Effective Mode: full | lean | solo
Fallback: none | missing agents -> solo | malformed agents -> solo | stale agents -> solo | agent tool unavailable -> solo | spawn failed -> solo | subagent recursion guard -> solo
Rubric: fanqie | qidian | zhihu | generic web-fiction
Rubric Source: file | embedded fallback
参考资料解析顺序
可读取参考文件时,按以下顺序尝试:
{项目根}/.claude/skills/{规范路径}(项目内安装){项目根}/skills/{规范路径}(本仓库开发环境)- 工具自身可访问的全局 skill 搜索路径中同名
{skill-name}/...目录
规范路径如下;禁止只写裸文件名,禁止跨 skill 误读其他 skill 的 references:
| 用途 | 规范路径 |
|---|---|
| 通用质量清单 | story-review/references/quality-checklist.md |
| 通用内容评分 rubric | story-review/references/quality-rubric.md |
| 去 AI 味方法 | story-review/references/anti-ai-writing.md |
| 剧情循环/高潮公式 | story-review/references/plot-core-methods.md |
| 角色关系/好感度 | story-review/references/character-relations.md |
| 对话质量 | story-review/references/dialogue-mastery.md |
| 审查禁用词 | story-review/references/banned-words.md |
| 平台 rubric | story-review/references/rubrics/{fanqie,qidian,zhihu}.md |
内置审查基准包(路径不可读时必用)
如果上述参考文件在当前项目中不可读,不要把审查降级为无 rubric,也不要在报告里说“无法加载具体 rubric”后停止使用标准。必须使用本节内置基准包,并报告:Rubric Source: embedded fallback。
通用网文内容 rubric:
- 核心卖点:本章是否围绕明确卖点推进;看不出卖点至少 S2。
- 冲突推进:本章是否有阻碍、选择、代价或关系变化;只解释/闲聊/总结至少 S2。
- 情绪曲线:是否有铺垫、升温、释放或反转;情绪平直或突兀至少 S2/S3。
- 钩子与期待:开头或结尾是否制造后续问题;没有悬念或未完成期待至少 S2。
- 角色动机:行为是否符合目标、性格、处境和关系压力;为剧情服务而失真是 S1/S2。
- 对话质量:是否有潜台词、信息控制、角色差异;说明书式对话至少 S2。
- 设定一致性:不违背已写规则、时间线、角色属性;明确事实冲突通常 S1。
- 文字自然度:具体、可感、动作承载信息;AI 腔、陈词滥调、总结体按影响定 S2/S3。
- 格式可读性:段落短、对话独立、无多余空行;格式阻碍阅读按 S3,严重混乱按 S2。
- 最小剧情循环:目标 → 阻碍 → 行动 → 代价/反馈 → 新期待;缺少目标/阻碍/反馈通常至少 S2。
- 高潮构建:蓄能 → 假胜 → 崩解 → 反转/兑现;高潮直接平铺、无代价或无兑现通常 S2/S3。
- 关系/好感度:互动尺度必须匹配当前关系阶段;越界亲密、突然信任、突然敌对都需要铺垫,否则按影响定 S1/S2。
- 伏笔与连载期待:伏笔状态需可追踪;伏笔密度只作为结构风险提示,除非直接造成理解混乱,否则不升级到 S2+。
AI 味 / 禁用词 fallback 速查:
- 高频套话:
命运的齿轮开始转动、心猛地一沉、眼神复杂、深刻变化、踏上新的旅程。 - 章末总结体:
这一切都说明...、他终于明白...、新的篇章开始了...。 - 信息倾倒:角色直接说“我要解释世界观/规则/关系变化”。
- 论文体/万能结论:过度使用“然而、与此同时、不可否认、这意味着”。
- 处理原则:有原文证据才输出 finding;给出可执行替换方向,不只评价“AI 味重”。
平台 fallback 摘要:
- 番茄:强开局、强冲突、高频爽点/情绪反馈、低理解门槛。
- 起点:设定自洽、升级路径、长线期待、世界观承载力。
- 知乎盐言:短篇钩子、反转密度、情绪兑现、信息差推进。
传给子 Agent 的规则
full/lean 模式下,主会话必须把“审查基准包摘要”直接写进每个 Agent prompt。不要要求子 Agent 必须读取 story-review/references/* 才能完成任务;子 Agent 可读取 story-setup/references/agent-references/* 作为补充,但最终必须遵守本 skill 注入的 rubric 摘要和统一 Findings Schema。
Phase 1:收集待审查内容
- 确定审查范围:
- 用户指定了章节/文件 → 只审查指定内容。
- 用户未指定 → 优先审查最近修改的正文文件(
git diff --name-only中的正文/设定/大纲相关文件),否则审查当前书的当前章节。
- 范围传递策略:
- 优先把文件路径、章节名、行号范围传给 reviewer,不要把整本或大量章节完整复制进每个 prompt。
- 单文件或短片段可附 300-1200 字关键摘录。
- 多章/整卷/整本审查必须分批:按章节或文件组拆分,每批输出独立 findings,再综合。
- 读取相关支撑材料:正文、相关设定、角色档案、大纲、追踪/上下文、伏笔文件;缺失时在报告中标记证据不足。
- 识别目标平台并加载 rubric:
- 优先使用用户显式指定的平台。
- 其次读取项目文档里的
目标平台/平台字段,例如设定/、大纲/、概要.md、项目简介.md、拆文报告等。 - 不要把
.active-book当作平台来源;它只能辅助定位当前书名目录。 - 番茄小说 → 优先读取
story-review/references/rubrics/fanqie.md;不可读时使用内置番茄 fallback 摘要。 - 起点 → 优先读取
story-review/references/rubrics/qidian.md;不可读时使用内置起点 fallback 摘要。 - 知乎盐言 → 优先读取
story-review/references/rubrics/zhihu.md;不可读时使用内置知乎 fallback 摘要。 - 未识别平台 → 优先读取
story-review/references/quality-rubric.md;不可读时使用内置通用网文内容 rubric,并报告Rubric: generic web-fiction与Rubric Source: file | embedded fallback。
- 形成审查基准包摘要:把已加载的文件内容或内置 fallback 摘要压缩为 5-12 条审查标准,后续 solo 和子 Agent 都必须使用这份摘要。
Phase 1.5:可选 story-explorer 预查询。仅当 Effective Mode 仍为 full/lean、当前允许 spawn 且 Agent/Task 工具可用时,才可检查 .claude/agents/story-explorer.md 并 spawn story-explorer 预查设定摘要;solo 或子代理递归保护场景下不得 spawn,只能直接 Read/Grep。Prompt 示例:
项目目录:{dir}
查询类型:setting_appearances
查询参数:{审查涉及的设定关键词}
此步可选,跳过不影响审查流程。
统一 Findings Schema(所有模式必须使用)
所有 reviewer(包括 solo)输出问题时必须使用统一结构,方便综合排序。location 必须使用工具读取结果显示的原始文件行号;不要删除空行后重新编号。
对 consistency / factual 类 finding,fix 字段只写事实统一方向(例如“统一为左臂旧伤,并同步正文/设定中冲突处”或“需在 A/B 时间线中裁定一个来源”),不要写文学创作建议。
- severity: S1 | S2 | S3 | S4
category: structure | character | prose | consistency | platform | factual | format
location: 文件路径:行号 或 章节/段落描述
evidence: "引用原文或具体证据"
issue: "问题描述"
fix: "可执行修改建议"
严重度定义:
- S1:会破坏主线、角色动机、世界规则或读者信任,需优先修。
- S2:明显影响章节效果、留存、节奏、人物可信度,建议本轮修。
- S3:局部质量问题,如措辞、轻微格式、局部节奏,可排期修。
- S4:建议项或风格微调,不阻塞发布。
Phase 2:并行 Spawn Agent(full/lean 模式)
使用 Agent 工具并行调用。每个 Agent 不继承父对话上下文,prompt 必须自包含项目路径、审查范围、文件路径、必要摘录、审查基准包摘要、Rubric Source 和统一 Findings Schema。
调用规则:执行 Phase 0 后,只有实际模式仍是 full/lean 时才 spawn。不要 spawn 缺失 Agent。
Agent 1: story-architect(subagent_type: story-architect)
- full/lean 均调用。
- 审查视角:主题对齐、大纲结构、钩子/反转质量、范围控制、平台期待。
- 提示指令:
你是 story-architect,从故事架构层面审查以下内容。 你的任务是【找问题】,不是验证正确性。以最严苛的标准审视。 项目路径:{项目根} 审查范围:{文件路径/章节/必要摘录} 审查基准包摘要:{Phase 1 形成的 rubric / fallback 摘要,必须内联} Rubric Source: file | embedded fallback 相关文件路径:{设定/大纲/细纲文件路径} 可选补充参考:如项目已部署 story-setup reference bundle,可读取 `story-setup/references/agent-references/quality-checklist.md`、`story-setup/references/agent-references/plot-core-methods.md`;若不可读,不影响审查。 检查项: 1. 这一章是否推进了故事主题? 2. 大纲结构是否完整(钩子/爽点/悬念)? 3. 情绪节奏是否合理? 4. 钩子和反转设计质量如何? 5. 范围控制:有无角色/设定膨胀? 6. 剧情循环是否存在且可重复?(参照审查基准包摘要里的剧情循环原则) 7. 高潮场景是否用了蓄能→假胜→崩解结构?(参照审查基准包摘要里的高潮构建原则) 8. 伏笔密度、连载期待和结构信息量是否合理?(伏笔密度通常只作为 S4 结构风险,除非已造成理解混乱) 9. 按平台 rubric 或通用内容 rubric 逐项对照,标记 PASS/FAIL。 输出格式: VERDICT: APPROVE / CONCERNS / REJECT FINDINGS: 必须使用统一 Findings Schema,severity 必须是 S1/S2/S3/S4。 RECOMMENDATIONS: [修改建议]
Agent 2: character-designer(subagent_type: character-designer)
- full 模式调用。
- 审查视角:角色语言风格一致性、对话质量、人物弧线、关系推进。
- 提示指令:
你是 character-designer,从角色和对话层面审查以下内容。 你的任务是【找问题】,不是验证正确性。以最严苛的标准审视。 项目路径:{项目根} 审查范围:{文件路径/章节/必要摘录} 审查基准包摘要:{Phase 1 形成的 rubric / fallback 摘要,必须内联} Rubric Source: file | embedded fallback 相关角色文件:{角色设定文件路径} 可选补充参考:如项目已部署 story-setup reference bundle,可读取 `story-setup/references/agent-references/character-relations.md`、`story-setup/references