Skip to main content
ClaudeWave
Skill2.4k estrellas del repoactualizado 2d ago

story-review

story-review is a multi-perspective adversarial review skill for fiction manuscripts that identifies structural, character, dialogue, and worldbuilding problems while providing executable revision suggestions. Use this skill when conducting comprehensive editorial analysis of a story or novel, with options to spawn specialized sub-agents for architecture, character design, narrative consistency, and fact-checking or to run a standalone review when agents are unavailable.

Instalar en Claude Code
Copiar
git clone --depth 1 https://github.com/worldwonderer/oh-story-claudecode /tmp/story-review && cp -r /tmp/story-review/skills/story-review ~/.claude/skills/story-review
Después abre una sesión nueva de Claude Code; el skill carga automáticamente.

SKILL.md

# story-review:多视角对抗式审查

你是审查协调器。你的职责是找出小说文本中的结构、角色、文字、设定问题,并给出可执行修改建议。

**执行铁律:审查是找问题,不是验证正确性。**

---

## Review Mode 选择

- `/story-review` 或 `/story-review full` → 优先 spawn 全部 4 个 Agent;如果当前已经在子代理内,核心 Agent 未部署/异常,或 spawn 失败,自动降级为 solo。
- `/story-review lean` → 优先 spawn `story-architect` + `consistency-checker`;如果当前已经在子代理内,任一所需 Agent 未部署/异常,或 spawn 失败,自动降级为 solo。
- `/story-review solo` → 不 spawn Agent,由当前会话执行基础审查。
- 未指定 → 默认 full,并在报告里写明最终实际执行模式。

---

## Phase 0:预检与降级(必须先执行)

1. **确定请求模式**:解析用户输入中的 `full`、`lean`、`solo`;未指定时目标模式为 `full`。
2. **确认是否允许 spawn**:如果当前已经在子代理/Agent 内执行,不再递归 spawn,直接降级为 `solo`。
3. **检查核心 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`。
4. **确认 Agent/Task 工具可用**:如果当前环境没有可用的子 Agent/Task 调用能力,直接降级为 `solo`,报告 `Fallback: agent tool unavailable -> solo`。
5. **运行时失败降级**:如果任何 Agent spawn 返回失败、`subagent_type` 不可用、frontmatter 运行时解析失败或子 Agent 无法启动,停止继续 spawn,改用 `solo` 重新审查,并报告 `Fallback: spawn failed -> solo` 与失败的 subagent_type;不要把部分成功的 Agent 结果当成 full/lean 结论。
6. **确定实际模式**:报告中必须同时列出 `Requested Mode` 与 `Effective Mode`。
7. **禁止把 `.active-book` 当作平台来源**:`.active-book` 只表示当前书名/目录名,不代表目标平台。

---

## 审查基准与参考资料规则(必须遵守)

`story-review` 的核心审查标准必须始终可用。参考文件是增强资料,不是运行前提。

### 报告元数据字段(必须逐字输出)

最终报告开头必须逐行输出以下英文 key,**不要翻译、不要改名、不要只输出中文同义词**。可以在英文 key 后追加中文说明,但 key 本身必须逐字出现,便于脚本和用户核对实际执行路径:

```md
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
```

### 参考资料解析顺序

可读取参考文件时,按以下顺序尝试:
1. `{项目根}/.claude/skills/{规范路径}`(项目内安装)
2. `{项目根}/skills/{规范路径}`(本仓库开发环境)
3. 工具自身可访问的全局 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` |
| 标点预检脚本 | `story-review/scripts/normalize-punctuation.js` |

### 内置审查基准包(路径不可读时必用)

如果上述参考文件在当前项目中不可读,**不要把审查降级为无 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:收集待审查内容

1. **确定审查范围**:
   - 用户指定了章节/文件 → 只审查指定内容。
   - 用户未指定 → 优先审查最近修改的正文文件(`git diff --name-only` 中的正文/设定/大纲相关文件),否则审查当前书的当前章节。
2. **范围传递策略**:
   - 优先把文件路径、章节名、行号范围传给 reviewer,不要把整本或大量章节完整复制进每个 prompt。
   - 单文件或短片段可附 300-1200 字关键摘录。
   - 多章/整卷/整本审查必须分批:按章节或文件组拆分,每批输出独立 findings,再综合。
3. **读取相关支撑材料**:正文、相关设定、角色档案、大纲、追踪/上下文、伏笔文件;缺失时在报告中标记证据不足。
4. **识别目标平台并加载 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`。
5. **形成审查基准包摘要**:把已加载的文件内容或内置 fallback 摘要压缩为 5-12 条审查标准,后续 solo 和子 Agent 都必须使用这份摘要。
6. **确定性标点预检(只报告,不修改)**:当审查范围包含本地正文文件路径时,运行本 skill 自带脚本:
   ```bash
   node scripts/normalize-punctuation.js --check <正文文件...>
   ```
   - 将 `em-dash`、`double-hyphen`、`markdown-divider` 结果作为 `format` 或 `prose` findings 合并进报告。
   - `story-review` 不修改文件;需要自动修复时建议转 `/story-deslop`。
   - 默认 `--quote-mode keep`,不把知乎盐言短篇的 `「」` 当作问题;只有项目明确指定引号风格时才检查对应转换建议。
   - 该脚本是 `story-review` 的本地副本,不引用其他 skill 的文件。

**Phase 1.5:可选 story-explorer 预查询**。仅当 `Effective Mode` 仍为 `full`/`lean`、当前允许 spawn 且 Agent/Task 工具可用时,才可检查 `.claude/agent