GitHub 趋势 · 第 68 期

技术书读完就忘?把它蒸馏成 Agent 技能

#GitHub趋势#Agent技能#知识管理

先给判断:book-to-skill 解决的不是「怎么读书」,而是「读过的书怎么还留在工作流里」。它把一份结构化文本拆成一份约 4,000 token 的主索引加若干按需加载的章节文件,让 Agent 每次只读该读的那一章。MIT 许可、3 万 star、只有 17 个 open issue,维护状态很干净。但它自带一条硬红线——生成物是你个人的学习笔记,涉及第三方版权书的技能不能公开分享。

痛点:书的寿命比你的记忆长

买一本技术书,认真读一遍,三个月后你连第 7 章存在过都忘了。

「直接搜 PDF」——你拿到一串页码,不是答案。

「让 Agent 读这本书」——它要么开始幻觉,要么直接承认自己没有这本书的内容。

「边读边做笔记」——最后攒出一个 200 行、再也不会打开的文档。

更深一层的问题在成本结构:即使 Agent 能读 PDF,它每一轮都在重新导航——重取目录、回头翻页、把全部内容重新处理一遍。token 消耗随对话轮数线性上涨,而真正用在答案上的只占很小一部分。

book-to-skill 是什么

virgiliojr94/book-to-skill 是一个 MIT 许可的 Python 工具,定位一句话:把任意技术书、文档目录或一堆资料,转成一个统一的 Agent 技能。仓库 2026 年 5 月创建,遵循开放的 Agent Skills 标准——GitHub Copilot CLI、Amp、Claude Code、Hermes Agent 读的是同一份 SKILL.md 格式。

输入远不止 PDF:EPUB、DOCX、Markdown、HTML、RTF、MOBI / AZW3、TXT 都在支持列表里。作者的措辞是「不止是书」——内部文档、架构决策记录、runbook、品牌与设计规范、论文加自己笔记的合集,凡是「你反复打开、希望自己已经背下来」的文档都算候选。

用法就三步:指向文件,它蒸馏,你的 Agent 按需加载。命令形如 /book-to-skill ./my-book.pdf

数据上,Trending Python 榜显示 30,230 star(当日 +289),GitHub API 口径为 30,130 star、3,128 fork、17 个 open issue、138 个 watcher,默认分支 master,未归档。

它到底生成了什么

文件作用体积
SKILL.md核心心智模型 + 章节索引约 4,000 token
chapters/ch01-*.md ...每章一个文件,按需加载每个约 1,000 token
glossary.md全部关键术语,按字母序排,带章节引用约 1,500 token
patterns.md所有技术、算法与设计模式约 2,000 token
cheatsheet.md决策表与速查规则约 1,000 token

关键在于章节文件是按需加载的:你不问某个话题,它就不占技能预算。

作者给出的量化口径是「比把整本书塞进上下文少 24 倍到 51 倍的 token」——衡量的是回答同一个问题;测试跑在真实书籍上,方法论公开在 docs/performance.md。作者把被省掉的那部分叫 发现循环税:PDF 阅读型 Agent 每一轮都在重取目录、回头翻页、重新处理,所以把结构化成本前置付一次,查询成本才能与答案成正比,而不是与书的厚度成正比。

其余几个设计值得单独看:

上手:README 原命令

装,一条命令走跨 Agent 的技能 CLI;或者手动克隆到技能目录:

# 一条命令,任意宿主,走跨 Agent 的技能 CLI:
npx skills add virgiliojr94/book-to-skill

# 或者手动克隆进技能目录(会注册 /book-to-skill):
git clone https://github.com/virgiliojr94/book-to-skill.git ~/.claude/skills/book-to-skill
# (Copilot CLI: ~/.copilot/skills/ · Amp/跨 Agent: ~/.agents/skills/)
# (Hermes Agent: ${HERMES_HOME:-$HOME/.hermes}/skills/<category>/)

先自检环境,再转第一本书:

python3 scripts/extract.py --check
/book-to-skill ./my-book.pdf

扫描版 PDF 是硬限制,得自己先补 OCR——提取器会检查前几页然后立刻停下并解释原因,而不是把整本书跑完再交给你一个空技能:

ocrmypdf input.pdf output.pdf

我的判断:适合谁、不适合谁、坑在哪

适合:手上有电子版技术书、日常已经在 Claude Code / Copilot CLI / Amp 里写代码的人;也适合把公司内部文档、runbook、RFC 折成一个随时可查询的技能。

不适合:只有纸质书、没有电子版的人;只读一遍就够的一次性资料,蒸馏成本大于收益;以及想「让 Agent 替我读完这本书」的人——它产出的是索引与提炼,不是替代阅读。

坑 1 · 版权红线是硬约束:README 专门写了一节。项目本身不附带任何书籍内容——一页都没有,处理也全在本地跑;但它明确写着生成物应当被当作手写学习笔记、仅供个人使用,并且不要分发涉及第三方版权作品的技能,理由是发布或分享一份由受版权保护作品生成的技能,可能侵犯权利人。MIT 许可只覆盖转换器本体,不覆盖你处理的书。想把生成技能推到 GitHub,这一步必须先想清楚。

坑 2 · 本地提取不等于本地推理:提取环节在你机器上,文件不会被这个工具上传;但如果你的 Agent 模型跑在云端,喂进去的正文仍然按那家服务商的正常数据条款走——和任何一条 prompt 没有区别。

坑 3 · 技术书要额外装东西:想保住表格和代码块就得装 docling,代价约 1.5 秒/页;纯文字书用 pdftotext 才是「瞬间」。好在工具缺失时它会直接告诉你该跑哪条命令,不静默降级。

坑 4 · 宿主兼容有细节:Hermes Agent 不扫跨 Agent 根目录,会落到 $HERMES_HOME 下的分类目录;Claude Code 的软链要靠读回校验确认生效。多宿主混用时路径差异得照着文档逐个配。

一句话收尾

book-to-skill 的价值不在「让 AI 读书」,而在把一次性阅读换成一份能被反复调用的结构化索引——24 倍到 51 倍的 token 差距,本质是把每轮都在重复的导航成本提前付掉一次。真正的门槛不在技术,在它划出来的那条线:转换器是 MIT 的,书不是你的。

你手上有没有那种「读完、画了线、然后彻底忘了」的技术书?评论区报个书名。

下期预告:本期月榜与分语言榜终于出现了此前几期都没写过的项目,所以回到单项目精读;下期若新面孔动量更高就继续单项目,若三榜又回到「全部已写」的状态,则转为「Apple Silicon 上跑本地大模型」主题族的横向对比合集。

#GitHub趋势#Agent技能#知识管理

项目地址:github.com/virgiliojr94/book-to-skill(https://github.com/virgiliojr94/book-to-skill)

Star:30,130(GitHub API)/ 30,230(Trending Python 榜,当日 +289)

Fork 3,128 · Open issue 17 · Watcher 138 · 主语言 Python · 默认分支 master · 未归档

许可:MIT(仅覆盖仓库内的转换器与技能定义,不覆盖你处理的任何书籍或文档)

创建 2026-05-01 · 最后推送 2026-09-12

数据来源:GitHub Trending 官方页面(全语言榜 + Python 榜)+ GitHub REST API · 抓取时间 2026-09-13 02:40