epub
Skill75 starsChanged 4 months agoMITView on GitHub
Convert EPUB ↔ PDF bidirectionally. EPUB→PDF preserves layout for analysis; PDF→EPUB compresses and reflows for distribution and ereaders.
- Installs packages
3 other projects use a version of this.
Adopted by
Most recently taken up by
- magnus919/agent-skillstheir own version, first seen Jul 21, 2026
- Mikhail-Mks/Skillstheir own version, first seen May 29, 2026
- aliceisjustplaying/claude-skill-epub-readertheir own version, first seen Nov 26, 2025
Other versions3 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 3
- magnus919/agent-skills★ 172same name
- aliceisjustplaying/claude-skill-epub-reader★ 3same name
- Mikhail-Mks/Skills★ 1same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository59 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- skills/heygen-skills/CLAUDE.mdCLAUDE.md
- 1passwordSkill
- ask-curlSkill
- boardSkill
- cleanup-unused-filesSkill
- codeflow-maintainerSkill
- codex-session-managerSkill
- coven-astraSkill
- coven-board-entrySkill
- coven-charmSkill
- coven-cloud-maintainerSkill
- coven-codySkill
- coven-echoSkill
- coven-identity-canonSkill
- coven-kittySkill
- coven-parallel-workSkill
- coven-sageSkill
- coven-task-managerSkill
- daily-dev-agenticSkill
- discrawlSkill
- disk-space-optimizerSkill
- familiar-board-stewardshipSkill
- heygen-avatarSkill
- heygen-videoSkill
- heygen-skillsSkill
- higgsfield-generateSkill
- higgsfieldSkill
- linear-issue-managementSkill
- lit-ui-designerSkill
- lobsterSkill
- maintainer-barSkill
- memory-recallSkill
- memory-timeline-managerSkill
- ml-engineerSkill
- nodriverSkill
- ocrSkill
- openclaw-devSkill
- openclaw-trustSkill
- opencoven-designSkill
- OpenCoven Role Creation ProcessSkill
- pr-agentSkill
- project-managerSkill
- prompt-engineerSkill
- prompt-vaultSkill
- research-ingestionSkill
- ritual-dapp-frontendSkill
- rollcallSkill
- security-agentSkill
- skill-scannerSkill
- slidev-deck-pipelineSkill
- tauri-apple-releaseSkill
- threejs-animationSkill
- tinyfish-agent-runSkill
- tinyfish-browserSkill
- tinyfish-fetchSkill
- tinyfish-searchSkill
- tinyfishSkill
The file
We split this skill into the rules it gives an agent
7 rules. About 0 are common, 4 are distinctive, and 3 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈4
Distinctive · estimate
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 125
Naming: Use title or slug: Author-Title.pdf, title-yyyy-mm-dd.epub
- Distinctive: line 126
EPUB→PDF: Check size (>100 KB typical for books)
- Distinctive: line 128
Cleanup: Remove temporary files after verification
- Very specific: line 147
Check if EPUB is corrupt: unzip -t input.epub
- Distinctive: line 149
If EPUB has missing stylesheets (common), calibre will warn but continue
- Very specific: line 153
Run with --verbose to see what calibre detected: ebook-convert input.pdf output.epub --verbose
- Distinctive: line 155
Use pdftotext first to extract text, then create EPUB from markdown
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
EPUB Skill
When to use
EPUB → PDF
- Convert EPUB books, papers, or distributed documents to PDF for reading and analysis
- Preserve layout and formatting before text extraction via pdftoppm
- Archive EPUB content in a fixed-layout format
- Prepare EPUBs for downstream processing (rendering, analysis, synthesis)
PDF → EPUB
- Convert papers and PDFs to reflowable EPUB format for ereader distribution
- Compress PDFs into smaller, device-friendly EPUB archives
- Auto-detect chapters and structure for better reading experience
- Redistribute research materials in open formats
Workflow
EPUB → PDF (for analysis)
- Check for calibre → install if missing (
brew install calibre) - Convert EPUB → PDF using
ebook-convertwith formatting options - Validate output → confirm PDF rendered correctly
- Render pages → use pdftoppm to extract visual content
- Analyze → pass to PDF skill for text extraction and synthesis
PDF → EPUB (for distribution)
- Check for calibre → install if missing
- Convert PDF → EPUB using
ebook-convertwith reflowable settings - Auto-detect chapters → ebook-convert scans for structure
- Validate compression → confirm EPUB is smaller than PDF
- Archive → save EPUB to
research/sources/for distribution or ereader use
Usage
EPUB → PDF (basic)
ebook-convert input.epub output.pdfEPUB → PDF (with layout preservation options)
ebook-convert input.epub output.pdf \
--pdf-standard-font "sans" \
--paper-size "a4" \
--margin-left 20 \
--margin-right 20 \
--margin-top 20 \
--margin-bottom 20 \
--pdf-mono-family "mono"Note: Valid font families are: serif, sans, mono (not Helvetica, etc.)
PDF → EPUB (basic)
ebook-convert input.pdf output.epubPDF → EPUB (with compression)
ebook-convert input.pdf output.epub \
--output-profile "tablet" \
--paper-size "a4"Note: ebook-convert auto-detects chapters from PDFs. Inspect the output EPUB to verify structure.
In context (Sage workflow)
EPUB → PDF
# Convert EPUB to PDF for analysis
ebook-convert "/path/to/input.epub" "/path/to/research/sources/output.pdf"
# Verify and check size
ls -lh "/path/to/research/sources/output.pdf"
# Render pages for visual inspection
pdftoppm -png "/path/to/research/sources/output.pdf" "/tmp/preview/page"PDF → EPUB
# Convert PDF to EPUB for distribution
ebook-convert "/path/to/input.pdf" "/path/to/research/sources/output.epub"
# Verify compression
ls -lh "/path/to/input.pdf" "/path/to/research/sources/output.epub"
# (EPUB will typically be 30-50% of PDF size)Dependencies
System package:
# macOS (Homebrew)
brew install calibre
# Ubuntu/Debian
sudo apt-get install -y calibre
# Fedora/RHEL
sudo dnf install calibrecalibre includes ebook-convert and supports many formats:
- Input: EPUB, PDF, MOBI, AZW, AZW3, HTML, TXT, DOCX, ODT
- Output: EPUB, PDF, MOBI, AZW, AZW3, DOCX, HTML, TXT
Output conventions
- Location: Save files to
research/sources/with descriptive names - Naming: Use title or slug:
Author-Title.pdf,title-yyyy-mm-dd.epub - EPUB→PDF: Check size (>100 KB typical for books)
- PDF→EPUB: Typically 30-50% of PDF size due to reflowable format
- Cleanup: Remove temporary files after verification
Quality checks
After EPUB → PDF:
- File exists and readable
- File size >100 KB (suspiciously small = text-only, may have lost images)
file output.pdfconfirms it's a valid PDF- pdftoppm renders first page successfully
After PDF → EPUB:
- File exists and readable
- File size is 30-50% of original PDF (good compression ratio)
- Unzip the EPUB and inspect
content.opffor auto-detected chapters - Open in ereader or calibre viewer to verify reflowable layout
Troubleshooting
EPUB → PDF crashes or produces empty output
- Check if EPUB is corrupt:
unzip -t input.epub - Try without formatting options:
ebook-convert input.epub output.pdf - If EPUB has missing stylesheets (common), calibre will warn but continue
- Last resort: extract text from EPUB (
unzip -p input.epub| grep -r "html") and convert to markdown
PDF → EPUB produces wrong chapter detection
- Run with
--verboseto see what calibre detected:ebook-convert input.pdf output.epub --verbose - For scanned PDFs (images), conversion may fail or produce text-only EPUB
- Use pdftotext first to extract text, then create EPUB from markdown
File size issues
- EPUB→PDF: if output is <50 KB, likely text-only (no images captured)
- PDF→EPUB: if output is >150% of input, likely includes images; use
--output-profile "tablet"for better compression
Notes
- Layout preservation (EPUB→PDF):
ebook-convertmaintains structure, typography, images - Reflowable format (PDF→EPUB): EPUB reflows to device width; fixed-layout PDFs may lose structure
- Chapter detection (PDF→EPUB): Automatic; works best on PDFs with clear page breaks or bookmarks
- Scanned PDFs: May fail or produce text-only output (no OCR)
- Large files: Some books convert to large files (100+ MB PDFs/EPUBs). Normal.
When conversion fails
- EPUB is corrupt:
unzip -t input.epub(EPUBs are ZIP files) - Verbose output:
ebook-convert input.epub output.pdf --verbosefor error details - Unsupported format: Request original source in different format
- Manual fallback: Extract text from EPUB or PDF, save as markdown, document the failure
Related
- PDF Skill — for reading and rendering converted PDFs
- pdftotext — text extraction from PDF
- Calibre Handbook: https://manual.calibre-ebook.com/
Tested Conversions
✅ SHELLFISH.epub → SHELLFISH.pdf (73 KB → 639 KB, layout preserved, 89 pages)
✅ SHELLFISH.pdf → SHELLFISH-test.epub (639 KB → 262 KB, chapters auto-detected, 24 parts)
EPUB ↔ PDF bidirectional conversion pipeline ready. Last tested: 2026-04-29 | Calibre v5.x
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

