Book Reader
Read and query digital book formats from the command line using BM25 search.
Quick Start
# Get book metadata
uv run ~/.claude/skills/book-reader/book.py info ~/Books/mybook.pdf
# Show table of contents
uv run ~/.claude/skills/book-reader/book.py toc ~/Books/mybook.epub
# Read a specific chapter
uv run ~/.claude/skills/book-reader/book.py read ~/Books/mybook.pdf --chapter 3
# Read a specific page
uv run ~/.claude/skills/book-reader/book.py read ~/Books/mybook.pdf --page 42
# Search for content (BM25 ranked)
uv run ~/.claude/skills/book-reader/book.py search ~/Books/mybook.pdf "query"
# Extract full text
uv run ~/.claude/skills/book-reader/book.py extract ~/Books/mybook.txt
Supported Formats
| Format | Extensions | Features |
| ------ | ------------------------ | ------------------------------------- |
| PDF | .pdf | Page numbers, TOC detection, metadata |
| EPUB | .epub | Chapters from spine, full metadata |
| MOBI | .mobi, .azw, .azw3 | Basic extraction |
| Text | .txt, .text, .md | Chapter pattern detection |
When to Use
- User provides a book file and asks questions about its content
- Need to find specific quotes, passages, or information
- Navigating to specific pages or chapters in a document
- Researching topics across digital books
- Extracting text for further processing
How It Works
- First access: Extracts and caches the book content
- Subsequent access: Uses cached version (invalidates on file change)
- Search: BM25 algorithm ranks results by relevance
- Results: Include chapter/page location for reference
See Also
See REFERENCE.md for complete command documentation.