Install
openclaw skills install @bwgao/book-breakdown把一整本电子书(EPUB/PDF)拆解成可离线阅读的单文件 HTML 拆书报告——包含全书总结、卡片列表式思维导图、以及可展开细看的逐章摘要,并在磁盘上留下结构化的中间产物(章节原文、元数据、各级总结)。当用户上传或指向一个电子书文件,并提到"拆书""读书笔记""总结这本书""把这本书讲明白""不想读原书但想掌握内容""book summary"之类的诉求时,使用本技能。即使用户没有说"拆书"两个字,只要任务是对一整本书做端到端的结构化总结并产出成品文件,也应该使用本技能。不适用于单篇文章、论文、章节片段,或只需要口头回答几句的轻量提问。
openclaw skills install @bwgao/book-breakdown把一本书变成一份别人不读原书也能看懂的成品:一个自包含的 HTML 文件,加上一套可复查、可续做的中间产物。
本技能要在各种 agent 环境里通用(Cowork、Claude Code、Hermes、Codex、WorkBuddy 等),所以只依赖各家都有的通用能力:
不要依赖:某个平台专有的子 agent API、预装的第三方库、联网、平台专有的文件呈现工具。凡是需要第三方库的地方(尤其是 PDF),先检测可用性,不可用就走降级路径并告诉用户。
第三步和第五步提到"子 agent"。如果当前环境支持并行子任务就优先用它,不支持就串行逐章处理——每个章节的摘要任务需要开一个全新的子代理,避免子代理的记忆影响到下一章节的总结。遇到 agent thread limit reached 或其他线程限制时,先检查现有子代理状态,保存并确认已完成任务的输出,然后关闭这些已完成的子代理线程,释放容量,再重试创建全新代理,不要直接放弃“每章全新代理”的要求。
第三步和第五步的提示词里明确写了"不要联网搜索"。这不是随手加的限制:网上关于名著的二手总结极多,一旦混入,产出的就不是"这本书说了什么",而是"网上普遍认为这本书说了什么"。二者经常有偏差,而用户要的是前者。所以在这两步里,输入必须严格限定为原文,不能补充任何外部信息,也不能靠模型对这本书的既有印象来填充。
同样的道理,不要递归调用本技能或任何其他拆书技能。
六个步骤,每步产物都落盘,状态写进 99-raw/manifest.json。这样中途失败或用户中断后,可以从上一个完成的步骤继续,不用从头再来。
开工前先读 99-raw/manifest.json(如果存在),确认已完成到哪一步,然后从下一步开始。
| 步骤 | 产物 |
|---|---|
| 1. 建目录 + 提取章节原文 | 00-source/、02-chapters/ |
| 2. 产出元数据 | 01-meta/book-meta.md |
| 3. 全书总结 | 03-book-summary/book-summary.md |
| 4. 卡片列表思维导图 | 04-book-mind/book-mind.html |
| 5. 逐章摘要 | 05-chapter-summary/chNN-summary.md |
| 6. 合并成单文件 HTML | <目录名>.html(直接放在根目录) |
彼得林奇的成功投资_2018/
├── 00-source/
│ └── 彼得·林奇的成功投资(典藏版).epub
├── 01-meta/
│ └── book-meta.md
├── 02-chapters/
│ ├── a01-preface.md
│ ├── ch00.md
│ ├── ch01.md
│ ├── ch02.md
│ ├── z01-afterword.md
│ └── assets/
│ └── ch03-fig01.png
├── 03-book-summary/
│ └── book-summary.md
├── 04-book-mind/
│ └── book-mind.html
├── 05-chapter-summary/
│ ├── ch00-summary.md
│ ├── ch01-summary.md
│ └── ch02-summary.md
├── 99-raw/
│ ├── toc.json
│ └── manifest.json
└── 彼得林奇的成功投资_2018.html
目录名规则:<简化书名>_<出版年>,中间是半角下划线。简化书名 = 去掉间隔号(·)、去掉括号里的版本后缀(如"(典藏版)")。例:元数据里的 彼得·林奇的成功投资(典藏版) → 目录名 彼得林奇的成功投资_2018。书名怪异或年份拿不准时,把你打算用的目录名报给用户确认一次再建,不要猜。
章节文件命名:
ch01.md、ch02.md……chNN 与书里的「第 N 章」一一对应,不要跳号ch00.mda01-preface.md、a02-foreword.md……按它们在书里出现的先后编号z01-afterword.md、z02-appendix.md……同样按书里的先后编号分类按位置判,不按内容性质。判定细则见 references/extraction.md。
为什么是 a 和 z:要让文件名的字典序等于书里的阅读顺序,前置的前缀必须排在 ch 之前、后置的必须排在 ch 之后。a < ch < z,正好卡住。换成 fm/bm 这类看起来更直观的缩写会出事——bm < ch < fm,后记会排到全书最前面,序反而排到最后。
00-source/,文件名保持原样不要改——它是这份产物与原始文件的唯一对应凭证,也是第二步 source_file 字段的取值来源,改名就对不上了。99-raw/toc.json。02-chapters/。02-chapters/assets/,在 Markdown 原文的对应位置用相对路径引用:。提取和切分的具体做法(EPUB 与 PDF 的差异、章节边界判断、Markdown 转换规则)见 references/extraction.md。
PDF 的强制确认点:PDF 没有结构化目录,只能靠书签大纲或标题识别。走书签大纲时正常往下推进;一旦退化到标题识别,必须停下来,把识别出的章节清单(序号、标题、起止页)给用户过目,得到确认后才继续。这一步错了,后面全错,而且要到最终 HTML 才看得出来,返工成本极高。
完成标准:02-chapters/ 下的 Markdown 文件数与 toc.json 里 skipped: false 的条目数一致(跳过的封面页、版权页不生成文件,不要拿总条目数去比);随机抽查两章,开头结尾都落在正确的章节边界上,没有串章、没有把目录页/版权页当成正文。
写 01-meta/book-meta.md,YAML frontmatter 格式,字段如下:
---
title_zh: "彼得·林奇的成功投资(典藏版)"
title_original: "One Up on Wall Street: How to Use What You Already Know to Make Money in the Market"
author:
- "彼得·林奇(Peter Lynch)"
- "约翰·罗瑟查尔德(John Rothchild)"
translator:
- "刘建位"
- "徐晓杰"
publisher: "机械工业出版社"
imprint: "华章图文"
edition: "典藏版"
publication_year: 2018
publication_month: 5
isbn: "9787111590736"
source_language: zh-CN
output_language: zh-CN
book_type: investment-general
source_format: EPUB
original_publication_year: 1989
source_file: "彼得·林奇的成功投资(典藏版).epub"
---
所有字段只能从三个地方取:EPUB 的 OPF 元数据、书内的版权页/扉页、原始文件名。不要联网补全,也不要凭对这本书的印象填。 取不到的字段写 null,并在文件正文里列一行"未能从原书确认的字段:xxx",让用户自己决定要不要补。
title_original 和 original_publication_year 只在书里明确写了的情况下才填(引进版图书通常在版权页写了原版信息)。中文原创书就写 null。
book_type 用一个简短的英文 slug 概括题材,例如 investment-general、business-strategy、cognitive-psychology。这个字段后面用来给 HTML 报告挑配色和措辞基调,不必追求分类学上的严谨。
如果环境支持子代理,新开一个子代理,读全书原文(02-chapters/ 下所有文件),不要联网搜索,也不要使用任何拆书技能,所有的输入只有原文和我给你的提示词。按下面这段提示词产出 03-book-summary/book-summary.md。提示词逐字使用,不要改写、不要加料:
给没读过这本书的人写一份读书总结,具体建议按以下几个部分写。
第一部分:全书主旨 1.先用一小段讲清:这本书讨论什么,给出了什么答案。 开头直接交代:- 核心问题:作者究竟试图解释或解决什么?
- 主要回答:作者最核心的判断是什么?
- 讨论范围:针对哪些人、情境、时代或问题?
- 理解价值:读完能多理解什么,或多做出什么判断? 不要停留在“这是一本关于投资的书”这种主题标签上,要具体到作者的主张。作者背景只保留影响理解的部分,例如其研究方法、职业经历或观察立场。 这一段即使单独阅读,也应形成一个完整的初步认识。
2.再用一小段呈现全书的思路,让读者知道各部分如何连接。 知识、观点、方法类书籍,要讲清楚: 作者从什么问题出发,提出哪些关键解释,这些解释如何支持最终结论?
历史、传记类书籍,要讲清楚: 故事处于什么背景,主要矛盾是什么,哪些事件或选择改变了进程,最终发生了什么?
这里应呈现思想之间或事件之间的关系。例如,“前半部分解释问题成因,后半部分由此提出解决方法”,就比逐项罗列章节标题更有用。
第二部分:全书核心内容 用主要篇幅,把支撑全书的几个核心内容讲透。 这是总结的主体。通常可以组织为几个( 3–6根据书本实际情况增减) 核心主题,数量随书调整。每个主题应当是一个完整的小解释,而不只是一个结论。 知识、观点、方法类书籍,可以使用下面的内部结构: 要素 必须回答的问题 核心观点 作者具体主张什么?关键概念是什么意思? 推理过程 为什么能得出这个结论?中间有哪些关键步骤? 关键证据或案例 作者拿什么支持它?案例具体说明了哪一点? 条件与边界 在什么条件下成立?有哪些例外或限制? 与全书的关系 这一观点怎样推进全书的主要结论?
这些要素可以写成连贯的段落,不必每个主题都机械地列五个小标题。 案例的保留标准,是它是否承担理解或论证功能。 帮助解释抽象概念、支撑重要结论、展示方法操作或揭示例外的案例应保留;重复说明同一观点的故事可以压缩。 同时,要区分:作者是在用案例帮助说明,还是把它作为支持普遍结论的证据。一个生动故事本身,并不足以证明普遍规律。 历史、传记类的主体则改用: 背景与约束 → 当时的选项 → 关键行动或事件 → 后果 → 作者的解释。
尤其要保留人物当时知道什么、受到什么限制,并区分发生的事实、当事人的说法和作者的解释。不能把复杂历史强行总结成几条成功方法,也不能因为事件先后发生,就擅自补出因果关系。
第三部分:独特贡献与价值 用一小段分析这本书的独特贡献,以及对读者的价值
产出全书思维导图至 04-book-mind/book-mind.html。
形态要求:卡片列表式的方式呈现,不是放射状脑图。
导图由这几块构成:页头、全书主旨、卡片网格、论证链 + 一句话记忆。
对 02-chapters/ 下的正文章节文件(只要正文章节)产出一份摘要,存为 05-chapter-summary/<同名>-summary.md(例:ch01.md → ch01-summary.md)。
如果环境支持并行子任务,每章都要新开一个子任务并行处理;否则串行逐章处理。
每个任务的输入严格限定为两份文件:01-meta/book-meta.md 和该章原文。不要把第三步的全书总结传进去——那会让章节摘要变成全书总结的下位复述,失去独立价值,也会把全书层面的判断污染进单章。提示词逐字使用:
总结一份章节摘要,用较少的文字让没读过原书籍的人也能够理解章节的内容,节省读取原书籍的时间,但依旧覆盖其主要解释论证过程和关键案例便于理解,不要联网搜索,你的输入只有book-meta.md和章节原文,注意你需要判断是否有图片会影响摘要内容,如果有则需要额外阅读章节所涉及到的图片理解其内容。
每份摘要的第一行写 # <章节标题>,标题从 toc.json 取,保持与原书一致。
完成标准:05-chapter-summary/ 的文件数与 02-chapters/ 的ch开头的 Markdown 文件数相等(assets 目录不计)。数量对不上就是有章节漏了,补齐再往下走。
把前面所有产物合并成 <目录名>.html,直接放在书本目录的根目录下(与 00-source/、99-raw/ 同级),不要另建子目录。
文件名与书本目录名完全一致,例:目录是 彼得林奇的成功投资_2018/,文件就是 彼得林奇的成功投资_2018.html。这样文件从目录里拖出来单独存放时,书名和版本年份仍然跟着走,不会变成一个认不出来的 index.html。
分隔符用半角下划线 _,不要换成空格、连字符或竖线——下划线在所有文件系统、shell 和 URL 里都不需要转义。
单文件是硬要求:CSS 内联在 <style> 里,JS 内联在 <script> 里,不引用任何 CDN、外部字体或外部图片。这个文件要能在断网、离线、只有浏览器的环境下完整打开。
这份 HTML 装的是总结、思维导图和章节摘要,都是文字产物,正常情况下不含任何图片——不要主动去 02-chapters/assets/ 里捞图往里塞。只有当某份总结的内容本身离不开某张图时才放,做法见 references/html-output.md 的"图片"一节。
页面的结构等规范见 references/html-output.md。
完成标准:
http://、https://、src="./,应该搜不到任何外部资源引用(书里正文提到的网址不算)做完后向用户报告:
a01-preface.md 推荐序、z01-afterword.md 后记)。分类一旦判错,内容会静默消失在成品里,这份清单是用户唯一能发现的地方null 的字段、PDF 走了标题识别、某章原文提取质量存疑等如果当前环境有向用户递交文件的能力,把最终 HTML 递给用户;没有就只报路径。