MapleShaw

yt-dlp-downloader

141
23
# Install this skill:
npx skills add MapleShaw/yt-dlp-downloader-skill

Or install specific skill: npx add-skill https://github.com/MapleShaw/yt-dlp-downloader-skill

# 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".

# SKILL.md


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 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:
  2. YouTube/YouTube Music → Always use --cookies-from-browser chrome
  3. Other sites → Try without cookies first

  4. Ask what they want (if not specified):

  5. Just download the video?
  6. Extract audio only?
  7. Need subtitles?
  8. Specific quality?

  9. Construct the command based on requirements

  10. Execute the download using Shell tool with required_permissions: ["all", "network"]

  11. Handle errors:

  12. 403 Forbidden → Retry with --cookies-from-browser
  13. Connection issues → yt-dlp auto-resumes, just retry
  14. Format unavailable → Use -F to list formats, then select

  15. 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

# README.md

yt-dlp Downloader Skill

A Cursor Agent Skill for downloading videos from YouTube, Bilibili, Twitter, and thousands of other sites using yt-dlp.

中文文档

Features

  • Download videos from 1000+ websites
  • Extract audio (MP3)
  • Download subtitles
  • Select video quality (720p/1080p/best)
  • Auto-handle YouTube 403 errors with browser cookies
  • Resume interrupted downloads

Prerequisites

Before using this skill, make sure you have the following installed:

# Install yt-dlp
pip install yt-dlp

# Install ffmpeg (required for audio extraction)
brew install ffmpeg  # macOS
# or: sudo apt install ffmpeg  # Linux

Installation

Option 1: Clone to Cursor skills directory

git clone https://github.com/MapleShaw/yt-dlp-downloader-skill.git ~/.cursor/skills/yt-dlp-downloader

Option 2: Manual installation

  1. Create the skill directory:
    bash mkdir -p ~/.cursor/skills/yt-dlp-downloader/scripts

  2. Download SKILL.md and scripts/download.sh from this repository

  3. Place them in the created directory

Usage

Simply tell Cursor what you want to download:

Command Example
Download video "Download this video https://youtube.com/watch?v=xxx"
Extract audio "Extract audio from https://youtube.com/watch?v=xxx"
Download with subtitles "Download with subtitles https://youtube.com/watch?v=xxx"
Specific quality "Download in 720p https://youtube.com/watch?v=xxx"

Example Conversations

You: Download this video https://www.youtube.com/watch?v=xxx

Cursor:

yt-dlp -P "~/Downloads/yt-dlp" --cookies-from-browser chrome "https://www.youtube.com/watch?v=xxx"

Supported Sites

yt-dlp supports thousands of sites including:

  • YouTube / YouTube Music
  • Bilibili (B站)
  • Twitter / X
  • TikTok / Douyin (抖音)
  • Vimeo
  • Twitch
  • And many more...

Troubleshooting

Error Solution
HTTP 403 Forbidden (YouTube) Use --cookies-from-browser chrome
yt-dlp not found Run pip install yt-dlp
ffmpeg not found Run brew install ffmpeg
Download fails Run pip install -U yt-dlp to update

File Structure

yt-dlp-downloader/
├── SKILL.md              # Main skill instructions
└── scripts/
    └── download.sh       # Helper script

License

MIT

Credits

  • yt-dlp - The powerful video downloader
  • Cursor - AI-powered code editor

# Supported AI Coding Agents

This skill is compatible with the SKILL.md standard and works with all major AI coding agents:

Learn more about the SKILL.md standard and how to use these skills with your preferred AI coding agent.