Download YouTube videos with customizable quality and format options. Use this skill when the user asks to download, save, or grab YouTube videos. Supports various quality settings (best, 1080p, 720p, 480p, 360p), multiple formats (mp4, webm, mkv), and audio-only downloads as MP3.
YouTube hosts only — allowed hostnames include youtube.com (and subdomains such as www, m, music), youtu.be, and youtube-nocookie.com (including www). Other sites are rejected.
yt-dlp installation
The script does not install packages into your system Python (no --break-system-packages).
If yt-dlp is on your PATH, it is used.
Otherwise it creates a local virtualenv at video-downloader/.venv, installs yt-dlp there with pip, and runs that binary.
If venv creation or install fails, follow the printed message or install globally, for example: pipx install yt-dlp, brew install yt-dlp, or your OS package manager.
The .venv directory is gitignored and stays inside the skill folder.
How It Works
The skill uses yt-dlp, a robust YouTube downloader that:
Resolves yt-dlp via PATH or the skill-local .venv as described above
Fetches video information before downloading
Selects the best available streams matching your criteria
Merges video and audio streams when needed
Supports a wide range of YouTube video formats
Important Notes
Downloads are saved to /mnt/user-data/outputs/ by default
Video filename is automatically generated from the video title
Only single videos are downloaded (playlists are skipped by default)
Higher quality videos may take longer to download and use more disk space