with one click
readtube
Transform YouTube videos into magazine-style ebook articles
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
Transform YouTube videos into magazine-style ebook articles
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Based on SOC occupation classification
| name | readtube |
| description | Transform YouTube videos into magazine-style ebook articles |
Transform YouTube videos into well-written magazine-style articles, delivered as EPUB, PDF, or HTML.
Option 1: Add as a Claude Code skill (easiest)
/add-skill https://raw.githubusercontent.com/unbalancedparentheses/readtube/main/SKILL.md
Then ask: "Create an ebook from https://youtube.com/watch?v=VIDEO_ID"
Option 2: Clone and work from the repo
git clone https://github.com/unbalancedparentheses/readtube.git
cd readtube
pip install -r requirements.txt
Then ask Claude Code: "Create an ebook from https://youtube.com/watch?v=VIDEO_ID"
When the user wants to create an ebook from YouTube videos, follow this workflow:
# Single video
python -m readtube "https://www.youtube.com/watch?v=VIDEO_ID"
# Multiple videos
python -m readtube "URL1" "URL2" "URL3"
# Playlist (all videos)
python -m readtube "https://www.youtube.com/playlist?list=PLxxx"
# Playlist with limit
python -m readtube "https://www.youtube.com/playlist?list=PLxxx" --max 5
# From configured channels
python -m readtube --channels
# With specific language
python -m readtube "URL" --lang es
# List available languages
python -m readtube "URL" --list-languages
# Summary mode (short 2-3 paragraph summary)
python -m readtube "URL" --summary
# Custom output directory
python -m readtube "URL" --output-dir ./ebooks
Using the transcript output, write a magazine-style article following these guidelines:
Article Writing Guidelines:
If Claude Code isn't available, you can draft locally:
python -m readtube "URL" --output-json video.json
python -m readtube.article video.json --backend claude --output-dir ./drafts
# or use llama.cpp
python -m readtube.article video.json --backend llama-cpp --model /path/to/model.gguf --output-dir ./drafts
from readtube.ebook import create_ebook
articles = [{
"title": "Original Video Title",
"channel": "Channel Name",
"url": "https://youtube.com/watch?v=...",
"thumbnail": "https://...", # Optional: used as cover
"article": """# Your Article Headline
Your article content in markdown...
"""
}]
# Create EPUB (default)
create_ebook(articles, format="epub")
# Create PDF (requires weasyprint)
create_ebook(articles, format="pdf")
# Create HTML
create_ebook(articles, format="html")
pip install -r requirements.txt
Optional for PDF: pip install weasyprint
No API keys required!
make test # Run all tests
make test-cov # Run with coverage report
make test-e2e # Run end-to-end tests
readtube/
├── readtube/
│ ├── cli.py # CLI entry point (python -m readtube)
│ ├── ebook.py # Create EPUB/PDF/HTML from articles
│ ├── videos.py # Video fetching (yt-dlp)
│ ├── transcripts.py # Transcript extraction
│ ├── llm.py # LLM backends for article generation
│ └── web/ # Web UI subpackage
├── tests/ # Test suite
├── Makefile # Common commands
└── SKILL.md # This file
Edit CHANNELS in readtube/videos.py:
CHANNELS = [
"@LatentSpacePod",
"@ycombinator",
"@DwarkeshPatel",
]
Some videos don't have captions. Try --list-languages to see options.
Keep updated: pip install --upgrade yt-dlp
Install weasyprint system dependencies. See: https://doc.courtbouillon.org/weasyprint/stable/first_steps.html