book-to-skill Skill:把任意技术书 PDF 一键蒸馏成 Claude Code 可调用技能
你是不是也买过几本经典技术书,读过一遍就再也想不起来第七章讲了什么?现在有一个 Skill 想替你治这个毛病——把任意一本技术书、PDF 资料、内部文档或者品牌规范,蒸馏成一个 Claude Code / Copilot CLI / Amp 都能秒加载的技能包,问你问题时直接定位到正确章节、不幻觉、不堆上下文。这个 Skill 就是 trending 上的 book-to-skill,最近 GitHub 热度刚破 1.1 万星,Trendshift 上还拿过 Python 仓库 #10。
一句话总结
book-to-skill 是一个「书→技能」编译器:你给它一个 PDF / EPUB / DOCX / Markdown 文件夹,它自动抽出框架、决策规则、反模式、术语表与速查表,并按 open Agent Skills 标准写到 ~/.claude/skills/<slug>/ 下,之后用 /<slug> ch05 这种斜杠命令就能在 Claude Code 中按需加载。它火是因为它直击「读过的书等于没读」这个长期痛点,同时绕开了 PDF 直读时的「context 爆炸 + 幻觉」陷阱。
功能与原则
核心能力:
– 多格式文档蒸馏:支持 PDF / EPUB / DOCX / TXT / Markdown / reST / AsciiDoc / HTML / RTF / MOBI 全家族
– 按目录结构输出技能:生成 SKILL.md(核心心智模型 + 章节索引)+ chapters/ch01-*.md(按章节拆分)+ glossary.md + patterns.md + cheatsheet.md
– 章节按需加载:常驻核心约 4,000 tokens,被问到具体章节时再加载那 1,000 tokens,不污染上下文预算
– 更新 / Fold-in:可以追加新文件到已有 skill,自动合并
– 跨主机:遵循 Agent Skills 开放标准,Claude Code / GitHub Copilot CLI / Amp 三端共享同一份 SKILL.md
设计原则(README 明确列出):
1. 密度优先于完整:1,000-token 摘要 > 10,000-token 原文摘抄
2. 从业者口吻:写「用 X 当 Y」而不是「书里讲了 X」
3. SKILL.md 前置压缩:最重要的内容放在前 ~5,000 tokens
4. 按需章节:让模型自己读章节文件,而不是把所有内容塞进上下文
5. 永远不丢原文:合成而不摘抄,永远能从磁盘回查
认可度
- GitHub Stars:11,321(截至 2026-07-29,API 实测)
- Forks:1,338
- Watchers:62
- License:MIT(自由可商用)
- Trending 经历:
- 🏆 Trendshift #10 Python Repository of the Day(2026-05-23)
- 🏆 Trendshift #25 Repository of the Day(2026-05-23)
- 当前位列 GitHub Trending 今日榜
- Releases:v1.0.0(2026-06-08)→ v1.1.0(2026-06-12)→ v1.2.0(2026-06-17,「多语种章节检测」),三个月内三次稳定发布
- 社媒热度:GitHub Trending 收录 + Reddit r/ClaudeAI 多个「我的 Claude Code 工作流」帖子引用;常被列为 2026 年 Q2 必装 Agent Skill 之一
- 生态位:直接对接 open Agent Skills 标准(https://github.com/agentskills/agentskills),可被三款主流 CLI 工具复用
链接
- GitHub 仓库:https://github.com/virgiliojr94/book-to-skill
- Latest release:https://github.com/virgiliojr94/book-to-skill/releases
- Agent Skills 开放标准:https://github.com/agentskills/agentskills
- Trendshift 徽章:https://trendshift.io/repositories/27038
原作者
- GitHub:virgiliojr94
- 主页:https://github.com/virgiliojr94
- 背景:活跃在 Claude Code 工具链生态,已将多款 Skills 开源到 https://github.com/virgiliojr94
- 项目理念:「Skill 不是把书塞进上下文,而是把书蒸馏成框架——知识要被用,而不是被检索。」
项目介绍
book-to-skill 的故事从一句吐槽开始:「你买了一本好书,读过一遍,三个月后你已经忘了第七章存在。」传统 workaround 都不灵:直接搜 PDF 得到的是页码列表;问 agent 关于书的内容,要么幻觉、要么答「我没看过」;手写笔记最后变成一份 200 行、永远不会回头看的 Markdown。
book-to-skill 的解法是把「读」变成「编译」。它做的是一次性的提取 + 永久的结构:在编译期支付一次 PDF 解析与 LLM 蒸馏成本(实测一本书约 $1),生成一个常驻 ~4K tokens、章节按需加载的 Skill。之后每次会话,模型只看与当前问题相关的章节切片,回答还能对照磁盘里的原文做事实校验。
它解决的问题不止「书」——README 列出了几个「Beyond books」场景:内部 ADR / runbook 整合成一个项目知识库、品牌规范合成一个语气 / 组件一致性 skill、论文集群随读随合入、RFC 与 API 合同随时可查。一句话总结:「任何你打开过 ≥ 3 次、希望自己已经记住的文档」都是它的合法输入。
核心特点
- 格式覆盖最广:PDF、EPUB、DOCX、TXT、Markdown、reST、AsciiDoc、HTML、RTF、MOBI 一次性支持;普通文本/Markdown 完全免依赖
- PDF 引擎智能选择:技术书(含代码、表格、公式)走 Docling(保 markdown 表),文字书走 pdftotext(毫秒级),全自动切换
- 章节颗粒度按需:常驻 ~4K tokens + 单章节 ~1K tokens,对比「把整本书塞进 context」实测 24×–51× 节省(作者跑了 103 页、244 页、501 页三本书的基准)
- 「Discovery Loop Tax」成体系:作者专门写了
tools/discovery_tax.py量化「PDF 直读的导航成本」,比一个 turn 接一个 turn 重读压缩更省 2.4×–15.6× - 可 Fold-in 更新:新读一篇论文,合入已有 skill,不重建——这是其它同类工具常缺的功能
使用方法
Step 1 · 选安装方式(两种互斥):
# A. 作为 Agent Skill(推荐)—— 拿到 /book-to-skill 斜杠命令
git clone https://github.com/virgiliojr94/book-to-skill.git ~/.claude/skills/book-to-skill
# Copilot CLI 用 ~/.copilot/skills/ ;Amp 用 ~/.agents/skills/
# B. 仅装 CLI 提取器(不注册为 Skill)
pip install "book-to-skill[pdf,epub,docx]"
book-to-skill --check # 检查各格式 extractor 是否就位
Step 2 · 一行命令编译一本书:
# 在 Claude Code / Copilot CLI / Amp session 里:
/book-to-skill ~/books/designing-data-intensive-apps.pdf
# → 自动写入 ~/.claude/skills/designing-data-intensive-apps/
Step 3 · 之后像普通 Skill 一样调用:
/designing-data-intensive-apps # 加载核心心智模型
/designing-data-intensive-apps replication # 查某主题
/designing-data-intensive-apps ch05 # 直接跳第 5 章
/designing-data-intensive-apps "what chapters do you have?"
Step 4 · 增量合入新材料:
/book-to-skill ~/articles/new-paper.pdf ~/.claude/skills/designing-data-intensive-apps
# → 把新论文 fold-in 进已存在的 skill(不重建)
环境依赖仅一项:技术类 PDF 装 pip install docling;纯文本书装 sudo apt install poppler-utils 即可,book-to-skill --check 会自动告诉你缺哪个。
使用场景与人群
- 目标用户:
- 重度技术书读者(每年读 20+ 本,但 3 个月后回忆率 < 30%)
- 团队 lead 想把内部 ADR / runbook 变成「可对话的团队大脑」
- 研究者要把论文集群整合成统一知识库
- 设计 / 品牌团队把 voice guideline 转成 tone-of-voice skill
- 典型场景:
- 工作中遇到某本旧书的某个概念 →
/book-name chapter直接调出来 - 项目文档散落在 Confluence / Notion / 本地 Markdown →
/book-to-skill "~/docs/**/*.md" project-knowledge一键整合 - 法务 / 合规团队把 RFC、API 合同、合规文档变成永远在线的「问答 bot」
- 不适用场景:
- 单次读完就丢的休闲小说(一次性的 PDF agent 就够)
- 没
Chapter N显式标题的 PDF(Pro Git / Moby-Dick 等章节标题型,作者已在 README 里诚实标注) - 想要完美表格 / 公式还原的高保真场景(Docling 已尽力,但仍非学术级)
输入与输出案例
案例 1 · Thinking Python 第二版(README 实测基准)
输入:/book-to-skill ~/books/think-python-2.pdf
├─ 格式:PDF,244 页
├─ 抽取 token:119,000
└─ 自动检测章节数:19
输出(写入 ~/.claude/skills/think-python-2/):
├─ SKILL.md (~4,000 tokens) —— 核心心智模型 + 19 章索引
├─ chapters/ch01-introduction.md ... ch19-*.md (各 ~1,000 tokens)
├─ glossary.md (~1,500 tokens)
├─ patterns.md (~2,000 tokens)
└─ cheatsheet.md (~1,000 tokens)
调用示例:
/think-python-2 ch12 → 「第十二章:面向对象设计」
/think-python-2 recursion → 「递归的心智模型 + 在第 8 / 11 章的应用」
/think-python-2 "what chapters do you have?" → 列出 19 章
成本:Claude Sonnet 4.5 单次编译约 $0.88(约 ¥6.3 / 本)
案例 2 · 项目级文档整合(Beyond books 典型用法)
输入:/book-to-skill "~/workspace/my-saas/docs/**/*.md" project-knowledge
输出(写入 ~/.claude/skills/project-knowledge/):
├─ SKILL.md —— 项目的核心架构 + 决策历史
├─ chapters/adr-001-why-postgres.md ...
├─ glossary.md —— 项目术语表
├─ patterns.md —— 代码模式 / API 设计规范
└─ cheatsheet.md —— 上线 / 回滚 checklist
后续调用:
/project-knowledge "为什么用 Postgres 而不是 MySQL?"
→ 直接读 adr-001.md 并给出原文级回答,不是泛泛而谈
一个月花 $1 编译一本神书,往后每次需要 1,000 tokens 就能拿到原文级答案——这就是 book-to-skill 在 GitHub Trending 上冲上 11K+ star 的核心理由,也是它和「把 PDF 塞进项目 context」的根本分野。
评论区
登录后可评论。