video-download
Skill21 starsChanged 7 months agoMITView on GitHub
Download videos from Instagram, YouTube, TikTok, Twitter/X, Facebook, and 1000+ other platforms as MP4 files using yt-dlp. Auto-recovers from YouTube bot detection ("Sign in to confirm you're not a bot", LOGIN_REQUIRED) by rotating through browser cookies and cookie files without manual intervention. Use this skill when the user wants to download, save, or grab one or more videos from any social media or video platform URL. Supports single videos or full playlists, configurable resolution, and saving to a specified target folder.
10 other projects use a version of this.
Adopted by
Most recently taken up by
- OpenMontageInc/OpenMontagetheir own version, first seen Nov 8, 2026
- calesthio/OpenMontagetheir own version, first seen Nov 8, 2026
- csfuwwc/md-skillstheir own version, first seen Nov 1, 2026
- aiaaaa4/video-downloadtheir own version, first seen Oct 15, 2026
- wang-xiaochuan/706-skillstheir own version, first seen Oct 11, 2026
- Gopyr/gopyr-skills-hubtheir own version, first seen Oct 11, 2026
Used with
Projects with it also use canvas-procedural-animation, svg-character-animation and 10 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
LinHao-citySkillcanvas-procedural-animation
Use p5.js/canvas for local procedural character effects: particles, weather, squash/stretch, walk cycles, and environmental motion.
Also in 4 projects that use this
LinHao-citySkillsvg-character-animation
Animate SVG character rigs with GSAP, CSS transforms, Remotion frame control, and HyperFrames-compatible browser previews.
Also in 4 projects that use this
dAAAbSkillheygen
Also in 3 projects that use this
- +9 more from LinHao-city
Other versions10 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 10
- calesthio/OpenMontage★ 78ksame name
- OpenMontageInc/OpenMontage★ 78ksame name
- LinHao-city/StoryMind★ 10same name
- csfuwwc/md-skills★ 4same name
- pilotgetup855/bbshare-skills★ 2same name
- SocialKit-API/skills★ 2same name
- aiaaaa4/video-download★ 0same name
- andfrancot-alt/claude-skills★ 0same name
- Gopyr/gopyr-skills-hub★ 0same name
- wang-xiaochuan/706-skills★ 0same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository22 other files it gives its agents.
- 2d-pixel-assetSkill
- anthropic-skilljar-extractorSkill
- audio-to-midiSkill
- auto-researchSkill
- gemini-image-genSkill
- gemini-web-media-analysisSkill
- google-ai-studio-ttsSkill
- hermes-tweetSkill
- link-downloadSkill
- llama-cppSkill
- meta-muse-video-analysisSkill
- midi-synthSkill
- opencodeSkill
- seedanceSkill
- tech-product-landingSkill
- unreal-best-practicesSkill
- unreal-blueprint-codegenSkill
- unreal-gasSkill
- unreal-pcg-pythonSkill
- unreal-thirdpartySkill
- video-fetch-and-summarizeSkill
- video-summarizerSkill
The file
We split this skill into the rules it gives an agent
6 rules. 0 are common, 3 are distinctive, and 3 are very specific to this project.
0
Common
Most of the 7 edited versions we read keep these.
3
Distinctive
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 30
Run the script. If YouTube bot detection hits, the script auto-rotates strategies.
- Very specific: line 68
When a request fails with bot-detection markers (Sign in to confirm, LOGIN_REQUIRED), the script automatically advances through these …
- Distinctive: line 80
If all 4 strategies fail, the script prints a context-aware recovery walkthrough (see "Recovery instructions for the user" below).
- Very specific: line 83
If the user explicitly passes --cookies-from-browser or --cookies, the chain is skipped and only that source is used (useful when the user …
- Distinctive: line 89
When all strategies fail, the script auto-prints a step-by-step guide.
- Very specific: line 153
If Chrome must stay open, recommend the user export cookies via the "Get cookies.txt LOCALLY" Chrome extension and drop the file in …
“Common” is measured: kept by at least 6 in 10 of the 7 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Video Download Skill
Wraps yt-dlp with automatic recovery for YouTube anti-bot challenges.
Tool
scripts/download.py — installs yt-dlp on first run, merges video+audio to MP4,
auto-rotates strategies on bot detection, uses a download-archive for safe resume.
Workflow
- Collect all URLs from the user's request.
- Determine output directory (current working directory if unspecified).
- Decide single-video vs playlist mode:
- User says "this video" / single URL → leave default (single-video).
- User says "playlist" / "all videos" / passes a
playlist?list=URL → add--playlist.
- Run the script. If YouTube bot detection hits, the script auto-rotates strategies.
- Report which files were saved and which strategy worked.
Usage
# Single video, current directory
python scripts/download.py "https://www.youtube.com/watch?v=..."
# Multiple URLs to a folder
python scripts/download.py "URL1" "URL2" -o "/path/to/output"
# Full playlist as 720p MP4
python scripts/download.py "https://www.youtube.com/playlist?list=..." --playlist -o "./out"
# Force a specific browser for cookies (skips auto-rotation)
python scripts/download.py "URL" --cookies-from-browser chrome
# Force a manual cookies.txt file
python scripts/download.py "URL" --cookies "~/Downloads/www.youtube.com_cookies.txt"
# Higher quality
python scripts/download.py "URL" --max-height 1080Flags
| Flag | Default | Notes |
-o, --output | cwd | Output directory |
--max-height | 720 | Max video height (e.g. 1080, 480) |
--playlist | off | Download full playlist; default is single-video |
--cookies-from-browser | auto | Force one browser; skips auto-rotation |
--cookies | auto | Force one cookies.txt file; skips auto-rotation |
--no-archive | off | Disable .download-archive.txt resume tracking |
Auto-Recovery Strategy Chain
When a request fails with bot-detection markers (Sign in to confirm,
LOGIN_REQUIRED), the script automatically advances through these strategies
in order, stopping at the first one that succeeds:
- No auth + throttle — Default. Sleep intervals between requests.
- Player client rotation —
default,tv,mweb,web_safari. Bypasses softer blocks. - Browser cookies rotation — Tries
chrome → edge → firefox → brave → vivaldi → opera, only browsers actually installed on the system. - Cookies file discovery — Picks the newest valid cookies file from
~/Downloads/www.youtube.com_cookies.txt,youtube*cookies*.txt,cookies.txt(< 7 days old to be considered fresh).
If all 4 strategies fail, the script prints a context-aware recovery walkthrough (see "Recovery instructions for the user" below).
If the user explicitly passes --cookies-from-browser or --cookies, the chain
is skipped and only that source is used (useful when the user already knows
what works).
Recovery instructions for the user
When all strategies fail, the script auto-prints a step-by-step guide. Surface the most relevant subset to the user verbatim — it is concrete and actionable.
The guide branches based on what the script saw:
- Cookies file found but rejected (file is stale): tell the user to re-export cookies right now, since YouTube invalidates cookies aggressively once a bot-block triggers.
- No cookies file found: walk the user through the first-time export.
- Otherwise: just list alternatives (close browser, change network, wait).
Cookie export walkthrough (the part the user will likely need)
- Install a cookie export browser extension:
- Chrome / Edge / Brave / Vivaldi / Opera: "Get cookies.txt LOCALLY" — https://chromewebstore.google.com/detail/get-cookiestxt-locally/cclelndahbckbenkjhflpdbgdldlbecc
- Firefox: "cookies.txt" — https://addons.mozilla.org/en-US/firefox/addon/cookies-txt/
- Open https://www.youtube.com in that browser, signed in to a Google account.
- Click the extension's toolbar icon:
- "Get cookies.txt LOCALLY" → "Export As" → Netscape format → use the
"Current Site" option so only
youtube.comcookies are included. - Firefox "cookies.txt" → "Current Site" → Save.
- "Get cookies.txt LOCALLY" → "Export As" → Netscape format → use the
"Current Site" option so only
- Save the file to the OS default Downloads folder. Any of these names work
(auto-detected, newest wins):
www.youtube.com_cookies.txt(extension default — easiest)youtube.com_cookies.txtcookies.txt
- Re-run the same download command. Strategy 4 picks the file up automatically.
When to recommend each alternative
- Close the browser (Chrome / Edge): fastest fix on Windows, where App-Bound Encryption locks the cookie database while the browser runs. Costs the user their open tabs unless "Continue where you left off" is enabled.
- Different network (mobile hotspot, VPN): bypasses an IP-level block. Fastest if the user already has a VPN.
- Wait it out: YouTube IP blocks lift on their own, usually within 24 h. Recommend only if no other option fits.
Resume / Re-Run Safety
--download-archive .download-archive.txt is enabled by default. Already-downloaded
videos are skipped on re-runs, so it's safe to re-run after partial failure or
when adding more URLs to the same folder. Pass --no-archive to disable.
Output Filename Pattern
- Single video:
{title} [{id}].mp4 - Playlist:
{NNN} - {title} [{id}].mp4(zero-padded index keeps order in file managers)
--windows-filenames is always on, so files are safe across OSes.
Authentication Notes
- Auto-rotation handles most cases without user input.
--cookies-from-browser chromerequires Chrome closed on Windows (App-Bound Encryption locks the cookie DB while Chrome is running).- If Chrome must stay open, recommend the user export cookies via the
"Get cookies.txt LOCALLY" Chrome extension and drop the file in
~/Downloads/. The script picks it up automatically on next run.
Supported Platforms
YouTube (single + playlists), Instagram, TikTok, Twitter/X, Facebook, Vimeo, Reddit, and 1000+ more via yt-dlp.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

