yt-dlp
A robust CLI wrapper for yt-dlp to download videos, playlists, and audio from YouTube and thousands of other sites. Supports format selection, quality control, metadata embedding, and cookie authentication.
About this skill
The yt-dlp skill provides a powerful command-line interface for the popular `yt-dlp` media downloader, simplifying the process of acquiring media from a vast array of online sources. It focuses on high-quality archiving, allowing users to download videos, extract audio, and manage entire playlists with sensible defaults for optimal quality settings, including embedding metadata, thumbnails, and subtitles. This skill is ideal for media archivists, content creators needing source material, or anyone who wants to save online media for offline viewing or listening. It streamlines complex `yt-dlp` commands into a single, easy-to-use script, making advanced features like specific resolution downloads, audio extraction, and cookie-based authentication readily accessible. Users would leverage this skill to reliably download content from YouTube, Vimeo, and thousands of other supported sites, ensuring that valuable online media can be preserved, analyzed, or enjoyed offline without worrying about platform changes or content removal. Its flexibility with format and quality options makes it a versatile tool for various media acquisition needs.
Best use case
The primary use case is media archiving and acquisition. Individuals or content creators can download videos, playlists, or audio from diverse online platforms for offline consumption, backup, content analysis, or creative projects, ensuring long-term access to digital media.
A robust CLI wrapper for yt-dlp to download videos, playlists, and audio from YouTube and thousands of other sites. Supports format selection, quality control, metadata embedding, and cookie authentication.
Users should expect to receive high-quality downloaded video or audio files saved to a specified local directory, complete with embedded metadata.
Practical example
Example input
Download the latest video from Linus Tech Tips in the best quality and save it as an MP4.
Example output
Downloaded 'Linus Tech Tips - The 1000th LTT Video [xyz123].mp4' to the current directory. File size: 1.2 GB.
When to use this skill
- When you need to download a video or an entire playlist from YouTube or similar sites.
- When you want to extract only the audio (e.g., MP3) from a video.
- When archiving specific online content for personal use or analysis.
- When you need to download age-restricted or private content using browser cookies.
When not to use this skill
- When you only need to stream content and not download it.
- For downloading content that violates copyright or terms of service without permission.
- If `yt-dlp` and `ffmpeg` are not installed or cannot be installed on the executing environment.
- For live streaming capture, as this skill focuses on existing, static content.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/yt-dlp/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How yt-dlp Compares
| Feature / Agent | yt-dlp | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | medium | N/A |
Frequently Asked Questions
What does this skill do?
A robust CLI wrapper for yt-dlp to download videos, playlists, and audio from YouTube and thousands of other sites. Supports format selection, quality control, metadata embedding, and cookie authentication.
How difficult is it to install?
The installation complexity is rated as medium. You can find the installation instructions above.
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.
Related Guides
Best AI Skills for ChatGPT
Find the best AI skills to adapt into ChatGPT workflows for research, writing, summarization, planning, and repeatable assistant tasks.
Top AI Agents for Productivity
See the top AI agent skills for productivity, workflow automation, operational systems, documentation, and everyday task execution.
AI Agents for Freelancers
Browse AI agent skills for freelancers handling client research, proposals, outreach, delivery systems, documentation, and repeatable admin work.
SKILL.md Source
# yt-dlp Skill
## Overview
This skill provides a convenient interface to `yt-dlp`, a powerful command-line media downloader. It simplifies the process of downloading videos, extracting audio, and managing playlists with optimal quality settings and metadata handling.
## Usage
- **Role**: Media Archivist.
- **Trigger**: "Download this video", "Get MP3 from YouTube", "Archive this channel".
- **Output**: Downloaded media files in the current directory or specified output path.
## Dependencies
- `yt-dlp`: The core downloader (must be installed in PATH).
- `ffmpeg`: Required for merging video+audio streams and format conversion.
## Commands
### `scripts/download.sh`
The primary entry point. It wraps `yt-dlp` with sensible defaults for high-quality archiving.
**Syntax:**
```bash
./scripts/download.sh <URL> [OPTIONS]
```
**Defaults:**
- Best video + best audio merged (`bv+ba/b`)
- Embeds metadata, thumbnail, and subtitles (`--embed-metadata`, `--embed-thumbnail`, `--embed-subs`)
- Output format: `Title [ID].mp4` (`%(title)s [%(id)s].%(ext)s`)
**Examples:**
1. **Download a single video (best quality):**
```bash
scripts/download.sh "https://www.youtube.com/watch?v=dQw4w9WgXcQ"
```
2. **Download a playlist:**
```bash
scripts/download.sh "https://www.youtube.com/playlist?list=PL..."
```
3. **Extract Audio (MP3):**
```bash
scripts/download.sh "URL" -x --audio-format mp3
```
4. **Download specific resolution (e.g., 1080p):**
```bash
scripts/download.sh "URL" -f "bv*[height<=1080]+ba/b[height<=1080]"
```
5. **Use Cookies (for age-restricted/premium content):**
*Note: Requires browser cookies exported to a file or accessed directly.*
```bash
scripts/download.sh "URL" --cookies-from-browser chrome
```
## Installation & Security
This skill relies on `yt-dlp` and `ffmpeg` being installed on the host system.
- **Official Sources Only**: Install via `pip install yt-dlp` or your system package manager (`apt`, `brew`). Avoid running curl scripts from untrusted sources.
- **Cookies**: Use `--cookies-from-browser` with caution. For autonomous agents, prefer exporting a `cookies.txt` file manually to limit access to your active browser session.
## Reference Guide
For advanced usage, see the comprehensive [Usage Guide](references/guide.md).Related Skills
find-skills
Helps users discover and install agent skills when they ask questions like "how do I do X", "find a skill for X", "is there a skill that can...", or express interest in extending capabilities. This skill should be used when the user is looking for functionality that might exist as an installable skill.
filesystem
Advanced filesystem operations for listing files, searching content, batch processing, and directory analysis. Supports recursive search, file type filtering, size analysis, and batch operations like copy/move/delete. Use when you need to: list directory contents, search for files by name or content, analyze directory structures, perform batch file operations, or analyze file sizes and distribution.
Budget & Expense Tracker — AI Agent Financial Command Center
Track every dollar, enforce budgets, spot spending patterns, and build wealth — all through natural conversation with your AI agent.
time-checker
Check accurate current time, date, and timezone information for any location worldwide using time.is. Use when the user asks "what time is it in X", "current time in Y", or needs to verify timezone offsets.
pihole-ctl
Manage and monitor local Pi-hole instance. Query FTL database for statistics (blocked ads, top clients) and control service via CLI. Use when user asks "how many ads blocked", "pihole status", or "update gravity".
mermaid-architect
Generate beautiful, hand-drawn Mermaid diagrams with robust syntax (quoted labels, ELK layout). Use this skill when the user asks for "diagram", "flowchart", "sequence diagram", or "visualize this process".
memory-cache
High-performance temporary storage system using Redis. Supports namespaced keys (mema:*), TTL management, and session context caching. Use for: (1) Saving agent state, (2) Caching API results, (3) Sharing data between sub-agents.
mema
Mema's personal brain - SQLite metadata index for documents and Redis short-term context buffer. Use for organizing workspace knowledge paths and managing ephemeral session state.
file-organizer-skill
Organize files in directories by grouping them into folders based on their extensions or date. Includes Dry-Run, Recursive, and Undo capabilities.
media-compress
Compress and convert images and videos using ffmpeg. Use when the user wants to reduce file size, change format, resize, or optimize media files. Handles common formats like JPG, PNG, WebP, MP4, MOV, WebM. Triggers on phrases like "compress image", "compress video", "reduce file size", "convert to webp/mp4", "resize image", "make image smaller", "batch compress", "optimize media".
edge-tts
Text-to-speech conversion using node-edge-tts npm package for generating audio from text. Supports multiple voices, languages, speed adjustment, pitch control, and subtitle generation. Use when: (1) User requests audio/voice output with the "tts" trigger or keyword. (2) Content needs to be spoken rather than read (multitasking, accessibility, driving, cooking). (3) User wants a specific voice, speed, pitch, or format for TTS output.
ocr-local
Extract text from images using Tesseract.js OCR (100% local, no API key required). Supports Chinese (simplified/traditional) and English.