/yt-dlp-downloader-skill
Download videos from YouTube, Bilibili, Twitter, and thousands of other sites using yt-dlp. Use when the user provides a video URL and wants to download it, extract audio (MP3), download subtitles, or select video quality. Triggers on phrases like "下载视频", "download video",
$ npx -y skills add mapleshaw/yt-dlp-downloader-skill --skill yt-dlp-downloader-skill --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/yt-dlp-downloader-skill
Context preview
The summary Claude sees to decide when to auto-load this skill.
Download videos from YouTube, Bilibili, Twitter, and thousands of other sites using yt-dlp. Use when the user provides a video URL and wants to download it, extract audio (MP3), download subtitles, or select video quality. Triggers on phrases like "下载视频", "download video",
SKILL.md
yt-dlp-downloader-skill.SKILL.mdname: yt-dlp-downloader
description: Download videos from YouTube, Bilibili, Twitter, and thousands of other sites using yt-dlp. Use when the user provides a video URL and wants to download it, extract audio (MP3), download subtitles, or select video quality. Triggers on phrases like "下载视频", "download video", "yt-dlp", "YouTube", "B站", "抖音", "提取音频", "extract audio".
yt-dlp Video Downloader
Download videos from thousands of websites using yt-dlp.
Prerequisites
Before downloading, verify dependencies are installed:
# Check yt-dlp
which yt-dlp || echo "yt-dlp not installed. Install with: pip install yt-dlp"
# Check ffmpeg (required for audio extraction and format merging)
which ffmpeg || echo "ffmpeg not installed. Install with: brew install ffmpeg"
If not installed, install them first:
pip install yt-dlp
brew install ffmpeg # macOS
Quick Start
Basic Download (Best Quality)
yt-dlp -P "~/Downloads/yt-dlp" "VIDEO_URL"
YouTube Download (Recommended - with cookies)
YouTube often blocks direct downloads with 403 errors. Always use browser cookies for YouTube:
yt-dlp -P "~/Downloads/yt-dlp" --cookies-from-browser chrome "YOUTUBE_URL"
Supported browsers: `chrome`, `firefox`, `safari`, `edge`, `brave`, `opera`
Download with Custom Output Path
yt-dlp -P "/path/to/save" -o "%(title)s.%(ext)s" "VIDEO_URL"
Common Tasks
1. Download Video (Default - Best Quality)
yt-dlp -P "~/Downloads/yt-dlp" "VIDEO_URL"
2. Extract Audio Only (MP3)
yt-dlp -P "~/Downloads/yt-dlp" -x --audio-format mp3 "VIDEO_URL"
3. Download with Subtitles
yt-dlp -P "~/Downloads/yt-dlp" --write-subs --sub-langs all "VIDEO_URL"
4. Download Specific Quality
**720p:**
yt-dlp -P "~/Downloads/yt-dlp" -f "bestvideo[height<=720]+bestaudio/best[height<=720]" "VIDEO_URL"
**1080p:**
yt-dlp -P "~/Downloads/yt-dlp" -f "bestvideo[height<=1080]+bestaudio/best[height<=1080]" "VIDEO_URL"
**Best available:**
yt-dlp -P "~/Downloads/yt-dlp" -f "bestvideo+bestaudio/best" "VIDEO_URL"
5. List Available Formats (Before Download)
yt-dlp -F "VIDEO_URL"
Then download specific format by ID:
yt-dlp -P "~/Downloads/yt-dlp" -f FORMAT_ID "VIDEO_URL"
6. Download Playlist
# Download entire playlist
yt-dlp -P "~/Downloads/yt-dlp" -o "%(playlist)s/%(playlist_index)s - %(title)s.%(ext)s" "PLAYLIST_URL"
# Download specific range (e.g., items 1-5)
yt-dlp -P "~/Downloads/yt-dlp" -I 1:5 "PLAYLIST_URL"
7. Download with Thumbnail
yt-dlp -P "~/Downloads/yt-dlp" --write-thumbnail "VIDEO_URL"
Workflow
When user provides a video URL:
1. **Identify the platform**:
- YouTube/YouTube Music → **Always use `--cookies-from-browser chrome`**
- Other sites → Try without cookies first
2. **Ask what they want** (if not specified):
- Just download the video?
- Extract audio only?
- Need subtitles?
- Specific quality?
3. **Construct the command** based on requirements
4. **Execute the download** using Shell tool with `required_permissions: ["all", "network"]`
5. **Handle errors**:
- 403 Forbidden → Retry with `--cookies-from-browser`
- Connection issues → yt-dlp auto-resumes, just retry
- Format unavailable → Use `-F` to list formats, then select
6. **Report the result** - file location and any errors
Example Interaction
User: "帮我下载这个视频 https://www.youtube.com/watch?v=xxx"
Response:
# YouTube - use cookies to avoid 403 errors
yt-dlp -P "~/Downloads/yt-dlp" --cookies-from-browser chrome "https://www.youtube.com/watch?v=xxx"
User: "下载这个视频的音频 https://www.bilibili.com/video/xxx"
Response:
# Bilibili - extracting audio as MP3
yt-dlp -P "~/Downloads/yt-dlp" -x --audio-format mp3 "https://www.bilibili.com/video/xxx"
User: "下载这个 Twitter 视频 https://twitter.com/xxx/status/123"
Response:
# Twitter/X - direct download usually works
yt-dlp -P "~/Downloads/yt-dlp" "https://twitter.com/xxx/status/123"
Supported Sites
yt-dlp supports thousands of sites including:
- YouTube, YouTube Music
- Bilibili (B站)
- Twitter/X
- TikTok, Douyin (抖音)
- Vimeo
- Twitch
- And many more...
Full list: https://github.com/yt-dlp/yt-dlp/blob/master/supportedsites.md
Troubleshooting
Common Errors and Solutions
| Error | Cause | Solution | |-------|-------|----------| | HTTP 403 Forbidden | YouTube blocks unauthenticated requests | Use `--cookies-from-browser chrome` | | Video unavailable | Geo-restricted or private | Use cookies or VPN | | Download interrupted | Network issues | Retry - yt-dlp auto-resumes | | Format not available | Requested format doesn't exist | Use `-F` to list formats |
Error: "yt-dlp: command not found"
pip install yt-dlp
Error: "ffmpeg not found" (for audio extraction)
brew install ffmpeg # macOS
Error: HTTP 403 Forbidden (YouTube)
This is the most common YouTube error. **Always use cookies for YouTube:**
# Recommended approach for YouTube
yt-dlp -P "~/Downloads/yt-dlp" --cookies-from-browser chrome "YOUTUBE_URL"
Supported browsers: `chrome`, `firefox`, `safari`, `edge`, `brave`, `opera`
Error: Video unavailable or geo-restricted
# Try with cookies from browser
yt-dlp --cookies-from-browser chrome "VIDEO_URL"
# Or use a specific format
yt-dlp -F "VIDEO_URL" # List formats first
yt-dlp -f FORMAT_ID "VIDEO_URL"
Error: Download keeps failing
# Update yt-dlp to latest version
pip install -U yt-dlp
# Force IPv4 (sometimes helps with connection issues)
yt-dlp -4 "VIDEO_URL"
Best Practices
1. **YouTube downloads**: Always use `--cookies-from-browser chrome` 2. **Large files**: yt-dlp auto-resumes, just retry if interrupted 3. **Keep yt-dlp updated**: `pip install -U yt-dlp` 4. **Check formats first**: Use `-F` before downloading if unsure
Read more
name: yt-dlp-downloader description: Download videos from YouTube, Bilibili, Twitter, and thousands of other sites using yt-dlp. Use when the user provides a video URL and wants to download it, extract audio (MP3), download subtitles, or select video quality. Triggers on phrases like "下载视频", "download video", "yt-dlp", "YouTube", "B站", "抖音", "提取音频", "extract audio".
yt-dlp Video Downloader
Download videos from thousands of websites using yt-dlp.
Prerequisites
Before downloading, verify dependencies are installed:
# Check yt-dlp which yt-dlp || echo "yt-dlp not installed. Install with: pip install yt-dlp" # Check ffmpeg (required for audio extraction and format merging) which ffmpeg || echo "ffmpeg not installed. Install with: brew install ffmpeg"
If not installed, install them first:
pip install yt-dlp brew install ffmpeg # macOS
Quick Start
Basic Download (Best Quality)
yt-dlp -P "~/Downloads/yt-dlp" "VIDEO_URL"
YouTube Download (Recommended - with cookies)
YouTube often blocks direct downloads with 403 errors. Always use browser cookies for YouTube:
yt-dlp -P "~/Downloads/yt-dlp" --cookies-from-browser chrome "YOUTUBE_URL"
Supported browsers: `chrome`, `firefox`, `safari`, `edge`, `brave`, `opera`
Download with Custom Output Path
yt-dlp -P "/path/to/save" -o "%(title)s.%(ext)s" "VIDEO_URL"
Common Tasks
1. Download Video (Default - Best Quality)
yt-dlp -P "~/Downloads/yt-dlp" "VIDEO_URL"
2. Extract Audio Only (MP3)
yt-dlp -P "~/Downloads/yt-dlp" -x --audio-format mp3 "VIDEO_URL"
3. Download with Subtitles
yt-dlp -P "~/Downloads/yt-dlp" --write-subs --sub-langs all "VIDEO_URL"
4. Download Specific Quality
**720p:**
yt-dlp -P "~/Downloads/yt-dlp" -f "bestvideo[height<=720]+bestaudio/best[height<=720]" "VIDEO_URL"
**1080p:**
yt-dlp -P "~/Downloads/yt-dlp" -f "bestvideo[height<=1080]+bestaudio/best[height<=1080]" "VIDEO_URL"
**Best available:**
yt-dlp -P "~/Downloads/yt-dlp" -f "bestvideo+bestaudio/best" "VIDEO_URL"
5. List Available Formats (Before Download)
yt-dlp -F "VIDEO_URL"
Then download specific format by ID:
yt-dlp -P "~/Downloads/yt-dlp" -f FORMAT_ID "VIDEO_URL"
6. Download Playlist
# Download entire playlist yt-dlp -P "~/Downloads/yt-dlp" -o "%(playlist)s/%(playlist_index)s - %(title)s.%(ext)s" "PLAYLIST_URL" # Download specific range (e.g., items 1-5) yt-dlp -P "~/Downloads/yt-dlp" -I 1:5 "PLAYLIST_URL"
7. Download with Thumbnail
yt-dlp -P "~/Downloads/yt-dlp" --write-thumbnail "VIDEO_URL"
Workflow
When user provides a video URL:
1. **Identify the platform**:
- YouTube/YouTube Music → **Always use `--cookies-from-browser chrome`**
- Other sites → Try without cookies first
2. **Ask what they want** (if not specified):
- Just download the video?
- Extract audio only?
- Need subtitles?
- Specific quality?
3. **Construct the command** based on requirements
4. **Execute the download** using Shell tool with `required_permissions: ["all", "network"]`
5. **Handle errors**:
- 403 Forbidden → Retry with `--cookies-from-browser`
- Connection issues → yt-dlp auto-resumes, just retry
- Format unavailable → Use `-F` to list formats, then select
6. **Report the result** - file location and any errors
Example Interaction
User: "帮我下载这个视频 https://www.youtube.com/watch?v=xxx"
Response:
# YouTube - use cookies to avoid 403 errors yt-dlp -P "~/Downloads/yt-dlp" --cookies-from-browser chrome "https://www.youtube.com/watch?v=xxx"
User: "下载这个视频的音频 https://www.bilibili.com/video/xxx"
Response:
# Bilibili - extracting audio as MP3 yt-dlp -P "~/Downloads/yt-dlp" -x --audio-format mp3 "https://www.bilibili.com/video/xxx"
User: "下载这个 Twitter 视频 https://twitter.com/xxx/status/123"
Response:
# Twitter/X - direct download usually works yt-dlp -P "~/Downloads/yt-dlp" "https://twitter.com/xxx/status/123"
Supported Sites
yt-dlp supports thousands of sites including:
- YouTube, YouTube Music
- Bilibili (B站)
- Twitter/X
- TikTok, Douyin (抖音)
- Vimeo
- Twitch
- And many more...
Full list: https://github.com/yt-dlp/yt-dlp/blob/master/supportedsites.md
Troubleshooting
Common Errors and Solutions
| Error | Cause | Solution | |-------|-------|----------| | HTTP 403 Forbidden | YouTube blocks unauthenticated requests | Use `--cookies-from-browser chrome` | | Video unavailable | Geo-restricted or private | Use cookies or VPN | | Download interrupted | Network issues | Retry - yt-dlp auto-resumes | | Format not available | Requested format doesn't exist | Use `-F` to list formats |
Error: "yt-dlp: command not found"
pip install yt-dlp
Error: "ffmpeg not found" (for audio extraction)
brew install ffmpeg # macOS
Error: HTTP 403 Forbidden (YouTube)
This is the most common YouTube error. **Always use cookies for YouTube:**
# Recommended approach for YouTube yt-dlp -P "~/Downloads/yt-dlp" --cookies-from-browser chrome "YOUTUBE_URL"
Supported browsers: `chrome`, `firefox`, `safari`, `edge`, `brave`, `opera`
Error: Video unavailable or geo-restricted
# Try with cookies from browser yt-dlp --cookies-from-browser chrome "VIDEO_URL" # Or use a specific format yt-dlp -F "VIDEO_URL" # List formats first yt-dlp -f FORMAT_ID "VIDEO_URL"
Error: Download keeps failing
# Update yt-dlp to latest version pip install -U yt-dlp # Force IPv4 (sometimes helps with connection issues) yt-dlp -4 "VIDEO_URL"
Best Practices
1. **YouTube downloads**: Always use `--cookies-from-browser chrome` 2. **Large files**: yt-dlp auto-resumes, just retry if interrupted 3. **Keep yt-dlp updated**: `pip install -U yt-dlp` 4. **Check formats first**: Use `-F` before downloading if unsure
A Cursor Agent Skill for downloading videos from YouTube, Bilibili, Twitter, and thousands of other sites using yt-dlp.

