✓ Verified 🛒 E-commerce ✓ Enhanced Data

Blog To Kindle

Scrape blogs/essay sites and compile into Kindle-friendly.

Rating
4.4 (220 reviews)
Downloads
15,132 downloads
Version
1.0.0

Overview

Scrape blogs/essay sites and compile into Kindle-friendly.

Complete Documentation

View Source →

Blog to Kindle

Scrape blog/essay sites, compile into EPUB with cover art, and deliver to Kindle.

Quick Start

bash
# 1. Fetch essays from a supported site
uv run scripts/fetch_blog.py --site paulgraham --output ./pg-essays

# 2. Generate cover (uses Nano Banana Pro)
# See nano-banana-pro skill for cover generation

# 3. Compile to EPUB with cover
uv run scripts/compile_epub.py --input ./pg-essays --cover ./cover.png --output essays.epub

# 4. Send to Kindle
uv run scripts/send_to_kindle.py --file essays.epub --kindle-email [email protected]

Workflow (MUST follow this order)

  • Fetch - Download all essays/posts from the blog
  • Generate Cover - Create cover art via Nano Banana Pro skill (DO NOT SKIP)
  • Compile - Combine into EPUB with cover embedded
  • Send - Email to Kindle address
⚠️ Always generate and include cover before sending. Never send without cover.

Supported Sites

SiteKeyURL Pattern
Paul Grahampaulgrahampaulgraham.com/articles.html
Kevin Kellykevinkellykk.org/thetechnium
Derek Siverssiverssive.rs/blog
Wait But Whywaitbutwhywaitbutwhy.com/archive
Astral Codex Tenacxastralcodexten.com
For unlisted sites, use --site custom --url .

Cover Generation

Use the nano-banana-pro skill to generate covers. Prompt template:

text
Book cover for '[Author Name]: [Subtitle]'. 
Minimalist design with elegant typography. 
[Brand color] accent. Clean white/cream background. 
Simple geometric or abstract motif related to [topic].
Professional literary feel. No photos, no faces.
Portrait orientation book cover dimensions.

Generate at 2K resolution for good quality without huge file size.

Kindle Delivery

Default Kindle address (Simon): [email protected]

Uses Mail.app via AppleScript to send. Ensure:

  • Sender email is on Kindle approved list
  • File under 50MB (EPUB compresses well)

State Tracking

State files stored in ~/.clawdbot/state/blog-kindle/:

  • {site}-last-fetch.json - Last fetch timestamp, article count
  • {site}-sent.json - List of sent article IDs
Use for incremental updates (only fetch new posts).

Manual Workflow (no scripts)

If scripts unavailable, follow this pattern:

  • Fetch: curl archive page → parse article links → fetch each → convert to markdown
  • Combine: Concatenate markdown with YAML frontmatter (title, author)
  • Cover: Generate via Nano Banana Pro
  • Convert: pandoc combined.md -o output.epub --epub-cover-image=cover.png --toc
  • Send: AppleScript Mail.app with attachment
See references/manual-workflow.md for detailed steps.

Installation

Terminal bash

openclaw install blog-to-kindle
    
Copied!

💻Code Examples

uv run scripts/send_to_kindle.py --file essays.epub --kindle-email [email protected]

uv-run-scriptssendtokindlepy---file-essaysepub---kindle-email-userkindlecom.txt
## Workflow (MUST follow this order)

1. **Fetch** - Download all essays/posts from the blog
2. **Generate Cover** - Create cover art via Nano Banana Pro skill (DO NOT SKIP)
3. **Compile** - Combine into EPUB with cover embedded
4. **Send** - Email to Kindle address

⚠️ **Always generate and include cover before sending.** Never send without cover.

## Supported Sites

| Site | Key | URL Pattern |
|------|-----|-------------|
| Paul Graham | `paulgraham` | paulgraham.com/articles.html |
| Kevin Kelly | `kevinkelly` | kk.org/thetechnium |
| Derek Sivers | `sivers` | sive.rs/blog |
| Wait But Why | `waitbutwhy` | waitbutwhy.com/archive |
| Astral Codex Ten | `acx` | astralcodexten.com |

For unlisted sites, use `--site custom --url <archive-url>`.

## Cover Generation

Use the `nano-banana-pro` skill to generate covers. Prompt template:
example.sh
# 1. Fetch essays from a supported site
uv run scripts/fetch_blog.py --site paulgraham --output ./pg-essays

# 2. Generate cover (uses Nano Banana Pro)
# See nano-banana-pro skill for cover generation

# 3. Compile to EPUB with cover
uv run scripts/compile_epub.py --input ./pg-essays --cover ./cover.png --output essays.epub

# 4. Send to Kindle
uv run scripts/send_to_kindle.py --file essays.epub --kindle-email [email protected]
example.txt
Book cover for '[Author Name]: [Subtitle]'. 
Minimalist design with elegant typography. 
[Brand color] accent. Clean white/cream background. 
Simple geometric or abstract motif related to [topic].
Professional literary feel. No photos, no faces.
Portrait orientation book cover dimensions.

Tags

#marketing_and-sales

Quick Info

Category E-commerce
Model Claude 3.5
Complexity One-Click
Author ainekomacx
Last Updated 3/10/2026
🚀
Optimized for
Claude 3.5
🧠

Ready to Install?

Get started with this skill in seconds

openclaw install blog-to-kindle