youtube-downloader
An agent skill by daymade, from daymade/claude-code-skills. Tags: audio, cli, download, streaming, video.
What it does
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.
Install
With the skills CLI, which installs into Claude Code, Codex, Cursor and other agents:
npx skills add daymade/claude-code-skills --skill youtube-downloader
Or copy the skill folder into Claude Code's skills directory by hand (~/.claude/skills for every project, or .claude/skills inside one):
git clone --depth 1 https://github.com/daymade/claude-code-skills
cp -r claude-code-skills/youtube-downloader ~/.claude/skills/youtube-downloader
Safety box score
Grade F, high risk: 70 of 100 risk points, rated 2026-09-20. The grade rates what the skill and its scripts can reach on the machine of whoever installs it, across eight categories from shell execution to secrets access. How the score works.
This skill downloads YouTube/HLS media using `yt-dlp`, `ffmpeg`, Docker, and helper plugins, and it can read browser login cookies to bypass download restrictions. The main risks are credential exposure, runtime installation of external dependencies/containers, and broad outbound network activity to YouTube, PyPI, Docker Hub, and media CDNs.
| Category | Level | Why |
|---|---|---|
| Code & shell execution | 3 (high) | The bundled script runs external commands with `subprocess.run(...)` and can invoke `yt-dlp`, `ffmpeg`, `ffprobe`, and `docker`; that is the core function of the skill. |
| Network access | 2 (moderate) | It makes outbound requests to YouTube oEmbed (`https://www.youtube.com/oembed...`), downloads media from remote URLs, and may pull packages/images from PyPI and Docker Hub. |
| Filesystem reach | 2 (moderate) | It creates output directories and writes downloads wherever the user points it (`output_root.mkdir(...)`, `-o ...`), and `pip install` into yt-dlp's Python environment modifies files outside the skill folder. |
| Secrets & credentials | 3 (high) | It explicitly supports `--cookies-from-browser` and `--cookies`, and the docs say to "use browser cookies" / "request cookie permission," so it can access browser session tokens and auth cookies. |
| Privilege & persistence | 2 (moderate) | The docs and script install or update tools with `brew install`, `pip install`, and `docker run`, which changes the user's environment even though it does not require sudo. |
| Instruction hijack surface | 1 (low) | The skill contains strong agent-facing directives such as "Do not ask them to run commands. Execute everything yourself" and "Automatically set up a local PO Token helper"; these are workflow constraints, not hidden or remote prompt injection. |
| Irreversible actions | 2 (moderate) | It automatically starts token providers, can launch or keep a browser open for WPC minting, retries failed downloads with alternate clients/formats, and can download playlists when allowed. |
| Transparency | 2 (moderate) | It fetches and runs external, unpinned dependencies at runtime (`bgutil-ytdlp-pot-provider`, `yt-dlp-getpot-wpc`) and pulls a remote Docker image (`brainicism/bgutil-ytdlp-pot-provider`), so part of the effective behavior is not visible in this repo. |
Before installing
- Read `scripts/download_video.py` first; it will install plugins, run `docker`, and use `--cookies-from-browser` / `--cookies` if you enable them.
- Confirm you are okay with the skill accessing your browser session or a `cookies.txt` file for YouTube authentication.
- Test it once in a throwaway output folder with a non-sensitive video URL before letting it use your normal Downloads directory.
- Verify you trust the external `bgutil-ytdlp-pot-provider` / `yt-dlp-getpot-wpc` packages and the `brainicism/bgutil-ytdlp-pot-provider` Docker image.
Rated 2026-09-20 by an automated review of 4 files from the skill's repository.
Source
- Repository
- daymade/claude-code-skills (all skills from this repository)
- Path
- youtube-downloader/SKILL.md
- Branch
- main
- Updated
- 2026-09-20
Related skills
- auto-editor — Record a microphone or edit video/audio with the auto-editor CLI — cut out dead space (silence, motionlessness, black frames), set the pace, make manual cuts.
- auto-editor-effects — Apply actions and animations to sections of a video/audio with auto-editor — change speed, duck or fade volume, de-ess, zoom/Ken Burns, rotate/spin.
- auto-editor-export — Export auto-editor's edit or microphone recording to a video editor (Premiere, DaVinci Resolve, Final Cut Pro, ShotCut, Kdenlive), to individual clips.
- auto-editor-transcribe — Transcribe a media file or live microphone to text or subtitles with auto-editor's whisper subcommand.
- cli-demo-generator — Generates professional animated CLI demos as GIFs using VHS terminal recordings.
- music-to-video — Turn a music track (an audio file, a video to pull audio from, or a track generated from a mood brief) into a beat-synced video — lyric video, slideshow.