ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

book-to-skill 实战指南:把技术书转成 Agent Skill,回答一个问题只花约 5,000 token

book-to-skill 实战指南:把技术书转成 Agent Skill,回答一个问题只花约 5,000 token book-to-skill 实战指南把技术书转成 Agent Skill回答一个问题只花约 5,000 token【免费下载链接】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 是一个开源文档转换器它读取你本地已拥有的 PDF、EPUB、DOCX、HTML、RTF、MOBI 等文件把全书压缩成一个带章节索引的目录——即一个符合开放 Agent Skills 标准的 skill——由 GitHub Copilot CLI、Amp、Claude Code、Hermes Agent、OpenCode、OpenClaw 这些宿主按主题按需加载。下文基于 README.md、SKILL.md、docs/install.md、docs/usage.md、docs/performance.md、docs/faq.md 与book_to_skill/包源码撰写覆盖安装、运行模式、产物结构、数据流、实测数据与合规边界。问题与定位书读完了知识没留下买一本技术书通读一遍三个月后你连第七章讲过什么都记不起来。于是你会尝试几个常规补救各自卡死 在 PDF 里搜关键词——命中的是一串页码还得逐页翻回去拼答案 把书扔给 Agent 直接提问——要么编造要么回答我没有这个内容 边读边记笔记——攒出一个两百行的文件之后再没打开过。book-to-skill 是一个文档 → 结构化 skill的转换器用来把书里反复要查的知识变成 Agent 可以按章节取用的文件。转换完成后你在会话里输入/your-book-slug 主题词Agent 会先查 topic 索引定位到对应章节文件再基于该文件的真实内容作答。全局收益回答一个定向问题进入上下文的 token 从整本书的约 119K–256K 降到约 5,000节省幅度实测 24×–51×见数据说话一节。安装两条路径装进 skills 目录才有斜杠命令docs/install.md 开头就把两种用法划清了界限别混用作为 Agent skill 安装拿到/book-to-skill斜杠命令与完整转换流程→ 必须git clone进对应宿主的 skills 目录作为独立 CLI 安装只要文本提取引擎→pip install从仓库装包不会注册任何 skill。一条命令装到所有兼容宿主skillsCLI 会解析仓库、检测根级SKILL.md把含scripts/extract.py与tools/的完整 skill 装进你选中的每个宿主npx skills add virgiliojr94/book-to-skill手动安装按宿主分组# 跨 Agent 根目录Copilot CLI、Amp、Codex、OpenCode 均原生扫描 git clone https://gitcode.com/GitHub_Trending/bo/book-to-skill.git ~/.agents/skills/book-to-skill # GitHub Copilot CLI 个人目录 git clone https://gitcode.com/GitHub_Trending/bo/book-to-skill.git ~/.copilot/skills/book-to-skill # Claude Code生成器默认仍写 ~/.agents/skillsStep 10 会补一条软链 git clone https://gitcode.com/GitHub_Trending/bo/book-to-skill.git ~/.claude/skills/book-to-skill # Hermes AgentHERMES_HOME 按 profile 解析默认 ~/.hermes按类别归档 git clone https://gitcode.com/GitHub_Trending/bo/book-to-skill.git \ ${HERMES_HOME:-$HOME/.hermes}/skills/productivity/book-to-skill # OpenClaw按当前 state 目录归档~/.agents/skills 仅在默认 state 下可被发现 git clone https://gitcode.com/GitHub_Trending/bo/book-to-skill.git \ ${OPENCLAW_STATE_DIR:-$HOME/.openclaw}/skills/book-to-skill安装验证各宿主的确认方式不同/skills reload # GitHub Copilot CLI写文件后先 reload /skills info book-to-skill openclaw skills list # OpenClaw hermes skills list # Hermes AgentClaude Code、Amp、OpenCode 则在新会话中自动发现Hermes 的项目级安装.hermes/skills/category/book-to-skill需先执行hermes skills trust /path/to/project再开新会话否则不会被加载。独立 CLI 路径book-to-skill尚未发布到 PyPI直接装仓库pip install book-to-skill[pdf,epub,docx] githttps://gitcode.com/GitHub_Trending/bo/book-to-skill.git book-to-skill --check # 报告已安装哪些提取器 python3 scripts/extract.py --check # skill 安装下的等价体检命令依赖体检一条命令按格式列清单--check由 book_to_skill/dependencies.py 的run_dependency_check()驱动它遍历DEPENDENCY_GROUPS对每种格式打印 ✓/✗ 状态与精确的安装命令不需要提供任何文件。提取器按格式依次尝试工具、取第一个可用的纯文本、Markdown、reStructuredText、AsciiDoc 零依赖book_to_skill/config.py 的SUPPORTED_EXTENSIONS定义了受支持集合。场景首选工具安装速度/质量⚡ PDF 散文为主pdftotextpopplersudo apt install poppler-utils瞬时PDF 散文回退pypdf或pdfminer.sixpip3 install pypdf/pip3 install pdfminer.six瞬时 PDF 技术书代码、表格、公式doclingpip3 install docling约 1.5s/页EPUBebooklibbeautifulsoup4回退标准库zipfilepip3 install ebooklib beautifulsoup4⭐⭐⭐ / 始终可用DOCXpython-docx回退标准库 ZIP/XMLpip3 install python-docx—HTMLbeautifulsoup4或更重的trafilaturapip3 install beautifulsoup4—RTFstriprtf回退正则清理pip3 install striprtf—MOBI / AZW / AZW3Calibre 的ebook-convert外部应用从 Calibre 官网安装无回退两个值得提前知道的重量级选项[html]extra 会拉入trafilatura及其完整 HTML 处理栈lxml、日期解析器、时区数据库、URL 分类器共 17 个包换来真正的正文/样板检测而非仅剥script/style不带它时bs4回退仍可用只是没有样板移除docs/install.md。MOBI 系列是唯一的硬依赖格式——book_to_skill/dependencies.py 中该组标记required: TrueCalibre 缺失即无法转换。运行模式与调用四种入口一个斜杠命令SKILL.md 的 Modes of Operation 定义了四条路径模式触发条件动作完整转换默认给出一个或多个文档/目录/glob 路径无特殊说明执行 Step 0–9产出全套 skill 文件仅分析说 analyze、just extract 或想先审阅执行 Step 0–3输出结构化提取报告框架、原则、技术、反模式、建议 slug、章节表不生成文件基于既有分析生成已有分析笔记或跑过 analyze-only跳过 Step 0–3以既有分析为输入执行 Step 4–9更新/折叠新来源路径 指向已有 skill 文件夹或已存在 slug执行 Step 0/1/1.5/2 后进入 Fold-in 流程合并进既有章节、索引与词汇表命令调用示例来自 docs/usage.md/book-to-skill ~/papers/paper1.pdf ~/notes/export.txt unified-research # 多文件合一 /book-to-skill ~/workspace/project-docs/ project-knowledge # 整目录 /book-to-skill ~/books/*.epub my-library # glob /book-to-skill ~/articles/new-paper.pdf ~/.claude/skills/project-knowledge # 折叠进既有 skillskill 生成后的调用方式/designing-data-intensive-apps # 加载核心心智模型 /designing-data-intensive-apps replication # 定位并解释某个主题 /designing-data-intensive-apps ch05 # 深入第 5 章输入不限于一本书判断标准凡是你会反复打开、好到希望背下来的结构化文档都是候选README.md Beyond books。内部文档ADR、runbook、入职指南→ 把整个docs/目录折成一个 skill编码时随手问品牌与设计系统语气规范、语调文档→ 团队查询一个 skill而不是再翻 60 页 PDF研究集群论文 自己的笔记→ 合并为统一 skill新材料落地后走折叠流程持续更新规范与标准RFC、API 契约、合规文档→ 反复引用但没背下来的速查层。产物解剖一个目录就是完整知识资产运行转换后默认产物落在跨 Agent 根目录~/.agents/skills/slug/一份物理拷贝服务 Copilot CLI、Amp、Codex、OpenCode 与默认 state 的 OpenClawClaude Code 经软链访问Hermes 走自己的分类目录文件用途规模SKILL.md核心心智模型 章节索引 主题索引≤ 4,000 tokenchapters/ch01-*.md…每章一个文件按需加载800–3,000 token/章glossary.md关键术语字母序 章节引用≤ 1,500 tokenpatterns.md技术、算法与设计模式≤ 2,000 tokencheatsheet.md决策规则与速查表≤ 1,200 token每个文件的生成规范对应 SKILL.md Step 7–9章节文件固定模板Core Idea→Frameworks Introduced→Key Concepts→Mental Models→Anti-patterns→技术书Code ExamplesReference Tables→study 深度Worked Example→Key Takeaways→Connects To。每章预算由BOOK_TYPE×DEPTH决定DEPTHreferenceDEPTHstudyBOOK_TYPEtext800–1,2001,000–1,800BOOK_TYPEtechnical1,200–1,8002,000–3,000DEPTH不单独提问从 Step 4 的用途问答推导只选引用章节→ reference选了工作中应用框架/用作者心智模型思考/全部→ study。规格明确要求 study 深度靠内容挣到而非注水必须复现一个书中完整示例Worked Example、把每个框架的 How 展开为显式步骤、给最关键 1–2 个框架加 Why it works / failure mode 注记。glossary.md**Term** — definition (Ch N)格式上限 1,500 token。patterns.md## Pattern Name When to use / How / Trade-offs上限 2,000 token。cheatsheet.md定位是推理辅助而非关键词表内容按优先级组织① 决策规则当 X 做 Y因为 Z→ ② 决策树 → ③ 权衡矩阵 → ④ 阈值与默认值 → ⑤ 识别信号明确排除术语→定义裸行那是 glossary 的职责与散文段落那是章节的职责。主 SKILL.md正文压在前部因为宿主的压缩截断从文件末尾开始包含 frontmatter、How to Use、约 2,000 token 的 Core Frameworks、Chapter Index、Topic Index 与 Supporting Files 链接。按需加载机制chapters/下的文件在未被读取前不计入 skill 预算只有当你问到相关主题、Agent 通过 Topic Index 定位后才会加载。约 5,000 token这一数字的构成即常驻的核心SKILL.md约 4K 单次加载的一章约 1K出处见 docs/performance.md 的 Discovery Loop Tax 一节。内部机制确定性提取器 规格驱动的生成器转换器由两半组成边界在源码里清晰可查提取器确定性 Python 引擎入口 scripts/extract.py 是薄包装——强制 stdout/stderr 为 UTF-8避免 Windows GBK 控制台对 ✓/✗ 字符抛UnicodeEncodeError、禁用字节码写入、把项目根注入sys.path随后调用 book_to_skill/cli.py 的main()后者挂载可选的pdf_inspector钩子不可用时为 no-op并进入book_to_skill.utils.main格式解析按扩展名分发到 book_to_skill/parsers/ 下的 pdf、epub、docx、html、rtf、calibre、text 各模块。生成器Agent 照规格执行SKILL.md 本身就是规格书定义 Step 0–11、四种模式、预算矩阵与 8 条质量规则提取结构而非摘要、保留作者精确命名、密度优先、实践者口吻、SKILL.md 前置加载、章节按需、绝不复制原文、主题索引至关重要。Agent 照此执行产物天然符合各宿主对根级SKILL.md的识别要求。完整数据流文件 / 目录 / glob / 路径列表 │ ▼ Step 1.5 — 技术书 or 散文为主?--mode technical|text ├── technical → Docling表格代码保留为 markdown约1.5s/页 └── text → pdftotext → pypdf → pdfminer瞬时 │ ▼ scripts/extract.py paths… --mode … │ 单源失败即跳过并告警其余继续 ├── tempdir/book_skill_work-pid/full_text.txt 合并文本含来源边界标记 └── 同目录/metadata.json 页数、字数、token、被丢弃图片数、workdir、逐来源明细 │ ▼ Step 2.5 成本预估用户确认后才继续 │ Step 3 结构分析书名、作者、章节、目录 │ Step 4 用途问答 → 推导 DEPTH ▼ ├── chapters/chNN-*.md逐章按预算矩阵 ├── glossary.md / patterns.md / cheatsheet.md └── SKILL.md核心框架 双索引 │ ▼ Step 9.5 安全扫描 → Step 10 软链校验 清理本运行工作目录 ~/.agents/skills/slug/ Claude Code 软链 / Hermes 分类目录 / OpenClaw state数据说话全部实测可复现测量方法token 计数用tiktokencl100k_base发现循环建模用 tools/discovery_tax.py所有数字来自 docs/performance.md均可用下列命令复现。回答一个定向问题进入上下文的 token 对比书章节规模整本塞入上下文Discovery loopbook-to-skill倍数塞入 / loopThink Python 2小119,26412,152~5,00024× / 2.4×Working Backwards中175,25333,444~5,00035× / 6.7×AI Engineering大256,28777,866~5,00051× / 15.6×python3 tools/discovery_tax.py --full-text /tmp/book_skill_work/full_text.txt --target-chapter 5两个口径的边界各说一句vs 塞入上下文24–51×是最强主张因为那份成本在每一轮对话都会重复支付vs discovery loop2.4–15.6×是一次性建模成本且随真实章节大小缩放模型使用的是书实际的目录与章节尺寸。提取方法对比103 页技术书纯 CPU方法耗时表格代码块pdftotext0.1s00Doclingtechnical 模式164s4836两者的 token 量基本一致27KDocling 多 1.2%差异在结构保真——pdftotext 瞬时但压平结构Docling 约 1.5s/页但把表格与代码保留为 markdown。结论即 Step 1.5 的分支依据散文选 text含代码/表格选 technical。真实书籍的一次性生成成本按 Claude Sonnet 4.5 的 $3/$15 每 MTok 输入/输出估算书格式页数提取 token自动检出章节约成本Think Python 2PDF244119K19$0.88Working BackwardsPDF371175K10$0.96Pro GitPDF501229K— †$1.23Moby-DickEPUB—301K133 ‡$1.42† Pro Git 用小节标题而非 Chapter N 作章首无法自动分段提取与转换照常工作只是需手动指向小节。‡ Moby-Dick 正文是裸标题但罗马数字目录被检出 133 章。整体口径一本完整 skill 约 1 美元一次付清对比每轮都把同一本 PDF 重读进上下文的长期账单前者是摊销。避坑与边界工作目录、CJK、OCR 与重依赖现象并发跑两个提取后完成的运行覆盖先完成者的产物Agent 甚至可能拿另一份文档的metadata.json去生成。原因旧版共享固定book_skill_work路径。对策现行实现按 PID 隔离为book_skill_work-pid/book_to_skill/config.py 的default_output_dir()可用BOOK_SKILL_WORKDIR完全覆盖运行结束打印Workdir -、Text -、Meta -三条路径以输出或metadata.json的workdir字段为准不要假设固定位置。现象中文电子书的 token 估算偏低几个数量级。原因WORDS_PER_TOKEN 0.75只适用于空格分隔的拉丁文本CJK 几乎无空格按词切分会把全书压成几个词。对策CJK 码点按CJK_CHARS_PER_TOKEN 1.5单独计数且覆盖增补平面U20000–U3FFFF与康熙部首范围防止中文书用部首字形渲染正文时被漏计。现象提取启动后立刻中止、说明无文本可取。原因扫描版 PDF 是页面图片、没有文本层任何工具都无从提取。对策见下方引用块。现象约 5 万 token 以上的书整文件Read一次就会烧掉生成所需的预算。原因200 页书约 75K token逐章重读 28 遍约烧 200 万输入 token。对策Step 2.6 的 REPL 式访问——wc -w查规模、grep -n找章节偏移、sed -n start,endp只拉切片、grep -c验证框架确实被提及让生成成本正比于输出而非源头。现象装trafilatura后包体膨胀。原因它拖入完整 HTML 处理栈共 17 个包。对策资源受限的机器可只留bs4回退无样板移除功能仍可用。现象生成前看到一份来源数、页/词/token 汇总与成本预估。原因Step 2.5 强制在生成前读本运行metadata.json做成本预估并等待确认可随时改走 analyze only。硬前提扫描版 PDF 必须先 OCR。提取器会检查开头几页并立即中止、给出解释而不是跑完整本再产出一个空 skill。先自行运行ocrmypdf input.pdf output.pdf再转换输出文件工具不内置 OCR 是刻意选择避免每个用户背上重型依赖。同理烧进图表里的文字在任何格式下都不会被提取。合规与许可MIT 只覆盖工具规则管住产物项目以 MIT 许可发布适用范围是转换器本身代码 skill 定义不覆盖用它处理的任何书籍或文档。提取与分析全部在本地运行工具不上传文件若你的 Agent 模型在云端喂入的文本遵循该提供商常规数据条款。产物是合成摘要框架名、定义、要点质量规则 7 明确禁止复制原文段落但内容仍衍生自源材料第三方版权书的 skill 必须保持私有只有用户自己的写作、开放许可内容或明确确认拥有公开再分发权的材料才可公开。发布Step 11的两条硬规则版权门先于建仓可见性是独立的封闭式提问——gh repo create默认--private只有回答恰好是裸词public才建公开仓库子串匹配被禁止它是公共领域描述的是书的版权状态仍得到私有仓库。发布前必须通过 tools/scan_generated_skill.py 的扫描Step 9.5非零退出即停、交人工审阅不得静默改写后继续。结尾book-to-skill 把每轮对话重复导航一本书的持续 token 账单压缩成转换一次、按需加载的一次性成本单次回答约 5,000 token、一本书约 1 美元且处理全程在本地产物是你自己的结构化笔记。【免费下载链接】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),仅供参考
返回列表