video-downloader

Downloads videos from YouTube and other platforms for offline viewing, editing, or archival. Handles various formats and quality options.

23 stars

Best use case

video-downloader is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Downloads videos from YouTube and other platforms for offline viewing, editing, or archival. Handles various formats and quality options.

Teams using video-downloader should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/video-downloader/SKILL.md --create-dirs "https://raw.githubusercontent.com/christophacham/agent-skills-library/main/skills/web-dev/video-downloader/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/video-downloader/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How video-downloader Compares

Feature / Agentvideo-downloaderStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Downloads videos from YouTube and other platforms for offline viewing, editing, or archival. Handles various formats and quality options.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# Video Downloader

This skill downloads videos from YouTube and other platforms directly to your computer.

## Prerequisites

- **Python 3.7+**: Required for video download scripts
- **yt-dlp or yt-dlp**: Video download utility (install via pip)
- **FFmpeg**: For video format conversion (optional but recommended)

## When to Use This Skill

- Downloading YouTube videos for offline viewing
- Saving educational content for reference
- Archiving important videos
- Getting video files for editing or repurposing
- Downloading your own content from platforms
- Saving conference talks or webinars

## What This Skill Does

1. **Downloads Videos**: Fetches videos from YouTube and other platforms
2. **Quality Selection**: Lets you choose resolution (480p, 720p, 1080p, 4K)
3. **Format Options**: Downloads in various formats (MP4, WebM, audio-only)
4. **Batch Downloads**: Can download multiple videos or playlists
5. **Metadata Preservation**: Saves title, description, and thumbnail

## How to Use

### Basic Download

```
Download this YouTube video: https://youtube.com/watch?v=...
```

```
Download this video in 1080p quality
```

### Audio Only

```
Download the audio from this YouTube video as MP3
```

### Playlist Download

```
Download all videos from this YouTube playlist: [URL]
```

### Batch Download

```
Download these 5 YouTube videos:
1. [URL]
2. [URL]
...
```

## Example

**User**: "Download this YouTube video: https://youtube.com/watch?v=abc123"

**Output**:
```
Downloading from YouTube...

Video: "How to Build Products Users Love"
Channel: Lenny's Podcast
Duration: 45:32
Quality: 1080p

Progress: ████████████████████ 100%

✓ Downloaded: how-to-build-products-users-love.mp4
✓ Saved thumbnail: how-to-build-products-users-love.jpg
✓ Size: 342 MB

Saved to: ~/Downloads/
```

**Inspired by:** Lenny's workflow from his newsletter

## Important Notes

⚠️ **Copyright & Fair Use**
- Only download videos you have permission to download
- Respect copyright laws and platform terms of service
- Use for personal, educational, or fair use purposes
- Don't redistribute copyrighted content

## Tips

- Specify quality if you need lower file size (720p vs 1080p)
- Use audio-only for podcasts or music to save space
- Download to a dedicated folder to stay organized
- Check file size before downloading on slow connections

## Common Use Cases

- **Education**: Save tutorials and courses for offline learning
- **Research**: Archive videos for reference
- **Content Creation**: Download your own content from platforms
- **Backup**: Save important videos before they're removed
- **Offline Viewing**: Watch videos without internet access

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

Related Skills

videocut-subtitle

23
from christophacham/agent-skills-library

字幕生成与烧录。转录→词典纠错→审核→烧录。触发词:加字幕、生成字幕、字幕

videocut-self-update

23
from christophacham/agent-skills-library

自更新 skills。记录用户反馈,更新方法论和规则。触发词:更新规则、记录反馈、改进skill

videocut-install

23
from christophacham/agent-skills-library

环境准备。安装依赖、下载模型、验证环境。触发词:安装、环境准备、初始化

videocut-clip

23
from christophacham/agent-skills-library

执行视频剪辑。根据确认的删除任务执行FFmpeg剪辑,循环直到零口误,生成字幕。触发词:执行剪辑、开始剪、确认剪辑

videocut-clip-oral

23
from christophacham/agent-skills-library

口播视频转录和口误识别。生成审查稿和删除任务清单。触发词:剪口播、处理视频、识别口误

video-creator

23
from christophacham/agent-skills-library

视频创作技能。图片+音频合成视频,支持TTS配音、淡入淡出转场、字幕、片尾、BGM。当用户提到「生成视频」「做视频」「教学视频」「图文转视频」「做视频号」「配音视频」「图文结合视频」「古诗视频」「故事视频」时触发。内含生图→配音→合成全流程,无需单独调用image-service。

auto-weixin-video

23
from christophacham/agent-skills-library

微信视频号自动发布技能。当用户需要发布视频到微信视频号时使用这个技能。技能包含:获取登录Cookie、上传视频、设置标题话题、定时发布、原创声明等功能。

videodb-skills

23
from christophacham/agent-skills-library

Upload, stream, search, edit, transcribe, and generate AI video and audio using the VideoDB SDK.

writing-skills

23
from christophacham/agent-skills-library

Use when creating new skills, editing existing skills, or verifying skills work before deployment

writing-plans

23
from christophacham/agent-skills-library

Use when you have a spec or requirements for a multi-step task, before touching code

update-oo-component-documentation

23
from christophacham/agent-skills-library

Update existing object-oriented component documentation following industry best practices and architectural documentation standards.

tailored-resume-generator

23
from christophacham/agent-skills-library

Analyzes job descriptions and generates tailored resumes that highlight relevant experience, skills, and achievements to maximize interview chances