Agent skill

Youtube Downloader

by daymade in daymade/claude-code-skills

Download YouTube videos and HLS streams (m3u8) from platforms like Mux, Vimeo, etc.

MITAuto-check passedMedia & Creative

Install Youtube Downloader

skills CLI
$ npx skills add daymade/claude-code-skills --skill youtube-downloader -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install daymade/claude-code-skills youtube-downloader --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/daymade/claude-code-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/youtube-downloader .claude/skills/youtube-downloader && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
youtube-downloader
GitHub stars
1.4k
Token cost
~4.7k tokens
SKILL.md length
2,056 words
Files
4 (incl. scripts, references)
Skills in repo
104
Repo updated
First seen
Licence
MIT

At a glance

Download YouTube videos and HLS streams (m3u8) from platforms like Mux, Vimeo, etc.

  • Works in 5 steps: Verify yt-dlp Installation (Run this… → Check Current Quality Access (Run this… → Install PO Token Provider (One-time Setup) → …
  • Users request downloading videos
  • SKILL.md covers Overview, Non-Technical User Experience…, Reliable Download SOP (Internal) and Agent Execution Checklist…, plus 7 more sections
  • Runs Python scripts from its folder; calls yt-dlp, ffmpeg and brew; reaches youtube.com and maven.com

What it does

Youtube Downloader is an agent skill from daymade/claude-code-skills. Download YouTube videos and HLS streams (m3u8) from platforms like Mux, Vimeo, etc. using yt-dlp and ffmpeg. Use this skill when users request downloading videos, extracting audio, handling protected streams with authentication headers, or troubleshooting download issues like nsig extraction failures, 403 errors, or cookie extraction problems.

Its SKILL.md is about 4.7k tokens, which your agent loads only when the skill is triggered. The skill folder holds 5 other files, including scripts and reference files (for example `references/internal-sop.md`, `references/po-token-setup.md` and `scripts/download_video.py`).

It sits in Media & Creative, covering Video production. It works with YouTube and FFmpeg. The repository describes itself as: Professional Claude Code skills marketplace featuring production-ready skills for enhanced development workflows. The licence is MIT.

When your agent uses it

  • Users request downloading videos
  • Extracting audio
  • Handling protected streams with authentication headers
  • Troubleshooting download issues like nsig extraction failures

Example prompts

  • “/youtube-downloader”

Requirements

  • Python 3
  • Docker

Workflow steps

5 steps, taken from the step headings in SKILL.md.

  1. Verify yt-dlp Installation (Run this yourself)
  2. Check Current Quality Access (Run this yourself)
  3. Install PO Token Provider (One-time Setup)
  4. Download with Best Quality
  5. Verify Download Quality

What it can do on your machine

Read from SKILL.md and the folder at commit 0e52df5. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 1 file in scripts/ (Python), which the agent can run.

    Shell commands in SKILL.md call:

    • yt-dlp
    • ffmpeg
    • brew
    • pip
    • ffprobe

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • youtube.com
    • maven.com
    • youtu.be

    Also links to:

    • github.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Youtube Downloader loads about 4.7k tokens when it runs, and up to ~6.7k if it reads all its reference files. Until then it costs about 91 tokens; SKILL.md has 2,056 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~91
When it runs · the whole SKILL.md, loaded when a task matches
~4.7k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~6.7k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from daymade/claude-code-skills at commit 0e52df5, republished under its MIT licence (© daymade). 2,056 words, ~4,749 tokens.

Download SKILL.mdSave it as .claude/skills/youtube-downloader/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.
name
youtube-downloader
description
Download YouTube videos and HLS streams (m3u8) from platforms like Mux, Vimeo, etc. using yt-dlp and ffmpeg. Use this skill when users request downloading videos, extracting audio, handling protected streams with authentication headers, or troubleshooting download issues like nsig extraction failures, 403 errors, or cookie extraction problems.

YouTube Downloader

Overview

Enable reliable video and audio downloads from YouTube and HLS streaming platforms (Mux, Vimeo, etc.) using yt-dlp and ffmpeg. This skill provides workflows for:

  • YouTube downloads (up to 4K) using PO token providers or browser cookies
  • HLS stream downloads with authentication headers
  • Handling protected content and troubleshooting common download failures

Non-Technical User Experience (Default)

Assume the user is non-technical. Do not ask them to run commands. Execute everything yourself and report progress in plain language. Avoid mentioning tooling unless the user asks.

Default flow:

  1. Ask for the URL (if not provided).
  2. Fetch video metadata (title/uploader/duration/thumbnail) and confirm it matches the user's intent.
    • If yt-dlp is blocked by “confirm you’re not a bot”, fall back to YouTube oEmbed for title/uploader/thumbnail (duration may be unknown).
  3. Offer simple choices (video vs. audio-only, quality, subtitles, save location).
  4. Proceed with sensible defaults if the user does not specify:
    • Video download at best quality
    • MP4 merged output
    • Single video only (no playlists)
  5. Download and report the final file path, file size, and resolution (if video).

Offer choices in user-friendly terms:

  • “Download the video in best quality (default)”
  • “Download audio only (MP3)”
  • “Pick a quality: 1080p / 720p / 480p / 360p”
  • “Include subtitles (if available)”
  • “Save to the Downloads folder (default) or tell me another folder”

Always render the thumbnail when available:

  • If metadata includes a thumbnail URL, include it using Markdown image syntax: ![Thumbnail](URL).

Ask before doing extra work:

  • Confirm playlist downloads (can be large).
  • Confirm installing/upgrading dependencies if missing.
  • Ask before extracting browser cookies.
  • If using cookies, never mention cookie counts or raw cookie details in user-facing responses. Say “used your Chrome login session”.
  • If verification is required, automatically set up a local PO Token helper (no user actions). If Docker is missing or fails, do not attempt to install Docker—switch to the browser-based PO Token provider instead.

Legal/Safety reminder (brief):

  • Proceed only if the user has the rights or permission to download the content.

Response template (use plain language, no commands):

![Thumbnail](THUMBNAIL_URL)

Title: …
Channel: …
Duration: …

I can help you:
1) Download the video (best quality, MP4)
2) Download audio only (MP3)
3) Pick a specific quality (1080p/720p/480p/360p)
4) Include subtitles (if available)

Where should I save it? (Default: Downloads folder)

If the user says “just download”:

  • Proceed with defaults and confirm when the download finishes.
    • If blocked by a 403, automatically set up the verification helper and retry.

Reliable Download SOP (Internal)

Follow this SOP to avoid common failures and confusion:

  1. Quote URLs in shell commands (zsh treats ? as a glob). Example: 'https://www.youtube.com/watch?v=VIDEO_ID'.
  2. Ensure proxy is active for both yt-dlp and PO Token providers (HTTP_PROXY/HTTPS_PROXY/ALL_PROXY).
  3. If you see “Sign in to confirm you’re not a bot”, request permission and use browser cookies. Do not proceed without cookies.
  4. Start a PO Token provider before downloading (fail fast if it cannot start).
    • Use Docker bgutil provider when available.
    • If Docker is missing or fails, switch to browser-based WPC provider.
  5. If cookies are in use, prefer the web_safari player client. Otherwise prefer mweb for PO tokens.
  6. Keep the browser window open while WPC is minting tokens. Ensure Chrome can reach YouTube through the same proxy.
  7. If you get “Only images are available” or “Requested format is not available”, treat it as a PO Token failure and retry after fixing token provider/browser state.
  8. If you get SSL EOF or fragment errors, treat it as a proxy/network issue. Retry with progressive formats and/or a better proxy.

Agent Execution Checklist (Internal)

  • Run scripts/download_video.py URL --info (add --cookies-from-browser chrome if permission granted) to fetch metadata and thumbnail.
  • If yt-dlp metadata fails, rely on the script’s oEmbed fallback for title/uploader/thumbnail and note that duration may be unavailable.
  • If a thumbnail URL is present, render it in the response with Markdown image syntax.
  • Ask the user to choose video vs. audio-only and (optionally) a quality preset.
  • Use a friendly default save location (Downloads folder) unless the user specifies a folder.
  • For subtitles, run with --subtitles and the requested --sub-lang.
  • After download, report file name, size, and resolution (if video) in plain language.
  • If download fails with 403/fragment errors, retry once with non-m3u8 progressive formats.
  • If “Sign in to confirm you’re not a bot” appears, request cookie access and retry with cookies + web_safari.
  • If “Only images are available” appears, treat it as PO Token failure and retry after fixing provider/browser state.
  • Start the PO Token provider before downloads (--auto-po-token default). Fail fast if it cannot start.
  • If Docker-based provider fails (common in China), automatically fall back to the browser-based WPC provider (it may briefly open a browser window).
  • If the WPC provider is used, keep the browser window open until download starts. If the browser fails to launch, set the Chrome path explicitly.
  • If the PO Token provider times out, restart it once and retry.
  • If a system proxy is configured, pass it into the provider container. If the proxy points to 127.0.0.1/localhost, rewrite it to host.docker.internal for Docker.

When to Use This Skill

This skill should be invoked when users:

  • Request downloading YouTube videos or playlists
  • Want to extract audio from YouTube videos
  • Experience yt-dlp download failures or limited format availability
  • Need help with format selection or quality options
  • Report only low-quality (360p) formats available
  • Ask about downloading YouTube content in specific quality (1080p, 4K, etc.)
  • Need to convert downloaded WebM videos to MP4 format for wider compatibility
  • Request downloading HLS streams (m3u8) from platforms like Mux, Vimeo, or other streaming services
  • Need to download protected streams that require authentication headers

Prerequisites

1. Verify yt-dlp Installation (Run this yourself)
bash
which yt-dlp
yt-dlp --version

If not installed or outdated (< 2025.10.22):

bash
brew upgrade yt-dlp  # macOS
# or
pip install --upgrade yt-dlp  # Cross-platform

Critical: Outdated yt-dlp versions cause nsig extraction failures and missing formats.

2. Check Current Quality Access (Run this yourself)

Before downloading, check available formats:

bash
yt-dlp -F "https://youtu.be/VIDEO_ID"

If only format 18 (360p) appears: PO token provider setup needed for high-quality access.

High-Quality Download Workflow

Step 1: Install PO Token Provider (One-time Setup)

For 1080p/1440p/4K access, install a PO token provider plugin into yt-dlp's Python environment:

bash
# Find yt-dlp's Python path (interpreter used by yt-dlp)
head -1 $(which yt-dlp)

# Install plugin using the interpreter from the line above
<YTDLP_PYTHON> -m pip install bgutil-ytdlp-pot-provider

Verification: Run yt-dlp -F "VIDEO_URL" again. Look for formats 137 (1080p), 271 (1440p), or 313 (4K).

See references/po-token-setup.md for detailed setup instructions and troubleshooting.

Step 2: Download with Best Quality

Once PO token provider is installed:

bash
# Download best quality up to 1080p
yt-dlp -f "bestvideo[height<=1080]+bestaudio/best" "VIDEO_URL"

# Download best available quality (4K if available)
yt-dlp -f "bestvideo+bestaudio/best" "VIDEO_URL"
Step 3: Verify Download Quality
bash
# Check video resolution
ffprobe -v error -select_streams v:0 -show_entries stream=width,height,codec_name -of default=noprint_wrappers=1 video.mp4

Expected output for 1080p:

codec_name=vp9
width=1920
height=1080

Alternative: Browser Cookies Method

If PO token provider setup is problematic, use browser cookies:

bash
# Firefox
yt-dlp --cookies-from-browser firefox -f "bestvideo[height<=1080]+bestaudio/best" "VIDEO_URL"

# Chrome
yt-dlp --cookies-from-browser chrome -f "bestvideo[height<=1080]+bestaudio/best" "VIDEO_URL"

Benefits: Access to age-restricted and members-only content. Requirements:

  • Must be logged into YouTube in the specified browser.
  • Browser and yt-dlp must use the same IP/proxy.
  • Do not use Android client with cookies (Android client does not support cookies).

Common Tasks

Audio-Only Download (Run this yourself)

Extract audio as MP3:

bash
yt-dlp -x --audio-format mp3 "VIDEO_URL"
Custom Output Directory (Run this yourself)
bash
yt-dlp -P ~/Downloads/YouTube "VIDEO_URL"
Download with Subtitles (Run this yourself)
bash
yt-dlp --write-subs --sub-lang en "VIDEO_URL"
Playlist Download (Run this yourself)
bash
yt-dlp -f "bestvideo[height<=1080]+bestaudio/best" "PLAYLIST_URL"
Convert WebM to MP4 (Run this yourself)

YouTube high-quality downloads often use WebM format (VP9 codec). Convert to MP4 for wider compatibility:

bash
# Check if ffmpeg is installed
which ffmpeg || brew install ffmpeg  # macOS

# Convert WebM to MP4 with good quality settings
ffmpeg -i "video.webm" -c:v libx264 -preset medium -crf 23 -c:a aac -b:a 128k "video.mp4"

Parameters explained:

  • -c:v libx264: Use H.264 video codec (widely compatible)
  • -preset medium: Balance between encoding speed and file size
  • -crf 23: Constant Rate Factor for quality (18-28 range, lower = better quality)
  • -c:a aac: Use AAC audio codec
  • -b:a 128k: Audio bitrate 128 kbps

Tip: Conversion maintains 1080p resolution and provides ~6x encoding speed on modern hardware.

Troubleshooting Quick Reference

Only 360p Available (Format 18)

Cause: Missing PO token provider or outdated yt-dlp.

Solution:

  1. Update yt-dlp: brew upgrade yt-dlp
  2. Install PO token provider (see Step 1 above)
  3. Or use browser cookies method
Sign in to Confirm You’re Not a Bot

Cause: YouTube requires authentication to proceed.

Solution:

  1. Request permission and use browser cookies (--cookies-from-browser chrome).
  2. Ensure the browser and yt-dlp use the same IP/proxy.
  3. Retry with web_safari client if needed.
Show full SKILL.md (815 more words)Show less
Only Images Available / Requested Format Not Available

Cause: PO tokens not applied or provider/browser verification failed.

Solution:

  1. Verify PO Token provider is running before download.
  2. Keep the browser window open if using WPC.
  3. If cookies are in use, prefer web_safari client and retry.
nsig Extraction Failed

Symptoms:

WARNING: [youtube] nsig extraction failed: Some formats may be missing

Solution:

  1. Update yt-dlp to latest version
  2. Install PO token provider
  3. If still failing and PO tokens are disabled, use Android client: yt-dlp --extractor-args "youtube:player_client=android" "VIDEO_URL"
SSL EOF / Fragment Errors

Cause: Proxy or network instability.

Solution:

  1. Retry with progressive formats (non-m3u8).
  2. Switch to a more stable proxy/node.
  3. Avoid closing the PO token browser window during download.
Slow Downloads or Network Errors

For users in China or behind restrictive proxies:

  • Downloads may be slow due to network conditions
  • Allow sufficient time for completion
  • yt-dlp automatically retries on transient failures
PO Token Warning (Harmless)
WARNING: android client https formats require a GVS PO Token

Action: Ignore if download succeeds. This indicates Android client has limited format access without PO tokens.

Bundled Script Reference

scripts/download_video.py

Use this convenience wrapper to auto-start a PO Token provider by default for high-quality downloads. Use it yourself and report results to the user without asking them to run commands.

Basic usage:

bash
scripts/download_video.py "VIDEO_URL"

Arguments:

  • url - YouTube video URL (required)
  • -o, --output-dir - Output directory
  • --output-template - Output filename template (yt-dlp syntax)
  • -f, --format - Format specification
  • -q, --quality - Quality preset (best, 1080p, 720p, 480p, 360p, worst). Default: best (skipped for --audio-only)
  • -a, --audio-only - Extract audio as MP3
  • --subtitles - Download subtitles if available
  • --sub-lang - Subtitle languages (comma-separated, default: en)
  • --cookies-from-browser - Load cookies from a browser (e.g., chrome, firefox)
  • --cookies-file - Load cookies from a cookies.txt file
  • --player-client - Use a specific YouTube player client (e.g., web_safari)
  • --auto-po-token - Auto-start PO Token provider (default; uses Docker if available, otherwise switches to browser-based provider)
  • --no-auto-po-token - Disable auto PO Token setup
  • --proxy - Proxy URL for yt-dlp and the PO Token provider (e.g., http://127.0.0.1:1082)
  • --wpc-browser-path - Browser executable path for WPC provider
  • -F, --list-formats - List available formats
  • --merge-format - Merge output container (e.g., mp4, mkv). Default: mp4
  • --playlist - Allow playlist downloads (default: single video only)
  • --info - Print title/uploader/duration/thumbnail and exit
  • --no-android-client - Disable Android client fallback

Note: Use the Android client only when PO tokens are disabled. Keep PO tokens enabled for high quality.

Quality Expectations

Setup360p720p1080p1440p4K
Auto PO token (default)✓✓✓✓✓
Android client only✓✗✗✗✗
PO token provider (manual)✓✓✓✓✓
Browser cookies✓✓✓✓✓

HLS Stream Downloads (m3u8)

For streaming platforms like Mux, Vimeo, and other HLS-based services, use ffmpeg as the primary tool. These streams often require authentication headers that yt-dlp may not handle correctly.

Identifying HLS Streams

HLS streams use .m3u8 playlist files:

  • Master playlist: Lists multiple quality options
  • Rendition playlist: Contains actual video/audio segment URLs
Download Workflow
Step 1: Obtain the Stream URL

Get the m3u8 URL from the video source. For protected streams:

  1. Open browser DevTools → Network tab
  2. Play the video
  3. Filter for "m3u8" to find the playlist URLs
  4. Copy the rendition URL (usually contains quality info like "rendition.m3u8")
Step 2: Identify Required Headers

Many CDNs require authentication headers:

  • Referer: Origin website (e.g., https://maven.com/)
  • Origin: Same as Referer for CORS
  • User-Agent: Browser identification

Check the Network tab to see which headers the browser sends.

Step 3: Download with ffmpeg

Use ffmpeg with the -headers flag for protected streams:

bash
ffmpeg -headers "Referer: https://example.com/" \
  -protocol_whitelist file,http,https,tcp,tls,crypto,httpproxy \
  -i "https://cdn.example.com/path/rendition.m3u8?params" \
  -c copy -bsf:a aac_adtstoasc \
  output.mp4

Key parameters:

  • -headers: Set HTTP headers (critical for authentication)
  • -protocol_whitelist: Enable required protocols for HLS
  • -c copy: Stream copy (no re-encoding, faster)
  • -bsf:a aac_adtstoasc: Fix AAC audio compatibility

Common header patterns:

bash
# Single header
-headers "Referer: https://example.com/"

# Multiple headers
-headers "Referer: https://example.com/" \
-headers "User-Agent: Mozilla/5.0..."

# Alternative syntax
-headers $'Referer: https://example.com/\r\nUser-Agent: Mozilla/5.0...'
Handling Separate Audio/Video Streams

Some platforms (like Mux) deliver audio and video separately:

  1. Download audio stream:
bash
ffmpeg -headers "Referer: https://example.com/" \
  -protocol_whitelist file,http,https,tcp,tls,crypto,httpproxy \
  -i "https://cdn.example.com/audio/rendition.m3u8" \
  -c copy audio.m4a
  1. Download video stream:
bash
ffmpeg -headers "Referer: https://example.com/" \
  -protocol_whitelist file,http,https,tcp,tls,crypto,httpproxy \
  -i "https://cdn.example.com/video/rendition.m3u8" \
  -c copy video.mp4
  1. Merge streams:
bash
ffmpeg -i video.mp4 -i audio.m4a -c copy merged.mp4
Troubleshooting HLS Downloads
403 Forbidden Errors

Cause: Missing or incorrect authentication headers.

Solution:

  1. Verify Referer header matches the video source website
  2. Check if additional headers (Origin, User-Agent) are needed
  3. Ensure the m3u8 URL includes all query parameters from browser

Symptom: Extracting cookies from chrome hangs indefinitely.

Solution: Use ffmpeg directly instead of yt-dlp for HLS streams.

Protocol Not Whitelisted

Error: Protocol 'https' not on whitelist 'file,crypto,data'

Solution: Add -protocol_whitelist file,http,https,tcp,tls,crypto,httpproxy

Empty Segments or No Streams

Cause: Expired signatures in the m3u8 URLs.

Solution:

  1. Get fresh URLs from browser DevTools
  2. Download immediately after obtaining URLs
  3. Look for rendition URLs with updated signature parameters
Performance Tips
  • HLS downloads typically run at 10-15x realtime speed
  • No re-encoding with -c copy (fastest)
  • Monitor download with real-time progress display
  • Use absolute output paths to avoid directory confusion

Further Reading

  • PO Token Setup: See references/po-token-setup.md for detailed installation and troubleshooting
  • Internal SOP: references/internal-sop.md — the short list of yt-dlp failures that look like something else (URLs unquoted in zsh, proxy not reaching the PO Token provider). Read it first when a download fails for no obvious reason
  • yt-dlp Documentation: https://github.com/yt-dlp/yt-dlp
  • Format Selection Guide: https://github.com/yt-dlp/yt-dlp#format-selection

Next Step: Transcribe Downloaded Audio/Video

After downloading, if the user's goal involves getting text from the video (transcription, subtitles, meeting notes), proactively suggest:

Download complete: [filename]

If you need the spoken content as text, I can transcribe it for you.

Options:
A) Transcribe with /daymade-audio:asr-transcribe-to-text (Recommended for speech-to-text)
B) No thanks — I just needed the video file

© daymade, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 3 other files (scripts, references) in youtube-downloader of daymade/claude-code-skills.

  • SKILL.md
  • references/internal-sop.md
  • references/po-token-setup.md
  • scripts/download_video.py

Open the folder on GitHubat commit 0e52df5

Compare with similar skills

Youtube Downloader next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Youtube Downloader compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Youtube Downloader this skilldaymade/claude-code-skills1.4k—~4.7kAutomated safety check: PassMIT
Shorts Video Makeruxjoseph/content-marketing-team107—~665Automated safety check: PassNone
Showcase Videorehan-remade/universal-modder6.5k—~1.3kAutomated safety check: PassMIT
Video Downloadcalesthio/OpenMontage66k—~885Automated safety check: PassAGPL-3.0
Video Transcript Downloadersundial-org/awesome-openclaw-skills6632 repos~574Automated safety check: PassNone
Beat Sync Reelgooseworks-ai/goose-skills1.2k1 repos~2.5kAutomated safety check: NotesMIT

Similar skills

  • Shorts Video Maker

    uxjoseph/content-marketing-team

    YouTube 영상에서 쇼츠 클립 3개를 자동 제작합니다. An agent skill from uxjoseph/content-marketing-team.

    107 GitHub stars~665 tokensUpdated 9 mo ago
    Media & CreativeAuto-check passed
  • Showcase Video

    rehan-remade/universal-modder

    Record and cut a short showcase video of a game mod, or a compilation of clips, ready to post on X/YouTube.

    6.5k GitHub stars~1.3k tokensUpdated today
    Media & CreativeAuto-check passed
  • Video Download

    calesthio/OpenMontage

    Download video and audio from YouTube and 1000+ sites using yt-dlp.

    66k GitHub stars~885 tokensUpdated 7 days ago
    Media & CreativeAuto-check passed
  • Video Transcript Downloader

    sundial-org/awesome-openclaw-skills

    Download videos, audio, subtitles, and clean paragraph-style transcripts from YouTube and any other yt-dlp supported site.

    663 GitHub starsUsed in 2 repos~574 tokens
    Media & CreativeAuto-check passed
  • Beat Sync Reel

    gooseworks-ai/goose-skills

    Generates Instagram Reels where product image cuts are synced to audio beats.

    1.2k GitHub starsUsed in 1 repo~2.5k tokens
    Media & CreativeAuto-check: notes
  • Video Processing Editing

    curiositech/some_claude_skills

    FFmpeg automation for cutting, trimming, concatenating videos.

    244 GitHub stars~4.2k tokensUpdated 1 mo ago
    Media & CreativeAuto-check passed

More from daymade/claude-code-skills

All 104 skills in this repo
  • Video Comparer

    daymade/claude-code-skills

    This skill should be used when comparing two videos to analyze compression results or quality differences.

    1.5k GitHub starsUsed in 1 repo~1.4k tokens
    Auto-check: notes
  • CLI Demo Generator

    daymade/claude-code-skills

    Generates professional animated CLI demos as GIFs using VHS terminal recordings.

    1.5k GitHub stars~1.7k tokensUpdated today
    Auto-check passed
  • Doc To Markdown

    daymade/claude-code-skills

    Converts DOCX/PDF/PPTX and saved HTML/HTM to high-quality Markdown with automatic post-processing.

    1.5k GitHub stars~2.5k tokensUpdated today
    Auto-check passed
  • Interaction Design Board

    daymade/claude-code-skills

    Generates several distinct, clickable HTML interaction prototypes for one product surface into a Design Board and collects selection/remix feedback before implementation.

    1.5k GitHub stars~2.7k tokensUpdated today
    Auto-check passed
  • Skill Creator

    daymade/claude-code-skills

    Creates, edits and benchmarks skills; supersedes the official skill-creator plugin, so when both are listed, use this one.

    1.5k GitHub stars~4.4k tokensUpdated today
    Auto-check passed
  • Auto Repo Setup

    daymade/claude-code-skills

    Diagnoses and repairs repository setup and guarded Git workflows for Claude Code or Codex — environment repair, startup sync, hook auditing, collaborator handoff.

    1.5k GitHub stars~2.9k tokensUpdated today
    Auto-check: notes

Works with

Questions about Youtube Downloader

What does Youtube Downloader do?

Download YouTube videos and HLS streams (m3u8) from platforms like Mux, Vimeo, etc. Youtube Downloader is an agent skill from daymade/claude-code-skills. Download YouTube videos and HLS streams (m3u8) from platforms like Mux, Vimeo, etc.

When should I use Youtube Downloader?

Youtube Downloader fits situations like: users request downloading videos; extracting audio; handling protected streams with authentication headers; troubleshooting download issues like nsig extraction failures.

How do I install Youtube Downloader in Claude Code?

Run `npx skills add daymade/claude-code-skills --skill youtube-downloader -a claude-code`. Or copy the skill folder (youtube-downloader in daymade/claude-code-skills) into .claude/skills/youtube-downloader in your project. Claude Code loads it when a task matches its description.

How do I install Youtube Downloader in Codex?

Run `npx skills add daymade/claude-code-skills --skill youtube-downloader -a codex`. Or copy the skill folder (youtube-downloader in daymade/claude-code-skills) into .agents/skills/youtube-downloader in your project. Codex loads it when a task matches its description.

Can I use Youtube Downloader in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add daymade/claude-code-skills --skill youtube-downloader -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/youtube-downloader, .gemini/skills/youtube-downloader, .github/skills/youtube-downloader and .opencode/skills/youtube-downloader in your project.

What does Youtube Downloader need to run?

Going by SKILL.md and its folder, Youtube Downloader needs Python for the scripts in its folder and the command-line tools its instructions call (yt-dlp, ffmpeg, brew, pip and ffprobe). Our summary lists: Python 3; Docker.

Does Youtube Downloader access the network?

SKILL.md names 4 domains. In commands or code: youtube.com, maven.com and youtu.be; the agent is likely to contact these when it follows the instructions. As links in the text: github.com. This is read from the text; nothing was executed.

Is Youtube Downloader safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Youtube Downloader use?

Youtube Downloader is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Youtube Downloader use?

About 4.7k tokens (SKILL.md is roughly 19k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 1.9k tokens, read only when the agent opens those files.

What are the alternatives to Youtube Downloader?

Skills that share tags, products or a category with Youtube Downloader: Shorts Video Maker (uxjoseph/content-marketing-team, 107 stars), Showcase Video (rehan-remade/universal-modder, 6.5k stars), Video Download (calesthio/OpenMontage, 66k stars) and Video Transcript Downloader (sundial-org/awesome-openclaw-skills, 663 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Youtube Downloader?

daymade (a GitHub user) maintains it in daymade/claude-code-skills, which has 1,448 GitHub stars. The repository holds 104 skills in this directory. The repository was last updated on October 10, 2026.

Source: daymade/claude-code-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.