一、问题背景
你买过多少本技术书,读完一遍就落灰了?三个月后连第七章讲过什么都想不起来。
想用 AI 帮忙查书,结果更糟。直接把 PDF 拖进 Claude 对话?一次 200K token,每次对话都得重新喂一遍。让 AI 凭记忆回答?它要么瞎编,要么说训练数据里没有这本书。自己整理笔记?写个 200 行的 Markdown,再也没打开过。
有没有一种办法,让 AI 把书吃进去,消化成结构化的知识,然后随叫随到?
book-to-skill 就是干这个的。

AI 眼中的世界:把知识蒸馏成技能
只用一本技术书的 PDF,跑一条命令,它就能把书里的框架、原则、反模式提炼成一套 Claude Code 能直接用的 skill。之后你在 Claude Code 里打下 /my-book cluster,AI 就自动加载对应章节,从真实内容里回答,不编造、不翻 PDF、不浪费 token。
二、适用场景
/<book-slug> ch03 直达第三章复习 |
三、核心知识点
1.book-to-skill 不是把 PDF 丢进上下文。它的核心思路是编译时解析,运行时只加载需要的切片。一本 200K token 的书,每次查询只消耗约 5K token,节省 24 到 51 倍。
2.输出的是一个标准 skill 目录。包含 SKILL.md(核心心智模型加章节索引)、chapters/(每章一个文件,按需加载)、glossary.md(术语表)、patterns.md(模式列表)、cheatsheet.md(速查表)。
3.支持 7 种输入格式:PDF、EPUB、DOCX、Markdown、HTML、RTF、MOBI/AZW。一个命令可以同时处理多个文件。
4.技术书 vs 文字书自动识别。技术书(含代码、表格、公式)用 Docling 提取,保持 Markdown 表格和代码块;纯文字书用 pdftotext,秒级完成。
5.提取的是结构,不是摘要。skill 不是这本书讲了什么的书评,而是作者构建了哪些框架、什么时候用什么原则、避开哪些反模式。它是一个工具箱,不是读书笔记。
6.按需加载章节文件。章节文件不占用 skill 预算,直到你问到某个主题才加载。这使得同一个 skill 可以覆盖几百页的书而不膨胀上下文。
7.支持更新/折叠新内容。读了新论文或补充材料后,可以合并到已有 skill 里,不需要重新生成整个 skill。
8.跨平台兼容。遵循开放 Agent Skills 标准,同一个 skill 可以在 Claude Code、GitHub Copilot CLI、Amp 间通用。
9.本地处理,隐私安全。文本提取和 AI 分析都在本地跑,你的文件不会被上传到第三方。
10.成本极低。一本 400 页的技术书,转换成本约 1 美元(Claude Sonnet 4.5),之后每次查询只消耗几千 token。
四、整体接入思路
PDF/EPUB/DOCX 文件 → book-to-skill 提取文本 → AI 分析框架结构 → 生成 skill 文件 → Claude Code 按需加载

流程图
五、实战步骤
1. 安装 book-to-skill
在 Claude Code 中执行:
/book-to-skill
会自动检测安装状态。如果尚未安装,手动 git clone:
git clone https://github.com/virgiliojr94/book-to-skill.git ~/.claude/skills/book-to-skill
2. 检查提取器依赖
python3 ~/.claude/skills/book-to-skill/scripts/extract.py --check
这会列出每个格式的提取器安装状态,以及安装缺失工具的命令。
3. 安装 PDF 提取器(按需)
文字书:
# 安装 pdftotext(最快)sudo apt install poppler-utils
技术书(含代码/表格):
pip install docling
4. 准备你的 PDF 文件
把技术书 PDF 放到一个目录,比如 ~/books/designing-data-intensive-apps.pdf。
5. 执行转换
在 Claude Code 中,输入:
/book-to-skill ~/books/designing-data-intensive-apps.pdf ddia

终端演示截图
6. 选择内容类型
AI 会问你是技术书还是文字书。技术书选 technical,文字书选 text。
7. 确认成本估算
AI 会给出 token 估算和价格(约 1 美元),确认后开始生成。
8. 等待生成完成
提取加 AI 分析加生成 skill 文件,一本 400 页的书大约需要几分钟。
9. 使用 skill
在新会话中,直接输入:
/ddia replication/ddia ch05/ddia "what chapters do you have?"
10. 补充新内容
读了新论文要合并到已有 skill:
/book-to-skill ~/articles/new-paper.pdf ~/.claude/skills/ddia
11. 列出所有已安装的 skill
在 Claude Code 中:
/skills list
12. 清理不需要的 skill
删除对应目录即可:
rm -rf ~/.claude/skills/ddia
六、常用命令速查
git clone https://github.com/virgiliojr94/book-to-skill.git ~/.claude/skills/book-to-skill | |
/book-to-skill <path-to-pdf> <skill-name> | |
python3 scripts/extract.py --check | |
pip install docling | |
sudo apt install poppler-utils | |
/<skill-name> <query> | |
/<skill-name> "what chapters do you have?" | |
/<skill-name> ch05 | |
/book-to-skill <new-file> <path-to-existing-skill> | |
/skills list | |
rm -rf ~/.claude/skills/<skill-name> | |
pip install ebooklib beautifulsoup4 | |
pip install python-docx | |
pip install beautifulsoup4 | |
pip install striprtf | |
七、配置示例
示例 1:转换一本技术书
/book-to-skill ~/books/pro-git.pdf pro-git
技术书模式,用 Docling 提取,保持代码块和表格结构。
示例 2:转换一个文件夹
/book-to-skill ~/workspace/project-docs/ project-knowledge
把整个 docs 目录转成一个 skill,包含架构决策记录、运行手册等。
示例 3:合并多个文件
/book-to-skill ~/papers/paper1.pdf ~/notes/export.txt unified-research
多篇论文加笔记合并成一个统一 skill。
示例 4:更新已有 skill
/book-to-skill ~/articles/new-paper.pdf ~/.claude/skills/unified-research
把新论文折叠进已有 skill,不重新生成全部。
示例 5:只分析不生成
在 cost estimate 阶段回答 analyze only,AI 会输出结构化分析报告供你预览,确认后再生成。
八、效果观察方法
1.Token 节省:对比直接丢 PDF 进上下文 vs 用 skill 查同一个问题,观察 token 消耗差异。一本 400 页的书:200K vs 5K。
2.回答准确度:问一个具体的技术细节(比如 DDIA 里对 replication 的 quorum 是怎么定义的),看 skill 是否从真实内容中回答,而不是胡编。
3.加载速度:第一次使用 /<skill-name> <query> 时,AI 会读取 SKILL.md 核心(约 4K token),然后按需加载对应章节(约 1K token),整体响应速度远快于读完整本书。
4.跨会话复用:skill 安装一次后,新会话中直接使用,不再需要重复加载。这是 vs 直接丢 PDF 的最大优势。
5.多文件整合:多个来源合并后,问跨文件的问题(比如 paper1 和 paper2 在这个概念上有什么异同),看 AI 是否能关联回答。
九、排查路径
~/.claude/skills/book-to-skill/ 下,且有 SKILL.md 文件 | ||
python3 scripts/extract.py --check 查看缺失的提取器 | ||
pip install docling) | ||
~/.claude/skills/book-to-skill/ | ||
十、风险提醒
十一、验证方式
ls ~/.claude/skills/book-to-skill/SKILL.md | ||
python3 scripts/extract.py --check | ||
/<skill-name> "what chapters do you have?" | ||
/<skill-name> <具体概念> | ||
/<skill-name> | ||
rm -rf ~/.claude/skills/<skill-name> | /skills list | |
十二、回滚方案
~/.claude/skills/book-to-skill/,重新 git clone | |
十三、注意事项
1. 第一次使用 book-to-skill 时,Claude Code 会提示授权 Bash 执行,允许即可。
2. 技术书推荐用 Docling 模式,提取质量远高于 pdftotext。
3. 中文 PDF 建议用 Docling 模式,pdftotext 对中文支持较差。
4. 生成长度超过 500 页的书时,建议后台运行,提取时间较长。
5. 生成的 skill 不要分享给他人,避免版权问题。
6. 如果书有明确的 Chapter N 标题,自动章节检测效果最好。
7. 多本书合并时,注意不要混合不同主题的书,否则 skill 会变得臃肿。
8. 更新模式下,新内容会折叠进已有章节,不会覆盖已有内容。
9. 如果发现 extract.py 找不到,检查安装路径是否为 ~/.claude/skills/book-to-skill/。
10. 生成的 skill 文件是纯文本,可以手动编辑调整。
十四、总结
book-to-skill 解决的痛点很原始:你买了书,读了,忘了,AI 帮不上忙。
传统的做法是把 PDF 塞进上下文,每次对话烧 200K token,成本高、响应慢。book-to-skill 换了个思路:编译时解析,按需加载。一次转换,终身可用。
它的核心亮点:
• 24 到 51 倍 token 节省:每次查询只需约 5K token,而不是 200K
• 结构不是摘要:提取的是作者构建的框架、原则和反模式,不是这本书讲了什么
• 按需加载:只有问到某个主题才加载对应章节
• 跨平台:Claude Code、Copilot CLI、Amp 通用
• 隐私优先:本地提取,不上传文件
• 成本极低:转换一本书约 1 美元
项目地址:https://github.com/virgiliojr94/book-to-skill
如果你手里有一本吃灰的技术书,今天就可以试试。把知识装进 AI 的大脑,让它变成你随叫随到的技术顾问。
关注Agent技能库,每天认识一个可用的AI Agent Skill。
夜雨聆风