yt-dlp-downloader
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".
Best use case
yt-dlp-downloader is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
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".
Teams using yt-dlp-downloader should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/yt-dlp-downloader/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How yt-dlp-downloader Compares
| Feature / Agent | yt-dlp-downloader | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
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".
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# yt-dlp Video Downloader Download videos from thousands of websites using yt-dlp. ## Prerequisites Before downloading, verify dependencies are installed: ```bash # 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: ```bash pip install yt-dlp brew install ffmpeg # macOS ``` ## Quick Start ### Basic Download (Best Quality) ```bash 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: ```bash 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 ```bash yt-dlp -P "/path/to/save" -o "%(title)s.%(ext)s" "VIDEO_URL" ``` ## Common Tasks ### 1. Download Video (Default - Best Quality) ```bash yt-dlp -P "~/Downloads/yt-dlp" "VIDEO_URL" ``` ### 2. Extract Audio Only (MP3) ```bash yt-dlp -P "~/Downloads/yt-dlp" -x --audio-format mp3 "VIDEO_URL" ``` ### 3. Download with Subtitles ```bash yt-dlp -P "~/Downloads/yt-dlp" --write-subs --sub-langs all "VIDEO_URL" ``` ### 4. Download Specific Quality **720p:** ```bash yt-dlp -P "~/Downloads/yt-dlp" -f "bestvideo[height<=720]+bestaudio/best[height<=720]" "VIDEO_URL" ``` **1080p:** ```bash yt-dlp -P "~/Downloads/yt-dlp" -f "bestvideo[height<=1080]+bestaudio/best[height<=1080]" "VIDEO_URL" ``` **Best available:** ```bash yt-dlp -P "~/Downloads/yt-dlp" -f "bestvideo+bestaudio/best" "VIDEO_URL" ``` ### 5. List Available Formats (Before Download) ```bash yt-dlp -F "VIDEO_URL" ``` Then download specific format by ID: ```bash yt-dlp -P "~/Downloads/yt-dlp" -f FORMAT_ID "VIDEO_URL" ``` ### 6. Download Playlist ```bash # 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 ```bash 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: ```bash # 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: ```bash # 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: ```bash # 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" ```bash pip install yt-dlp ``` ### Error: "ffmpeg not found" (for audio extraction) ```bash brew install ffmpeg # macOS ``` ### Error: HTTP 403 Forbidden (YouTube) This is the most common YouTube error. **Always use cookies for YouTube:** ```bash # 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 ```bash # 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 ```bash # 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
Related Skills
slack
Send messages and manage Slack channels. Use when asked to send Slack messages, post to channels, list channels, or fetch message history.
yc-batch-evaluator
Evaluate YC batch companies for investment — scrapes the YC directory, researches each company and its founders (work history, LinkedIn, website), assesses founder-company fit, and exports to Google Sheets with priority rankings. Use when asked to evaluate YC companies, research a YC batch, screen startups, or do due diligence on YC companies.
website-screenshot
Take screenshots of websites and web pages
weather
Get current weather and forecasts using free APIs (no API key required). Use when asked about weather, temperature, forecasts, or climate conditions for any location.
weather-forecast
Get weather forecasts - temperature, precipitation, wind, and conditions
vhs-terminal-recordings
Create polished terminal GIF recordings using VHS (Video Hardware Software) by Charmbracelet. Use when asked to create terminal demos, CLI gifs, command-line recordings, or animated terminal screenshots for documentation, READMEs, or marketing.
verify-email
Verify if an email address is valid and deliverable
valyu
Web search, AI answers, content extraction, and async deep research
uptime-monitor
Monitor website uptime - check availability, response times, and status
twitter-profile-lookup
Look up Twitter/X profiles - get bio, followers, tweets, and engagement
tomba
Email finder and verifier - find emails from domains, LinkedIn, or company search
tiktok-search
Search TikTok - find profiles, videos, hashtags, and trending content