Skill Details
Back to Skills

/tube-summary

by dillera

Search YouTube for videos on any topic and get intelligent summaries from video subtitles. Use when you need to: (1) Find and preview YouTube videos on a subject, (2) Get a detailed description of wha

View on GitHub

tube-summary

Search YouTube for videos on any topic, then extract and summarize their content using subtitles.

Quick Start

Step 1: Search for Videos

When asked about a topic, search YouTube and list the top 10 results:

python3 scripts/youtube-search.py "your search query"

This returns a numbered list of videos with titles, channels, and view counts.

Step 2: User Picks a Video

The user selects one video by number (e.g., "3" for the third video).

Step 3: Download Subtitles

Extract English subtitles from the selected video using yt-dlp:

yt-dlp --write-subs --sub-langs en --skip-download "VIDEO_URL"

This creates a .en.vtt subtitle file without downloading the video.

Step 4: Process & Summarize

Use the subtitle processor to analyze and summarize:

python3 scripts/process-subtitles.py "path/to/subtitle-file.vtt"

This generates:

  • Key Topics: Main subjects covered in the video
  • Summary: Concise 2-3 paragraph description of content
  • Timestamps: Notable moments with context
  • Key Quotes: Important statements from speakers

Workflow

  1. Searchyoutube-search.py "<topic>" → Display top 10 videos
  2. User selects → e.g., "Video 5"
  3. Extract URL → From the search results
  4. Download subsyt-dlp --write-subs --sub-langs en --skip-download "URL"
  5. Processprocess-subtitles.py "subtitle.vtt"
  6. Present → Formatted summary with key points

Prerequisites

  • yt-dlp (install: pip install yt-dlp)
  • requests (for YouTube search fallback)
  • Python 3.7+

Notes

  • If YouTube search API is unavailable, the fallback uses web scraping via requests
  • Subtitles may be auto-generated if not manually authored
  • Some videos may not have English subtitles available
  • The subtitle file is created in the same directory as yt-dlp is run

Example Usage

User: "Tell me about Rust programming language"

→ Search returns 10 videos about Rust

User: "Summarize video 3"

→ Downloads subtitles from video 3
→ Processes and returns detailed summary