Explorar el Código

refactor(v5.5): 大幅简化系统,遵循 Skill 最佳实践

核心变更:
- 规则从 30-40 条精简为 3 条核心原则
- Checker 从强制6个改为按章节类型 2-6 个
- 移除债务系统的复杂性(利息/惩罚)
- Context Agent 输出从 10 板块简化为 5 板块
- 所有规则改为"建议"而非"强制"

理念:
- Claude 已经很懂网文写作,不需要过度指导
- 系统是辅助创作,不是限制创作
- 给适当的自由度,信任 Claude 的判断

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
lingfengQAQ hace 4 meses
padre
commit
6cc92fe744

+ 43 - 222
.claude/agents/context-agent.md

@@ -1,260 +1,81 @@
 ---
 name: context-agent
-description: 上下文搜集Agent (v5.4),输出创作任务书(人话版),集成追读力设计、题材Profile、债务状态。
+description: Gathers context for chapter writing. Outputs a creative brief with outline, characters, constraints. Use before writing a chapter.
 tools: Read, Grep, Bash
 ---
 
-# context-agent (上下文搜集Agent v5.4)
+# Context Agent
 
-> **Role**: 创作任务书生成器。目标不是堆信息,而是给写作"能直接开写"的明确指令。
->
-> **Philosophy**: 按需召回 + 推断补全,保证"接住上章、带出情绪、留出钩子"。
->
-> **v5.3 引入(v5.4 沿用)**: 追读力设计块、题材Profile引用、债务状态提醒。
+> 目标:给写作提供"能直接开写"的必要信息,不堆砌。
 
-## 核心参考
+## 输出格式:创作任务书(5个板块)
 
-- **Taxonomy**: `.claude/references/reading-power-taxonomy.md`
-- **Genre Profile**: `.claude/references/genre-profiles.md`
+### 1. 本章任务
+- 核心冲突(一句话)
+- 必须完成的事件
+- 绝对不能做的事
 
-## 输入
+### 2. 接住上章
+- 上章钩子是什么
+- 读者期待什么
+- 开头如何衔接
 
-```json
-{
-  "chapter": 100,
-  "project_root": "D:/wk/斗破苍穹",
-  "storage_path": ".webnovel/",
-  "state_file": ".webnovel/state.json"
-}
-```
-
-## 输出格式:创作任务书(人话版)
-
-必须按以下 **10 个章节** 输出(v5.3 增加 2 个,v5.4 沿用):
-
-1. **本章核心任务**(冲突一句话、必须完成、绝对不能)
-2. **接住上章**(上章钩子、读者期待、开头必须)
-3. **出场角色**(状态、动机、情绪底色、说话风格、红线)
-4. **场景与力量约束**(地点、可用能力、禁用能力)
-5. **风格指导**(本章类型、参考样本、最近模式、本章建议、近期审查趋势)
-6. **伏笔管理**(必须处理、可选提及)
-7. **连贯性检查点**(时间、位置、情绪)
-8. **章末钩子设置**(建议类型、禁止事项)
-9. **追读力设计**(v5.3 引入)
-10. **债务与Override状态**(v5.3 引入)
-
----
-
-## 读取优先级与默认值
-
-| 字段 | 读取来源 | 缺失时默认值 |
-|------|---------|-------------|
-| 上章钩子 | `chapter_meta[NNNN].hook` 或 `chapter_reading_power` | `{type: "无", content: "上章无明确钩子", strength: "weak"}` |
-| 最近3章模式 | `chapter_meta` 或 `chapter_reading_power` | 空数组,不做重复检查 |
-| 上章结束情绪 | `chapter_meta[NNNN].ending.emotion` | "未知",提示写作时自行判断 |
-| 角色动机 | 从大纲+角色状态推断 | **必须推断,无默认值** |
-| 题材Profile | `state.json → project.genre` | 默认 "shuangwen" |
-| 当前债务 | `index.db → chase_debt` | 0 |
-| 近期审查趋势 | `index.db → review_metrics` | 无数据则跳过 |
-
-**缺失处理**:
-- 若 `chapter_meta` 不存在(如第1章),跳过"接住上章"部分
-- 最近3章数据不完整时,只用现有数据做重复检查
-
-**章节编号规则**: 4位数字,如 `0001`, `0099`, `0100`
+### 3. 出场角色
+| 角色 | 当前状态 | 本章动机 | 注意事项 |
+|------|---------|---------|---------|
 
----
-
-## 关键数据来源
+### 4. 场景约束
+- 地点
+- 可用能力
+- 禁用能力(超出当前境界)
 
-- `state.json`: 进度、主角状态、strand_tracker、chapter_meta、project.genre
-- `index.db`: 实体/别名/关系/状态变化/override_contracts/chase_debt/chapter_reading_power
-- `index.db`: review_metrics(审查趋势)
-- `.webnovel/summaries/ch{NNNN}.md`: 章节摘要(含钩子/结束状态)
-- `.webnovel/context_snapshots/`: 上下文快照(优先复用)
-- `.webnovel/preferences.json`: 用户偏好(阶段3)
-- `.webnovel/project_memory.json`: 项目记忆(阶段3)
-- `大纲/`: 本章大纲 + 卷概述
-- `设定集/`: 世界观/力量体系/角色卡
-- `.claude/references/`: Taxonomy + Genre Profiles
+### 5. 章末建议
+- 建议的钩子方向
+- 避免的收尾方式
 
 ---
 
 ## 执行流程
 
-### Step 0: ContextManager 快照优先
-```bash
-python -m data_modules.context_manager --chapter {NNNN} --project-root "."
-```
-- 若存在兼容快照,直接读取
-- 版本不兼容时自动重建并保存
-- 过滤 confirmed 的 invalid_facts,pending 标记为提示
-- context_pack 包含 story_skeleton(按间隔采样的历史摘要)
-
-### Step 1: 读取题材Profile
+### 1. 读取大纲
 ```bash
-# 从 state.json 获取题材
-# 加载对应的 genre profile 配置
-cat ".claude/references/genre-profiles.md"
+# 读取本章大纲
+cat "大纲/卷{N}/第{XXX}章.md"
 ```
 
-提取当前题材的:
-- 偏好钩子类型
-- 偏好爽点模式
-- 微兑现要求
-- 节奏红线阈值
-
-### Step 2: 读取本章大纲
-- 章节大纲: `大纲/卷N/第XXX章.md` 或 `大纲/第{卷}卷-详细大纲.md`
-- 卷概述: `大纲/卷N/卷概述.md`(如存在)
-
-**提取要点**:
-- 本章核心冲突是什么?
-- 需要哪些角色出场?
-- 发生在什么地点?
-- 是否有战斗/突破/关键对话?
-- 是否为过渡章?
-
-### Step 3: 读取状态与 chapter_meta
-- `state.json` 读取:
-  - progress.current_chapter
-  - protagonist_state
-  - strand_tracker
-  - chapter_meta (最近3章)
-  - project.genre
-
-### Step 4: 查询追读力历史数据
+### 2. 读取状态
 ```bash
-python -m data_modules.index_manager get-recent-reading-power --limit 5 --project-root "."
-python -m data_modules.index_manager get-pattern-usage-stats --last-n 20 --project-root "."
-python -m data_modules.index_manager get-hook-type-stats --last-n 20 --project-root "."
-python -m data_modules.index_manager get-review-trend-stats --last-n 5 --project-root "."
+python -m data_modules.state_manager get-progress --project-root "."
 ```
 
-### Step 5: 查询债务状态
+### 3. 查询相关实体
 ```bash
-python -m data_modules.index_manager get-debt-summary --project-root "."
-python -m data_modules.index_manager get-pending-overrides --before-chapter {current+3} --project-root "."
+python -m data_modules.index_manager get-core-entities --project-root "."
+python -m data_modules.index_manager recent-appearances --limit 10 --project-root "."
 ```
 
-### Step 6: 来源标注(人读)
-- 对所有事实性引用追加来源标注,例如:
-  - `【来源: summaries/ch0100.md】`
-  - `【来源: 正文/第0100章.md#scene_2】`
-- 若为推断信息,明确标注"推断"。
-
-### Step 7: 查询实体与关系(index.db)
+### 4. 读取上章摘要(如有)
 ```bash
-python -m data_modules.index_manager get-core-entities --project-root "."
-python -m data_modules.index_manager recent-appearances --limit 20 --project-root "."
-python -m data_modules.index_manager get-relationships --entity "{protagonist}" --project-root "."
+cat ".webnovel/summaries/ch{NNNN-1}.md"
 ```
 
-### Step 8: 读取最近摘要
-- 优先读取 `.webnovel/summaries/ch{NNNN}.md`
-- 若缺失,降级为章节正文前 300-500 字概述
-
-### Step 9: 伏笔与风格样本
-- 伏笔:优先取 `foreshadowing_index`(若可用)
-- 风格样本:按本章类型选择 1-3 个高质量片段
-
-### Step 10: 推断补全
-**推断规则(必须执行)**:
-- 动机 = 角色目标 + 当前处境 + 上章钩子压力
-- 情绪底色 = 上章结束情绪 + 事件走向
-- 可用能力 = 当前境界 + 近期获得 + 设定禁用项
+### 5. 组装任务书
+根据以上信息,输出 5 个板块的创作任务书。
 
 ---
 
-## 输出示例(完整版)
-
-### 一、本章核心任务
-- 冲突一句话:萧炎必须在宗门大比前夜稳住心境,否则突破将失败。
-- 必须完成:完成突破、引出明日大比风险。
-- 绝对不能:提前揭示大比结果。
-
-### 二、接住上章
-- 上章钩子:**危机钩** — "慕容战天冷笑:明日大比…"
-- 读者期待:大比会出现什么意外?萧炎会如何应对?
-- 开头必须:直接进入准备/压力场景,快速拉起紧张感。
-
-### 三、出场角色
-| 角色 | 状态 | 动机 | 情绪底色 | 说话风格 | 红线 |
-|------|------|------|---------|---------|------|
-| 萧炎 | 斗师巅峰 | 突破+复仇 | 紧张但坚定 | 冷静/偶尔霸气 | 不能表现出怯懦 |
-| 药老 | 隐藏 | 观察+指导 | 欣慰 | 睿智/点到即止 | 不能直接出手 |
-
-### 四、场景与力量约束
-- 地点:天云宗修炼室
-- 可用能力:异火控制、基础斗技
-- 禁用能力:斗皇级技能(尚未习得)
-
-### 五、风格指导
-- 本章类型:成长/突破
-- 参考样本:第42章突破片段
-- 最近模式:危机钩(2次)、渴望钩(1次)
-- 本章建议:使用渴望钩,避免与上章重复
-- 近期审查趋势:过去2次总评均值 48/60,短板在节奏控制(均值6/10)
-
-### 六、伏笔管理
-- 必须处理:药老提到的"那个人"(第87章埋下)
-- 可选提及:纳兰嫣然的态度变化
-
-### 七、连贯性检查点
-- 时间:大比前夜(承接上章)
-- 位置:天云宗(需描写从广场回修炼室)
-- 情绪:从紧张到专注
-
-### 八、章末钩子设置
-- 建议类型:**渴望钩**(突破成功→读者期待明日大比)
-- 强度建议:medium(非卷末)
-- 禁止事项:不要用"他沉沉睡去"收尾
-
-### 九、追读力设计(v5.3 引入)
-
-#### 9.1 题材配置(当前:玄幻)
-- 偏好钩子:危机钩、渴望钩、选择钩
-- 偏好爽点:越级反杀、扮猪吃虎、身份掉马
-- 微兑现要求:≥1个/章
-- 过渡章容忍:最多连续3章
-
-#### 9.2 钩子策略
-- 推荐类型:渴望钩(匹配突破→期待模式)
-- 目标强度:medium
-- 备选类型:危机钩(如需更强拉力)
-
-#### 9.3 微兑现规划
-建议在本章实现以下微兑现:
-1. **能力兑现**:突破成功,境界提升
-2. **认可兑现**:药老的赞许
-
-#### 9.4 模式差异化
-- 最近5章爽点模式:装逼打脸(2)、越级反杀(1)、扮猪吃虎(1)
-- 本章建议:避免装逼打脸,考虑使用迪化误解(配角对突破的误解)
-
-### 十、债务与Override状态(v5.3 引入)
-
-#### 10.1 当前债务
-- 活跃债务:1笔
-- 总余额:1.21
-- 最近到期:第101章(下章)
-
-#### 10.2 待偿还Override
-| 章 | 约束 | 理由 | 到期 |
-|----|------|------|------|
-| 98 | SOFT_MICROPAYOFF | TRANSITIONAL_SETUP | 101 |
+## 缺失处理
 
-#### 10.3 本章建议
-⚠️ 下章需偿还第98章的微兑现债务,建议本章多准备1个微兑现作为缓冲。
+| 缺失内容 | 处理方式 |
+|---------|---------|
+| 上章摘要 | 跳过"接住上章",提示写作时注意衔接 |
+| 角色状态 | 从大纲推断,标注"推断" |
+| 设定文件 | 提示用户补充 |
 
 ---
 
 ## 成功标准
 
-1. ✅ 创作任务书包含 10 个章节
-2. ✅ 上章钩子与读者期待明确
-3. ✅ 角色动机/情绪为推断结果(非空)
-4. ✅ 最近3章模式已对比,给出规避建议
-5. ✅ 章末钩子建议类型明确(匹配题材)
-6. ✅ 追读力设计块完整
-7. ✅ 债务状态已查询并提醒
+- 任务书简洁(500字以内)
+- 写作者看完能直接开写
+- 不堆砌无关信息

+ 41 - 282
.claude/agents/reader-pull-checker.md

@@ -1,310 +1,69 @@
 ---
 name: reader-pull-checker
-description: 追读力检查器 v5.4,评估钩子/微兑现/约束分层,支持 Override Contract
+description: Checks if readers will want to read the next chapter. Evaluates hooks, payoffs, and pacing. Use for important chapters.
 tools: Read, Grep, Bash
 ---
 
-# reader-pull-checker (追读力检查器) v5.4
+# 追读力检查器
 
-> **Role**: 审查"读者为什么会点下一章",执行 Hard/Soft 约束分层。
+> 核心问题:读者看完这章,会想点下一章吗?
 
-## 核心参考
+## 检查要点
 
-- **Taxonomy**: `.claude/references/reading-power-taxonomy.md`
-- **Genre Profile**: `.claude/references/genre-profiles.md`
-- **章节追读力数据**: `index.db → chapter_reading_power`
-- **上章钩子**: `state.json → chapter_meta` 或 `index.db`
+### 1. 章末钩子
+- 有没有钩子?
+- 钩子强度如何?(strong/medium/weak)
+- 钩子类型:危机/悬念/情绪/选择/渴望
 
-## 输入
-- 章节正文(`正文/第{NNNN}章.md`)
-- 上章钩子与模式(从 `state.json → chapter_meta` 或 `index.db`)
-- 题材 Profile(从 `state.json → project.genre`)
-- 是否为过渡章标记
+### 2. 上章衔接
+- 上章的钩子有没有接住?
+- 读者期待有没有回应?
 
-## 输出格式(v5.3 引入,v5.4 沿用)
+### 3. 本章收获
+- 读者看完这章得到了什么?(信息/情感/爽点)
+- 有没有"白看一章"的感觉?
+
+---
+
+## 输出格式
 
 ```json
 {
   "agent": "reader-pull-checker",
   "chapter": 100,
-  "overall_score": 85,
   "pass": true,
-  "hard_violations": [],
-  "soft_suggestions": [
-    {
-      "id": "SOFT_HOOK_STRENGTH",
-      "severity": "medium",
-      "location": "章末",
-      "description": "钩子强度为weak,建议提升至medium",
-      "suggestion": "将'回去休息了'改为悬念/危机",
-      "can_override": true,
-      "allowed_rationales": ["TRANSITIONAL_SETUP", "CHARACTER_CREDIBILITY"]
-    }
-  ],
-  "issues": [],
-  "metrics": {
-    "hook_present": true,
-    "hook_type": "渴望钩",
-    "hook_strength": "medium",
-    "prev_hook_fulfilled": true,
-    "new_expectations": 2,
-    "pattern_repeat_risk": false,
-    "micropayoffs": ["能力兑现", "认可兑现"],
-    "micropayoff_count": 2,
-    "is_transition": false,
-    "next_chapter_reason": "读者想知道云芝找萧炎什么事",
-    "debt_balance": 0.0
+  "hook": {
+    "present": true,
+    "type": "危机钩",
+    "strength": "medium",
+    "content": "敌人即将到来..."
   },
-  "override_eligible": true
-}
-```
-
----
-
-## 一、约束分层
-
-### 1.1 Hard Invariants(硬约束)
-
-> **违反 = MUST_FIX,不可申诉跳过**
-
-| ID | 约束名称 | 触发条件 | severity |
-|----|---------|---------|----------|
-| HARD-001 | 可读性底线 | 读者无法理解"发生了什么/谁/为什么" | critical |
-| HARD-002 | 承诺违背 | 上章明确承诺在本章完全无回应 | critical |
-| HARD-003 | 节奏灾难 | 连续N章无任何推进(N由profile决定) | critical |
-| HARD-004 | 冲突真空 | 整章无问题/目标/代价 | high |
-
-**Hard Violation 输出**:
-```json
-{
-  "id": "HARD-002",
-  "severity": "critical",
-  "location": "全章",
-  "description": "上章钩子'敌人即将到来'完全未在本章提及",
-  "must_fix": true,
-  "fix_suggestion": "在开头或中段回应敌人威胁"
-}
-```
-
-### 1.2 Soft Guidance(软建议)
-
-> **违反 = 可申诉,但需记录 Override Contract 并承担债务**
-
-| ID | 约束名称 | 默认期望 | 可Override |
-|----|---------|---------|-----------|
-| SOFT_HOOK_STRENGTH | 钩子强度 | 题材profile baseline | ✓ |
-| SOFT_HOOK_TYPE | 钩子类型 | 匹配题材偏好 | ✓ |
-| SOFT_MICROPAYOFF | 微兑现数量 | ≥ profile.min_per_chapter | ✓ |
-| SOFT_PATTERN_REPEAT | 模式重复 | 避免连续3章同型 | ✓ |
-| SOFT_EXPECTATION_OVERLOAD | 期待过载 | 新增期待 ≤ 2 | ✓ |
-
-**Soft Suggestion 输出**:
-```json
-{
-  "id": "SOFT_MICROPAYOFF",
-  "severity": "medium",
-  "location": "全章",
-  "description": "本章微兑现0个,题材要求≥1",
-  "suggestion": "添加能力兑现或认可兑现",
-  "can_override": true,
-  "allowed_rationales": ["TRANSITIONAL_SETUP", "ARC_TIMING"]
-}
-```
-
----
-
-## 二、钩子类型扩展(v5.3 引入)
-
-### 2.1 完整钩子类型
-
-| 类型 | 标识 | 驱动力 |
-|------|------|--------|
-| 危机钩 | Crisis Hook | 危险逼近,读者担心 |
-| 悬念钩 | Mystery Hook | 信息缺口,读者好奇 |
-| 情绪钩 | Emotion Hook | 强情绪触发(愤怒/心疼/心动) |
-| 选择钩 | Choice Hook | 两难抉择,读者想知道选择 |
-| 渴望钩 | Desire Hook | 好事将至,读者期待 |
-
-### 2.2 钩子强度
-
-| 强度 | 适用场景 | 特征 |
-|------|---------|------|
-| **strong** | 卷末/关键转折/大冲突前 | 读者必须立刻知道 |
-| **medium** | 普通剧情章 | 读者想知道,但可等 |
-| **weak** | 过渡章/铺垫章 | 维持阅读惯性 |
-
----
-
-## 三、微兑现检测(v5.3 引入)
-
-### 3.1 微兑现类型
-
-| 类型 | 识别信号 |
-|------|---------|
-| 信息兑现 | 揭示新信息/线索/真相 |
-| 关系兑现 | 关系推进/确认/变化 |
-| 能力兑现 | 能力提升/新技能展示 |
-| 资源兑现 | 获得物品/资源/财富 |
-| 认可兑现 | 获得认可/面子/地位 |
-| 情绪兑现 | 情绪释放/共鸣 |
-| 线索兑现 | 伏笔回收/推进 |
-
-### 3.2 检测规则
-
-1. 扫描正文识别微兑现
-2. 按题材profile检查数量是否达标
-3. 过渡章可降级要求
-
----
-
-## 四、模式重复检测
-
-### 4.1 检测范围
-- 钩子类型:最近3章
-- 开头模式:最近3章
-- 爽点模式:最近5章
-
-### 4.2 风险等级
-- **warning**: 连续2章同型
-- **risk**: 连续3章同型
-- **critical**: 连续4+章同型
-
----
-
-## 五、Override Contract 机制
-
-### 5.1 何时可Override
-
-当 `soft_suggestions` 中的建议无法遵守时,可提交 Override Contract:
-
-```json
-{
-  "constraint_type": "SOFT_MICROPAYOFF",
-  "constraint_id": "micropayoff_count",
-  "rationale_type": "TRANSITIONAL_SETUP",
-  "rationale_text": "本章为铺垫章,下章将有大爽点",
-  "payback_plan": "下章补偿2个微兑现",
-  "due_chapter": 101
+  "prev_hook_handled": true,
+  "reader_gain": "获知了秘密身世",
+  "issues": [],
+  "suggestion": "钩子可以更强一点"
 }
 ```
 
-### 5.2 rationale_type 枚举
-
-| 类型 | 描述 | 债务影响 |
-|------|------|---------|
-| TRANSITIONAL_SETUP | 铺垫/过渡需要 | 标准 |
-| LOGIC_INTEGRITY | 剧情逻辑优先 | 减少 |
-| CHARACTER_CREDIBILITY | 人物可信度优先 | 减少 |
-| WORLD_RULE_CONSTRAINT | 设定约束 | 减少 |
-| ARC_TIMING | 长线节奏安排 | 标准 |
-| GENRE_CONVENTION | 题材惯例 | 标准 |
-| EDITORIAL_INTENT | 作者主观意图 | 增加 |
-
-### 5.3 债务与利息
-
-- 每个Override产生债务(量由题材profile的debt_multiplier决定)
-- 每章债务累积利息(默认10%/章)
-- 超过due_chapter未偿还,债务变为overdue
-
 ---
 
-## 六、执行步骤
-
-### Step 1: 加载配置
-1. 读取题材Profile
-2. 读取上章钩子/模式记录
-3. 检查当前债务状态
-
-### Step 2: Hard Invariants 检查
-1. 检查可读性(关键信息完整性)
-2. 检查上章钩子兑现
-3. 检查节奏停滞
-4. 检查冲突存在
+## 问题严重度
 
-**任何 Hard Violation → 立即标记 MUST_FIX**
-
-### Step 3: 钩子分析
-1. 识别章末钩子类型
-2. 评估钩子强度
-3. 对比题材偏好
-
-### Step 4: 微兑现扫描
-1. 识别章内微兑现
-2. 统计数量和类型
-3. 对比题材要求
-
-### Step 5: 模式重复检测
-1. 获取最近N章模式
-2. 检测钩子类型重复
-3. 检测开头模式重复
-
-### Step 6: Soft Guidance 评估
-1. 汇总所有软建议
-2. 标注可Override的建议
-3. 列出允许的rationale类型
-
-### Step 7: 生成报告
-1. 计算总分
-2. 输出结构化JSON
-3. 提供修复建议
+| 问题 | 严重度 | 说明 |
+|------|--------|------|
+| 完全没钩子 | high | 读者没动力点下一章 |
+| 上章钩子没接 | high | 读者期待落空 |
+| 钩子太弱 | medium | 有钩子但不够吸引 |
+| 本章无收获 | medium | 读者感觉白看 |
 
 ---
 
-## 七、评分规则
-
-### 7.1 Hard Violations
-- 任何 Hard Violation → 直接 FAIL
-- 必须修复后重新审核
-
-### 7.2 Soft Score(无Hard Violation时)
-
-| 得分 | 结果 |
-|------|------|
-| 85+ | PASS |
-| 70-84 | PASS with warnings |
-| 50-69 | CONDITIONAL(可通过Override)|
-| <50 | FAIL |
-
-### 7.3 Soft 得分计算
-
-| 检查项 | 权重 | 问题类型 |
-|--------|------|----------|
-| 章末钩子存在 | 25% | NO_HOOK |
-| 钩子强度适当 | 15% | WEAK_HOOK |
-| 微兑现达标 | 20% | LOW_MICROPAYOFF |
-| 模式不重复 | 15% | PATTERN_REPEAT |
-| 新增期待≤2个 | 10% | EXPECTATION_OVERLOAD |
-| 钩子类型匹配题材 | 15% | TYPE_MISMATCH |
-
----
-
-## 八、与 Data Agent 的交互
-
-审核完成后,由 Data Agent 执行:
-
-1. **保存章节追读力元数据**
-   ```python
-   index_manager.save_chapter_reading_power(ChapterReadingPowerMeta(...))
-   ```
-
-2. **处理 Override Contract**(如有)
-   ```python
-   index_manager.create_override_contract(OverrideContractMeta(...))
-   index_manager.create_debt(ChaseDebtMeta(...))
-   ```
-
-3. **计算利息**(每章)
-   ```python
-   index_manager.accrue_interest(current_chapter)
-   ```
-
----
+## 章节类型适配
 
-## 九、成功标准
+| 章节类型 | 钩子要求 | 收获要求 |
+|----------|---------|---------|
+| **高潮章** | strong | 大爽点/大反转 |
+| **标准章** | medium | 有推进/有收获 |
+| **过渡章** | weak 可接受 | 铺垫到位即可 |
 
-- [ ] 无 Hard Violations
-- [ ] Soft Score ≥ 70(或有有效Override)
-- [ ] 章末钩子存在且类型明确
-- [ ] 微兑现数量达标(或有Override)
-- [ ] 无连续3章以上同型
-- [ ] 输出清晰的"下章动机"
+> 过渡章不需要强钩子,但要让读者知道"在铺垫什么"。

+ 71 - 436
.claude/skills/webnovel-write/SKILL.md

@@ -1,497 +1,132 @@
 ---
 name: webnovel-write
-description: Writes webnovel chapters (3000-5000 words) using v5.4 architecture. Context Agent outputs creative brief, writer produces pure text, review agents report issues, webnovel polish fixes problems, Data Agent extracts entities and records hooks/patterns.
+description: Writes webnovel chapters (3000-5000 words). Gathers context, writes draft, reviews quality, extracts data. Use when user wants to write a chapter or /webnovel-write.
 allowed-tools: Read Write Edit Grep Bash Task
 ---
 
 # Chapter Writing Skill
 
-## Workflow Checklist
+## Quick Start
 
-⚠️ **强制要求**: 开始写作前,**必须复制以下清单**到回复中并逐项勾选。跳过任何步骤视为工作流不完整。
-
-```
-章节创作进度 (v5.4):
-- [ ] Step 1: Context Agent 搜集上下文(创作任务书)
-- [ ] Step 1.5: 章节设计(开头/钩子/爽点模式)
-- [ ] Step 2A: 生成粗稿(剧情正确、场面成立)
-- [ ] Step 2B: 风格适配器(网文化改写,剧情不变)
-- [ ] Step 3: 审查 (6个Agent并行,输出汇总表格)
-- [ ] Step 4: 网文化润色(基于审查报告)
-- [ ] Step 5: Data Agent 处理数据链
-- [ ] Step 6: Git 备份
-```
-
-**工作流规则**:
-1. 每完成一个 Step,立即更新 TodoWrite 状态
-2. Step 之间的验证必须通过才能进入下一步
-3. 如遇阻断,记录 deviation 但不可跳过
-
----
-
-## 模式说明(可选)
-
-```
-/webnovel-write --mode fast    # 快速模式:跳过 Step 2B
-/webnovel-write --mode minimal # 极简模式:跳过 Step 2B + 仅运行3个核心 checker
-```
-
-**模式影响**:
-- **标准模式**: 完整执行 Step 1-6
-- **快速模式**: 跳过 Step 2B(风格适配),其余照常
-- **极简模式**: 跳过 Step 2B + 仅运行 3 个核心审查(consistency / continuity / ooc)
-
----
-
-## Step 1: Context Agent 搜集上下文
-
-**调用 Context Agent**:
-
-使用 Task 工具调用 `context-agent` subagent:
-
-```
-调用 context-agent,参数:
-- chapter: {chapter_num}
-- project_root: {PROJECT_ROOT}
-- storage_path: .webnovel/
-- state_file: .webnovel/state.json
-```
-
-**Agent 自动完成**:
-1. 读取本章大纲,分析需要什么信息
-2. 读取 state.json 获取主角状态快照
-3. 查询 index.db (v5.1+ schema) 召回实体/别名/关系
-4. 调用 data_modules.rag_adapter 语义检索
-5. Grep 设定集搜索相关设定
-6. 评估伏笔紧急度
-7. 选择风格样本
-8. 组装**创作任务书**(人话版)
-
-**输出**:创作任务书(非 JSON),包含:
-- 本章核心任务(冲突一句话、必须完成、绝对不能)
-- 接住上章(上章钩子、读者期待、开头必须)
-- 出场角色(状态、动机、情绪底色、说话风格、红线)
-- 场景与力量约束(地点、可用/禁用能力)
-- 风格指导(本章类型、参考样本、最近模式、本章建议)
-- 伏笔管理(必须处理、可选提及)
-- 连贯性检查点(时间、位置、情绪)
-- 章末钩子设置(建议类型、禁止事项)
-
-**失败处理**:
-- 如果大纲不存在 → 提示用户先创建大纲
-- 如果 state.json 不存在 → 提示用户初始化项目
-
----
-
-## Step 1.5: 章节设计(v5.3 引入,v5.4 沿用)
-
-**目标**: 在写作前明确本章结构与变体,避免模式重复,设计追读力策略。
-
-### 1.5.1 加载必要参考
-
-**加载变体池(必须执行)**:
-```bash
-cat "${CLAUDE_PLUGIN_ROOT}/skills/webnovel-write/references/style-variants.md"
-```
-
-**加载追读力分类标准(必须执行)**:
-```bash
-cat "${CLAUDE_PLUGIN_ROOT}/references/reading-power-taxonomy.md"
-```
-
-**加载题材Profile(必须执行)**:
-```bash
-cat "${CLAUDE_PLUGIN_ROOT}/references/genre-profiles.md"
 ```
-根据 `state.json → project.genre` 选择对应题材的配置。
-
-### 1.5.2 章节结构设计
-
-**输出内容**:
-- 核心冲突一句话
-- 开头类型(冲突开场/悬疑开场/动作开场/对话开场/氛围开场)
-- 情绪节奏(低→高/高→低/低→高→低/平稳)
-- 信息密度(low/medium/high)
-- 是否过渡章(true/false)
-
-### 1.5.3 追读力设计块(v5.3 引入)
-
-**必须输出以下设计**:
-
-```markdown
-## 追读力设计
-
-### 钩子策略
-- 章末钩子类型:{危机钩/悬念钩/情绪钩/选择钩/渴望钩}
-- 目标强度:{strong/medium/weak}
-- 钩子描述:{一句话概括钩子内容}
-
-### 爽点规划
-- 主爽点模式:{8种模式之一}
-- 爽点结构:{30/40/30分布描述}
-- 备选模式:{如主模式无法实现}
-
-### 微兑现清单(题材要求:≥{N}个)
-1. {类型}: {描述}
-2. {类型}: {描述}
-...
-
-### 差异化检查
-- 最近3章钩子类型:{列表}
-- 最近3章开头类型:{列表}
-- 最近5章爽点模式:{列表}
-- 本章差异化点:{说明如何避免重复}
-
-### 债务状态(如有)
-- 当前债务余额:{amount}
-- 逾期债务:{count}
-- 本章偿还计划:{如适用}
+章节创作流程:
+1. Context Agent → 创作任务书
+2. 写作 → 3000-5000字正文
+3. 审查 → 发现问题
+4. 润色 → 修复问题
+5. Data Agent → 提取数据
+6. Git → 备份
 ```
 
-### 1.5.4 差异化检查
-
-**执行查询**:
-- 读取 `state.json → chapter_meta` 或调用 `index.db` 查询最近章节
-- 对比本章设计与历史模式
-
-**避免规则**:
-- 钩子类型:避免与最近3章重复
-- 开头类型:避免与最近3章重复
-- 爽点模式:避免与最近5章过度重复(同一模式≤40%)
-
-**如必须重复**:
-- 记录Override理由
-- 规划差异化执行方式(如同为装逼打脸,但不同场景/规模/参与者)
+## 核心原则(仅3条)
 
-### 1.5.5 过渡章特殊处理
+1. **大纲即法律** - 100%执行大纲,不擅自发挥
+2. **设定即物理** - 能力/境界不能超设定
+3. **新实体需记录** - 新角色/物品/地点要入库
 
-如本章标记为过渡章:
-- 钩子强度可降为 weak
-- 微兑现数量可降至 profile.transition_min
-- 必须记录 Override Contract(如违反软建议)
-- 过渡章不可连续超过 profile.transition_max_consecutive
+> 其他都是建议,不是强制。Claude 已经很懂网文写作。
 
 ---
 
-## Step 2A: 生成粗稿(剧情正确)
-
-**字数**: 3000-5000 字(短章 <2000 字需声明)
-
-**核心原则**:
-- **大纲即法律**: 100% 执行大纲
-- **设定即物理**: 实力 ≤ 上下文包中的设定
-- **纯正文**: 不需要写任何 XML 标签
-
-**加载核心约束**:
-```bash
-cat "${CLAUDE_PLUGIN_ROOT}/skills/webnovel-write/references/core-constraints.md"
-```
-
-**按需加载场景参考**:
+## Step 1: Context Agent
 
-| 场景类型 | 判断条件 | 执行命令 |
-|---------|---------|---------|
-| 战斗戏 | 大纲含打斗/对决/追逐 | `cat "${CLAUDE_PLUGIN_ROOT}/skills/webnovel-write/references/writing/combat-scenes.md"` |
-| 情感戏 | 大纲含告白/冲突/羁绊 | `cat "${CLAUDE_PLUGIN_ROOT}/skills/webnovel-write/references/writing/emotion-psychology.md"` |
-| 对话密集 | 预估对话 >50% | `cat "${CLAUDE_PLUGIN_ROOT}/skills/webnovel-write/references/writing/dialogue-writing.md"` |
-| 复杂场景 | 新地点/大场面描写 | `cat "${CLAUDE_PLUGIN_ROOT}/skills/webnovel-write/references/writing/scene-description.md"` |
-| 欲念描写 | 大纲含暧昧/亲密/情欲场景 | `cat "${CLAUDE_PLUGIN_ROOT}/skills/webnovel-write/references/writing/desire-description.md"` |
+调用 `context-agent` 获取创作任务书:
+- 本章大纲要点
+- 上章钩子(需要接住)
+- 出场角色状态
+- 场景/能力约束
 
-**可选加载题材风格参考**(用户指定时加载):
-```bash
-# 如需特定题材的写作风格参考,可按需加载 genres 目录下的对应文件
-# 可用题材目录:
-#   xuanhuan/          - 玄幻修仙
-#   dog-blood-romance/ - 狗血言情
-#   zhihu-short/       - 知乎短篇
-#   period-drama/      - 古言/宫斗
-#   realistic/         - 现实题材
-#   rules-mystery/     - 规则怪谈/推理
-# 示例: cat "${CLAUDE_PLUGIN_ROOT}/genres/xuanhuan/power-systems.md"
-```
-
-**输出格式**:
-- Markdown 文件: `正文/第{NNNN}章.md`
-- **不追加摘要**(摘要由 Data Agent 独立写入 `.webnovel/summaries/`)
+**失败时**: 手动读取大纲和 state.json 继续。
 
 ---
 
-## Step 2B: 风格适配器(网文化改写)
+## Step 2: 写作
 
-**跳过条件**: fast / minimal 模式跳过
+**输出**: `正文/第{NNNN}章.md`,3000-5000字
 
-**加载风格适配器**:
-```bash
-cat "${CLAUDE_PLUGIN_ROOT}/skills/webnovel-write/references/style-adapter.md"
-```
+**写作建议**(非强制):
+- 开头尽快进入状态(冲突/悬念/动作)
+- 章末留个钩子让读者想看下一章
+- 避免大段解释,用动作和对话推进
 
-**目标**:
-- 保持剧情不变
-- 提升网文口感(短句、动作、对白张力、情绪反应)
-- 强化开头冲突与章末钩子
+**按需加载参考**(仅在需要时读取):
+- 战斗戏 → `references/writing/combat-scenes.md`
+- 情感戏 → `references/writing/emotion-psychology.md`
+- 对话密集 → `references/writing/dialogue-writing.md`
 
 ---
 
 ## Step 3: 审查
 
-⚠️ **强制要求**: 必须在**同一条消息**中并行调用全部审查 Agent(除非 minimal 模式)。
-
-**执行命令(不可修改)**:
-
-在一条消息中发送 Task 工具调用,每个调用需传入以下公共参数:
-- project_root: {PROJECT_ROOT}
-- storage_path: .webnovel/
-- state_file: .webnovel/state.json
-- chapter_file: "正文/第{NNNN}章.md"
-
-**标准/快速模式:6 个 Agent**
-
-| # | subagent_type | 必须 | 说明 |
-|---|---------------|------|------|
-| 1 | `high-point-checker` | ✅ | 爽点密度检查 |
-| 2 | `consistency-checker` | ✅ | 设定一致性检查 |
-| 3 | `pacing-checker` | ✅ | Strand 节奏检查 |
-| 4 | `ooc-checker` | ✅ | 人物 OOC 检查 |
-| 5 | `continuity-checker` | ✅ | 连贯性检查 |
-| 6 | `reader-pull-checker` | ✅ | 追读力检查 |
-
-**极简模式:仅 3 个核心 Agent**
-- `consistency-checker`
-- `continuity-checker`
-- `ooc-checker`
-
-**验证**: 收到全部报告后,**必须输出以下汇总表格**:
-
-```
-┌─────────────────────────────────────────────────┐
-│ 审查汇总 - 第 {chapter_num} 章                    │
-├──────────────────────┬───────────┬──────────────┤
-│ Agent                │ 结果      │ 关键问题数    │
-├──────────────────────┼───────────┼──────────────┤
-│ high-point-checker   │ PASS/FAIL │ {N}          │
-│ consistency-checker  │ PASS/FAIL │ {N}          │
-│ pacing-checker       │ PASS/FAIL │ {N}          │
-│ ooc-checker          │ PASS/FAIL │ {N}          │
-│ continuity-checker   │ PASS/FAIL │ {N}          │
-│ reader-pull-checker  │ PASS/FAIL │ {N}          │
-├──────────────────────┴───────────┴──────────────┤
-│ critical issues: {N}  |  high issues: {N}       │
-│ 是否可进入润色: {是/否}                           │
-└─────────────────────────────────────────────────┘
-```
+根据章节类型选择审查深度:
 
-**审查指标 JSON(必须输出,用于趋势统计)**:
-```json
-{
-  "start_chapter": {chapter_num},
-  "end_chapter": {chapter_num},
-  "overall_score": 48,
-  "dimension_scores": {
-    "爽点密度": 8,
-    "设定一致性": 7,
-    "节奏控制": 7,
-    "人物塑造": 8,
-    "连贯性": 9,
-    "追读力": 9
-  },
-  "severity_counts": {"critical": 1, "high": 2, "medium": 3, "low": 1},
-  "critical_issues": ["设定自相矛盾"],
-  "report_file": "",
-  "notes": ""
-}
-```
+| 章节类型 | 推荐 Checker | 说明 |
+|----------|-------------|------|
+| **高潮章** | 全部 6 个 | 重要章节全面检查 |
+| **标准章** | 3-4 个 | consistency + continuity + ooc + 按需 |
+| **过渡章** | 2 个 | consistency + continuity 即可 |
 
-**保存审查指标**:
-```bash
-python -m data_modules.index_manager save-review-metrics \
-  --data '{...}' \
-  --project-root "."
-```
+**核心 Checker**(建议始终运行):
+- `consistency-checker` - 设定是否矛盾
+- `continuity-checker` - 前后是否连贯
 
-**Only proceed to Step 4 when:**
-1. 已收到全部审查报告(或 minimal 模式仅 3 份)
-2. 已输出汇总表格
+**可选 Checker**(按需运行):
+- `ooc-checker` - 角色是否失真
+- `pacing-checker` - 节奏是否拖沓
+- `high-point-checker` - 爽点是否足够
+- `reader-pull-checker` - 追读力是否到位
 
-> **Minimal 模式**: 汇总表格仅列出已执行的 3 个 Agent。
+**输出**: 简要汇总发现的问题,按严重度排序。
 
 ---
 
-## Step 4: 网文化润色(基于审查报告)
-
-⚠️ **强制要求**: 必须按以下顺序执行全部子步骤(4.0-4.4),不可跳过。
-
-### 4.0 加载润色指南(必须先执行)
-
-```bash
-cat "${CLAUDE_PLUGIN_ROOT}/skills/webnovel-write/references/polish-guide.md"
-cat "${CLAUDE_PLUGIN_ROOT}/skills/webnovel-write/references/writing/typesetting.md"
-```
-
-### 4.1 修复审查问题
-
-| 严重度 | 处理方式 |
-|-------|---------|
-| critical | **必须修复**,否则记录 deviation |
-| high | 优先修复 |
-| medium | 建议修复 |
-| low | 可选修复 |
-
-### 4.2 网文口感硬规则检查
-
-- 开头 120 字必须出现冲突/风险/强情绪
-- 每 800-1200 字至少一次局面变化
-- 结尾 80-150 字设置钩子
-- 对话每句必须带意图
-- 连续 400 字纯解释 → 必须打散
+## Step 4: 润色
 
-### 4.3 AI 痕迹检测(辅助提醒)
+**必须修复**: 设定矛盾、逻辑漏洞、严重 OOC
+**建议修复**: 节奏问题、爽点不足
+**可选修复**: 风格建议、微调优化
 
-**注意**: 词频统计仅作为提醒,不再作为硬性门槛。若明显超标,请修复并简要说明。
-
-- 总结词:`综合|总之|由此可见|总而言之`
-- 列举结构:`首先|其次|最后|第一|第二|第三`
-- 学术词:`而言|某种程度上|本质上`
-- 因果连词:`因为|所以|由于|因此`
-
-### 4.4 输出检查清单(必须输出)
-
-```
-┌─────────────────────────────────────────────────┐
-│ 润色检查清单 - 第 {chapter_num} 章               │
-├─────────────────────────────────────────────────┤
-│ [x] polish-guide.md 已加载                      │
-│ [x] typesetting.md 已加载                       │
-│ [x] critical issues 已修复: {是/否/无}          │
-│ [x] high issues 已修复: {是/否/无}              │
-├─────────────────────────────────────────────────┤
-│ 网文口感检查:                                   │
-│   - 开头120字冲突: {是/否}                       │
-│   - 局面变化频率: {达标/偏少}                    │
-│   - 章末钩子: {是/否}                            │
-├─────────────────────────────────────────────────┤
-│ AI痕迹提醒: {已检查/未检查}                      │
-│ [x] 未违反润色红线                              │
-│ 是否可进入 Data Agent: {是/否}                  │
-└─────────────────────────────────────────────────┘
-```
-
-**Only proceed to Step 5 when:**
-1. 已加载 polish-guide.md + typesetting.md
-2. 已修复所有 critical/high issues(或记录 deviation)
-3. 网文口感硬规则已达标(不足则记录 deviation)
-4. 已输出检查清单
-
-**输出**: 润色后的章节文件(覆盖原文件)
+加载 `references/polish-guide.md` 获取润色技巧。
 
 ---
 
-## Step 5: Data Agent 处理数据链
-
-**调用 Data Agent**:
-
-使用 Task 工具调用 `data-agent` subagent:
-
-```
-调用 data-agent,参数:
-- chapter: {chapter_num}
-- chapter_file: "正文/第{NNNN}章.md"
-- review_score: {overall_score from Step 3}
-- project_root: {PROJECT_ROOT}
-- storage_path: .webnovel/
-- state_file: .webnovel/state.json
-```
-
-**Agent 自动完成**:
+## Step 5: Data Agent
 
-1. **AI 实体提取**(Agent 内置,无需外部 LLM)
-2. **实体消歧**(高/中/低置信度策略)
-3. **写入存储**
-   - 更新 state.json (精简状态 + chapter_meta)
-   - 更新 index.db (实体/别名/状态变化/关系)
-4. **AI 场景切片**(生成场景摘要)
-5. **向量嵌入**(rag_adapter)
-6. **风格样本评估**(review_score > 80)
-7. **摘要分离存储**:写入 `.webnovel/summaries/ch{NNNN}.md`
-8. **债务利息计算**(自动触发)
+调用 `data-agent` 处理数据链:
+- 提取出场实体
+- 记录状态变化
+- 生成章节摘要
+- 向量索引
 
-**债务利息计算**(Data Agent 完成后自动执行):
-```bash
-python -m data_modules.index_manager accrue-interest --chapter {chapter_num} --project-root "."
-```
-
-**输出**:
-```json
-{
-  "entities_appeared": 5,
-  "entities_new": 1,
-  "state_changes": 2,
-  "scenes_chunked": 4,
-  "uncertain": [...],
-  "warnings": [...]
-}
-```
+**失败时**: 记录 warning,继续 Git 备份。
 
 ---
 
 ## Step 6: Git 备份
 
 ```bash
-git add . && git commit -m "Ch{chapter_num}: {title}"
+git add . && git commit -m "Ch{N}: {title}"
 ```
 
 ---
 
-## 错误处理
-
-### Context Agent 失败
-```
-⚠️ 上下文包生成失败
-→ 检查大纲是否存在
-→ 检查 state.json 是否初始化
-→ 手动加载必要上下文后继续
-```
+## 模式选项
 
-### 审查发现严重问题
 ```
-⚠️ 审查发现 critical 级别问题
-→ 润色步骤必须修复
-→ 如果无法修复,记录 deviation
-```
-
-### Data Agent 失败
-```
-⚠️ AI 提取失败
-→ 记录 warning
-→ 可选:手动添加关键实体
-→ Git 备份仍然执行
+/webnovel-write           # 标准:完整流程
+/webnovel-write --fast    # 快速:跳过可选审查
+/webnovel-write --minimal # 极简:仅核心2个Checker
 ```
 
 ---
 
-## 成功标准
+## 详细参考(按需加载)
 
-章节完成后,**必须输出最终验证报告**:
-
-```
-┌─────────────────────────────────────────────────┐
-│ 章节完成验证 - 第 {chapter_num} 章               │
-├─────────────────────────────────────────────────┤
-│ 1. [x] 字数: {N}字 (3000-5000)                  │
-│ 2. [x] 大纲执行: 100%                           │
-│ 3. [x] 审查Agent: {6/6 or 3/3} 已调用           │
-│ 4. [x] 审查汇总表格: 已输出                      │
-│ 5. [x] polish-guide.md: 已加载                  │
-│ 6. [x] 网文口感规则: 已检查                      │
-│ 7. [x] 润色检查清单: 已输出                      │
-│ 8. [x] Data Agent: 成功提取 {N} 个实体          │
-│ 9. [x] summaries: 已生成 ch{NNNN}.md            │
-│ 10.[x] Git: 已提交 ({commit_hash})              │
-├─────────────────────────────────────────────────┤
-│ 最终状态: {成功/有deviation}                     │
-└─────────────────────────────────────────────────┘
-```
+需要更多指导时,读取以下文件:
 
-**验证失败处理**:
-- 如有任何项目未完成,记录 deviation 原因
-- deviation 不阻断工作流,但必须记录
-- 连续 3 章出现相同 deviation → 标记为系统问题
+| 需求 | 文件 |
+|------|------|
+| 网文口感规则 | `references/polish-guide.md` |
+| 追读力设计 | `references/reading-power-taxonomy.md` |
+| 题材配置 | `references/genre-profiles.md` |
+| 风格变体 | `references/style-variants.md` |

+ 39 - 157
.claude/skills/webnovel-write/references/polish-guide.md

@@ -1,182 +1,64 @@
 ---
 name: polish-guide
-purpose: 章节生成后的润色阶段加载,基于审查报告修复问题 + 强化网文口感
-version: "5.4"
+purpose: 润色阶段参考,修复审查问题 + 提升网文口感
+version: "5.5"
 ---
 
-<context>
-此文件用于内容润色,v5.2 引入"网文口感 + 追读力"重点,v5.4 沿用。
-
-润色步骤接收两个输入:
-1. 章节正文
-2. 审查报告(来自 6 个 checker agents)
-
-**与 Step 2B (style-adapter) 的职责边界**:
-- **Step 2B**: 纯风格转换 —— 句式改写、抽象→具体、长句拆分
-- **Step 4 (本步骤)**: 问题修复 —— 基于审查报告修复问题 + AI痕迹检测 + 规则校验
-
-> 注意:如果已执行 Step 2B,本步骤不需要重复句式转换,专注于修复审查问题。
-</context>
-
-<instructions>
-
-## v5.2 引入(v5.4 沿用):基于审查报告修复
-
-### 输入格式
-
-```json
-{
-  "overall_score": 85,
-  "issues": [
-    {"agent": "ooc-checker", "type": "OOC", "severity": "high", "location": "第3段", "suggestion": "林天对敌人太客气,应更冷酷"},
-    {"agent": "consistency-checker", "type": "POWER_CONFLICT", "severity": "critical", "location": "第5段", "suggestion": "筑基3层不能使用金丹期技能"}
-  ],
-  "pacing_analysis": {
-    "quest_ratio": 0.4,
-    "fire_ratio": 0.35,
-    "constellation_ratio": 0.25
-  },
-  "pass": true
-}
-```
-
-### 问题修复优先级
-
-| 严重度 | 处理方式 |
-|-------|---------|
-| critical | **必须修复**,否则记录 deviation |
-| high | 优先修复 |
-| medium | 建议修复 |
-| low | 可选修复 |
-
-### 问题类型修复指南
-
-| 问题类型 | 修复方法 |
-|---------|---------|
-| **OOC** (人物失真) | 调整角色言行,使其符合人设;若需要OOC,补充触发原因 |
-| **POWER_CONFLICT** (战力冲突) | 修改能力描述,使用当前境界可用的技能/能力 |
-| **TIMELINE_ISSUE** (时间线问题) | 调整时间描述,补充时间流逝过渡 |
-| **LOCATION_ERROR** (地点跳跃) | 补充移动过程描述,或调整地点设定 |
-| **PACING_IMBALANCE** (节奏失衡) | 调整 Strand 比例,增加缺失的内容类型 |
-| **LOW_COOL_POINTS** (爽点不足) | 增加爽点密度,补充打脸/升级/收获等元素 |
-| **CONTINUITY_BREAK** (连贯断裂) | 补充过渡句,连接断裂的场景 |
+# 润色指南
 
----
-
-## 网文化规则(硬约束)
+> 核心:修复问题,不是重写。保持剧情不变。
 
-1. **开头 120 字必须出现冲突/风险/强情绪**
-2. **每 800-1200 字至少一次局面变化**(转折、推进、意外、立场变化)
-3. **结尾 80-150 字必须设置钩子**(未闭合问题/危险逼近/信息反转)
-4. **对话每句必须带意图**(试探/威胁/诱导/掩饰)
-5. **抽象判断句 → 动作/反应/代价**(把结论写成行为)
+## 问题修复优先级
 
-**章长适配**:
-- 标准章(3000-5000字):全部执行
-- 短章/过场章(<2000字):
-  - 开头冲突可放宽至前 200 字
-  - 局面变化频率可放宽为每 1500 字一次
-  - 钩子强度允许为 weak
+| 优先级 | 问题类型 | 处理 |
+|--------|---------|------|
+| **必须修复** | 设定矛盾、逻辑漏洞、严重OOC | 不修复不能过 |
+| **建议修复** | 节奏拖沓、爽点不足、衔接生硬 | 尽量修 |
+| **可选修复** | 风格建议、措辞优化 | 有空再改 |
 
 ---
 
-## AI 痕迹检测(辅助提醒)
+## 网文口感建议(非强制)
+
+### 开头
+- 尽快进入状态,避免长铺垫
+- 冲突/悬念/动作比平淡描写更抓人
 
-> 词频统计**仅作为提醒**,不再作为硬性门槛。若明显超标,需修复并简要说明。
+### 中间
+- 避免大段解释,用动作和对话推进
+- 连续纯描写超过 300 字考虑打散
 
-### 常见AI痕迹
+### 结尾
+- 留个钩子让读者想看下一章
+- 避免"他沉沉睡去"式的平淡收尾
 
-| 特征 | 表现 |
-|------|------|
-| 句式规整 | 句子长度相近,结构相似 |
-| 模式化词汇 | “首先、其次、最后”、“值得注意的是” |
-| 过度连接 | 大量使用“然而、因此、此外” |
-| 情感平淡 | 缺乏个性化情绪表达 |
-| 信息过密 | 每句都有信息,缺少留白 |
+---
 
-### 高频词提醒清单
+## 红线(不可触碰)
 
-| 类型 | 关键词 |
-|------|--------|
-| 总结词 | 综合 / 总之 / 由此可见 / 总而言之 |
-| 列举结构 | 首先 / 其次 / 最后 / 第一 / 第二 / 第三 |
-| 学术词 | 而言 / 某种程度上 / 本质上 |
-| 因果连词 | 因为 / 所以 / 由于 / 因此 |
+- 不改剧情走向
+- 不改角色关系结果
+- 不改能力设定
+- 不删伏笔
 
 ---
 
-## 自然化程度标准(建议)
+## AI 痕迹提醒
 
-| 指标 | 不达标 | 达标 |
-|-----|-------|------|
-| 停顿词 | < 0.5次/500字 | 1-2次/500字 |
-| 不确定表达 | 0次 | ≥ 2次/章 |
-| 短句占比 | < 20% | 30-50% |
-| 口语词 | 0次/1000字 | ≥ 2次/1000字 |
+如果发现以下模式,考虑调整:
+- "首先...其次...最后..."
+- "综合以上..."
+- "值得注意的是..."
+- 过多"因此/所以/然而"
 
-> **提示**:自然化不是越多越好,超量会显得刻意
+**处理方式**:改写为更自然的表达,不需要统计词频。
 
 ---
 
-## 润色红线
-
-- 改变情节走向 → 违反“**大纲即法律**”
-- 修改主角实力(除非修复 POWER_CONFLICT)→ 违反“**设定即物理**”
-- 改变人物关系 → 违反设定
-- 删除伏笔 → 破坏长线剧情
+## 示例
 
----
+**AI感**:
+> 综合以上分析,林天认为需要做三件事:第一,提升修为;第二,获取资源;第三,寻找盟友。
 
-## 风格一致性检查
-
-### 视角一致
-- 第一人称:全程“我”视角
-- 第三人称限制:只描写主角能感知的
-- 第三人称全知:可以切换视角
-
-### 时态一致
-- 过去时为主
-- 避免时态混乱
-
-### 文风一致
-- 轻松吐槽风 vs 正剧严肃风
-- 热血燃向 vs 冷静克制
-- 保持全文统一
-
-</instructions>
-
-<examples>
-
-<example>
-<input>AI风格:综合以上分析,林天认为自己需要做三件事:第一,提升修为;第二,获取资源;第三,寻找盟友。</input>
-<output>林天心里盘算着,修为是根本,资源也不能少,至于盟友……先走一步看一步吧。</output>
-</example>
-
-<example>
-<input>AI风格:首先,他查看了周围环境。其次,他分析了敌人的位置。最后,他制定了突围计划。</input>
-<output>他扫了一眼四周——三面是墙,只有正前方有条路。敌人嘛,两个在左,一个在右。得想个法子冲出去才行。</output>
-</example>
-
-<example>
-<input>AI风格:他感到非常愤怒,同时又有些无奈,心中五味杂陈。</input>
-<output>他的拳头攥紧了,指节发白,半晌又松开,无力地垂下。</output>
-</example>
-
-</examples>
-
-<errors>
-❌ 忽略审查报告的 critical 问题 → ✅ 必须修复或记录 deviation
-❌ 开头 120 字无冲突/风险/强情绪 → ✅ 重写开头
-❌ 章末没有钩子 → ✅ 重写结尾
-❌ 连续 400 字纯解释 → ✅ 打散/转化为动作或对白
-</errors>
-
-<checklist>
-润色完成前检查:
-- [ ] 审查报告中的 critical 问题已修复
-- [ ] 审查报告中的 high 问题已修复或有合理解释
-- [ ] 网文化规则已执行
-- [ ] AI 痕迹提示已检查
-- [ ] 未违反润色红线
-- [ ] 风格一致性检查通过
-</checklist>
+**自然**:
+> 林天心里盘算着,修为是根本,资源也不能少,至于盟友……先走一步看一步吧。

+ 53 - 101
CLAUDE.md

@@ -1,136 +1,88 @@
 # CLAUDE.md - Webnovel Writer 项目指南
 
-> 本文档为 Claude Code 提供项目上下文,帮助 AI 理解项目结构和工作流程
+> 本文档为 Claude Code 提供项目上下文。
 
 ## 项目概述
 
-**Webnovel Writer** 是基于 Claude Code 的长篇网文辅助创作系统(v5.3),解决 AI 写作中的"遗忘"和"幻觉"问题,支持 200 万字量级连载创作
+**Webnovel Writer** 是基于 Claude Code 的长篇网文辅助创作系统(v5.5),解决 AI 写作中的"遗忘"和"幻觉"问题。
 
-## 核心理念
+## 核心原则(仅3条)
 
-### 防幻觉三定律
-1. **大纲即法律** - 遵循大纲,不擅自发挥
-2. **设定即物理** - 遵守设定,不自相矛盾
-3. **发明需识别** - 新实体必须入库管理
+1. **大纲即法律** - 100%执行大纲,不擅自发挥
+2. **设定即物理** - 能力/境界不能超设定
+3. **新实体需记录** - 新角色/物品/地点要入库
 
-### 追读力机制(v5.3 新增)
-- **Hard Invariants** - 不可违反的硬约束(可读性/承诺/节奏/冲突)
-- **Soft Guidance** - 可通过 Override Contract 违反的软建议
-- **Chase Debt** - 追读力债务追踪与利息机制
+> 其他都是建议,不是强制。Claude 已经很懂网文写作。
 
 ## 关键目录
 
 ```
 .claude/
-├── agents/                 # 9 个专职 Agent
-│   ├── context-agent.md    # 创作任务书生成器 (v5.3)
-│   ├── data-agent.md       # 数据链工程师
-│   ├── reader-pull-checker.md  # 追读力检查器 (v5.3)
-│   ├── high-point-checker.md   # 爽点检查器 (v5.3)
-│   └── ...
-├── skills/                 # 7 个核心 Skill
-│   ├── webnovel-init/
-│   ├── webnovel-plan/
-│   ├── webnovel-write/     # 主写作流程 (v5.3)
-│   └── ...
+├── agents/                 # Agent 定义
+│   ├── context-agent.md    # 上下文搜集
+│   ├── data-agent.md       # 数据处理
+│   └── *-checker.md        # 各类检查器
+├── skills/                 # Skill 定义
+│   └── webnovel-write/     # 主写作流程
 ├── scripts/                # Python 脚本
-│   └── data_modules/
-│       ├── index_manager.py  # SQLite 管理 (v5.3)
-│       └── ...
-├── references/             # 写作指南
-│   ├── reading-power-taxonomy.md  # 追读力分类标准 (v5.3)
-│   ├── genre-profiles.md          # 题材配置档案 (v5.3)
-│   ├── checker-output-schema.md   # Checker 统一输出格式 (v5.4)
-│   └── ...
-└── templates/              # 题材模板
+│   └── data_modules/       # 数据模块
+└── references/             # 参考文档(按需加载)
 ```
 
-## 核心 Skill 命令
+## 核心命令
 
 | 命令 | 说明 |
 |------|------|
 | `/webnovel-init` | 初始化项目 |
-| `/webnovel-plan [卷号]` | 规划大纲 |
-| `/webnovel-write [章号]` | 创作章节 |
-| `/webnovel-review [范围]` | 质量审查 |
-| `/webnovel-query [关键词]` | 信息查询 |
-| `/webnovel-resume` | 恢复中断任务 |
-| `/webnovel-learn [描述]` | 记忆写入 |
-
-## v5.3 新增功能
-
-### 1. 追读力分类标准
-- **钩子类型扩展**:危机钩/悬念钩/情绪钩/选择钩/渴望钩
-- **爽点模式扩展**:8种模式(新增迪化误解/身份掉马)
-- **微兑现体系**:7种类型(信息/关系/能力/资源/认可/情绪/线索)
-
-### 2. 题材 Profile 配置
-8种内置题材,每种包含:
-- 偏好钩子类型
-- 偏好爽点模式
-- 微兑现要求
-- 节奏红线阈值
-- Override 允许规则
-
-### 3. SQLite 新表
-- `override_contracts` - Override Contract 记录
-- `chase_debt` - 追读力债务
-- `debt_events` - 债务事件日志
-- `chapter_reading_power` - 章节追读力元数据
-
-### 4. 约束分层机制
-- **Hard Invariants** (HARD-001 ~ HARD-004) - 必须修复
-- **Soft Guidance** - 可 Override,产生债务
-- **Override Contract** - 记录违反理由和偿还计划
-- **Chase Debt** - 债务追踪,含利息机制
-
-## 写作工作流 (Step 1-6)
+| `/webnovel-plan` | 规划大纲 |
+| `/webnovel-write` | 创作章节 |
+| `/webnovel-review` | 质量审查 |
+| `/webnovel-query` | 信息查询 |
+
+## 写作流程
 
 ```
-Step 1: Context Agent 搜集上下文
-        ↓ (输出创作任务书,含追读力设计)
-Step 1.5: 章节设计(开头/钩子/爽点/微兑现)
-        ↓
-Step 2A: 生成粗稿
-Step 2B: 风格适配器
-        ↓
-Step 3: 6 Agent 并行审查(含 reader-pull-checker)
-        ↓
-Step 4: 网文化润色
-        ↓
-Step 5: Data Agent 处理数据链
-        ↓
-Step 6: Git 备份
+1. Context Agent → 创作任务书(5个板块)
+2. 写作 → 3000-5000字正文
+3. 审查 → 根据章节类型选择 Checker
+4. 润色 → 修复问题
+5. Data Agent → 提取数据
+6. Git → 备份
 ```
 
-## 常用 Python 命令
+## 审查深度(按章节类型)
+
+| 章节类型 | Checker 数量 | 说明 |
+|----------|-------------|------|
+| 高潮章 | 6 个全跑 | 重要章节全面检查 |
+| 标准章 | 3-4 个 | consistency + continuity + 按需 |
+| 过渡章 | 2 个 | consistency + continuity 即可 |
+
+## 数据存储
+
+- `state.json` - 精简状态(进度、主角、章节元数据)
+- `index.db` - SQLite(实体、别名、关系、状态变化)
+- `vectors.db` - RAG 向量索引
+- `summaries/` - 章节摘要
+
+## 常用命令
 
 ```bash
 # 查询统计
 python -m data_modules.index_manager stats --project-root "."
 
-# 查询债务状态
-python -m data_modules.index_manager get-debt-summary --project-root "."
-
-# 查询追读力历史
-python -m data_modules.index_manager get-recent-reading-power --limit 10 --project-root "."
+# 获取核心实体
+python -m data_modules.index_manager get-core-entities --project-root "."
 
-# 查询模式使用统计
-python -m data_modules.index_manager get-pattern-usage-stats --last-n 20 --project-root "."
+# 搜索
+python -m data_modules.rag_adapter search --query "xxx" --project-root "."
 ```
 
-## 关键文件说明
+## 关键文件
 
 | 文件 | 说明 |
 |------|------|
-| `.webnovel/state.json` | 项目状态(精简版) |
-| `.webnovel/index.db` | SQLite 索引数据库 |
-| `.claude/references/reading-power-taxonomy.md` | 追读力分类标准 |
-| `.claude/references/genre-profiles.md` | 题材配置档案 |
-
-## 注意事项
-
-1. **不要直接修改 state.json 中的大量数据** - 大数据存 SQLite
-2. **Override Contract 需明确偿还计划** - 每个 Override 产生债务
-3. **债务有利息** - 每章累积 10%,逾期会影响后续章节
-4. **题材 Profile 可覆盖** - 在 state.json 中设置 genre_overrides
+| `.webnovel/state.json` | 项目状态 |
+| `.webnovel/index.db` | SQLite 索引 |
+| `.claude/references/reading-power-taxonomy.md` | 追读力分类(按需加载) |
+| `.claude/references/genre-profiles.md` | 题材配置(按需加载) |