Markdown to EPUB

A Claude agent skill that converts markdown documents and chat summaries into professional EPUB ebook files. Perfect for creating portable, device-agnostic ebooks from research documents, blog posts, articles, or conversation summaries.

npx skills add https://github.com/smerchek/claude-epub-skill --skill markdown-to-epub-converter

Markdown to EPUB Converter Skill

This skill transforms markdown documents into professional EPUB ebook files. Perfect for converting research documents, blog posts, articles, or chat conversation summaries into portable, device-agnostic ebook formats.

Overview

The skill accepts markdown content in multiple formats and generates a properly formatted EPUB3 file that works across all major ebook readers including:

  • Apple Books
  • Amazon Kindle (via Kindle for Mac/Windows/iOS/Android)
  • Google Play Books
  • Kobo and other EPUB readers
  • Any standard EPUB reader

Input Formats

Option 1: Raw Markdown Text

Provide markdown content directly in your message:

Convert this markdown to EPUB:
# My Book Title
## Chapter 1
This is chapter one content...

Option 2: File Path

Provide a path to a markdown file to be converted.

How It Works

  1. Markdown Parsing: Analyzes your markdown and automatically:

    • Treats H1 headers (#) as chapter boundaries
    • Treats H2 headers (##) as section headings within chapters
    • Preserves formatting (bold, italic, links, lists, code blocks)
  2. Structure Generation: Creates proper EPUB structure:

    • Automatic table of contents from chapters
    • Navigation document (EPUB3 standard)
    • Metadata (title, language, etc.)
  3. File Creation: Generates a valid EPUB3 file ready for download and use

Usage Examples

Example 1: Convert a Blog Post

"Convert this markdown blog post to EPUB:

How to Build a Simple Web Server

Introduction

...content..."

Example 2: Convert a Research Summary

"I have research notes in markdown format. Convert them to an EPUB ebook. The content is:

Research Project: Machine Learning Basics

Chapter 1: Fundamentals

..."

Example 3: Convert a Chat Summary

"Summarize our conversation so far as markdown and convert it to an EPUB for reference"

Output

The skill generates a downloadable EPUB file that includes:

  • Professional formatting
  • Automatic table of contents
  • Proper chapter structure
  • Support for markdown formatting elements:
    • Headers (all levels)
    • Bold and italic text
    • Hyperlinks
    • Lists (ordered and unordered)
    • Code blocks and inline code
    • Blockquotes
    • Horizontal rules

Markdown Elements Supported

ElementMarkdownSupportNotes
Headers# H1 through ###### H6FullAuto TOC generation
Bold**text** or __text__Full
Italic*text* or _text_Full
Links[text](url)FullClickable in ebooks
Lists- item or 1. itemFullNested lists supported
Code blocks```languageEnhancedSyntax highlighting ready, monospace fonts
Inline code code EnhancedStyled background, borders
TablesMarkdown tablesEnhancedStyled headers, alternating rows
Blockquotes> quoteFullStyled with left border
Horizontal rule--- or ***Full

Advanced Features

Enhanced Code Block Support

Code blocks are beautifully formatted with:

  • Premium monospace fonts: SF Mono, Monaco, Fira Code, Consolas, and more
  • Styled backgrounds: Subtle gray background with blue accent border
  • Language detection: Specify language after ``` for future syntax highlighting
  • Proper escaping: HTML characters are safely escaped
  • Overflow handling: Horizontal scrolling for long lines

Example:

def fibonacci(n):
    if n <= 1:
        return n
    return fibonacci(n-1) + fibonacci(n-2)

Enhanced Table Support

Tables are rendered with professional styling:

  • Styled headers: Blue background with white text
  • Alternating rows: Zebra striping for readability
  • Cell padding: Comfortable spacing for easy reading
  • Inline formatting: Code, bold, italic, and links work in cells
  • Responsive: Tables adapt to different screen sizes

Example:

FeatureStatusNotes
Headers✓Full support
Code✓Enhanced styling
Tables✓Professional layout

Custom Title and Metadata

You can specify EPUB metadata:

  • Book title (defaults to first H1 header)
  • Author name
  • Language
  • Publication date

Chapter Organization

Chapters are automatically detected from:

  • H1 headers (#) as primary chapter breaks
  • Logical content sections between H1s
  • Automatic page breaks between chapters

Styling

The generated EPUB uses clean, readable default styling that:

  • Respects the reader's font preferences
  • Works on all screen sizes
  • Maintains proper spacing and hierarchy
  • Includes appropriate margins and padding

Technical Details

  • Format: EPUB3 (compatible with all modern readers)
  • Encoding: UTF-8
  • HTML Version: XHTML 1.1
  • CSS Support: Responsive styling

Downloading Your EPUB

After generation, the file will be available for download. You can then:

  1. Download the EPUB to your computer
  2. Open it with your preferred ebook reader
  3. Transfer to your Kindle, iPad, or other device
  4. Upload directly to Kindle via email or cloud

Tips for Best Results

  1. Use Proper Markdown Structure: The skill works best when markdown follows standard conventions (H1 for titles, H2 for sections)

  2. Clear Chapter Breaks: Use H1 headers to clearly mark chapter divisions

  3. Descriptive Headers: Headers become the table of contents, so make them clear and descriptive

  4. Content Organization: Place content logically between headers

  5. Supported Formatting: Stick to basic markdown formatting for best compatibility across all readers

Troubleshooting

EPUB doesn't open: Ensure your markdown is properly formatted. Check for matching brackets in links and proper syntax.

Table of contents is empty: Make sure your markdown includes H1 headers to define chapters.

Formatting looks different: EPUB readers apply their own fonts and styling. This is normal and expected behavior.

Scripts

  • epub_generator.py - Core EPUB file creation and formatting
  • markdown_processor.py - Markdown parsing and structure extraction

Future Enhancements

  • Auto-generated cover pages with custom images
  • Kindle-specific optimizations (.mobi format)
  • Custom CSS styling per user preferences
  • Multi-document merging
  • Image embedding and optimization
  • Advanced metadata support

Related Skills

accept-element
remotion-dev
Accept an external Remotion Element contribution by verifying its committed previews, uploading them to R2, removing the temporary assets, and preparing the…
azure-kusto-irql
microsoft
Compose IRQL (Incident Response Query Language) queries for Kusto cybersecurity investigations. Translates natural language hunting questions into composable…
create-spring-boot-kotlin-project
github
Generate a Spring Boot Kotlin project skeleton with pre-configured databases and development services. Downloads a Spring Boot 3.4.5 project template with Kotlin, WebFlux, R2DBC, Redis, and MongoDB dependencies via Spring Initializr Includes Docker Compose configuration for PostgreSQL 17, Redis 6, and MongoDB 8 with pre-set credentials and volume mounts Adds SpringDoc OpenAPI integration for Swagger UI documentation and ArchUnit for architecture testing Requires Java 21, Docker, and Docker...
multiplayer-game
rivet-dev
Pragmatic patterns for building multiplayer games: matchmaking, tick loops, realtime state, interest management, and validation. Includes starter code and architecture patterns for 10 game types (battle royale, arena, IO style, open world, party, physics 2D/3D, ranked, turn-based, idle) with actor topology, lifecycle diagrams, and netcode strategies. Covers server simulation fundamentals: fixed realtime loops vs. action-driven updates, physics engine selection (Rapier 2D/3D), and spatial...
applicationinsights-web-ts
microsoft
Instrument browser/web apps with the Application Insights JavaScript SDK (@microsoft/applicationinsights-web). Use for Real User Monitoring (RUM) — page views, clicks, AJAX/fetch dependencies, exceptions, custom events, and browser-side GenAI agent traces correlated to backend OpenTelemetry traces. Covers SDK Loader Script and npm setup, framework extensions (React, React Native, Angular), Click Analytics, telemetry initializers, and OTel GenAI semantic conventions for agent/tool/model spans emitted from the browser.
devops
check-upstream-flake
brave
Check if a failing test is a known upstream flake in Chromium's LUCI Analysis
k12-lesson-planning
anthropic
Creates a lesson plan, student-facing materials, and observation template. Load this skill BEFORE asking the teacher any clarifying question about grade,…
rail-boundary-test
nvidia
Verify that OpenShell denies FinGuard access to the synthetic payment rail. This is a control test, never a payment release.