一只阿木木

book-to-skill:把书编译成可以对话的专家

book-to-skill:把书编译成可以对话的专家

你曾经花了三周读完一本书,然后两周后被人问起,你只能说"我记得它很好,但具体……想不起来了"。

这不是你的记忆力问题。这是你和书籍之间的接口问题。

读书的真实成本

认知工作者面对技术类书籍时,有三堵必须撞上的墙:

PDF 搜索只返回页面命中而非推理结论;通用聊天回答会产生幻觉式的章节名;笔记导出后永远不会再次打开。

第三堵墙是最致命的。那些高亮、那些摘录、那些费心整理的读书笔记,在你合上书的那一刻,就开始进入衰减轨道。

你买了这本书,高亮了其中一半,然后两周后忘记了那些框架。重读不是答案——把书变成一个 Claude 可以在你工作时随时调用的 Skill,才是。

这就是 book-to-skill 要解决的问题。

它到底做了什么

用一句话说:book-to-skill 把书面知识转化为可行动的 Agent Skill,提取的是结构而非摘要。书籍蕴含着结晶的专业知识:花费数年发展出来的框架、原则和技巧。这个工具把那些知识提取成 Amp、Claude Code 或其他兼容代理可以反复调用的格式。

但"提取结构"是什么意思?

技能提取作者的命名框架、心智模型、原则、技巧和反模式——保留精确术语——并将其打包为 SKILL.md 加上分章节文件、词汇表、模式参考和速查表。

这与"生成一份摘要"有根本差异:

text

摘要(死的):                    Skill(活的):
"作者认为深度工作很重要"          → /deep-work "optimal session length"
"书中提到了很多实用技巧"          → /deep-work "anti-patterns"
"总体来说是一本好书"              → /deep-work ch04
                                  → 每次调用只加载相关章节

核心机制:为什么 Skill 比直接塞 PDF 好

这是很多人第一次接触时会问的问题:我为什么不直接把 PDF 扔进 Claude 的项目上下文?

你可以——但每次对话都要预先消耗全部 token 预算。一本 400 页的书约有 20 万 tokens。使用 Skill 后,只有与你问题相关的章节才会加载——通常是 SKILL.md 核心文件(约 4K tokens)加上你所问的那个章节(约 1K tokens)。其余内容留在磁盘上,直到你需要。

从经济学角度看:

text

方式 A:直接上传 PDF
每次对话消耗:~200K tokens(整本书)
连续 10 次对话:~200 万 tokens 消耗

方式 B:book-to-skill
编译一次成本:约 $1 美元(一次性)
每次调用消耗:~5K tokens(按需加载)
连续 10 次对话:~5 万 tokens 消耗

完整编译一本书的成本约为每本 1 美元,远少于每次会话都重新读取 PDF 的费用。

但成本只是一个维度。更重要的是知识质量。

零幻觉的根本原因

当你问 Claude "《深度工作》第 4 章讲了什么",Claude 的训练数据里有关于这本书的大量讨论——但那些讨论是压缩的、平均化的、经过无数转述之后的版本。

对于广为人知的书籍,Claude 有通用知识——但这些知识是压缩的,平均自整个互联网对该书的讨论,可能会产生关于具体引言或章节位置的幻觉。book-to-skill 基于你的实际副本工作。每个框架名称、每个反模式列表、每个章节编号都根植于你提供的文本,没有训练数据漂移,没有幻觉式的章节标题。对于 Claude 完全不了解的书来说尤其出色:小众技术参考书、公司内部文档、近期出版物、翻译作品。

这是 book-to-skill 的知识诚信承诺:你只需输入 /your-book-slug replication,Claude 就会读取对应章节并从实际内容中回答。没有幻觉,不用翻 PDF,书籍成为你工作流的一部分。

完整技术流程:从 PDF 到 Skill

text

输入文件(PDF / EPUB / DOCX / HTML / MD)
         │
         ▼
┌─────────────────────────────────┐
│  Step 0: 格式检测 + 提取工具选择 │
│  ├── 技术类 → Docling (含表格)   │
│  ├── 散文类 → pdftotext (极速)   │
│  └── EPUB → ebooklib / zipfile   │
└────────────────┬────────────────┘
                 │
                 ▼
┌─────────────────────────────────┐
│  Step 1: 预飞成本估算            │
│  输出:页数 / 词数 / token 估算  │
│  → 等待用户确认后再继续          │
└────────────────┬────────────────┘
                 │
                 ▼
┌─────────────────────────────────┐
│  Step 2: 章节识别与结构提取      │
│  ├── 扫描"Chapter N"标题        │
│  ├── 识别命名框架(精确术语)    │
│  ├── 提取反模式 / 警告           │
│  └── 构建主题→章节映射表        │
└────────────────┬────────────────┘
                 │
                 ▼
┌─────────────────────────────────┐
│  Step 3: 并行生成各输出文件      │
│  ├── SKILL.md(核心,~4-5K)     │
│  ├── chapters/ch0N.md(按需)    │
│  ├── glossary.md(术语表)       │
│  ├── patterns.md(框架参考)     │
│  └── cheatsheet.md(速查卡)     │
└────────────────┬────────────────┘
                 │
                 ▼
     ~/.claude/skills/<slug>/

关于 PDF 提取速度,有一个值得知道的数据:在 103 页技术样本测试中,pdftotext 在 0.1 秒内完成(约 2.7 万 tokens),而 Docling 用时约 164 秒,token 数相近,但额外恢复了 48 个表格和 36 个代码块——当结构很重要时,这等待是值得的。

输出文件解剖:每一个文件为何存在

SKILL.md — 大脑的前额叶皮层

这是每次调用时最先加载的文件,约 4-5K tokens。它包含:

  • YAML frontmatter:name, description, allowed-tools, version
  • 核心框架索引:书中所有命名框架的目录,用作者原始术语
  • 主题→章节映射表:告知 Claude 该读哪个章节文件

SKILL.md 前置——压缩保留前 5000 tokens,最重要内容排在最前面。章节文件是按需加载的——它们在被加载之前不占用 Skill 预算。

关键设计原则:提取结构,而非摘要——捕捉命名框架、精确表述、反模式,而非章节概要。

chapters/ch0N.md — 长期记忆

每章约 800-1200 tokens,只有被询问时才加载。这是系统的精妙之处:启动时只预加载所有 Skill 的元数据(名称和描述)。Claude 只在 Skill 变得相关时才读取 SKILL.md,只在需要时才读取额外文件。

patterns.md — 可复用的操作手册

所有框架的完整版,写作方式是实践者视角:"当 Y 情况时使用 X",而不是"书中解释了 X"。

glossary.md — 精确术语的锚点

这一个文件解决了知识调用中最常见的问题:你记得概念,但记不住作者的原始表述。Skill 把"作者对这个词的精确定义"固化下来,防止你在引用时无意中扭曲含义。

实战操作:从安装到第一次对话

安装(两分钟)

Bash

# 在终端执行:
mkdir -p ~/.claude/skills/book-to-skill/scripts

curl -o ~/.claude/skills/book-to-skill/SKILL.md \
  https://raw.githubusercontent.com/virgiliojr94/book-to-skill/master/SKILL.md

curl -o ~/.claude/skills/book-to-skill/scripts/extract.py \
  https://raw.githubusercontent.com/virgiliojr94/book-to-skill/master/scripts/extract.py

编译第一本书

Bash

# 在 Claude Code 会话中,输入:
/book-to-skill ~/Books/peak-ericsson.pdf

# 系统会输出预飞估算:
# 📖 来源:peak-ericsson.pdf(PDF 格式)
# 📄 页数:~340 页 | 词数:~95,000 | Tokens:~127K
# 💰 预计费用:Claude Sonnet 4.5 → ~$0.80
# ⏱  预计时间:~8 分钟
# 📁 将生成:SKILL.md + 12 章节文件 + 词汇表 + 模式参考
# 
# 是否继续?[y/n]

确认后,系统自动完成编译,在 ~/.claude/skills/ericsson-peak/ 生成所有文件。

第一次调用

Bash

# 查看 Skill 包含的章节
/ericsson-peak "what chapters do you have?"

# 查询核心框架
/ericsson-peak "deliberate practice components"

# 深入某章
/ericsson-peak ch06

# 查询反模式
/ericsson-peak "anti-patterns and common mistakes"

# 与阅读笔记结合
/ericsson-peak "feedback loop design"
# → 回答来自你实际拥有的这本书,精确,无幻觉

book-to-skill 真正厉害的地方:不只是"书"

虽然名字叫"book",但输入可以是任何结构化散文——同样的提取方式适用于你拥有并会反复阅读的知识:内部文档(架构决策记录、运维手册、入职指南),可以把整个 docs/ 文件夹整合为一个 Skill,边写代码边查询。

更强大的是多源合并能力:

Bash

# 将多篇论文合并为一个统一的 Skill
/book-to-skill ~/papers/paper1.pdf ~/notes/annotations.txt \
               unified-cognitive-load-research

# 把整个文档文件夹编译为一个 Skill
/book-to-skill ~/workspace/project-docs/ project-knowledge

# 用 glob 模式处理一批书
/book-to-skill "~/Books/learning-science/*.epub" learning-science-stack

# 给已有 Skill 追加新资料(不重新编译)
/book-to-skill ~/articles/new-study-2026.pdf \
               ~/.claude/skills/learning-science-stack

研究集群——一叠论文加上你自己的笔记,合并为一个统一的 Skill,随新材料到来持续更新。 6 如果你的需求是"我有 80 本书,想跨书搜索",NotebookLM 是正确的工具。book-to-skill 为不同的工作而生:你想在某个特定主题上深入钻研,把多个相关文档(论文、章节、笔记)整合到单一统一的 Skill 中,甚至随时间更新它。

知道什么时候不该用它

诚实地说,book-to-skill 也有边界。

book-to-skill 在你反复回到这些知识时才能发挥优势;如果只是一次性阅读,直接用 PDF Agent 就够了。

还有一个技术限制:该工具需要明确的"Chapter N / Capítulo N"标题来分割书籍;只有章节标题或使用罗马数字的书(以及未用 ebooklib 提取的 EPUB)不能干净地自动分割。

判断要不要编译一本书,用这个简单测试:

text

如果这本书是一个你会反复查阅的框架来源 → 编译
如果这是一本你只打算读一次的叙事类书 → 不需要编译
如果这是公司内部文档、设计规范、技术手册 → 强烈推荐编译

一次编译,永久调用:真实的复利路径

一本书编译完成后,它的价值不是线性的,而是随着使用次数增加而复利增长的:

text

第 1 次调用:
/ericsson-peak "deliberate practice definition"
→ 获得精确的原书定义,用于写作

第 5 次调用:
/ericsson-peak "feedback requirements"
→ 核查某个具体论断是否有书中支撑

第 10 次调用(与另一本书对比):
/ericsson-peak "mental representations"
/newport-deep-work "attention residue"
→ 发现两书中一个从未被明说的隐藏联系

第 N 次调用(六个月后):
一个新问题出现,/ericsson-peak 给出的回答
仍然是原书的精确框架,没有漂移,没有遗忘

这是 book-to-skill 与所有其他阅读工具的根本差异:书的价值不会随时间衰减,而是随调用次数增加而累积。

不是阅读工具的升级,是与书籍关系的重构

框架变得可调用,词汇表变得可搜索,章节按需加载。

但这背后是一个更深的转变:

你和一本书的关系,从"我读过它"变成了"我随时可以精确调用它的任何部分"。

这不是效率的提升。这是知识从消费品变成了生产工具。

一本被编译成 Skill 的书,不再是一个你访问过的地方——它成为你认知工具箱里一个永远在线的专家。

你问它,它用原书的框架和术语回答你。没有扭曲,没有遗忘,没有幻觉。

我是【一只阿木木】——公开建造我的 AI 第二大脑。

普通人如何用 AI 搭建自己的知识操作系统?

一个程序员出身的知识工作者,公开记录自己如何用 AI 工具搭建个人知识系统、把读过的书和做过的项目变成可复用资产的全过程。

欢迎加入行动营👇获取更多Obsidian + AI数字大脑实践

Image

我相信:在 AI 时代,每个普通人都该拥有一个自动生长的知识系统

欢迎关注【一只阿木木】🌊