买了本好书,读完三个月后想不起第 7 章讲什么。搜 PDF 只得到页码,让 Agent 凭记忆答容易幻觉,手写笔记又再也不打开。book-to-skill 的做法是:把书蒸馏成结构化 skill,Agent 按需加载真实章节,而不是靠「记得大概」。
项目:virgiliojr94/book-to-skill(MIT)。互补的一篇:mattpocock/skills——一个管「懂什么」,一个管「怎么干」。
三步
- 指向:
/book-to-skill ./my-book.pdf(文件、文件夹、glob 都行) - 蒸馏:提炼成框架、决策规则、反模式、逐章文件——是结构,不是摘要
- 使用:
/my-book replication,Agent 读对应章节再回答
生成结构(~/.claude/skills/<slug>/)
| 文件 | 用途 | 大约大小 |
|---|---|---|
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 预算。实测比整本书塞进上下文省约 24×–51× tokens。
亮点
- 格式广:PDF、EPUB、DOCX、TXT、Markdown、reST、AsciiDoc、HTML、RTF、MOBI/AZW
- 不限于书:内部文档、ADR、runbook、设计系统、论文、RFC / API 规范都适用。经常重新打开、恨不得背下来的材料,就是候选
- 开放标准:Agent Skills(
SKILL.md),兼容 Claude Code、GitHub Copilot CLI、Amp
PDF 提取
按书型选工具(提取前会问是技术书还是文字书):
| 书型 | 工具 | 速度 |
|---|---|---|
| 文字类 | pdftotext(poppler) |
即时 |
| 文字类备选 | pypdf / pdfminer.six | 即时 |
| 技术类(代码 / 表格 / 公式) | docling | 约 1.5 秒/页,保真表格 |
1 | python3 scripts/extract.py --check |
一条命令列出各格式缺什么、怎么装。
示例
1 | # 多文件合成一个 skill |
调用(Copilot CLI 需先 /skills reload;Claude Code / Amp 下个会话生效):
1 | /designing-data-intensive-apps # 核心心智模型 |
评价
- 适合:架构书、规范、内部文档——把「读过」变成可检索资产
- 对比 RAG:RAG 回片段,这个回结构化章节,路径更简单
- 注意:效果取决于蒸馏质量和切章;技术书建议用 docling,避免表格 / 公式失真