YouTube Downloader
Reliably download YouTube videos, audio, and HLS (m3u8) streams in high quality using yt-dlp and ffmpeg.
Image & VideoIntermediate★ 1,323⑂ 212AI score 8/10Last updated: Aug 8, 2026
What it does
- Downloads YouTube videos up to 4K and merges them into a clean MP4.
- Extracts audio as MP3 and optionally pulls subtitles.
- Grabs HLS (m3u8) streams from Mux, Vimeo and similar CDNs, passing the authentication headers (Referer/Origin/User-Agent) that ffmpeg needs.
- Auto-recovers from the classic failures: only 360p available,
nsig extraction failed, "Sign in to confirm you're not a bot", 403 Forbidden, SSL/fragment errors. - Boots a PO Token provider automatically (Docker bgutil, falling back to the browser-based WPC provider) so high-quality formats stay reachable.
- Assumes a non-technical user by default: Claude runs everything itself and reports thumbnail, title, file path, size and resolution in plain language.
Who it's for
- Learners and researchers archiving lectures for offline viewing.
- Anyone converting podcasts or interviews to MP3 for the commute.
- yt-dlp users who gave up after hitting 360p-only formats or 403 errors.
- People saving m3u8 course videos from platforms they legitimately subscribe to.
- Creators who want to chain a download straight into transcription.
Examples
- One-liner request: "Download this at 1080p — https://youtu.be/XXXX" → fetches metadata → starts the PO token provider → merges to MP4 → reports
~/Downloads/title.mp4with size and resolution. - Audio only: "Pull just the audio from this interview as MP3" → runs
-x --audio-format mp3, then proactively offers speech-to-text transcription. - Protected HLS: "This course m3u8 keeps returning 403" → takes the rendition URL from DevTools, adds the Referer header in ffmpeg, and if audio/video are split, downloads both and merges with
-c copy.
⚠️ Only use for content you have the rights to download. Browser-cookie mode touches your logged-in session, so approve it deliberately.
· · · Install guide · · ·
Install in the Claude app (no terminal)
- Download the ZIP with the button below.
- In Claude, open Settings → Capabilities and turn on 'Code execution and file creation'. (one time)
- Go to Customize → Skills → + → 'Upload a skill' and upload the ZIP.
Install in Claude Code
Let Claude do it — paste this into Claude Code
Install the skill I found on Claude Skill Mart. Copy the youtube-downloader folder from the GitHub repo daymade/claude-code-skills into my ~/.claude/skills/youtube-downloader/. When it's done, tell me in one line what this skill can do.
Install with a command instead
git clone https://github.com/daymade/claude-code-skills.git /tmp/daymade-skills && mkdir -p ~/.claude/skills && cp -r /tmp/daymade-skills/youtube-downloader ~/.claude/skills/⚠ This is a third-party skill. Check the source repository before installing.
- Install the tooling: run
brew install yt-dlp ffmpeg(macOS) orpip install --upgrade yt-dlp. yt-dlp must be 2025.10.22 or newer — older builds cause nsig failures. - Create the skills folder:
mkdir -p ~/.claude/skills. - Clone the repository:
git clone https://github.com/daymade/claude-code-skills.git /tmp/daymade-skills. - Copy the skill in:
cp -r /tmp/daymade-skills/youtube-downloader ~/.claude/skills/. - (Optional) Add the PO token plugin for HD: find the interpreter with
head -1 $(which yt-dlp), then run<that-python> -m pip install bgutil-ytdlp-pot-provider. If Docker is installed, the skill will use it automatically. - Restart Claude Code and simply ask "download this YouTube video" — the skill triggers on its own.
- Verify: run
yt-dlp -F "https://youtu.be/VIDEO_ID"; seeing format 137 (1080p) or 313 (4K) confirms high-quality access works.
View source on GitHub ↗License: MIT