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.

3,891 stars
Complexity: medium

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

$curl -o ~/.claude/skills/yt-dlp/SKILL.md --create-dirs "https://raw.githubusercontent.com/openclaw/skills/main/skills/1999azzar/yt-dlp/SKILL.md"

Manual Installation

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

How yt-dlp Compares

Feature / Agentyt-dlpStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexitymediumN/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

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

3891
from openclaw/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.

General Utilities

filesystem

3891
from openclaw/skills

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.

General Utilities

Budget & Expense Tracker — AI Agent Financial Command Center

3891
from openclaw/skills

Track every dollar, enforce budgets, spot spending patterns, and build wealth — all through natural conversation with your AI agent.

General Utilities

time-checker

3891
from openclaw/skills

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.

General Utilities

pihole-ctl

3891
from openclaw/skills

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".

General Utilities

mermaid-architect

3891
from openclaw/skills

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".

General Utilities

memory-cache

3891
from openclaw/skills

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.

General Utilities

mema

3891
from openclaw/skills

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.

General Utilities

file-organizer-skill

3891
from openclaw/skills

Organize files in directories by grouping them into folders based on their extensions or date. Includes Dry-Run, Recursive, and Undo capabilities.

General Utilities

media-compress

3891
from openclaw/skills

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".

General Utilities

edge-tts

3891
from openclaw/skills

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.

General Utilities

ocr-local

3891
from openclaw/skills

Extract text from images using Tesseract.js OCR (100% local, no API key required). Supports Chinese (simplified/traditional) and English.

General Utilities