Skip to main content

youtube

The most comprehensive YouTube skill for AI agents. Extract transcripts for FREE (zero API quota!), search with filters, batch video details, read comments, download videos/audio. We analyzed 15+ YouTube tools and built the one that does everything.

Jump to install

Source facts

Repository
Kernel8901/ai-agent-skills-classification
Last source activity
April 4, 2026 at 15:26
Detected SKILL.md language
English
Stars
4
Forks
0

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

File Explorer
4 files

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
youtube
version
1.0.1
description
The most comprehensive YouTube skill for AI agents. Extract transcripts for FREE (zero API quota!), search with filters, batch video details, read comments, download videos/audio. We analyzed 15+ YouTube tools and built the one that does everything.
homepage
https://github.com/openclaw/openclaw
repository
https://github.com/openclaw/openclaw
metadata
{"openclaw":{"emoji":"📺","requires":{"bins":"[Truncated]"},"install":["[Truncated]","[Truncated]"]}}
# YouTube Research Pro **The most comprehensive YouTube skill for AI agents.** We analyzed 15+ YouTube MCP servers and found each does one thing well, but none does everything. So we built the skill we wished existed. ## Why This Skill? | What Others Do | What We Do | |----------------|------------| | Transcripts OR search OR downloads | **All three, unified** | | Burn API quota on transcripts | **FREE transcripts** (zero quota) | | Single video at a time | **Batch operations** (50 videos) | | Basic search | **Filtered search** (date, duration, order) | | Text output only | **JSON export** for pipelines | ### The Killer Feature: FREE Transcripts Most tools use the YouTube Data API for transcripts = **100 quota units per request**. Daily limit is 10,000 units = only ~100 transcripts/day. **We use `youtube-transcript-api`** — extracts directly from YouTube's frontend. **Zero API quota. Unlimited transcripts.** ## Quick Reference | Command | Quota | What it does | |---------|-------|--------------| | `transcript VIDEO` | **FREE** | Get video transcript | | `transcript-list VIDEO` | **FREE** | List available languages | | `download VIDEO` | **FREE** | Download video (yt-dlp) | | `download-audio VIDEO` | **FREE** | Extract audio only | | `search QUERY` | 100 | Search videos | | `video ID [ID...]` | 1/video | Get details (batch!) | | `comments VIDEO` | 1 | Get comments + replies | | `channel [ID]` | 1-3 | Channel statistics | ## Setup (One Time) ```bash # 1. Get credentials from Google Cloud Console # - Create OAuth 2.0 Client ID (Desktop app) # - Download JSON # 2. Save credentials mkdir -p ~/.config/youtube-skill mv ~/Downloads/client_secret*.json ~/.config/youtube-skill/credentials.json # 3. Authenticate uv run {baseDir}/scripts/youtube.py auth ``` ## Transcripts (FREE!) ```bash # Plain text transcript uv run {baseDir}/scripts/youtube.py transcript VIDEO_ID # With timestamps uv run {baseDir}/scripts/youtube.py transcript VIDEO_ID --timestamps # Specific language (falls back to available) uv run {baseDir}/scripts/youtube.py transcript VIDEO_ID -l es # List what's available uv run {baseDir}/scripts/youtube.py transcript-list VIDEO_ID # JSON output uv run {baseDir}/scripts/youtube.py transcript VIDEO_ID --json ``` Works with URLs too: ```bash uv run {baseDir}/scripts/youtube.py transcript "https://youtube.com/watch?v=dQw4w9WgXcQ" ``` ## Search ```bash # Basic search uv run {baseDir}/scripts/youtube.py search "AI news 2026" # With filters uv run {baseDir}/scripts/youtube.py search "tutorial" -l 20 --order date uv run {baseDir}/scripts/youtube.py search "lecture" --duration long uv run {baseDir}/scripts/youtube.py search "news" --published-after 2026-01-01T00:00:00Z ``` ## Video Details (Batch Supported) ```bash # Single video uv run {baseDir}/scripts/youtube.py video dQw4w9WgXcQ # Multiple videos at once (up to 50) uv run {baseDir}/scripts/youtube.py video id1 id2 id3 id4 id5 # JSON output for processing uv run {baseDir}/scripts/youtube.py video id1 id2 --json ``` ## Comments ```bash # Top comments uv run {baseDir}/scripts/youtube.py comments VIDEO_ID # With replies uv run {baseDir}/scripts/youtube.py comments VIDEO_ID --replies # Recent comments uv run {baseDir}/scripts/youtube.py comments VIDEO_ID --order time -l 50 ``` ## Downloads (requires yt-dlp) ```bash # Video (best quality) uv run {baseDir}/scripts/youtube.py download VIDEO_ID # Specific resolution uv run {baseDir}/scripts/youtube.py download VIDEO_ID -r 720p # With subtitles uv run {baseDir}/scripts/youtube.py download VIDEO_ID -s en # Audio only (MP3) uv run {baseDir}/scripts/youtube.py download-audio VIDEO_ID # Audio as M4A uv run {baseDir}/scripts/youtube.py download-audio VIDEO_ID -f m4a ``` ## User Data ```bash uv run {baseDir}/scripts/youtube.py subscriptions uv run {baseDir}/scripts/youtube.py playlists uv run {baseDir}/scripts/youtube.py playlist-items PLAYLIST_ID uv run {baseDir}/scripts/youtube.py liked uv run {baseDir}/scripts/youtube.py channel ``` ## Command Aliases | Full | Alias | |------|-------| | `transcript` | `tr` | | `search` | `s` | | `video` | `v` | | `comments` | `c` | | `download` | `dl` | | `download-audio` | `dla` | ## Use Cases **Research:** Fetch transcript → analyze with LLM → extract insights **Learning:** Batch transcripts from playlist → create study notes **Monitoring:** Search recent videos → extract transcripts → track trends **Podcasts:** Download audio for offline listening **Analysis:** Get channel stats → compare competitors ## Multi-Account ```bash uv run {baseDir}/scripts/youtube.py -a work subscriptions uv run {baseDir}/scripts/youtube.py -a personal liked ``` ## Why We Built This We surveyed the landscape: - **kimtaeyoon83/mcp-server-youtube-transcript** (463⭐) — Great transcripts, no search - **kevinwatt/yt-dlp-mcp** (211⭐) — Great downloads, no transcripts - **dannySubsense/youtube-mcp-server** (9⭐) — Most functions, but uses paid API for transcripts - **kirbah/mcp-youtube** (9⭐) — Batch ops, but no free transcripts **None combined free transcripts + search + downloads + batch ops.** Now one does.
View on GitHub