# Read Book

When you want to read and extract structured notes from a book, PDF, EPUB, MOBI...

- Repository: https://github.com/coreyhaines31/makerskills (880 stars)
- Category: Documents
- License: MIT
- Last updated: 2026-10-26
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add coreyhaines31/makerskills --skill read-book -g -a claude-code -y`
Codex: `npx skills add coreyhaines31/makerskills --skill read-book -g -a codex -y`
Cursor: `npx skills add coreyhaines31/makerskills --skill read-book -g -a cursor -y`
Gemini CLI: `npx skills add coreyhaines31/makerskills --skill read-book -g -a gemini-cli -y`
Claude Code plugin marketplace: `/plugin marketplace add coreyhaines31/makerskills`

## Description

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).

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# /read-book, Extract structured notes from books and long PDFs

Sibling to `watch-video`. Same content-consumption pattern: ingest → chunk → extract → optionally capture to second-brain.

## Step 1, Parse input

Accept:
- **PDF**: file path (Claude reads PDFs natively in chunks via `Read pages:"X-Y"`)
- **EPUB / MOBI**: file path (needs `pandoc` or `ebook-convert` to extract, see `references/sources.md`)
- **Markdown / .txt**: file path (read directly)
- **Pasted text**: just use what was pasted
- **URL** to public-domain text: fetch it with your agent's URL-fetch tool or `curl` (Project Gutenberg, archive.org, etc.)

Detect type from file extension. If ambiguous, ask.

## Step 2, Parse mode

| 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.

## Step 3, Get the text + chunk

See `references/sources.md` for per-source ingestion. Output of this step: text content + a chunking plan.

**Chunking strategy** (hybrid, in priority order):

1. **By chapter** if a TOC exists (PDF with bookmarks, EPUB/MOBI converted via pandoc preserves chapter headers)
   - Use `pdfinfo <pdf> | grep "Pages"` for PDFs
   - Use `pdftotext -layout <pdf> | grep -i "^chapter\|^part"` for chapter detection, or read TOC from page 1, 5
   - EPUB: after `pandoc <epub> -o tmp.md`, chunks are between `# Chapter X` headers

2. **By page count** for PDFs without TOC: 50 pages per chunk

The rest: https://github.com/coreyhaines31/makerskills/blob/HEAD/skills/read-book/SKILL.md
