webnovel-review.md 16 KB


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:

# 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:

### 爽点密度检查

**评分**: 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:

### 设定一致性检查

**评分**: X/10

**冲突列表**:
1. 第8章主角使用"血煞剑法",但设定集中无此招式(违反定律3)
2. 第12章主角境界为筑基5层,但第10章还是筑基3层,中间无突破描写(幻觉)
3. 第15章提到"天云宗宗主是女性",但第3章设定为男性(设定矛盾)

**修改建议**:
1. 在第7章补充"血煞剑法"的获得场景,并添加 `<entity/>` 标签
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:

### 节奏检查

**评分**: 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:

### 人物 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:

### 连贯性检查

**评分**: 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):

# 第 {起始章}-{结束章} 章质量审查报告

> **审查时间**: {当前日期时间}
> **审查范围**: 第 {起始章} 章 - 第 {结束章} 章
> **总章节数**: {章节数}

---

## 📊 综合评分

| 维度 | 评分 | 状态 |
|------|------|------|
| 爽点密度 | 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:

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.