Loading...
Loading...
When you want to read and extract structured notes from a book — PDF, EPUB, MOBI, markdown, .txt, pasted text, or URL to a public-domain work. Reads in chunks (by chapter when a TOC exists, by 50-page blocks otherwise), extracts per-chapter TL;DR + key concepts + quotes + action items + frameworks, and offers to capture to second-brain raw/ as a highlights- file. Four modes — notes (default, chapter-by-chapter), summary (whole-book TL;DR + 3–5 takeaways), quotes (pull-quote highlights only), study (notes + Q&A spaced-rep prep). Triggers on "/read-book," "read this book," "extract notes from this PDF," "what's in this book," "summarize this ebook," "pull quotes from this." Sibling to watch-video (same content-consumption pattern, different medium).
npx skill4agent add coreyhaines31/makerskills read-bookwatch-videoRead pages:"X-Y"pandocebook-convertreferences/sources.mdWebFetch| Invocation | Mode | What you get |
|---|---|---|
| notes (default) | Chapter-by-chapter: TL;DR + key concepts + quotes + action items + frameworks |
| summary | Whole-book TL;DR (1 paragraph) + 3–5 key takeaways + who-it's-for |
| quotes | Pull-quote highlights only, with chapter context and page refs |
| study | Notes mode + 10–20 spaced-repetition Q&A cards |
notesreferences/sources.mdpdfinfo <pdf> | grep "Pages"pdftotext -layout <pdf> | grep -i "^chapter\|^part"pandoc <epub> -o tmp.md# Chapter X~/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"},
...
]
}Readpages:references/output-modes.md~/Documents/books/<workdir>/notes-<NNN>-<label-slug>.md~/Documents/books/<workdir>/notes.mdreferences/output-modes.mdsource: <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"Want to capture this to second-brain? I'll write it tomatching your vault's${SECOND_BRAIN_VAULT:-$HOME/Documents/SecondBrain}/raw/highlights-<slug>.mdtype prefix."highlights-
notes.md${SECOND_BRAIN_VAULT:-$HOME/Documents/SecondBrain}/raw/highlights-<slug>.md/sb compile<title> · <author> · <total_pages or word count> · <mode> · <chunks processed>notesstudyquotes| Invocation | Mode | Behavior |
|---|---|---|
| notes | Full pipeline, default mode |
| summary | Just TL;DR + key takeaways (1 read pass for short books, sampled chapters for long) |
| quotes | Chapter-by-chapter, but only output quotes |
| study | Notes + Q&A spaced-rep cards |
| (any) | Skip the ask step, auto-write to second-brain raw/ |
| (any) | Also render the final |
| (any) | Same as above but HTML |
second-brainhighlights-<slug>.mdraw//sb compiledeep-research/read-bookbusiness-brainstormdecideread-bookslide-deckwatch-videowatch-video transcriptnonfictionskillsfictionskills| Failure | Response |
|---|---|
| EPUB/MOBI without pandoc / ebook-convert | Tell the user: |
| PDF is scanned (no text layer) | Suggest OCR first: |
| PDF has no detectable TOC | Fall back to 50-page chunks. Note in the metadata. |
| Book is unusually long (>500 pages) | Warn cost / time, ask if the user wants summary mode instead of full notes |
| Chunk extraction empty | Skip the chunk, log, continue. Don't fail the whole run. |