关于 read-book
read-book 是从书籍和长篇 PDF 中提取结构化笔记的技能,支持按章节或文本块处理内容,并生成摘要、引文或学习卡片。适合阅读研究、决策和知识整理,并可选择将笔记存入 second-brain。
主要功能
- 01读取 PDF、EPUB、MOBI、Markdown 和文本
- 02按章节或文本块分段处理
- 03生成笔记、摘要、引文或问答卡片
- 04汇总为带元数据的笔记文件
- 05可选择保存到 second-brain
适用场景
- 01提炼长篇书籍的章节要点
- 02为复习制作间隔重复问答卡
- 03收集带章节背景的书籍引文
- 04将书籍笔记整理进 second-brain
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ coreyhaines31/ makerskills --skill read-book安装后在 Claude Code 中输入/read-book确认已加载。
附带文件references/output-modes.mdreferences/sources.md
详细介绍
/read-book — 从书籍和长篇 PDF 中提取结构化笔记
与 watch-video 并列。采用相同的内容处理模式:导入 → 分块 → 提取 → 可选保存到第二大脑。
步骤 1 — 解析输入
接受:
- PDF:文件路径(Claude 可通过
Read pages:"X-Y"原生分块读取 PDF) - EPUB / MOBI:文件路径(需要
pandoc或ebook-convert提取内容——参见references/sources.md) - Markdown / .txt:文件路径(直接读取)
- 粘贴的文本:直接使用粘贴的内容
- 指向公有领域文本的 URL:使用 Agent 的 URL 获取工具或
curl获取内容(Project Gutenberg、archive.org 等)
根据文件扩展名检测类型。如果无法确定,请询问。
步骤 2 — 解析模式
| 调用方式 | 模式 | 获取内容 |
|---|---|---|
/read-book <input> | notes(默认) | 按章节整理:TL;DR + 核心概念 + 引文 + 行动项 + 框架 |
/read-book <input> summary | summary | 全书 TL;DR(1 段)+ 3–5 个核心要点 + 适合哪些读者 |
/read-book <input> quotes | quotes | 仅提取重点引文,并附章节背景和页码 |
/read-book <input> study | study | 笔记模式 + 10–20 张间隔重复问答卡片 |
如果书籍较长(>200 页)且未指定模式,则默认使用 notes,但要提醒用户这会需要多次调用工具。
步骤 3 — 获取文本并分块
各来源的导入方式参见 references/sources.md。此步骤的输出:文本内容 + 分块计划。
分块策略(混合使用,按优先级排序):
-
按章节(如果存在目录;带书签的 PDF、通过 pandoc 转换后保留章节标题的 EPUB/MOBI)
- 对于 PDF,使用
pdfinfo <pdf> | grep "Pages"获取页数 - 使用
pdftotext -layout <pdf> | grep -i "^chapter\|^part"检测章节,或读取第 1–5 页的目录 - EPUB:执行
pandoc <epub> -o tmp.md后,各分块位于# Chapter X标题之间
- 对于 PDF,使用
-
按页数(对于没有目录的 PDF):每块 50 页
-
按字符数(对于文本/markdown):每块 30,000 个字符(约 7,500 个单词)
将分块计划保存为 ~/Documents/books/<author>-<title-slug>-<YYYY-MM-DD>/chunks.json:
{
"source": "<path>",
"title": "<book title>",
"author": "<author>",
"type": "pdf",
"total_pages": 287,
"chunking": "by-chapter",
"chunks": [
{"i": 0, "label": "Introduction", "pages": "1-12"},
{"i": 1, "label": "Chapter 1: The Problem", "pages": "13-32"},
...
]
}
步骤 4 — 读取每个分块
循环执行:
- 读取第 N 个分块(PDF 使用
Read工具并指定pages:;文本/MD 读取整个文件) - 按所选模式提取内容(模板参见
references/output-modes.md) - 将该分块的笔记追加到
~/Documents/books/<workdir>/notes-<NNN>-<label-slug>.md
对于 PDF,不要一次调用就读取整本书——Claude 的 PDF 工具最多只能处理约 10 页。请逐个处理分块。
如果某个分块未能提取出有用内容(例如,主要是图表或前置内容),请记录跳过原因并继续。
步骤 5 — 汇总到最终笔记文件
将所有分块笔记合并到单个 ~/Documents/books/<workdir>/notes.md 文件中,并匹配所选模式的全书模板(参见 references/output-modes.md)。
文件顶部始终包含元数据块和兼容第二大脑的 frontmatter:
source: <file path or URL>
captured: YYYY-MM-DD
type: book
book_title: <title>
author: <author>
mode: notes
chunks: <count>
chunking: <strategy>
# <title> by <author>
## TL;DR
<2–3 sentences>
## Key takeaways
1. ...
## Chapter notes
...
## Cross-references (suggested for wiki)
- Could connect to [[Longevity Biomarkers]] (per Chapter 3 discussion of biomarkers)
- Could connect to [[Productivity & Systems]] (per Chapter 7 framework)
交叉引用建议仅供参考——这些建议供 /sb compile 处理,不会自动应用。请保持职责分离。
步骤 6 — 提议保存到第二大脑
询问:
"要将这些内容保存到第二大脑吗?我会将其写入
${SECOND_BRAIN_VAULT:-$HOME/Documents/SecondBrain}/raw/highlights-<slug>.md,并匹配你的知识库中的highlights-类型前缀。"
默认是询问,绝不自动写入。如果用户同意:
- 将最终的
notes.md(顶部带有兼容第二大脑的 frontmatter)复制到${SECOND_BRAIN_VAULT:-$HOME/Documents/SecondBrain}/raw/highlights-<slug>.md - 告知用户文件路径
- 建议:"稍后运行
/sb compile,将其合并到 wiki 页面中——页脚中的交叉引用建议可作为起点。"
如果用户跳过保存,工作目录中仍会保留所有内容——之后可以自行获取文件。
步骤 7 — 报告
在聊天中:
- 单行标题:
<title> · <author> · <total_pages or word count> · <mode> · <chunks processed> - 工作目录路径
- TL;DR 部分
- 对于
notes/study模式:简要列出 3 个最重要的收获 - 对于
quotes模式:列出 3 条最佳引文 - 如果已保存到第二大脑:也提供该路径
模式(快速调用)
| 调用 | 模式 | 行为 |
|---|---|---|
/read-book <input> | notes | 完整流程,默认模式 |
/read-book <input> summary | summary | 仅生成 TL;DR 和关键收获(短书读一遍,长书抽取部分章节) |
/read-book <input> quotes | quotes | 按章节处理,但只输出引文 |
/read-book <input> study | study | 笔记 + 间隔重复问答卡片 |
/read-book <input> --capture | (any) | 跳过询问步骤,自动写入第二大脑的 raw/ |
/read-book <input> --render pdf | (any) | 还通过 pandoc 将最终的 notes.md 渲染为 PDF(使用 ~/.local/share/makerskills/render.css)。参见 references/output-modes.md。 |
/read-book <input> --render html | (any) | 同上,但渲染为 HTML |
可组合使用
second-brain— 主要集成:将highlights-<slug>.md写入raw/。然后/sb compile将其合并到维基页面中。deep-research— 当研究问题涉及某本书时,下一步使用/read-book。笔记会反馈到研究简报中。business-brainstorm— 评估某个想法时(例如,研究采用类似模式的商业书籍),read-book 会提供结构化证据。decide— 当决策取决于某位权威人士的著述时(例如“我该接受风险投资吗?”→ 阅读 Naval / Jason Cohen),read-book会提取相关章节。slide-deck— 书籍要点 → 演讲材料(书籍演讲模式)。watch-video— 同类技能,采用相同的内容消费模式。有声书?使用watch-video transcript模式。nonfictionskills/fictionskills— 研究写书时,此技能会阅读竞品书目。
错误处理
| 失败情况 | 响应 |
|---|---|
| EPUB/MOBI 文件缺少 pandoc / ebook-convert | 告知用户:brew install pandoc 或 brew install calibre(calibre 包含 ebook-convert) |
| PDF 是扫描件(没有文本层) | 建议先进行 OCR:brew install ocrmypdf && ocrmypdf <pdf> <pdf-ocr.pdf> |
| PDF 没有可检测到的目录 | 改为按每 50 页分块。并在元数据中注明。 |
| 书籍异常长(>500 页) | 提醒用户成本 / 时间,询问是否要改用摘要模式,而不是完整笔记 |
| 分块提取结果为空 | 跳过该块,记录日志并继续。不要让整个流程失败。 |
质量说明
- 不要总结到面目全非。 30 页的章节应生成 8–15 行笔记,而不是 3 行。压缩是好事;扁平化则不然。
- 保留具体信息。 姓名、数字、日期、引文——都要保留。这样以后用户才能搜索“Andy Wilkinson 对 X 说了什么”并找到内容。
- 引文至关重要。 标记引文时,必须逐字照录。尽可能注明页码。
- 明确列出行动项。 如果读书时想到“我应该做 X”,就明确标记出来。这是最具价值的输出。
- 框架应单独列出。 作者为某个框架命名时(例如“9 维筛选器”“Save the Cat 节拍”),要在笔记中点明其名称。