
이미지: METAL LAB 생성
摘要
- 开发者virgiliojr94公开了开源工具book-to-skill,可以把技术书PDF或文档文件夹转换成AI代理可用的技能
- 据实测数据,相比把整本书塞进上下文的方式,回答同样的问题所需token能减少24到51倍
- 该工具基于GitHub Copilot CLI、Amp、Claude Code共同采用的开放Agent Skills标准(SKILL.md)运行
- 저장소
- github.com/virgiliojr94/book-to-skill
- 제작자
- virgiliojr94
- 라이선스
- MIT (변환기 코드·스킬 정의에만 적용, 처리 대상 문서에는 미적용)
- 호환 호스트
- GitHub Copilot CLI, Amp, Claude Code
- 토큰 절감
- 실제 책 기준 24배~51배 (책 전체를 컨텍스트에 넣는 방식 대비)
- 기본 명령
- /book-to-skill <경로|폴더|글롭> [스킬이름]
- 표준 문서
- SKILL.md (오픈 Agent Skills 포맷)
与其重新翻书,不如直接问AI
厚厚的技术书买回来读完一遍,三个月后往往连第七章讲了什么都记不清了。与其每次都要重新翻开书本、翻找目录,不如把整本书的内容交给AI代理保管,需要时随时提问——github.com/virgiliojr94/book-to-skill仓库公开的这款开源工具正是为此而生。这是开发者virgiliojr94打造的book-to-skill,一款能把技术书PDF、文档文件夹或多份资料合集转换成单一"代理技能"的转换器。
为什么不能直接把PDF扔进去
如果让AI代理直接读取整份PDF,代理每一轮对话都要重新翻一遍目录、再回头查找所需部分。也就是说,为了回答一个问题,每次都要重新处理整本书篇幅的token。book-to-skill的设计思路是,把这种"结构化成本"只在转换阶段支付一次。它会把书拆分成按章节保存的文件,只有在真正问到某个主题时才调用对应章节。据开发者介绍,这样一来,回答同一个问题所需的token比把整本书塞进上下文的方式少24到51倍。
它是如何运作的
整体结构分为两部分。一部分是确定性的Python提取器,负责把文档转换成干净的文本和元数据;另一部分是基于规范的生成器,由代理依照SKILL.md文档把这些文本组装成结构化的技能。这个技能运行在github-copilot、Amp、Claude Code共同采用的开放Agent Skills标准之上,因此不管用这三个宿主平台中的哪一个,读取的都是同样的SKILL.md格式。
不同格式优先尝试的提取工具也不一样:据介绍,表格和代码块较多的技术书会自动选用Docling,以散文为主的书籍则会选用速度更快的pdftotext。至于只有页面图像的扫描版PDF,由于本身就没有可提取的文本,转换器会先检查开头几页,然后直接停止并说明原因。这种设计不会生成一个空技能就草草了事,而是引导用户先做OCR处理。
怎么上手使用
从哪里开始 —— 如果你正在使用GitHub Copilot CLI、Amp、Claude Code中的任意一个,可以按照仓库中的安装文档(docs/install.md)操作,把book-to-skill转换器接入对应的宿主平台,这就是开始的第一步。
分步使用流程
- 在代理聊天窗口输入
/book-to-skill <文件路径|文件夹|通配符> [技能名称]命令。可以传入单个文件、整个文件夹,或多个文件的列表。 - 转换器会判断文档格式,自动选择合适的提取工具来抽取文本和元数据。
- 生成器把提取结果组装成SKILL.md和按章节划分的文件,保存到对应宿主平台的技能目录中。
- 之后只需以
/书名-slug 问题内容的形式提问,代理就会只调用所需的章节文件,基于实际正文内容作答。
谁可以使用 —— 支持开放Agent Skills标准的宿主平台,比如GitHub Copilot CLI、Amp、Claude Code都可以使用,该工具采用MIT许可证,免费公开。不过书籍内容本身并不包含在仓库里,只是把用户已有的文件进行转换,因此版权和使用条款方面的责任由用户自行承担。
| 宿主平台 | 技能保存路径 |
|---|---|
| GitHub Copilot CLI | ~/.copilot/skills/<slug>/ |
| Amp(跨代理) | ~/.agents/skills/<slug>/ |
| Claude Code | ~/.claude/skills/<slug>/ |
还能做什么 —— 虽然工具名字带有"书"字,但只要输入的是结构化的散文内容,用什么都可以。经常需要反复查阅的内部手册、规章制度、团队文档合集,同样可以用这种方式转换成技能。仓库中介绍的一个案例是,有人把一本讲开发者体验(DevEx)的书转换后,用作300多名工程师问卷调查的参考资料。
编辑视角
这款工具真正有意思的地方,不在于book-to-skill本身,而在于它所依托的标准。正如8月初《GitHub Copilot应用支持斜杠命令,简化工作流程》一文所述,Copilot应用正朝着自动管理上下文的方向扩展;而《AWS在Bedrock自动推理策略中引入开源Agent Skills》一文也提到,Anthropic提出的Agent Skills格式正把AWS这样的基础设施厂商也拉了进来。book-to-skill恰好站在这两股潮流的交汇点上——这意味着,个人用户一本书的知识,也能用和企业级技能相同的SKILL.md语法来组织。
实际用过这类工具的人,体感往往大同小异。把整份PDF直接扔进去的方式,前几次用起来很方便,但随着对话变长,重复翻查同一份目录的成本会不断累积。按章节拆分、按需调用的结构虽然消除了这种累积成本,但代价是需要额外做一次前期转换工作。如果是需要控制token成本的团队,不妨从经常查阅的内部文档开始试着转换成技能;反过来,如果只是偶尔查一次的资料,那就没必要费这个功夫去转换了。
提前筛掉扫描版PDF并说明原因的设计也值得关注。与其生成一个空技能、日后才发现问题,不如在转换前就停下来,这样在实际使用中能省不少时间。如果未来支持Agent Skills标准的宿主平台继续增多,这类面向个人的转换工具想必也会随之增加。




评论