Skip to content
Content
Skill

/download-video

Download videos from 1000+ websites (YouTube, Bilibili, Twitter/X, TikTok, Vimeo, Instagram, Twitch, etc.) using yt-dlp. Use this skill whenever a user shares a video URL, asks to save or download a video, wants to extract audio from an online video, needs a specific quality

From plugin
video-skills
153 skills

Claude Code

$ npx -y skills add feiskyer/video-skills --skill download-video --agent claude-code

SKILL.md

download-video.SKILL.md
name: download-video
metadata:
  version: "1.0.3"
description: Download videos from 1000+ websites (YouTube, Bilibili, Twitter/X, TikTok, Vimeo, Instagram, Twitch, etc.) using yt-dlp. Use this skill whenever a user shares a video URL, asks to save or download a video, wants to extract audio from an online video, needs a specific quality like 1080p or 4K, or mentions downloading a playlist. Also trigger on "下载视频", "保存视频", "提取音频", or any URL from a supported video platform.

Download Video

Download videos from YouTube, Bilibili, Twitter/X, TikTok, and 1000+ other sites using yt-dlp.

Step 1: Check prerequisites

which yt-dlp && yt-dlp --version
which ffmpeg && which ffprobe
which deno && deno --version

Use Python 3.11 or newer. Install or update the stable Python dependencies in the active virtual environment (`<skill_directory>` is this skill's directory):

python -m pip install --upgrade -r <skill_directory>/requirements.txt

# macOS: install external tools (use brew upgrade if already installed)
brew install ffmpeg deno

The dependency file includes yt-dlp's default extras, including the EJS challenge solver. Deno is needed for full YouTube support. Keep the virtual environment active so the bundled script invokes the updated `yt-dlp` executable. See the [official EJS guide](https://github.com/yt-dlp/yt-dlp/wiki/EJS) for other JavaScript runtimes.

Step 2: Download

Use the bundled script — it wraps yt-dlp with sensible defaults and clear error messages.

python3 scripts/download.py "VIDEO_URL"

Default output: `~/Downloads/Videos/`

Common options

python3 scripts/download.py "URL" -f 1080            # Max 1080p
python3 scripts/download.py "URL" -a                  # Audio only (MP3)
python3 scripts/download.py "URL" -F                  # List formats
python3 scripts/download.py "URL" --subs              # With subtitles
python3 scripts/download.py "URL" -o ~/Desktop        # Custom output dir
python3 scripts/download.py "URL" --cookies chrome    # Use browser cookies

Direct yt-dlp commands

For cases the script doesn't cover, use yt-dlp directly:

# Download playlist
yt-dlp -P ~/Downloads/Videos "PLAYLIST_URL"

# Custom filename template
yt-dlp -o "%(uploader)s - %(title)s.%(ext)s" "VIDEO_URL"

# Download with subtitles in specific languages
yt-dlp --write-subs --sub-lang zh,en -P ~/Downloads/Videos "VIDEO_URL"

Troubleshooting

Most download failures fall into these categories:

| Symptom | Fix | |---------|-----| | "Sign in required" or age-restricted | Add `--cookies chrome` to use browser session | | Only low quality available | Update yt-dlp (`brew upgrade yt-dlp`), then try with `--cookies chrome` | | Slow downloads | Try `--concurrent-fragments 3` or `--downloader aria2c` | | Network errors (behind firewall) | Use `--proxy socks5://127.0.0.1:1080` or set `ALL_PROXY` env var |

For platform-specific details (YouTube PO tokens, Bilibili series, TikTok watermark removal, etc.), see [references/platform-tips.md](references/platform-tips.md).

Read more
@feiskyer
Ships withvideo-skills

Skills for working with videos - download, transcribe, and narrate.

Stars on GitHub

Momentum

stars in total
15
Star history of feiskyer/video-skills on GitHub, a chart by star-history.com

Other skills on video-skills.

narrate-video

narrate-video

Generate professional voiceover narration for a video with audio-video sync using Azure TTS by default, or Gemini 3.1 Flash TTS…

transcribe-video

transcribe-video

Extract transcript or subtitles from a local video file. Use this skill whenever the user asks to transcribe a video, extract…

More skills from other plugins.

prompt-lookup

prompt-lookup

Activates when the user asks about AI prompts, needs prompt templates, wants to search for prompts, or mentions prompts.chat. Use…

@gh-f@gh-fInstall Skill
ppt-master

ppt-master

AI-driven presentation workflow for generating editable PPTX decks and slides, reconstructing page visuals, creating reusable…

@hugohe3@hugohe3Install Skill
morph-ppt

morph-ppt

Use this skill when the user wants a .pptx with smooth cross-slide animation — PowerPoint Morph transitions, Keynote-style…

@iofficeai@iofficeaiInstall Skill

Questions about download-video.

Which coding agents can use download-video?
download-video installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.