About video-downloader
video-downloader is a command-line skill for downloading single YouTube videos with selectable quality and format, or extracting audio as MP3. It accepts only HTTPS URLs from specified YouTube hosts and uses yt-dlp.
Key features
- 01Selectable video quality
- 02MP4, WebM, and MKV output
- 03MP3 audio-only downloads
- 04Custom output directory
- 05YouTube-host and HTTPS validation
Use cases
- 01Save a YouTube video at a chosen resolution
- 02Extract audio from a YouTube video
- 03Choose a format for a video download
- 04Store downloads in a specified directory
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ davepoon/ buildwithclaude --skill video-downloaderAfter installing, type/video-downloaderin Claude Code to confirm it loaded.
Bundled files.gitignorescripts/download_video.py
Details
From the project READMEYouTube Video Downloader
Download YouTube videos with full control over quality and format settings.
Quick Start
The simplest way to download a video:
python scripts/download_video.py "https://www.youtube.com/watch?v=VIDEO_ID"
This downloads the video in best available quality as MP4 to /mnt/user-data/outputs/.
Options
Quality Settings
Use -q or --quality to specify video quality:
best(default): Highest quality available1080p: Full HD720p: HD480p: Standard definition360p: Lower qualityworst: Lowest quality available
Example:
python scripts/download_video.py "URL" -q 720p
Format Options
Use -f or --format to specify output format (video downloads only):
mp4(default): Most compatiblewebm: Modern formatmkv: Matroska container
Example:
python scripts/download_video.py "URL" -f webm
Audio Only
Use -a or --audio-only to download only audio as MP3:
python scripts/download_video.py "URL" -a
Custom Output Directory
Use -o or --output to specify a different output directory:
python scripts/download_video.py "URL" -o /path/to/directory
Complete Examples
- Download video in 1080p as MP4:
python scripts/download_video.py "https://www.youtube.com/watch?v=dQw4w9WgXcQ" -q 1080p
- Download audio only as MP3:
python scripts/download_video.py "https://www.youtube.com/watch?v=dQw4w9WgXcQ" -a
- Download in 720p as WebM to custom directory:
python scripts/download_video.py "https://www.youtube.com/watch?v=dQw4w9WgXcQ" -q 720p -f webm -o /custom/path
Supported URLs
- HTTPS only —
http://links are rejected. - YouTube hosts only — allowed hostnames include
youtube.com(and subdomains such aswww,m,music),youtu.be, andyoutube-nocookie.com(includingwww). Other sites are rejected.
yt-dlp installation
The script does not install packages into your system Python (no --break-system-packages).
- If
yt-dlpis on yourPATH, it is used. - Otherwise it creates a local virtualenv at
video-downloader/.venv, installsyt-dlpthere withpip, 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-dlpvia PATH or the skill-local.venvas 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