| name | epub |
| description | Read and extract content from EPUB ebook files. Use this skill when the user wants to read an EPUB file, extract text from an ebook, view EPUB metadata (title, author), list chapters or table of contents, search within EPUB content, or analyze ebook content. |
EPUB Reader Skill
Read EPUB ebook files and extract content as clean Markdown.
Instructions
Use the epub-reader CLI tool to interact with EPUB files. The tool is located at:
~/.claude/skills/epub/scripts/epub-reader/dist/index.js
Available Commands
1. View Metadata
Get book information (title, author, publisher, date, description).
node ~/.claude/skills/epub/scripts/epub-reader/dist/index.js metadata "<path-to-epub>"
2. List Table of Contents
View all chapters and their structure. Each entry shows [ch: N] indicating the chapter number to use with the chapter command.
node ~/.claude/skills/epub/scripts/epub-reader/dist/index.js toc "<path-to-epub>"
3. Read Specific Chapter
Read a single chapter by number (1-indexed).
node ~/.claude/skills/epub/scripts/epub-reader/dist/index.js chapter "<path-to-epub>" <chapter-number>
4. Read Entire Book
Extract the complete book as Markdown.
node ~/.claude/skills/epub/scripts/epub-reader/dist/index.js full "<path-to-epub>"
5. Search Text
Find text occurrences with surrounding context.
node ~/.claude/skills/epub/scripts/epub-reader/dist/index.js search "<path-to-epub>" "<search-query>"
Recommended Workflow
- Start with metadata to understand what book you're working with
- View the TOC to see available chapters and structure
- Read specific chapters for targeted analysis, or use full for complete extraction
- Use search to find specific topics, quotes, or references
Open-Ended Search
For broad or conceptual queries like "what are the main themes in this book?" or "find all references to the protagonist's childhood", use query expansion:
- Expand the query into multiple specific search terms using domain knowledge
- Example: "protagonist's childhood" → search for character name, "young", "childhood", "memory", "father", "mother", "grew up", etc.
- Run searches in parallel for each expanded term
- Synthesize results by deduplicating and consolidating findings across searches
This approach leverages Claude's domain knowledge to catch synonyms, related concepts, and terminology variations that a simple keyword search would miss.
Example
User asks: "What does the book say about the author's research methodology?"
Expand to searches:
- "methodology"
- "research"
- "study"
- "analysis"
- "data"
- "findings"
- "evidence"
Then consolidate the results into a comprehensive answer.
Output Format
All output is clean Markdown:
- Headings preserved as
#,##, etc. - Lists, links, and emphasis converted properly
- Excessive whitespace cleaned up
- Chapter separators included for full extraction
Examples
# What book is this?
node ~/.claude/skills/epub/scripts/epub-reader/dist/index.js metadata "/path/to/book.epub"
# Show me the chapters
node ~/.claude/skills/epub/scripts/epub-reader/dist/index.js toc "/path/to/book.epub"
# Read chapter 3
node ~/.claude/skills/epub/scripts/epub-reader/dist/index.js chapter "/path/to/book.epub" 3
# Find all mentions of "democracy"
node ~/.claude/skills/epub/scripts/epub-reader/dist/index.js search "/path/to/book.epub" "democracy"
Notes
- Chapter numbers are 1-indexed (first chapter is 1, not 0)
- Use the
[ch: N]reference from the TOC output to find the correct chapter number - Paths with spaces must be quoted
- Large books may produce substantial output with the
fullcommand - Search results show up to 5 matches per chapter with context