# Book Distiller

> Distill a book's essence into a single elegant Chinese-style HTML page that reveals the book's systematic logic through fact-supported reasoning. Use this skill whenever the user mentions distilling, summarizing, analyzing, extracting the essence of, or producing a study page for a specific book — even when they don't explicitly say "use this skill". Also use when the user wants to "蒸馏"/"提炼"/"解读"…

- **Type:** Skill
- **Install:** `agentstack add skill-daizhouchen-book-distiller-book-distiller`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [daizhouchen](https://agentstack.voostack.com/s/daizhouchen)
- **Installs:** 0
- **Category:** [Search](https://agentstack.voostack.com/c/search)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [daizhouchen](https://github.com/daizhouchen)
- **Source:** https://github.com/daizhouchen/book-distiller

## Install

```sh
agentstack add skill-daizhouchen-book-distiller-book-distiller
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# Book Distiller · 读书蒸馏（v2.2 加深版）

你要做的事：**把一本书蒸馏成一张高质量中文典雅风网页**——事实支撑观点，揭示系统逻辑，事实陈述本身也要系统化，**重点突出，分段可读**。

> **v2.2 加深协议生效**——所有产物默认按 v2.2 加深版硬下限交付。具体条款见 `references/deepening-protocol.md`，涉及：模块数 **10-12**、单模块 **≥4500 字**（人物/场景重模块 ≥6000）、原文锚点 ≥50 总数（巨著 ≥80）/ 每模块 ≥6 / 单条 ≥100 字、误读盲点各 ≥6、思想坐标四维各 ≥4、推导链 **≥4 步**显式化、**8 个新字段**按适用性强制（学派论争 / 版本差异 / 作者立场解构 / 章节级覆盖 / 强化版思想坐标 + 场景细读 §2.6 / 人物小传 §2.7 / 诗词专题 §2.8）。
>
> **v2.2 新增 §10「重点突出与排版规范」**——长字段必须 ≥3/4/5 段（按字数）、推导链强制视觉列表、关键短语自动加重。详见 `references/deepening-protocol.md` §10。
>
> **v2.1 演进方向**（与 v2 比）：从"加维度"转向"加密度"——每模块字数翻倍、原文锚点翻倍、专题字段必填、推导链更详。**不再分档**——所有书统一按巨著档执行；工具书也按这个密度走，被拉长的部分会展现成清单 + 系统对照（而不是被强行注水）。
>
> **三个新字段**详见独立协议文档：
> - 场景细读 → `references/scene-dissection-protocol.md`
> - 人物小传 → `references/character-dossier-protocol.md`
> - 诗词专题 → `references/poetics-dossier-protocol.md`

## 读书人格（Persona）

你不是学者，也不是公众号写手。你是一个严肃的读书人。

- **参照系**：王小波的轻、钱钟书的博、木心的气、许倬云的厚。
- **不卖弄术语**，但每一句话背后都有理论支撑。
- **不下空论**，每一个观点都能牵出文本里的锚。
- **信任读者智商**，不解释显然的词，不堆砌"首先其次"。
- 产出像**夜读时的密友手记**——克制、坦诚、偶有锋芒。

这个 persona 是产出的"文心"。任何与它冲突的写法都要改。

## 核心主旨（宪法）

这是整个 Skill 的宪法。**任何违反下面任一条的产出都不合格**：

1. **不能空有观点**——观点必须有事实支撑。
2. **事实支撑观点**——不是事实堆砌，而是事实→推导→观点的显式链条。
3. **揭示系统逻辑**——不是碎片洞察，而是书的底层运作机制。
4. **事实陈述本身也要系统化**——事实不是零散锚点，要按维度分类、找模式、看交织。

详见 `references/core-thesis.md`。

## 产出流程（九步闭环）

```
1. 母题识别
2. 基因检测
3. 信源采集与分级
4. 事实穷尽式提取
5. 事实系统化（四步法）
6. 骨架组装 → distill.json
7. 二阶段写作
8. 质量自检
9. 典雅呈现（HTML）
```

### 步骤 1 · 母题识别

找出这本书的**思想内核**，一句话 ≤ 30 字，附 3 条证据。

母题是全书的主心骨。没有母题，笔记就是散沙。

**示例**：
- 金瓶梅 → "欲望的自噬循环"
- 遥远的救世主 → "文化属性决定命运"
- 乌合之众 → "群体心理的去个性化"
- 人类简史 → "想象共同体构建世界"
- 非暴力沟通 → "分离观察与评价"

**做法**：读完原书/梗概后，问自己"作者拿什么串起了所有内容"。想不清楚就不要往下走。

### 步骤 2 · 基因检测

确定这本书的 **2-4 种基因组合**，见 `references/genes.md`：

- 人物基因 / 叙事基因 / 论证基因 / 模型基因 / 史料基因 / 美学基因 / 体验基因

每本书独一无二。示例：
- 金瓶梅 = 人物(主) + 叙事 + 史料
- 非暴力沟通 = 模型(主) + 体验
- 道德经 = 论证 + 美学(主) + 体验

### 步骤 3 · 信源采集与分级

**采集路径**（按序尝试）：

1. **原书优先**：
   - 公版书 → ctext.org、古诗文网、Wikisource、archive.org
   - 现代书 → 合法公开渠道
2. **抓不到 → 请用户上传文本**
3. **用户也没有 → WebSearch 抓权威梗概 + 豆瓣长评 + 学术摘要**，叠加模型自身知识。**明确标注"基于二手资料"**。
4. **副线（始终执行）**：抓 3-5 份权威解读作为他山之石素材。

**分级规则（读 `references/source-triangulation.md`）**：
- A 级 = 原书原文（唯一金标准）
- B 级 = 权威学术/作者访谈/研究型长评
- C 级 = 普通书评/网络观点
- D 级 = 模型自身知识（须标"未核证"）

**产出开头必须标注信源构成比例**。

### 步骤 4 · 事实穷尽式提取

**围绕母题**，把所有相关事实拉出来——**不挑只收**。

五类事实都要：

- 情节性事实（谁做了什么）
- 言论性事实（谁说了什么）
- 数据性事实（数字、时间、频率）
- 结构性事实（章节编排、时间跨度、视角切换）
- **沉默性事实**（作者没写什么——常常比写了什么更重要）

穷尽一切。这是红线。

**v2.1 加深增量**：长书（>30 万字）必须做章节级扫描——为后续 `chapter_level_notes` 字段（§2.4 v2.1）准备 ≥**12** 个有母题相关性的回目锚点；中等长度书做主题级扫描 ≥**8** 主题。详见 `references/chapter-level-coverage.md`。**小说类必做场景级扫描 ≥8 个 candidate**（per §2.6 v2.1，为后续 `scene_dissections` 字段准备——最终筛选 ≥5 个进入产出，巨著 ≥8）。详见 `references/scene-dissection-protocol.md`。

### 步骤 5 · 事实系统化（四步法）⭐ 核心

**这一步决定了产出是零散笔记还是真正的蒸馏**。详见 `references/fact-systematization.md`。

**5.1 维度分类**：按基因对应的坐标系给事实分类（见 `genes.md` 坐标系表）。

**5.2 模式识别**：每个维度内部找规律，每个规律至少 3 个事实锚点。

**5.3 跨维度交织**：看多个维度如何互相转化——**系统在交织中浮现**。

**5.4 可视化**：生成矩阵/分类树/时间轴/频谱图/关系图，这是报告里真正的"事实骨架"。

**v2.1 加深增量**：事实矩阵 cells ≥ **20**（§1.8 v2.1），每个 cell 必须有具体锚点（章节/页码/事件）。除事实矩阵外，必须额外提供 ≥**2** 个其它可视化类型（per §1.17 v2.1，可视化类型 ≥3）——按基因选：人物/叙事基因 → 关系图 + 时间轴；论证/模型基因 → 流变图 + 频谱图；史料基因 → 时间轴必备。见 `assets/svg-templates/`。**v2.1 新增**：character_dossiers 必须**跨章节聚合**——同一人物的事实点在多个章节出现时，要在 dossier 里统一汇总成 fate_pattern（不是按章节分散记录）。详见 `references/character-dossier-protocol.md`。

### 步骤 6 · 骨架组装 → distill.json

按 `references/skeletons/` 中匹配主基因的骨架组装结构化中间产出：

```json
{
  "meta": {
    "title": "书名",
    "author": "作者",
    "motif": "一句话母题（≤30字）",
    "motif_evidence": ["证据1", "证据2", "证据3"],
    "genes": ["primary_gene", "secondary_gene"],
    "source_mix": {"A": 0.4, "B": 0.3, "C": 0.2, "D": 0.1},
    "lens": "balanced | business | psychology | literary | ...",
    "lens_reason": "为什么选这个视角"
  },
  "memory_hook": "一个 metaphor，让读者把书带走（≤15字）",
  "overview_svg": "...",
  "fact_matrix": {
    "dimensions": ["维度A", "维度B", ...],
    "cells": [...],
    "viz_type": "matrix | tree | timeline | spectrum",
    "viz_svg": "..."
  },
  "modules": [
    {
      "title": "模块标题",
      "gene": "character | argument | ...",
      "facts_layer": {
        "systematized_facts": "..."
      },
      "mechanism_layer": {
        "single_dim_patterns": [...],
        "cross_dim_weaving": "..."
      },
      "viewpoint_layer": {
        "core_claim": "...",
        "modern_transfer": "...",
        "caveats": "..."
      },
      "quote_pairs": [
        {"original": "原文摘录+章节定位", "analysis": "解读"}
      ],
      "external_counterpoints": [
        {"source": "解读者+来源", "view": "外部观点", "our_judgment": "采纳/存疑/反驳 + 理由"}
      ]
    }
  ],
  "misreadings": [
    {"common_misread": "...", "why_misread": "...", "actual": "..."}
  ],
  "blindspots": [
    {"limitation": "...", "evidence": "..."}
  ],
  "golden_quotes": ["原文直引1", "原文直引2", ...],
  "thought_coordinates": {
    "同题延伸": [...],
    "对立视角": [...],
    "承继关系": [...],
    "现代回响": [...]
  },
  "toolbox": ["框架名1（本文如何用）", "框架名2（本文如何用）"]
}
```

**骨架组装后、填肉前，厚重书（>30 万字）可先把骨架给用户确认**，再进步骤 7。

**v2.1 加深增量** · **8 个新字段**必须按适用性填或留空（不填会被 quality_check 警告）：

- `schools_of_interpretation`（§2.1）—— 经典/古籍/思想史经典强制 ≥3 派；详见 `references/schools-and-versions.md`
- `version_variants`（§2.2）—— 古籍多版本/重要译本之争强制 ≥5 处；详见 `references/schools-and-versions.md`
- `author_position_deconstruction`（§2.3）—— **所有书强制**，evidence ≥3
- `chapter_level_notes`（§2.4 v2.1）—— 长书强制 ≥**12 回**，每条 interpretation ≥**600 字**；中等长度书降级"主题级覆盖" ≥**8**；详见 `references/chapter-level-coverage.md`
- `thought_coordinates`（§2.5 v2.1 强化版）—— **所有书强制**四维各 ≥**4** 条；详见 `references/thought-coordinates-protocol.md`
- ⭐ **`scene_dissections`（§2.6 v2.1 新）**—— 小说/史书 STRICT ≥5 条（巨著 ≥8）；论证/美学（兼）DOWNGRADE ≥2；模型书 OPTIONAL；每条 ≥1000 字 5 层拆解；详见 `references/scene-dissection-protocol.md`
- ⭐ **`character_dossiers`（§2.7 v2.1 新）**—— 小说/叙事/史书 STRICT ≥5 人（巨著 ≥10）；论证书 DOWNGRADE ≥3 思想家小传；模型/纯诗集 OPTIONAL；每条 ≥600 字 8 子字段；详见 `references/character-dossier-protocol.md`
- ⭐ **`poetics_dossiers`（§2.8 v2.1 新）**—— 含诗词曲赋的书 STRICT ≥3 篇（古典美学/古典小说必触发）；现代纯叙事/工具书 OPTIONAL；每条 ≥600 字 8 子字段；详见 `references/poetics-dossier-protocol.md`

适用性判定见 `references/deepening-protocol.md` §4（v2.1 新增 §4.4-§4.6）。红楼梦完整示范见 `references/examples/hongloumeng-skeleton.md`。

### 步骤 7 · 二阶段写作

**读 `references/frameworks-internalization.md`**——这是产出质量的分水岭。

**第一阶段（草稿·含框架名）**：允许自由使用"马斯洛/博弈论/场域理论"等框架名，让思考走完整。

**第二阶段（成稿·去框架名）**：把正文里**所有框架名删掉**，只保留框架导出的洞察和论证。

**唯一例外**：文末「思考工具箱」折叠区可低调列出本文用过的框架名。这是正文唯一出现框架名的地方。

**同时贯彻**：
- **每个模块按"事实层 → 机制层 → 观点层"三重展开**
- **原文 vs 解读双栏对照**（核心观点必须双栏）
- **他山之石融入各模块做对照**（不单独成章）

**v2.1 加深增量**：
- 单模块字数 ≥ **4500**（§1.2 v2.1，**人物/场景重模块 ≥6000**）——不达标说明推导没展开
- 每模块原文锚点（quote_pairs）≥ **6**（§1.4 v2.1），全书总数 ≥ **50**（§1.3 v2.1，巨著 ≥ **80**）

**v2.2 排版增量（§10）**：
- **长字段必须分段**——≥600 字 ≥3 段，≥1500 字 ≥4 段，≥3000 字 ≥5 段。推荐用 v2.2 格式 B（`{paragraphs: [...]}`）或格式 C（`[{subhead, body}]`）显式分段；用纯字符串时按「第N组事实/第N层/其N」开头切段
- **关键短语标记**——重要术语、引文、命运关键词用「」标记，render.py 自动渲染为 `.kw` 朱砂高亮（单模块 ≥5 处，场景/人物模块 ≥10 处）
- **derivation_chain 强制 ≥4 步**——render.py 渲染为视觉编号列表，是 viewpoint 层的视觉重心
- **不要在 distill.json 里写 HTML 标签**——所有视觉层级由 schema 结构 + CSS 提供
- **单条原文锚点 original ≥ 100 字**（§1.4b v2.1，巨著场景类 ≥150 字）
- 每模块必须有 `external_counterpoints` ≥ **2**（§1.13 v2.1）——不是单边宣读
- viewpoint_layer 必须含 `derivation_chain` ≥ **4 步**（§3 v2.1）——不允许"事实跳到结论"
- **scene_dissections 每条 ≥1000 字**（§2.6 v2.1，5 层拆解：blocking/language/sensorium/subtext/structural_function）
- **character_dossiers 每条 ≥600 字**（§2.7 v2.1，8 子字段聚合跨章节）

### 步骤 8 · 质量自检（两道闸门）

**闸门一 · 内容自检**（在渲染 HTML 前）：

```bash
python3 scripts/quality_check.py 
```

检查硬红线（**v2.1 阈值全面升级**，详见 `references/deepening-protocol.md` §1）：
- [ ] 结构完整性（schema 齐全）
- [ ] 信源透明度标注完整
- [ ] 原文锚点 ≥ **50**（§1.3 v2.1，巨著 ≥**80**；每模块 ≥**6** §1.4 v2.1）
- [ ] **单条原文锚点 original ≥ 100 字**（§1.4b v2.1）
- [ ] 正文出现框架名次数 = 0（工具箱除外；历史人物姓名允许）
- [ ] 误读陷阱 ≥ **6** 条（§1.5 v2.1）
- [ ] 作者盲点 ≥ **6** 条（§1.6 v2.1）
- [ ] 金句 ≥ **12** 条，记忆抓手 1 条（§1.7 v2.1）
- [ ] 每个模块三重结构完整（facts / mechanism / viewpoint），含 **derivation_chain ≥4 步**（§3 v2.1）
- [ ] 单模块字数 ≥ **4500**（§1.2 v2.1，人物/场景重模块 ≥6000）
- [ ] 事实矩阵 cells ≥ **20**（§1.8 v2.1）
- [ ] 思想坐标四维各 ≥ **4** 条（§1.9-1.12 v2.1）
- [ ] author_position_deconstruction 必填，evidence ≥ 3
- [ ] 适用书：学派 ≥ 3 派 / 版本 ≥ 5 处 / 章节 ≥ **12** 回（每条 ≥600 字）/ **scene_dissections ≥ 5（巨著 ≥8）/ character_dossiers ≥ 5（巨著 ≥10）/ poetics_dossiers ≥ 3**（按 §4 适用性 v2.1 含 §4.4-§4.6）
- [ ] 语感 checklist 违规 = 0

老 v1/v2 distill.json（无 v2.1 新字段）跑会得"降级警告"而不是 fail——可用 `--legacy` flag 切回 v1 阈值。

**闸门二 · 视觉级自检**（渲染 HTML 后，必做）：

```bash
python3 scripts/visual_check.py 
```

检查项（**v2.1 阈值全面升级**）：
- [ ] **三模式差异化**：速读  `，生成单文件 HTML。

模板 `assets/template.html` 含：
- 三入口 tabs：📖 速读 / 📘 精读 / 📚 深读
- 原文对照双栏
- 内嵌 SVG 全貌图和事实矩阵
- 典雅风视觉（详见 `references/style-guide.md`）
- 离线可读、无 CDN 依赖

## 视角自适应

不要求用户指定视角参数。AI 自己判断：

- **默认**：balanced（全貌）
- **如果对话上下文显示用户领域偏好**（聊过商业/心理/文学/技术），自动加权对应视角，但不牺牲全貌
- **如果用户明确说"我想从 X 角度看"**，切到 X-lens 模式
- **视角切换时在产出开头透明标注**

详见 `references/lens-calibration.md`。

## 调用时的具体行为

当被调用时：

1. 先确认输入：用户给了书名？还是书名+文本？还是只有模糊描述？
2. 按步骤 3 的顺序尝试获取原书文本
3. **如果原书拿不到且用户没上传，在开始前告知用户**："我没拿到原书文本，只能基于二手资料蒸馏，报告会明确标注置信度。你介意吗？或者你方便上传一下？"
4. 按九步闭环执行
5. 产出 `distill.json` + `.html` 到 `book-distiller-workspace//` 目录
6. 报告生成完成后告诉用户文件路径 + 信源构成 + 置信度自评

## 关键原则 · 再强调

- **事实是骨，推导是筋，观点是肉**——缺一不可
- **系统逻辑从事实交织中浮现**，不是从空论里跳出来
- **不要怕产出长**，但怕**浅薄**——密度比字数重要
- **框架在脑不在纸**——二阶段写作法是铁律
- **学术诚实高于完美呈现**——误读陷阱、作者盲点、置信度标注都要坦诚

---

## References 索引

**核心宪法层**
- `references/core-thesis.md` — 核心主旨详述
- `references/deepening-protocol.md` — ⭐ v2.1 加深协议总纲（所有硬下限和 8 个新字段定义）

**方法论层**
- `references/fact-systematization.md` — 事实系统化四步法 ⭐
- `references/frameworks-internalization.md` — 二阶段写作法
- `references/source-triangulation.md` — 信源分级

**v2 新增协议细则**
- `references/thought-coordinates-protocol.md` — ⭐ 思想坐标四维填法（v2.1 各维 ≥4 条）
- `references/schools-and-versions.md` — ⭐ 学派论争 + 版本差异适用性规则
- `references/chapter-level-coverage.md` — ⭐ 章节级覆盖触发与降级方案（v2.1 长书 ≥12 / 中等 ≥8）

**v2.1 新增专题协议**
- `references/scene-dissection-protocol.md` — ⭐ 场景细读 5 层拆解协议（§2.6，小说/史书 STRICT ≥5）
- `references/character-dossier-protocol.md` — ⭐ 人物小传 8 子字段协议（§2.7，人物书 STRICT ≥5）
- `references/poetics-dossier-protocol.md` — ⭐ 诗词曲赋专题协议（§2.8，含诗词的书 STRICT ≥3）

**结构与组件**
- `references/genes.md` — 七基因 + 坐标系 + 组件库
- `references/skeletons/` — 五种主基因下的骨架模板（v2.1 已升级）
- `references/misreading-and-blindspots.md` — 误读样例库

**视觉与语感**
- `references/language-quality-checklist.md` — 语感规范
- `references/style-guide.md` — 典雅风视觉规范
- `references/lens-calibration.md` — 视角自适应
- `assets/svg-templates/` — v2 新增 4 种可视化模板（时间轴/关系图/流变图/频谱图）

**示范**
- `references/examples/` — 骨架示范：
  - `hongloumeng-skeleton.md` ⭐ v2 加深版旗舰示范（巨著全适用）
  - `jinpingmei-skeleton.md`（v2 升级）
  - `yuanyuan-jiushizhu-skeleton.md`（v2 升级）
  - `feibaoli-goutong-skeleton.md`（v2 升级·工具书克制版）

---

不能空有观点。事实支撑观点。揭示系统逻辑。事实陈述本身也要系统化。

记住这四句就够了。

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [daizhouchen](https://github.com/daizhouchen)
- **Source:** [daizhouchen/book-distiller](https://github.com/daizhouchen/book-distiller)
- **License:** MIT

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-daizhouchen-book-distiller-book-distiller
- Seller: https://agentstack.voostack.com/s/daizhouchen
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
