domains / media / youtube-video-download / video-downloader

video-downloader

Skill card

combined

The davepoon, ComposioHQ, and composio-community copies are near-identical procedural skills that wrap a specific scripts/download_video.py CLI with quality, format, audio-only, and output flags. The Prat011 copy is a different, higher-level skill that describes natural-language usage, batch/playlist downloads, metadata preservation, and copyright guidance, but it does not provide the concrete CLI procedure. Because the copies overlap but each has material steps or constraints the others lack, and they disagree on playlist support and yt-dlp installation behavior, crowning one would hide a real alternative.

Repositories

RepositoryPath
davepoon/buildwithclaudeplugins/all-skills/skills/video-downloader/SKILL.md
Prat011/awesome-llm-skillsvideo-downloader/SKILL.md
ComposioHQ/awesome-claude-skillsvideo-downloader/SKILL.md
composio-community/awesome-codex-skillsvideo-downloader/SKILL.md

Other copies

RoleRepositoryPath
peerdavepoon/buildwithclaudeplugins/all-skills/skills/video-downloader/SKILL.md
peerPrat011/awesome-llm-skillsvideo-downloader/SKILL.md
peerComposioHQ/awesome-claude-skillsvideo-downloader/SKILL.md
peercomposio-community/awesome-codex-skillsvideo-downloader/SKILL.md

Combined skill

---
name: video-downloader
description: Download YouTube videos with customizable quality and format options, or use natural-language requests for single, batch, or playlist downloads.
---

# Video Downloader

Download YouTube videos with control over quality, format, and output location.

## When to Use

- Downloading YouTube videos for offline viewing, editing, or archival
- Saving educational content, conference talks, or webinars
- Downloading your own content from platforms
- Getting audio-only MP3 files

## CLI Procedure

Use the bundled script when available:

```bash
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/` by default.

### Quality

Use `-q` or `--quality`:

- `best` (default)
- `1080p`
- `720p`
- `480p`
- `360p`
- `worst`

Example:

```bash
python scripts/download_video.py "URL" -q 720p
```

### Format

Use `-f` or `--format` for video downloads:

- `mp4` (default)
- `webm`
- `mkv`

Example:

```bash
python scripts/download_video.py "URL" -f webm
```

### Audio Only

Use `-a` or `--audio-only` to download MP3 audio:

```bash
python scripts/download_video.py "URL" -a
```

### Output Directory

Use `-o` or `--output` to change the destination:

```bash
python scripts/download_video.py "URL" -o /path/to/directory
```

## Natural-Language Usage

You can also request downloads in plain language:

- "Download this YouTube video: https://youtube.com/watch?v=..."
- "Download this video in 1080p quality"
- "Download the audio from this YouTube video as MP3"
- "Download all videos from this YouTube playlist: [URL]"
- "Download these 5 YouTube videos: 1. [URL] 2. [URL] ..."

## yt-dlp Installation

- If `yt-dlp` is on your `PATH`, it is used.
- Otherwise, the script may create a local virtualenv at `video-downloader/.venv`, install `yt-dlp` there, and run that binary.
- If venv creation or install fails, install globally, for example: `pipx install yt-dlp`, `brew install yt-dlp`, or your OS package manager.

## Supported URLs

- HTTPS only; `http://` links are rejected.
- YouTube hosts only: `youtube.com` and subdomains such as `www`, `m`, `music`, `youtu.be`, and `youtube-nocookie.com` (including `www`).

## 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 by default; playlists are skipped unless the skill explicitly supports batch or playlist downloads.
- Higher quality videos may take longer to download and use more disk space.
- Only download videos you have permission to download; respect copyright laws and platform terms of service.

## Conflicts

- Playlist support: Prat011/awesome-llm-skills supports batch and playlist downloads, while davepoon/buildwithclaude, ComposioHQ/awesome-claude-skills, and composio-community/awesome-codex-skills state that only single videos are downloaded and playlists are skipped by default.
- yt-dlp installation: davepoon/buildwithclaude says the script does not install packages into system Python and uses a local .venv if yt-dlp is not on PATH, while ComposioHQ/awesome-claude-skills and composio-community/awesome-codex-skills say the script automatically installs yt-dlp if not present.