Media Downloader
Build correct yt-dlp commands for video/audio downloads, subtitles, and playlists
Test report
- Verdict
- Tested · Works
- Score
- Tested
- Jul 31, 2026
- Environment
- Claude Code 2.x (agent harness)
- Upstream re-checked
- Aug 10, 2026 · 33de381
Fetched SKILL.md and scripts/download.py (both HTTP 200) from examples/recommend_skills/media-downloader/. yt-dlp is not installed here, but download.py has a --dry-run mode: I ran it for three scenarios and it emitted correct yt-dlp commands (e.g. `yt-dlp -f bestvideo[height<=1080]+bestaudio/best[height<=1080] --write-subs --sub-langs en,zh --embed-subs ...`). For output-vs-baseline I wrote two command files for one task (1080p + embedded en/zh subs + title filename): my baseline used `best[height<=1080]` with deprecated `--write-sub/--sub-lang`, while the skill-followed command used `bestvideo[height<=1080]+bestaudio/best` with canonical `--write-subs/--sub-langs`. The diff is functional: YouTube serves 1080p only as separate DASH streams, so the baseline's muxed selector caps at 720p while the skill's merge selector gets true 1080p. Docs docked one point: the bundled download.py script is never mentioned anywhere in SKILL.md.
Scored on four weighted criteria — install, triggering, output vs. baseline, docs. How scoring works
- Installs cleanly 5/5
- Triggers reliably 5/5
- Output vs. baseline 7/10
- Docs & honesty 4/5
What Media Downloader does
A reference skill that helps Claude construct correct yt-dlp commands to download video or audio from YouTube, Bilibili, TikTok, Twitter/X, Instagram and other sites, with format/resolution selection, subtitles, playlist ranges, output templates, and browser-cookie auth. Triggers when the user asks to download a video, save media from a social platform, pick a resolution like 1080p/4K, fetch subtitles, or download a playlist. Ships a download.py helper that assembles the yt-dlp invocation from flags.
How to install Media Downloader
git clone --depth 1 https://github.com/MemTensor/skills-vote.git /tmp/media-downloader-src
mkdir -p ~/.claude/skills
cp -R /tmp/media-downloader-src/examples/recommend_skills/media-downloader ~/.claude/skills/media-downloader
# Requires the yt-dlp CLI (not bundled): pip install -U yt-dlp (or brew install yt-dlp)
# ffmpeg needed for merging separate video+audio streams and embedding subtitles: brew install ffmpeg
# Optional helper: python3 ~/.claude/skills/media-downloader/scripts/download.py URL --resolution 1080p --subtitles en,zh --embed-subs --dry-run
Skills live in ~/.claude/skills/ (global) or .claude/skills/
(per-project). Restart Claude Code after installing.
Commands — how to trigger Media Downloader
-
/media-downloaderBuild correct yt-dlp commands for video/audio downloads, subtitles, and playlists
It also activates on plain-language prompts like these:
-
Download this YouTube video in 1080p -
Save this TikTok video with subtitles -
Download this entire playlist locally
Frequently asked questions
- Is the Media Downloader skill free?
- Yes. The skill itself is free from MemTensor/skills-vote. SkillProof publishes the install command and an independent test verdict at no cost.
- Does Media Downloader work with Claude Code?
- We tested it with Claude Code 2.x (agent harness) on Jul 31, 2026. Verdict: Tested · Works. Fetched SKILL.md and scripts/download.py (both HTTP 200) from examples/recommend_skills/media-downloader/. yt-dlp is not installed here, but download.py has a --dry-run mode: I ran it for three scenarios and it emitted correct yt-dlp commands (e.g. `yt-dlp -f bestvideo[height<=1080]+bestaudio/best[height<=1080] --write-subs --sub-langs en,zh --embed-subs ...`). For output-vs-baseline I wrote two command files for one task (1080p + embedded en/zh subs + title filename): my baseline used `best[height<=1080]` with deprecated `--write-sub/--sub-lang`, while the skill-followed command used `bestvideo[height<=1080]+bestaudio/best` with canonical `--write-subs/--sub-langs`. The diff is functional: YouTube serves 1080p only as separate DASH streams, so the baseline's muxed selector caps at 720p while the skill's merge selector gets true 1080p. Docs docked one point: the bundled download.py script is never mentioned anywhere in SKILL.md.
- What is the Media Downloader SkillProof Score?
- 8.4/10 — installs cleanly 5/5, triggers reliably 5/5, output vs. baseline 7/10, docs & honesty 4/5.
- How do I install Media Downloader?
- Copy the install command from this page, run it in your terminal, and restart Claude Code. Skills live in ~/.claude/skills/ (global) or .claude/skills/ inside a project.
- Can I use Media Downloader with Cursor, Copilot, Gemini CLI, Codex or other AI tools?
- The SKILL.md format is native to Claude (Claude Code, Desktop, claude.ai). The instructions inside adapt to other assistants: Cursor rules, GitHub Copilot instructions, Windsurf rules, Custom GPTs, AGENTS.md for OpenAI Codex, and GEMINI.md for Google Gemini CLI — our conversion guides cover each, and the free converter on the tools page does the wrapping for you.