home / skills / composiohq / awesome-claude-skills / video-downloader

video-downloader skill

/video-downloader

This skill downloads YouTube videos with configurable quality, format, and audio-only options, returning files to your chosen directory.

npx playbooks add skill composiohq/awesome-claude-skills --skill video-downloader

Review the files below or copy the command above to add this skill to your agents.

Files (2)
SKILL.md
2.6 KB
---
name: youtube-downloader
description: 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 Video Downloader

Download YouTube videos with full control over quality and format settings.

## Quick Start

The simplest way to download a video:

```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/`.

## Options

### Quality Settings

Use `-q` or `--quality` to specify video quality:

- `best` (default): Highest quality available
- `1080p`: Full HD
- `720p`: HD
- `480p`: Standard definition
- `360p`: Lower quality
- `worst`: Lowest quality available

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

### Format Options

Use `-f` or `--format` to specify output format (video downloads only):

- `mp4` (default): Most compatible
- `webm`: Modern format
- `mkv`: Matroska container

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

### Audio Only

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

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

### Custom Output Directory

Use `-o` or `--output` to specify a different output directory:

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

## Complete Examples

1. Download video in 1080p as MP4:
```bash
python scripts/download_video.py "https://www.youtube.com/watch?v=dQw4w9WgXcQ" -q 1080p
```

2. Download audio only as MP3:
```bash
python scripts/download_video.py "https://www.youtube.com/watch?v=dQw4w9WgXcQ" -a
```

3. Download in 720p as WebM to custom directory:
```bash
python scripts/download_video.py "https://www.youtube.com/watch?v=dQw4w9WgXcQ" -q 720p -f webm -o /custom/path
```

## How It Works

The skill uses `yt-dlp`, a robust YouTube downloader that:
- Automatically installs itself if not present
- 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
- The script handles installation of yt-dlp automatically
- Only single videos are downloaded (playlists are skipped by default)
- Higher quality videos may take longer to download and use more disk space

Overview

This skill downloads YouTube videos with precise control over quality, format, and output location. It supports full video downloads and audio-only MP3 exports, and defaults to the highest compatible quality and MP4 format. The tool is designed for single-video downloads and saves files to a predictable output directory by default.

How this skill works

The skill wraps yt-dlp to fetch video metadata, select matching video/audio streams, and download or merge them as needed. It auto-installs yt-dlp if missing, selects streams based on the requested quality, and outputs files named from the video title. Audio-only mode extracts and converts the audio track to MP3.

When to use it

  • Save a single YouTube video for offline viewing
  • Export podcast or music audio from a YouTube video as MP3
  • Control download quality to manage file size and bandwidth
  • Convert videos to specific containers (mp4, webm, mkv)
  • Save downloads to a custom output directory for organization

Best practices

  • Prefer lower qualities (720p, 480p, 360p) to save bandwidth and disk space when high resolution isn’t needed
  • Use audio-only mode for music or spoken-word content to reduce download time and storage
  • Specify a custom output directory when automating downloads or integrating with other tools
  • Be mindful of copyright and terms of service; download only content you have rights to or permission for
  • Test quality and format options on one video before batch-running similar downloads

Example use cases

  • Quickly grab a lecture video in 1080p for offline study and archive it to a course folder
  • Download a music video as MP3 to add to an offline audio library
  • Save a demonstration video in webm format for compatibility with a specific player
  • Retrieve a tutorial in 720p to share with a team over limited bandwidth
  • Automate saving single video links to a designated output directory for later processing

FAQ

Where are files saved by default?

Downloads are saved to /mnt/user-data/outputs/ by default unless you specify a custom output directory with -o or --output.

Can it download playlists?

The script is configured for single-video downloads and skips playlists by default; playlist support is not enabled out of the box.