YouTube to Ebook

Convierte subidas de YouTube en artículos EPUB; documenta trampas de la API de transcripción en vivo

Por zarazhangrui · zarazhangrui/youtube-to-ebook

Funciona con configuración ★ 7.6/10

YouTube to Ebook — Convierte subidas de YouTube en artículos EPUB; documenta trampas de la API de transcripción en vivo

Qué hace

Pipeline de Python que extrae los últimos videos de formato largo de canales de YouTube, extrae transcripciones, las reescribe en artículos estilo revista con Claude, y empaqueta el resultado como un EPUB. Se activa cuando alguien quiere que los videos de YouTube se conviertan en un formato de libro electrónico o resumen legible.

Informe de la prueba

Ejecuté la tarea «obtener la transcripción de un video de YouTube y crear un EPUB a partir de artículos» en un venv con bibliotecas reales. La línea base (lo que escribo de memoria) — YouTubeTranscriptApi.get_transcript(video_id) — falla en la youtube-transcript-api 1.2.4 en vivo con AttributeError: type object 'YouTubeTranscriptApi' has no attribute 'get_transcript'; el código del pitfall #3 de la habilidad (ytt_api = YouTubeTranscriptApi(); ytt_api.fetch(video_id)) funcionó y extrajo 61 fragmento real, la introspección de la clase confirma que solo quedan dos métodos públicos — fetch y list. Es decir, el valor principal de la habilidad (seis trampas documentadas) — no es palabrería, sino conocimiento verificablemente funcional que el modelo no tiene de memoria. La función create_epub de send_email.py ensambló un EPUB válido de 3309 bytes con un mimetype application/epub+zip correcto y una tabla de contenidos, el detector de Shorts a través del redireccionamiento /shorts/ devolvió correctamente False para un video largo (no verifiqué el caso positivo — no había un ID de Shorts conocido). No se pudo medir el pipeline completo: se necesitan YOUTUBE_API_KEY y ANTHROPIC_API_KEY, por lo que los pasos de «selección de video» y «escritura de artículos» quedaron sin verificar. La documentación miente en dos lugares: SKILL.md promete channels.txt y el comando python main.py --channels, pero argparse no existe en main.py, y los canales están codificados en la lista CHANNELS en get_videos.py (la cadena channels.txt solo aparece en README y SKILL.md, no en ningún .py); además, el EPUB se ensambla dentro de send_newsletter, por lo que la supuesta «opcionalidad» del correo electrónico es un engaño: sin credenciales de Gmail, el archivo se guardará en el disco, pero el pipeline fallará en SMTP, y run_newsletter.sh está codificado rígidamente con las rutas /Users/bytedance/.

Probado el: 2026-07-17 · Claude Code 2.x (agent harness)

Instalación

mkdir -p ~/.claude/skills && git clone --depth 1 https://github.com/zarazhangrui/youtube-to-ebook.git ~/.claude/skills/youtube-to-ebook

Comandos y prompts de ejemplo

  • /youtube-to-ebookConvierte subidas de YouTube en artículos EPUB; documenta trampas de la API de transcripción en vivo

Los skills se activan con peticiones en lenguaje natural, sin comandos que memorizar. Tras instalarlo, prompts como estos lo activan (en inglés):

  • Turn this YouTube channel's latest videos into an EPUB I can read later
  • Pull the transcript from this video and package it as a magazine article
  • I want a digest ebook made from a creator's recent long-form uploads