Markdown to EPUB

作成者: smerchek

マークダウン文書やチャットの要約をプロフェッショナルなEPUB電子書籍ファイルに変換するClaudeエージェントスキルです。研究文書、ブログ記事、記事、会話の要約から、ポータブルでデバイスに依存しない電子書籍を作成するのに最適です。

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
HeadersFull support
CodeEnhanced styling
TablesProfessional 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

関連スキル

recipe-plan-weekly-schedule
Google
Googleカレンダーの週を確認し、空き時間を特定して、それを埋めるイベントを追加します。
jetson-customize-clocks
nvidia
JetsonのCPU/GPU/EMCクロックを固定/制限したり、EMC/CPU DVFSを切り替えたり、BPMP DTBとnvpower.shのフラッシュ前編集によってcpufreqガバナーを変更するために使用します。ライブでの使用は避けてください…
official
sentry-span-streaming-dart
sentry
Dart/Flutter SDKをSentryスパンストリーミング(スパン優先のトレースライフサイクル)に移行します。「スパンストリーミングを有効にする」「スパンストリーミングに移行する」「使用する…」と尋ねられた場合に使用します。
official
azure-identity-dotnet
microsoft
Microsoft Entra IDを使用したAzure SDKクライアントの認証ライブラリ。
official
google-agents-cli-scaffold
google
We need to translate the given text from English to Japanese, preserving the name "google-agents-cli-scaffold" if it appears, but the instruction says not to include the name unless it appears in the source text. The source text does not contain the name, so we don't include it. Also preserve product names, protocol names, URLs, numbers, technical terms. The text includes "Google ADK", "Agent Development Kit", "agents-cli scaffold create", "scaffold enhance", "scaffold upgrade", etc. These should be kept as is. Translate the rest naturally. The text: "This skill should be used when the user wants to ..." etc. We need to output only the translation, no extra commentary. Let's translate: "This skill should be used when the user wants to 'create an agent project', 'start a new ADK project', 'build me a new agent', 'add CI/CD to my project', 'add deployment', 'enhance my project', or 'upgrade my project'. Part of the Google ADK (
developmentdevops
lark-contact
larksuite
飞书 / Lark 通讯录,用于按姓名 / 邮箱把员工解析成 open_id,以及按 open_id 反查员工的姓名 / 部门 / 邮箱 / 联系方式。当用户说出某人姓名而下一步需要发消息 / 加群 / 排日程时,先用本 skill 把姓名换成 ID;当输出里出现 open_id 需要展示成姓名给用户看,或用户直接询问某人的部门 / 邮箱 / 联系方式时,用本 skill 查。不负责部门树遍历、按部门列员工、组织架构图,这类需求走原生 OpenAPI。
communicationapiproductivity
ingestion-pipeline-doctor-nodejs
posthog
PostHogのインジェストパイプラインフレームワークとその規約チェックエージェントのクイックリファレンス。
official
otel-ottl
dash0hq
OpenTelemetry Transformation Language (OTTL)のエキスパート。OTTL式の作成やデバッグ時に使用します。対応するOpenTelemetry Collectorコンポーネント向けに…
official