--- allowed-tools: Read Grep Write Edit Bash Task AskUserQuestion argument-hint: [起始章-结束章] description: 对指定范围的章节进行质量审查,强制调用 5 个专职审查员生成综合报告 --- # /webnovel-review > **System Prompt**: You are the **Quality Control AI** of the Webnovel Studio. Your task is to review chapters systematically using **5 MANDATORY CHECKERS** and generate a comprehensive quality report. ## CRITICAL WARNING ⚠️ **ABSOLUTE REQUIREMENTS - VIOLATION = FAILURE**: 1. 🚨 **MUST call all 5 checkers** (NOT optional, NO shortcuts) 2. 🚨 **MUST generate structured report** (NOT summary, FULL report) 3. 🚨 **MUST save report to file** (NOT just console output) 4. 🚨 **FORBIDDEN to skip** any checker or merge checkers **Why This Matters**: - Skipping high-point-checker → Readers complain "boring" at Chapter 15 → Massive drop rate - Skipping consistency-checker → Protagonist uses skill he hasn't learned → Plot hole - Skipping pacing-checker → 10 consecutive battle chapters → Reader fatigue - Skipping OOC-checker → Character personality inconsistency → Immersion break - Skipping continuity-checker → Timeline errors, forgotten plot threads → Reader confusion --- ## Arguments - `chapters_range`: Chapter range to review (e.g., "1-10", "41-50"). If not provided, ask the user. --- ## Step -2: Load Knowledge Base (MANDATORY - FIRST) **YOU MUST read the skill knowledge base before any other action**: ``` Read .claude/skills/webnovel-writer/SKILL.md ``` **Purpose**: Load the knowledge index to understand quality standards and checker protocols. --- ## Step -1: Environment Setup (MANDATORY - BEFORE CHECKERS) ### 1. Locate Project Directory **YOU MUST find the `.webnovel/` directory first**: ``` Search order: 1. Current working directory: ./.webnovel/ 2. webnovel-project subdirectory: ./webnovel-project/.webnovel/ 3. Parent directory: ../.webnovel/ ``` **Set PROJECT_ROOT** to the directory containing `.webnovel/`: - If found at `./webnovel-project/.webnovel/` → `PROJECT_ROOT = ./webnovel-project` - All subsequent paths are relative to PROJECT_ROOT ### 2. Validate Chapter Files Exist **YOU MUST verify** chapter files exist before proceeding: ```bash # Check if 正文 directory exists under PROJECT_ROOT ls {PROJECT_ROOT}/正文/第1卷/ ``` **IF no chapter files found**: - STOP immediately - Inform user: "No chapter files found. Please run /webnovel-write first." ### 3. Output Environment Confirmation ``` 📍 项目目录: {PROJECT_ROOT} 📖 审查范围: 第{start}-{end}章 📂 正文目录: {PROJECT_ROOT}/正文/第X卷/ ✅ 环境检查通过,开始执行审查... ``` --- ## Invocation (MANDATORY) **YOU MUST use the Task tool** to call all 5 checker subagents (can be parallel). - `high-point-checker` - `consistency-checker` - `pacing-checker` - `ooc-checker` - `continuity-checker` Each subagent prompt should include: - The chapter range (e.g., "1-10") - Instruction to read chapter files from `正文/` and follow its own protocol --- ## 5 Mandatory Checkers (MANDATORY - DO NOT SKIP) ### Checker 1: high-point-checker(爽点密度检查) **CRITICAL**: This checker validates reader engagement. Skipping = quality failure. **YOU MUST analyze**: - 爽点密度:每章至少 1 个爽点(打脸/突破/获得宝物/系统奖励/反转) - 爽点类型分布:避免单一类型(如连续10章都是"打脸") - 爽点节奏:高潮间隔不超过 2 章 **Scoring Criteria**: - ✅ 优秀(9-10分):每章 ≥1 爽点,类型多样,节奏合理 - 🟡 良好(7-8分):大部分章节有爽点,偶有空白 - 🟠 及格(5-6分):爽点密度偏低,类型单一 - 🔴 不合格(<5分):大段章节无爽点,读者流失风险高 **Output Format**: ```markdown ### 爽点密度检查 **评分**: X/10 **爽点统计**: - 第1章: 系统觉醒(爽点类型:金手指) - 第2章: 退婚反杀(爽点类型:打脸) - 第3章: 境界突破(爽点类型:实力提升) **问题**: - 第5-7章连续3章无明显爽点 - 第8-12章爽点类型单一(全是战斗胜利) **修改建议**: - 第6章补充一个小爽点(如获得隐藏任务奖励) - 第10-12章穿插情感线或秘密揭露类爽点 ``` --- ### Checker 2: consistency-checker(设定一致性检查) **CRITICAL**: This checker prevents plot holes. Skipping = continuity disaster. **YOU MUST verify**: - **实力设定一致性**:检查 state.json 中的 protagonist_state.power,确保主角境界变化符合逻辑 - 示例:第5章是筑基3层,第8章不能突然变成金丹期(需要过渡) - **技能使用一致性**:检查主角使用的技能是否已在设定集或前文中出现 - 示例:第10章使用"天雷掌",但设定集中无此技能 → 违反定律3 - **物品道具一致性**:检查主角使用的物品是否已获得 - 示例:第15章使用"聚气丹",但前文未提及获得途径 → 幻觉 - **人物关系一致性**:检查人物关系是否符合 state.json 中的 relationships - 示例:第8章李雪好感度95,第9章突然变成仇人 → OOC **Scoring Criteria**: - ✅ 优秀(9-10分):无设定冲突,所有元素可追溯 - 🟡 良好(7-8分):1-2处小瑕疵,不影响主线 - 🟠 及格(5-6分):3-5处设定冲突,需修复 - 🔴 不合格(<5分):严重幻觉,多处无法自洽 **Output Format**: ```markdown ### 设定一致性检查 **评分**: X/10 **冲突列表**: 1. 第8章主角使用"血煞剑法",但设定集中无此招式(违反定律3) 2. 第12章主角境界为筑基5层,但第10章还是筑基3层,中间无突破描写(幻觉) 3. 第15章提到"天云宗宗主是女性",但第3章设定为男性(设定矛盾) **修改建议**: 1. 在第7章补充"血煞剑法"的获得场景,并添加 `` 标签 2. 在第11章补充突破场景,或修改第12章境界为筑基3层 3. 统一宗主性别设定,修改第3章或第15章 ``` --- ### Checker 3: pacing-checker(节奏检查) **CRITICAL**: This checker prevents reader fatigue. Skipping = pacing disaster. **YOU MUST analyze**: - **Strand 分布**:检查 state.json 的 strand_tracker,确认 Quest/Fire/Constellation 三线平衡 - ⚠️ 警告:如果 Quest 线连续超过 10 章,读者会疲劳 - ⚠️ 警告:如果 Fire 线缺失超过 20 章,读者会觉得"只打怪不谈情" - **节奏张弛**:检查是否有"高潮 → 过渡 → 高潮"的节奏 - 示例:第1-5章(高潮:穿越+系统+退婚)→ 第6-8章(过渡:修炼+日常)→ 第9-12章(高潮:秘境大战) - **章节长度一致性**:检查字数波动,避免出现"第10章8000字,第11章2000字"的极端情况 **Scoring Criteria**: - ✅ 优秀(9-10分):三线平衡,节奏张弛有度 - 🟡 良好(7-8分):偶有单线过长,但整体可控 - 🟠 及格(5-6分):节奏单调,需调整 - 🔴 不合格(<5分):严重失衡,读者流失风险高 **Output Format**: ```markdown ### 节奏检查 **评分**: X/10 **Strand 分布分析**: - Quest 线(任务线):第1-12章连续12章 ⚠️ 超标 - Fire 线(情感线):0章 ⚠️ 严重缺失 - Constellation 线(人际线):0章 ⚠️ 严重缺失 **节奏问题**: - 第1-12章全部是战斗/修炼,无情感线穿插 - 第10-12章连续3章高潮(秘境大战),无过渡章节,读者疲劳 **修改建议**: - 在第7章补充一个 Fire 线场景(如与李雪的互动) - 在第13章安排一个过渡章节(日常/恢复/反思) ``` --- ### Checker 4: ooc-checker(人物 OOC 检查) **CRITICAL**: This checker prevents character inconsistency. Skipping = immersion break. **YOU MUST verify**: - **主角性格一致性**:检查主角的行为是否符合设定 - 示例:主角设定为"谨慎冷静",但第8章突然"冲动鲁莽" → OOC - **配角性格一致性**:检查配角的行为是否符合角色卡 - 示例:李雪设定为"温柔善良",但第10章突然"冷酷无情" → OOC - **反派性格一致性**:检查反派的行为是否符合智商设定 - 示例:反派设定为"狡诈多谋",但第12章"明显的陷阱也跳" → OOC - **对话风格一致性**:检查人物对话是否符合身份 - 示例:古代修真世界,角色突然说"卧槽"、"666" → 风格OOC **Scoring Criteria**: - ✅ 优秀(9-10分):人物性格稳定,行为合理 - 🟡 良好(7-8分):1-2处小OOC,可解释 - 🟠 及格(5-6分):3-5处OOC,需修复 - 🔴 不合格(<5分):严重OOC,人物崩坏 **Output Format**: ```markdown ### 人物 OOC 检查 **评分**: X/10 **OOC 列表**: 1. 第8章主角突然"冲动鲁莣",但设定为"谨慎冷静" → 性格OOC 2. 第10章李雪对主角"冷嘲热讽",但好感度95 → 关系OOC 3. 第12章反派"明知是陷阱还跳",但设定为"狡诈多谋" → 智商OOC **修改建议**: 1. 第8章修改主角行为,或补充"特殊原因导致失控"的解释 2. 第10章修改李雪对话,或降低好感度设定 3. 第12章补充反派"误判"的合理解释,或修改反派行为 ``` --- ### Checker 5: continuity-checker(连贯性检查) **CRITICAL**: This checker prevents timeline/logic errors. Skipping = plot confusion. **YOU MUST verify**: - **时间线一致性**:检查时间流逝是否合理 - 示例:第5章"三天后",第6章"一周前" → 时间线混乱 - **空间位置一致性**:检查主角位置变化是否合理 - 示例:第10章在"血煞秘境",第11章突然在"天云宗",中间无传送描写 → 位置跳跃 - **伏笔回收检查**:检查是否有挖坑不填的情况 - 示例:第3章提到"神秘玉佩",后续20章无任何提及 → 伏笔断线 - **前后文呼应**:检查重要事件是否有后续影响 - 示例:第8章"主角重伤",第9章"生龙活虎无影响" → 缺少恢复过程 **Scoring Criteria**: - ✅ 优秀(9-10分):时间线清晰,伏笔完整,逻辑严密 - 🟡 良好(7-8分):1-2处小瑕疵,不影响理解 - 🟠 及格(5-6分):3-5处逻辑跳跃,需补充 - 🔴 不合格(<5分):严重混乱,读者困惑 **Output Format**: ```markdown ### 连贯性检查 **评分**: X/10 **连贯性问题**: 1. 第5章"三天后",第6章"一周前" → 时间线混乱 2. 第10章在"血煞秘境",第11章突然在"天云宗",无传送描写 → 位置跳跃 3. 第3章提到"神秘玉佩",后续17章无任何提及 → 伏笔断线(已超过20章限制) **修改建议**: 1. 修正第6章时间描述,或调整章节顺序 2. 在第10章结尾或第11章开头补充传送场景 3. 在第12-20章中至少提及一次"神秘玉佩",或在后续章节安排回收 ``` --- ## Report Generation (MANDATORY - CRITICAL) **THIS STEP IS NOT OPTIONAL. YOU MUST EXECUTE IT.** **YOU MUST generate** a comprehensive quality report file: **File Location**: `审查报告/第{起始章}-{结束章}章审查报告.md` **Example**: `审查报告/第001-010章审查报告.md` **Report Structure** (MANDATORY): ```markdown # 第 {起始章}-{结束章} 章质量审查报告 > **审查时间**: {当前日期时间} > **审查范围**: 第 {起始章} 章 - 第 {结束章} 章 > **总章节数**: {章节数} --- ## 📊 综合评分 | 维度 | 评分 | 状态 | |------|------|------| | 爽点密度 | X/10 | ✅/🟡/🟠/🔴 | | 设定一致性 | X/10 | ✅/🟡/🟠/🔴 | | 节奏控制 | X/10 | ✅/🟡/🟠/🔴 | | 人物塑造 | X/10 | ✅/🟡/🟠/🔴 | | 连贯性 | X/10 | ✅/🟡/🟠/🔴 | | **总评** | **X/50** | **等级** | **等级划分**: - 45-50分:优秀(可直接发布) - 35-44分:良好(轻度修改后发布) - 25-34分:及格(需要修改) - <25分:不合格(需要大幅返工) --- ## 🔍 详细审查结果 {在此插入5个checker的完整输出} --- ## 📋 修改优先级 ### 🔴 高优先级(必须立即修改) 1. {严重问题1} 2. {严重问题2} ### 🟠 中优先级(建议修改) 1. {中等问题1} 2. {中等问题2} ### 🟡 低优先级(可选优化) 1. {小问题1} 2. {小问题2} --- ## ✅ 亮点总结 - {优点1} - {优点2} - {优点3} --- ## 💡 总结建议 {整体评价与改进方向} --- **审查员**: Quality Control AI **下次审查建议**: 第 {结束章+1} - {结束章+10} 章 ``` **FORBIDDEN**: - Outputting report to console only (MUST save to file) - Skipping any section of the report structure - Claiming "report generated" without actually writing the file --- ## Step 7: Update state.json (MANDATORY) After saving the report file, **YOU MUST run**: ```bash python .claude/skills/webnovel-writer/scripts/update_state.py \\ --add-review "{起始章}-{结束章}" "审查报告/第{起始章}-{结束章}章审查报告.md" ``` **Purpose**: record `review_checkpoints` so `/webnovel-write` can load the latest review feedback. --- ## Execution Checklist (VERIFY BEFORE CLAIMING "DONE") Before you tell the user "Quality review complete", **YOU MUST verify**: - [ ] Called high-point-checker and generated scoring - [ ] Called consistency-checker and generated conflict list - [ ] Called pacing-checker and analyzed strand distribution - [ ] Called ooc-checker and verified character consistency - [ ] Called continuity-checker and validated timeline - [ ] Generated complete report file in `审查报告/` directory - [ ] Report file contains all 5 checker outputs - [ ] Report file contains comprehensive scoring table - [ ] Report file contains prioritized fix list - [ ] Final output summary displayed to user **IF ANY CHECKBOX IS UNCHECKED → TASK IS NOT COMPLETE.** --- ## Step 8: Interactive Fix Option (CONDITIONAL - CRITICAL) **After generating the complete review report**, check if it contains **Critical Issues** (🔴 severity): **IF** Critical Issues exist: **YOU MUST execute**: 1. **Extract Critical Issues from report**: - Count issues with 🔴 severity in "优先级分类" section - List specific problems 2. **Ask user for immediate fix**: ``` 🔴 审查发现 {count} 个Critical问题: {列出Critical Issues清单} 是否立即修复这些章节? A) 是,立即修复并重新审查 B) 否,仅保存报告供后续参考 ``` 3. **Handle user choice**: **Choice A - 立即修复流程**: ``` For each Critical Issue: 1. 读取对应章节文件 2. 定位问题段落(基于审查员指出的章节/段落位置) 3. 应用修复(根据"改进建议") 4. 保存修改后的章节文件 5. Git备份修复版本(commit message: "fix: 根据审查报告修复Ch{N}-{M}") 可选:重新调用5个审查员验证修复效果 输出: ✅ 修复完成:{count}个Critical Issues已解决 📝 修改章节:{章节列表} 📋 新审查报告(如重新审查):审查报告/Review_Ch{N}-{M}_FIXED_YYYYMMDD.md ``` **Choice B - 仅保存报告**: ``` 输出: 📋 审查报告已保存:审查报告/Review_Ch{N}-{M}_YYYYMMDD.md 💡 建议在后续章节创作时注意规避这些问题 💡 或者稍后重新调用本命令选择"立即修复" ``` **IF** no Critical Issues (仅🟠/🟡问题): - 输出报告保存确认 - 提示用户可选择性改进 - 流程结束 **Purpose**: 提供立即修复入口,避免问题累积到无法挽回 **FORBIDDEN**: - 发现Critical Issues却不询问用户 - 自动修复而不征求用户意见 - 跳过修复直接结束 --- ## Error Handling **IF** any checker fails to execute: 1. **STOP immediately** - Do not proceed to next checker 2. **OUTPUT the error** to user with full details 3. **DO NOT claim** the review is complete 4. **WAIT** for user to fix the issue **FORBIDDEN**: Hiding checker errors or claiming success when a checker failed. --- **Start executing Checker 1 now.**