maxgent-ai/maxgent-plugin · Archived

youtube-download

Download videos, audio, or subtitles from YouTube, Bilibili, and other sites using yt-dlp. Use when users ask to download online videos or extract audio from video URLs.

First seen Jan 28, 2026

Installation

$ npx skills add maxgent-ai/maxgent-plugin --skill youtube-download

Stronger alternatives

This repository is archived — consider an actively maintained alternative.

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from maxgent-ai/maxgent-plugin · top by installs.

npx skills add maxgent-ai/maxgent-plugin

Browse all from maxgent-ai/maxgent-plugin

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

License MIT
Default branch main
Open issues 0
Status Archived

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 5,705 B
  • docs SUMMARY.md 193 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 11 installs

SKILL.md

YouTube Downloader

Download YouTube videos, audio, or subtitles using yt-dlp, with Chrome cookies for authenticated content.

Prerequisites

Uses uvx to run yt-dlp — no manual installation required.

Usage

When the user wants to download from YouTube: $ARGUMENTS

Instructions

Important: All yt-dlp commands use uvx yt-dlp. uvx handles installation and environment isolation automatically.

Step 1: Get video URL

If the user has not provided a video URL, ask them to provide one.

Supported sites include but are not limited to:

  • YouTube (youtube.com, youtu.be)
  • Bilibili (bilibili.com)
  • Twitter/X (twitter.com, x.com)
  • And other sites supported by yt-dlp

Step 2: Parse video info

Fetch video info with yt-dlp using Chrome cookies:

uvx yt-dlp --cookies-from-browser chrome -j "$VIDEO_URL" 2>/dev/null

Extract key info from the JSON output:

  • title: video title
  • duration: duration (seconds)
  • formats: available format list
  • subtitles: available subtitles
  • automatic_captions: auto-generated captions

Show the user:

  • Video title
  • Duration
  • Available video qualities (e.g. 1080p, 720p, 480p)
  • Available audio formats
  • Available subtitle languages

If parsing fails, it may require login or the video is unavailable — inform the user of the specific reason.

Step 3: Ask user for download options

Warning: You MUST use AskUserQuestion to collect user preferences. Do not skip this step.

Use AskUserQuestion to collect the following:

  1. Download content: What do you want to download?

- Options: - "Video + Audio - Complete video file (Recommended)" - "Audio only - MP3/M4A format" - "Subtitles only - SRT/VTT format" - "Video + Audio + Subtitles - Download all"

  1. Video quality (if downloading video): Choose video quality

- Options: - "Best quality (Recommended)" - "1080p - Full HD" - "720p - HD" - "480p - SD (save space)" - "Lowest quality (smallest file)"

  1. Audio format (if downloading audio only): Choose audio format

- Options: - "MP3 - Universal format (Recommended)" - "M4A - High quality" - "Best quality (keep original format)"

  1. Subtitle language (if subtitles available): Choose subtitle language

- Dynamically generate options based on parsed results - Common options: Chinese, English, Japanese, auto-generated captions

  1. Output path: Where to save?

- Default: current directory - Allow custom path

Step 4: Build yt-dlp command

Build the yt-dlp command based on user choices:

Base options (always used)

--cookies-from-browser chrome  # Use Chrome cookies
-o "%(title)s.%(ext)s"         # Output filename format
--no-playlist                   # Don't download playlists

Video + Audio download

# Best quality
uvx yt-dlp --cookies-from-browser chrome -f "bestvideo+bestaudio/best" --merge-output-format mp4 -o "OUTPUT_PATH/%(title)s.%(ext)s" "URL"

# Specific resolution
uvx yt-dlp --cookies-from-browser chrome -f "bestvideo[height<=1080]+bestaudio/best[height<=1080]" --merge-output-format mp4 -o "OUTPUT_PATH/%(title)s.%(ext)s" "URL"

# 720p
uvx yt-dlp --cookies-from-browser chrome -f "bestvideo[height<=720]+bestaudio/best[height<=720]" --merge-output-format mp4 -o "OUTPUT_PATH/%(title)s.%(ext)s" "URL"

Audio only download

# MP3 format
uvx yt-dlp --cookies-from-browser chrome -x --audio-format mp3 --audio-quality 0 -o "OUTPUT_PATH/%(title)s.%(ext)s" "URL"

# M4A format
uvx yt-dlp --cookies-from-browser chrome -x --audio-format m4a --audio-quality 0 -o "OUTPUT_PATH/%(title)s.%(ext)s" "URL"

# Best quality (original format)
uvx yt-dlp --cookies-from-browser chrome -x --audio-quality 0 -o "OUTPUT_PATH/%(title)s.%(ext)s" "URL"

Subtitles only download

# Download all subtitles
uvx yt-dlp --cookies-from-browser chrome --write-subs --skip-download -o "OUTPUT_PATH/%(title)s.%(ext)s" "URL"

# Download specific language subtitles
uvx yt-dlp --cookies-from-browser chrome --write-subs --sub-langs "zh,en" --skip-download -o "OUTPUT_PATH/%(title)s.%(ext)s" "URL"

# Download auto-generated captions
uvx yt-dlp --cookies-from-browser chrome --write-auto-subs --sub-langs "zh,en" --skip-download -o "OUTPUT_PATH/%(title)s.%(ext)s" "URL"

# Convert to SRT format
uvx yt-dlp --cookies-from-browser chrome --write-subs --sub-format srt --convert-subs srt --skip-download -o "OUTPUT_PATH/%(title)s.%(ext)s" "URL"

Video + Subtitles together

uvx yt-dlp --cookies-from-browser chrome -f "bestvideo+bestaudio/best" --merge-output-format mp4 --write-subs --sub-langs "zh,en" --embed-subs -o "OUTPUT_PATH/%(title)s.%(ext)s" "URL"

Step 5: Execute download

  1. Show the full yt-dlp command to the user before execution
  2. Run the command and show download progress
  3. Report success or failure

Step 6: Verify output

After download completes:

ls -la "OUTPUT_PATH"

Report:

  • Downloaded filename and size
  • List subtitle files if downloaded
  • Any warnings or issues

Troubleshooting

Login-required content:

  • Ensure the user is logged in to the site in Chrome
  • If still failing, suggest manually exporting cookies

Region-restricted:

  • Inform the user they may need a proxy
  • Try --geo-bypass to bypass restrictions

Download failure:

  • Check if the URL is correct
  • Try updating yt-dlp: uvx --refresh yt-dlp --version
  • Check network connectivity