From makerskills
Extracts structured notes from books (PDF, EPUB, MOBI, markdown, txt, URL) with chapter-by-chapter TL;DR, key concepts, quotes, action items, and frameworks. Modes: notes, summary, quotes, study.
How this skill is triggered — by the user, by Claude, or both
Slash command
/makerskills:read-bookThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Sibling to `watch-video`. Same content-consumption pattern: ingest → chunk → extract → optionally capture to second-brain.
Sibling to watch-video. Same content-consumption pattern: ingest → chunk → extract → optionally capture to second-brain.
Accept:
Read pages:"X-Y")pandoc or ebook-convert to extract — see references/sources.md)WebFetch (Project Gutenberg, archive.org, etc.)Detect type from file extension. If ambiguous, ask.
| Invocation | Mode | What you get |
|---|---|---|
/read-book <input> | notes (default) | Chapter-by-chapter: TL;DR + key concepts + quotes + action items + frameworks |
/read-book <input> summary | summary | Whole-book TL;DR (1 paragraph) + 3–5 key takeaways + who-it's-for |
/read-book <input> quotes | quotes | Pull-quote highlights only, with chapter context and page refs |
/read-book <input> study | study | Notes mode + 10–20 spaced-repetition Q&A cards |
If the book is long (>200 pages) and mode is unspecified, default to notes but warn it'll take many tool calls.
See references/sources.md for per-source ingestion. Output of this step: text content + a chunking plan.
Chunking strategy (hybrid, in priority order):
By chapter if a TOC exists (PDF with bookmarks, EPUB/MOBI converted via pandoc preserves chapter headers)
pdfinfo <pdf> | grep "Pages" for PDFspdftotext -layout <pdf> | grep -i "^chapter\|^part" for chapter detection, or read TOC from page 1–5pandoc <epub> -o tmp.md, chunks are between # Chapter X headersBy page count for PDFs without TOC: 50 pages per chunk
By character count for text/markdown: 30,000 chars per chunk (~7,500 words)
Save the chunking plan as ~/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"},
...
]
}
Loop:
Read tool with pages: for PDF, full file for text/MD)references/output-modes.md for templates)~/Documents/books/<workdir>/notes-<NNN>-<label-slug>.mdFor PDFs, don't read the whole book in one call — Claude's PDF tool maxes around 10 pages. Process chunks individually.
If a chunk fails to extract anything useful (e.g., it's mostly diagrams or front-matter), log the skip and continue.
Combine all chunk notes into a single ~/Documents/books/<workdir>/notes.md matching the mode's full-book template (see references/output-modes.md).
Top of the file always has the metadata block + the second-brain-compatible 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)
The cross-reference suggestions are advisory — they're suggestions for /sb compile to act on, not auto-applied. Keep responsibilities separated.
Ask:
"Want to capture this to second-brain? I'll write it to
${SECOND_BRAIN_VAULT:-$HOME/Documents/SecondBrain}/raw/highlights-<slug>.mdmatching your vault'shighlights-type prefix."
Default is ask, never auto-write. If yes:
notes.md (with the second-brain-compatible frontmatter at top) to ${SECOND_BRAIN_VAULT:-$HOME/Documents/SecondBrain}/raw/highlights-<slug>.md/sb compile later to merge this into wiki pages — the cross-reference suggestions in the footer are starting points."If the user skips capture, the workdir still has everything — they can grab the file later.
In chat:
<title> · <author> · <total_pages or word count> · <mode> · <chunks processed>notes / study modes: brief list of top 3 takeawaysquotes mode: top 3 quotes| Invocation | Mode | Behavior |
|---|---|---|
/read-book <input> | notes | Full pipeline, default mode |
/read-book <input> summary | summary | Just TL;DR + key takeaways (1 read pass for short books, sampled chapters for long) |
/read-book <input> quotes | quotes | Chapter-by-chapter, but only output quotes |
/read-book <input> study | study | Notes + Q&A spaced-rep cards |
/read-book <input> --capture | (any) | Skip the ask step, auto-write to second-brain raw/ |
/read-book <input> --render pdf | (any) | Also render the final notes.md to PDF via pandoc (uses ~/.local/share/makerskills/render.css). See references/output-modes.md. |
/read-book <input> --render html | (any) | Same as above but HTML |
second-brain — primary integration: writes highlights-<slug>.md to raw/. Then /sb compile merges into wiki pages.deep-research — when a research question turns up a book, /read-book is the next step. Notes feed back into the research brief.business-brainstorm — when scoring an idea (e.g., business books on similar models), read-book provides the structured evidence.decide — when a decision hinges on what an authority has written (e.g., "should I take VC money?" → read Naval / Jason Cohen), read-book extracts the relevant chapter.slide-deck — book takeaways → talk material (book talk pattern).watch-video — sibling skill, same content-consumption pattern. Audiobook? Use watch-video transcript mode.nonfictionskills / fictionskills — when researching to write a book, this skill reads the comp titles.| Failure | Response |
|---|---|
| EPUB/MOBI without pandoc / ebook-convert | Tell the user: brew install pandoc or brew install calibre (calibre includes ebook-convert) |
| PDF is scanned (no text layer) | Suggest OCR first: brew install ocrmypdf && ocrmypdf <pdf> <pdf-ocr.pdf> |
| 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. |
npx claudepluginhub coreyhaines31/makerskills --plugin makerskillsAnalyzes EPUB/PDF books into structured chapter notes with key concepts extracted and synthesized via parallel agents.
Distills long books (PDF, EPUB, Markdown, HTML, plain text) chapter-by-chapter using parallel subagents, then synthesizes results into a concise structured overview or Claude Code skill.
Systematic reading coach for studying books: compiles knowledge, tests mastery, schedules spaced repetition, and queries knowledge. Invoked via /book-study.