Agent skill

yt-dlp

Download audio and video from thousands of websites using yt-dlp. Feature-rich command-line tool supporting format selection, subtitle extraction, playlist handling, metadata embedding, and post-processing. This skill is triggered when the user says things like "download this video", "download from YouTube", "extract audio from video", "download this playlist", "get the mp3 from this video", "download subtitles", or "save this video locally".

Stars 0
Forks 0

Install this agent skill to your Project

npx add-skill https://github.com/SecKatie/kmtools/tree/main/yt-dlp

SKILL.md

yt-dlp Documentation Guide

yt-dlp is a feature-rich command-line audio/video downloader with support for thousands of sites. It's a maintained fork of youtube-dl with many additional features and fixes.

Documentation Structure

This skill includes the complete README.md and the official wiki. When working with yt-dlp, reference the appropriate documentation based on the task:

For Installation and Setup

  • README.md - Section: # INSTALLATION - Installation methods, dependencies, and updates
  • wiki/Installation.md - Detailed installation guide for various platforms
  • wiki/FAQ.md - Common installation issues and solutions

For Basic Downloads

  • README.md - Section: # USAGE AND OPTIONS - Complete command-line reference
  • README.md - Section: ## Download Options: - File selection, rate limiting, retries
  • README.md - Section: ## Video Selection: - Playlist handling, filtering, date ranges

For Format Selection (Quality, Audio/Video)

  • README.md - Section: ## Video Format Options: - Format selection syntax and filtering
  • README.md - Section: # FORMAT SELECTION - Detailed format selection guide
  • wiki/FAQ.md - Common format selection questions

For Audio Extraction

  • README.md - Section: ## Post-Processing Options: - Audio extraction, conversion, embedding
  • Look for examples with -x or --extract-audio flags
  • Format selection for audio-only downloads

For Subtitles and Captions

  • README.md - Section: ## Subtitle Options: - Subtitle downloading, conversion, embedding
  • Examples with --write-subs, --write-auto-subs, --sub-lang

For Output Customization

  • README.md - Section: # OUTPUT TEMPLATE - Filename templates and field formatting
  • README.md - Section: ## Filesystem Options: - Path formatting, file naming
  • Use this for custom file naming patterns and organization

For Metadata and Embedding

  • README.md - Section: # MODIFYING METADATA - Adding/modifying metadata during download
  • README.md - Section: ## Post-Processing Options: - Embedding thumbnails, metadata, chapters

For Authentication and Cookies

  • README.md - Section: ## Authentication Options: - Username/password, cookies, netrc
  • README.md - Section: # CONFIGURATION - Subsection: ### Authentication with netrc
  • Use for sites requiring login

For Troubleshooting

  • wiki/FAQ.md - Frequently asked questions and common issues
  • README.md - Section: ## Workarounds: - Handling rate limits, geo-restrictions, errors
  • README.md - Section: ## Extractor Options: - Site-specific options
  • wiki/Extractors.md - List of supported sites and extractor-specific details

For YouTube-Specific Issues

  • wiki/PO-Token-Guide.md - YouTube PO Token authentication (for bot detection issues)
  • wiki/EJS.md - YouTube cipher decryption setup
  • README.md - Section: ## SponsorBlock Options: - SponsorBlock integration for YouTube

For Playlists and Channels

  • README.md - Section: ## Video Selection: - Playlist filtering, item selection
  • Use --playlist-start, --playlist-end, --playlist-items options
  • Archive functionality to track downloaded items

For Configuration Files

  • README.md - Section: # CONFIGURATION - Configuration file locations and syntax
  • Configuration file examples and environment variables

For Advanced Usage

  • wiki/Plugins.md - Using community plugins for additional functionality
  • wiki/Plugin-Development.md - Creating custom plugins
  • README.md - Section: # EMBEDDING - Using yt-dlp as a Python library

For Proxy and Network Issues

  • README.md - Section: ## Network Options: - Proxy configuration, network settings
  • README.md - Section: ## Geo-restriction: - Bypassing geo-blocks

Common Usage Patterns

When the user asks to:

  • Download a video → Check # USAGE AND OPTIONS and ## Download Options:
  • Extract audio → Check ## Post-Processing Options: and look for -x examples
  • Download best quality → Check # FORMAT SELECTION for format sorting
  • Download playlists → Check ## Video Selection: for playlist options
  • Fix download errors → Check wiki/FAQ.md and ## Workarounds:
  • Customize filenames → Check # OUTPUT TEMPLATE
  • Download with cookies → Check ## Authentication Options:
  • Handle YouTube issues → Check wiki/PO-Token-Guide.md and wiki/EJS.md

Important Notes

  1. Always check README.md first - It contains the complete command-line reference
  2. Use the wiki for troubleshooting - FAQ.md covers most common issues
  3. Format selection is powerful - The # FORMAT SELECTION section has extensive examples
  4. YouTube requires special handling - See wiki/PO-Token-Guide.md and wiki/EJS.md for modern YouTube downloads
  5. Post-processing requires ffmpeg - Many features depend on ffmpeg being installed

Quick Reference

Installation

bash
# macOS via Homebrew
brew install yt-dlp

# Python pip
pip install yt-dlp

# Update
yt-dlp -U

Basic Commands

bash
# Download video (best quality)
yt-dlp URL

# Extract audio
yt-dlp -x --audio-format mp3 URL

# Download playlist
yt-dlp -o "%(playlist_index)s-%(title)s.%(ext)s" PLAYLIST_URL

# List available formats
yt-dlp -F URL

# Download specific format
yt-dlp -f FORMAT_ID URL

File Locations

  • README.md - Complete command-line reference and documentation
  • wiki/FAQ.md - Frequently asked questions and troubleshooting
  • wiki/Installation.md - Detailed installation instructions
  • wiki/PO-Token-Guide.md - YouTube authentication guide
  • wiki/EJS.md - YouTube cipher decryption setup
  • wiki/Extractors.md - Supported sites and extractor details
  • wiki/Plugins.md - Plugin usage guide
  • wiki/Plugin-Development.md - Plugin development guide

When in Doubt

  1. Read the relevant section from README.md
  2. Check wiki/FAQ.md for common issues
  3. Use yt-dlp --help for complete option list
  4. For site-specific issues, check wiki/Extractors.md

Expand your agent's capabilities with these related and highly-rated skills.

SecKatie/kmtools

llm

Access and interact with Large Language Models from the command line using Simon Willison's llm CLI tool. Supports OpenAI, Anthropic, Gemini, Llama, and dozens of other models via plugins. Features include chat sessions, embeddings, structured data extraction with schemas, prompt templates, conversation logging, and tool use. This skill is triggered when the user says things like "run a prompt with llm", "use the llm command", "call an LLM from the command line", "set up llm API keys", "install llm plugins", "create embeddings", or "extract structured data from text".

0 0
Explore
SecKatie/kmtools

jira-cli

Manage Jira tickets from the command line using jira-cli. Contains essential setup instructions, non-interactive command patterns with required flags (--plain, --raw, etc.), authentication troubleshooting, and comprehensive command reference. This skill is triggered when the user says things like "create a Jira ticket", "list my Jira issues", "update Jira issue", "move Jira ticket to done", "log time in Jira", "add comment to Jira", or "search Jira issues". IMPORTANT - Read this skill before running any jira-cli commands to avoid blocking in interactive mode.

0 0
Explore
SecKatie/kmtools

jj-vcs

Jujutsu (jj) is a powerful Git-compatible version control system with innovative features like automatic rebasing, working-copy-as-a-commit, operation log with undo, and first-class conflict tracking. This skill is triggered when the user says things like "use jj", "run jj commands", "jujutsu version control", "migrate from git to jj", "jj rebase", "jj squash", "jj log", or "help with jj workflow".

0 0
Explore
SecKatie/kmtools

just

just is a handy command runner for saving and running project-specific commands. Features include recipe parameters, .env file loading, shell completion, cross-platform support, and recipes in arbitrary languages. This skill is triggered when the user says things like "create a justfile", "write a just recipe", "run just commands", "set up project automation with just", "understand justfile syntax", or "add a task to the justfile".

0 0
Explore
SecKatie/kmtools

gh

GitHub CLI (gh) for repository management, rulesets, releases, PRs, and issues. This skill is triggered when the user says things like "create a GitHub PR", "list GitHub issues", "set up branch protection", "create a ruleset", "configure GitHub rulesets", "create a GitHub release", "clone this repo", or "manage GitHub repository settings".

0 0
Explore
SecKatie/kmtools

lola-modules

Create and manage Lola modules for multi-assistant AI context distribution. Use when building portable AI skills with multi-assistant support (Claude Code, Cursor, Gemini CLI). This skill is triggered when users say "create a lola module", "build a lola skill", "write a module.yml", "add slash commands to lola", or "distribute skills to multiple assistants".

0 0
Explore

Didn't find tool you were looking for?

Be as detailed as possible for better results