book-to-skill:如何把 500 页技术书编译成按需加载的 Agent 技能,查询 token 省 24×–51×

📅 发布时间:2026/9/24 16:12:41
book-to-skill:如何把 500 页技术书编译成按需加载的 Agent 技能,查询 token 省 24×–51×
book-to-skill如何把 500 页技术书编译成按需加载的 Agent 技能查询 token 省 24×–51×【免费下载链接】book-to-skillTurn any technical book PDF into a Claude Code skill — ready to study, reference, and use while you work.项目地址: https://gitcode.com/GitHub_Trending/bo/book-to-skillbook-to-skill 是一个书籍转技能book to skill转换器把 PDF、EPUB、DOCX 等技术书与文档编译成可被 Agent 按需加载的 SKILL.md 技能面向用 Agent 编程的开发者Agent 从真实章节内容作答token 账单只付一次之后按答案大小计费。 场景切入Agent 答不出书里的问题通常卡在哪你买过一本好书通读一遍三个月后连第 7 章讲了什么都想不起来。此时常见的三条补救路每一条都卡壳搜 PDF搜出来的是页码列表不是答案还得自己翻回去读问 Agent它没有这本书的内容要么编造幻觉要么承认自己不知道自己记笔记攒出一份 200 行的文档之后再没打开过。book-to-skill 的走法不一样把书编译成一份结构化技能SKILL.md 章节文件装进 Agent 的技能目录。之后你输入/你的书名 关键词Agent 自己读对应章节文件从书里的真实内容作答。书不再是躺在硬盘里的死文件而成了工作流的一部分。 五分钟上手两条命令跑通第一条转换安装分两条路径官方文档特意提醒别混淆装成Agent 技能得到/book-to-skill斜杠命令要走 clone用pip装的是纯文本提取引擎不会注册技能详见 docs/install.md。技能路径任选其一# 方式 A跨宿主一键安装自动装进各 Agent 的技能目录 npx skills add virgiliojr94/book-to-skill # 方式 B手动 clone以 Claude Code 为例 git clone https://gitcode.com/GitHub_Trending/bo/book-to-skill ~/.claude/skills/book-to-skill然后开一个 Agent 会话指向你的书/book-to-skill ~/path/to/book.pdf my-book转换会问你书是技术型还是文字为主、用途是什么给出 token 与时间预估你确认后开始生成。只想要提取引擎做脚本处理的话pip可以直接从仓库装包名book-to-skill带[pdf,epub,docx]扩展命令细节见 docs/install.md。环境没配齐也不怕一条命令预检python3 scripts/extract.py --check它按格式报告每种提取器已装 / 缺失 / 补齐命令不需要任何输入文件。 机制拆解四个值得看懂的设计这一节回答它凭什么做到每个机制按是什么 → 为什么 → 仓库证据展开。3.1 提取作者的工具箱而不是写读后感机制技能不是章节复述而是从书中提取四类东西——命名框架带适用场景的思维模型、可执行原则决策规则、逐步方法、反模式要避免什么、为什么。SKILL.md质量规则还要求保留作者的确切表述The 5 Whys不能写成多问几次为什么因为框架往往因特定原因才有那个特定名字。为什么摘要丢掉的恰恰是价值最高的部分——作者用多年实践结晶出的、可以被反复套用的结构。所以生成规范明确绝不复制原文段落输出物应像你自己的手写学习笔记。仓库证据SKILL.md 的 Philosophy 与 Quality Rules 部分docs/performance.md 记录了 v1.0.0 自适应深度改版前后同一章的对照——章节文件从 473 tokens 涨到 1,219 tokens、补上了实操示例cheatsheet 的决策规则从 0 条增到 32 条而裸术语→定义行从 9 条降到 0说明 cheatsheet 被刻意做成了决策层而非第二份术语表。3.2 章节按需加载账单跟着问题走不跟着页数走机制转换产物是一组文件——主SKILL.md核心框架 章节索引约 4,000 tokens、chapters/下每章一个独立文件各约 1,000 tokens、glossary.md约 1,500、patterns.md约 2,000、cheatsheet.md约 1,000。章节文件只有被问到对应主题时才会被读入上下文200 页的书问一个主题只花约 5,000 tokens。为什么上下文压缩compaction通常从末尾截断所以规范把最重要的内容前置进SKILL.md头部front-loaded 设计而按章拆分让查询成本与答案成正比与书的总页数脱钩。每章的 token 预算按两个维度自适应技术书 研读深度最高给到 2,000–3,000 tokens文字书 快速查阅只要 800–1,200 tokens矩阵见 SKILL.md Step 7。仓库证据README.md What it generates 一节给出各文件体量docs/architecture.md 设计原则第 3、4 条按需章节、前置式 SKILL.md直接描述该机制。3.3 流水线一分为二确定性提取器 规范驱动的生成器机制系统一半是纯 Python 的确定性提取器文档 → 干净文本 元数据输出full_text.txt和metadata.json另一半是生成器——你的 Agent 遵循SKILL.md里 Step 0–10 的规范把文本变成结构化技能。前者可复现、可测试后者需要语义理解职责切得很干净。为什么把不可出错的部分文本抽取、章节检测与需要智能的部分提炼框架、写摘要分开前者可以用测试锁死行为。一个容易忽略的细节工作目录是每次运行唯一的tempdir/book_skill_work-pid/——历史上所有运行共享一个固定路径后完成的提取会静默覆盖先前的输出Agent 轮询到另一本书的元数据就构建了错误技能。现在以 PID 命名并发互不干扰BOOK_SKILL_WORKDIR环境变量仍可完全覆盖。仓库证据docs/architecture.md 的流水线图与组件表book_to_skill/config.py 里default_output_dir()的注释完整记录了这次事故。同一文件还把 token 估算分成两套系数空白分词的拉丁文本 0.75 词/token而 CJK 几乎没有空格、按词分会严重低估单独取 1.5 字/token。3.4 从文档到 Agent 的三道关看不见的指令进不来机制一份不可信文档会先进入 Agent 上下文再流进生成出的技能之后被别的 Agent 加载——这是一条文档 → 上下文的供应链项目按三道关加固提取时净化每个解析器的输出在进入统计与full_text.txt前剥离零宽字符与 Unicode 标签块防止文档夹带的不可见指令抵达 Agent净化后无任何可见内容的源直接拒收解析器层防御DOCX 解析前拒绝任何声明了 DTD 或实体的 XML 部件防 XXE / 十亿笑声攻击文件路径在到达pdftotext等外部命令前先绝对化防止-开头的文件名被当成命令行开关生成后扫描生成器规范里的建议性步骤对产出的SKILL.md、章节文件、术语表等跑提示注入扫描命中只报规则名与文件位置、绝不回显匹配文本非零退出则停下交人工复核。仓库证据docs/architecture.md 的 Security 一节逐条列出实现分别在 book_to_skill/sanitize.py、book_to_skill/parsers/docx.py 与 tools/scan_generated_skill.py。 数据说话省多少、花多少数字都能复现本节数字全部取自 docs/performance.md用tiktokencl100k_base实测计数、tools/discovery_tax.py建模均可按文档给出的命令复现。先回答省多少。下表统计的是回答一个目标问题需要进入上下文的 token 数原表按书分行这里改为按方案分行对比方案Think Python 2Working BackwardsAI Engineering整本书灌进上下文119,264175,253256,287Agent 反复翻目录定位章节12,15233,44477,866book-to-skill 按需加载约 4K 核心 1 章≈5,000≈5,000≈5,000两个关键判读相对整本灌入省 24×–51×且那份账单在每一轮对话重复发生相对翻找循环省 2.4×–15.6×那是一次性成本随章节变大而放大。提取环节本身也有取舍同一本 103 页技术书pdftotext0.1 秒跑完但 0 表格 0 代码块Docling 花 164 秒约 1.5 秒/页保住 48 个表格和 36 个代码块token 数两者基本持平27K vs 27K 1.2%。再回答花多少。一次完整转换Claude Sonnet 4.5按 $3/$15 每 MTok 输入/输出估算书格式页数提取 tokens自动定位章节一次性成本Think Python 2PDF244119K19$0.88Working BackwardsPDF371175K10$0.96Pro GitPDF501229K—节标题非Chapter N格式$1.23Moby-DickEPUB—301K133罗马数字目录可检测$1.42平均约1 美元一本书一次付清。想自己复现任意一本python3 tools/discovery_tax.py --full-text 工作目录/full_text.txt --target-chapter 5 源码走读六个值得先读的文件SKILL.md —— 生成器规范本体Step 0越界检查到 Step 10清理报告的完整流程、四种操作模式、token 预算矩阵与质量规则book_to_skill/parsers/ —— 每种格式一个解析模块pdf、epub、docx、html、rtf、calibre、text遵循最优工具优先、stdlib 兜底book_to_skill/config.py —— 支持扩展名白名单、每次运行唯一的工作目录、中英文两套 token 估算系数、可选依赖映射book_to_skill/sanitize.py —— 提取净化剥离零宽与不可见 Unicode 字符净化后空源拒收tools/discovery_tax.py —— 发现循环税测量器性能文档里所有对比数字由它产出tools/validate_skill.py 与 tools/scan_generated_skill.py —— 前者按宿主规则--lens claude|copilot|amp|hermes校验生成技能后者做建议性注入扫描。 选型之前四个最常被问的问题问直接把 PDF 塞进项目上下文不行吗可以但那是每一轮、每一会话、永远都在付全额 token 账单而技能是摊还付一次结构化成本之后只加载相关切片。docs/faq.md 的结论值得记住——本质是摊还经济学不是上下文大小问题且原始文本注入是检索技能是推理加载章节文件时 Agent 用的是预提取的命名框架不是关键词匹配。问1M 上下文窗口还不够大吗窗口只改变装得下不改变更聪明每个 token 每次调用都计费模型在接近满的上下文里检索特定事实的精度会下降lost in the middle窗口也不等于结构——整本书每轮都要重新解析而技能交付的是预提取框架。大窗口留给一次性材料重复要用的知识做成技能。问这不就是 RAG 吗工作时点不同RAG 在查询时工作分块 → 嵌入 → 相似检索 → 注入提示词目标是找到讲 X 的那段book-to-skill 在编译时工作一次深度分析把作者的框架命名、描述适用场景、捕捉反模式。按任务形状选几十本书的宽浅书库检索 → RAG 更合适一两本要反复应用框架的书 → book-to-skill。docs/faq.md 的原话判断RAG 索引一整个书架book-to-skill 吃透一册书的书脊二者互补。问热门书模型训练数据里就有何必转换训练数据是全网讨论的压缩平均具体引文与章节位置可能幻觉技能则锚定在你的真实副本上每个框架名、每个章节号都出自你提供的文本。对模型完全陌生的内容——小众技术参考、公司内部文档、新近出版、译本——差距最大。问扫描版 PDF 为什么提取立即停止扫描件是纯图像页、没有文本层任何提取器都读不出内容。工具检查前几页就停下并说明原因让你一秒失败而不是处理完 400 页后得到一个空技能。先 OCR 再转换ocrmypdf input.pdf output.pdf项目有意不自带 OCR重依赖、慢且有损图表里烘焙的文字在任何格式下都不提取。 延伸路径按你的目的挑一条读想理解整体流水线与组件划分→ docs/architecture.md含安全分层与如何扩展新格式想看生成器每一步的完整规范→ SKILL.md 与 docs/how-it-works.md想复现 token 与成本数字→ docs/performance.md tools/discovery_tax.py想看全部输入形态与 fold-in 更新模式→ docs/usage.md想在特定宿主安装Copilot CLI / Amp / Codex / Hermes / Claude Code → docs/install.md想核对版权与公平使用边界本地处理、输出是你的笔记、第三方版权书籍的技能保持私有 → README.md 末节想看测试如何锁住行为→ tests/提取、章节检测、发现税、扫描等测试套件book-to-skill 的不可替代之处只有一句话它在编译期完成结构化让一本书变成多宿主通用、按需加载、可以反复推理的框架资产——Agent 从此用作者的框架思考而不是在原始页码里翻找。【免费下载链接】book-to-skillTurn any technical book PDF into a Claude Code skill — ready to study, reference, and use while you work.项目地址: https://gitcode.com/GitHub_Trending/bo/book-to-skill创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考