你有没有过这样的经历?
花了 89 块钱买了本《Designing Data-Intensive Applications》,啃了两个星期,读完那一刻意气风发。三个月后老板问你"我们这个场景到底该用哪种数据复制策略",你脑子里只剩下一句——"书里好像讲过……第七章?还是第八章来着?"
于是你开始了熟悉的三连套路:
书买了,时间花了,知识却像沙子一样从指缝漏光。有没有一套可复制的方法,让你读过的每一本技术书,都变成 AI 随时能调用、还不会瞎编的"常驻技能"?
最近在 GitHub 冲到 7000+ star、登上 Trendshift 当日 Python 榜第 10 的开源项目 book-to-skill,给出的答案很硬核:把整本书"蒸馏"成 Agent Skill,比直接把书丢进上下文省 24–51 倍 token。
今天这篇,给你 5 个上手步骤 + 3 个核心认知,照着做就行。
book-to-skill 的一句话定位是——把任意技术书、文档文件夹或资料合集,变成一个统一的 Agent Skill,让你在 Claude Code、GitHub Copilot CLI、Amp 里边干活边查阅。
它的工作原理只有 3 步,简单到一句话能说完:
指一下 → 它蒸馏 → Agent 按需加载。

book-to-skill 工作原理三步法
具体拆开:
/book-to-skill ./my-book.pdf;/my-book replication,它自动读对应章节,从真实内容里回答,不幻觉。关键差异在这句话:原始文本注入是"检索",而 skill 是"推理"。 当你加载一个章节文件时,Claude 拿到的不是一堆关键词匹配的页码,而是预先提炼好的命名框架、原则和心智模型——为"应用"而结构化,不是为"阅读"。
跑一次 /book-to-skill your-book.pdf,它会在你的 skills 目录里生成一整套结构化文件。这是它和"做笔记"最本质的区别——你得到的不是一坨文字,而是一套分层、可按需调用的知识体系:
文件 | 用途 | 体积 |
|---|---|---|
SKILL.md | 核心心智模型 + 章节索引 | ~4,000 tokens |
chapters/ch01-*.md | 每章一个文件,按需加载 | 每个 ~1,000 tokens |
glossary.md | 所有关键术语,按字母排序 + 章节引用 | ~1,500 tokens |
patterns.md | 所有技巧、算法、设计模式 | ~2,000 tokens |
cheatsheet.md | 决策表与快速参考规则 | ~1,000 tokens |
记住这个设计精髓:章节文件是"按需加载"的——在你真正问到那个主题之前,它们根本不占用 skill 的 token 预算。常驻的只有那个 ~4,000 tokens 的 SKILL.md 核心。
一坨 1,000 token 的提炼,胜过一段 10,000 token 的原文摘录。密度,永远优先于完整。
这是全篇最值得你记住的一点。作者起了个很形象的名字叫 "探索循环税"(Discovery Loop Tax)。
一个读 PDF 的 Agent 不只是"读",它还要"导航":你问一个问题,它先抓目录,发现一个不懂的术语,再翻几页,回退……每一次跳转都进了对话历史,并在后续每一轮被重新处理一遍。 为了不爆预算,子 Agent 被迫把读到的内容暴力压缩,最后甩给主 Agent 一份没法核对的劣质摘要。
book-to-skill 的思路是:导航成本只在编译时付一次。 运行时只加载一个小巧的常驻核心 + 一个预编译好的章节(约 5,000 tokens),没有探索循环,没有压缩失真,完整原文还留在硬盘上供核对。
下面这组在三本真实书上跑出来的数据,最有说服力:

三种方式回答同一个问题的 token 消耗对比
书(体积) | 直接塞进上下文 | 探索循环 | book-to-skill | 对比 |
|---|---|---|---|---|
Think Python 2(119K,小章节) | 119,264 | 12,152 | ~5,000 | 24× / 2.4× |
Working Backwards(175K,中章节) | 175,253 | 33,444 | ~5,000 | 35× / 6.7× |
AI Engineering(256K,大章节) | 256,287 | 77,866 | ~5,000 | 51× / 15.6× |
三个要点你拿走:
把书贴进上下文,是"每一轮、每一次会话、永远"地交税;book-to-skill 是付一次编译费,往后只取需要的切片。经济学叫"摊销",不是"比大小"。
光看原理不顶用,下面是拿来就能跑的操作清单。
它会按格式依次尝试工具,用第一个可用的。一行命令先体检:
python3 scripts/extract.py --checkPDF 按书的类型二选一:
pdftotext(sudo apt install poppler-utils),瞬间完成;docling(pip3 install docling),约 1.5 秒/页,但能把表格和代码块原样保留成 markdown。纯文本、Markdown、reStructuredText、AsciiDoc 这几种格式不用装任何东西。
一条命令的格式是这样:
/book-to-skill <文件/文件夹/通配符>... [skill 名称]支持的格式相当全:PDF、EPUB、DOCX、TXT、Markdown、reStructuredText、AsciiDoc、HTML、RTF、MOBI/AZW/AZW3。
提取开始前,它会问你这本书是 technical(技术) 还是 text-heavy(纯文字),然后自动选对工具——技术书走 Docling 保留表格代码,纯文字书走 pdftotext 图个快。别跳过这一步,选错了表格和代码会丢。
它会自动:分析结构(标题、作者、章节、目录)→ 生成每章 800–1,200 token 的提炼 → 生成术语表、模式库、速查表 → 写出带核心心智模型的 SKILL.md。最后 skill 落到对应目录:
~/.claude/skills/<slug>/(Claude Code)~/.copilot/skills/<slug>/(GitHub Copilot CLI)~/.agents/skills/<slug>/(Amp / 跨 Agent)/designing-data-intensive-apps # 加载核心心智模型
/designing-data-intensive-apps replication # 定位并讲解某个主题
/designing-data-intensive-apps ch05 # 直接钻进第 5 章
/designing-data-intensive-apps "你有哪些章节?"提示:GitHub Copilot CLI 写完文件后可能要跑一下
/skills reload;Claude Code 和 Amp 下次会话自动识别。
名字叫 book-to-skill,但它的输入其实是任何结构化的文字。下面这些你天天重读的东西,都是合格的原料:
docs/ 文件夹折成一个 skill,边写代码边问;判断标准只有一句话:如果一份文档你打开的次数多到希望自己当初背下来了,它就是个好原料。
如果你今天只带走三句话:
从今天开始的第一步:翻出你书架上那本读了一遍就吃灰的技术书,跑一句 python3 scripts/extract.py --check,先把环境体检了。一本书的编译成本约 1 美元,远比你每次会话重新喂一遍 PDF 划算。
项目地址:github.com/virgiliojr94/book-to-skill,MIT 协议,开源免费。
你书架上那本"读完就忘"的书是哪一本?评论区告诉我,看看谁的最值得做成 skill。
今天的分享就到这里。后续我会持续为大家带来实用的技术干货和前沿的技术资讯。如果你对工具链探索感兴趣,我会在公众号「DevLlama」持续分享前端工程化、构建优化等实战经验,欢迎关注,不要错过任何精彩内容!
支持我们,点赞或分享到朋友圈!