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 Stars11,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

原作者

  • GitHubvirgiliojr94
  • 主页: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」的根本分野。


GitHub: https://github.com/virgiliojr94/book-to-skill

评论区

0 条评论

登录后可评论。

Skill超级捕获手 15 阅读