{"id":"c13a5b3d-18ac-4a6e-bddd-1686cb44434b","shortId":"neCWK3","kind":"skill","title":"using-youtube-download","tagline":"Download YouTube video or audio with yt-dlp and ffmpeg at highest available quality.","description":"# YouTube Download Skill\n\nTeach how to download YouTube videos as video files and MP3 audio, defaulting to highest quality.\n\n## Prerequisites\n- `yt-dlp` (recommended fork of youtube-dl): https://github.com/yt-dlp/yt-dlp\n- `ffmpeg` (for merging/conversion)\n\nInstall (Linux/macOS):\n\n```bash\npython3 -m pip install -U yt-dlp\n# or\nsudo curl -L https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp -o /usr/local/bin/yt-dlp && sudo chmod a+rx /usr/local/bin/yt-dlp\n\n# ffmpeg\nsudo apt install ffmpeg   # Debian/Ubuntu\nbrew install ffmpeg       # macOS (Homebrew)\n```\n\nWindows: use the yt-dlp.exe release and install ffmpeg for Windows.\n\n---\n\n## Download highest-quality video (merged MP4)\n\nThis downloads the best video and best audio and merges them into an MP4 (default highest quality).\n\n```bash\nyt-dlp -f \"bestvideo+bestaudio/best\" --merge-output-format mp4 -o \"%(title)s.%(ext)s\" <VIDEO_URL>\n```\n\nNotes:\n- `-f \"bestvideo+bestaudio/best\"` prefers separate best video and audio streams and falls back to the single best format.\n- `--merge-output-format mp4` ensures a widely compatible container.\n- Output template `%(title)s.%(ext)s` names the file by video title.\n\nTo force a max resolution (e.g., 1080p):\n\n```bash\nyt-dlp -f \"bestvideo[height<=1080]+bestaudio/best\" --merge-output-format mp4 -o \"%(title)s.%(ext)s\" <VIDEO_URL>\n```\n\n---\n\n## Download as MP3 (highest audio quality)\n\nExtract and convert the best available audio to MP3 (highest quality):\n\n```bash\nyt-dlp -x --audio-format mp3 --audio-quality 0 -o \"%(title)s.%(ext)s\" <VIDEO_URL>\n```\n\nOptions:\n- `-x` / `--extract-audio` extracts audio.\n- `--audio-format mp3` converts to MP3.\n- `--audio-quality 0` tells ffmpeg to use best VBR quality.\n\nIf you prefer 320kbps constant bitrate MP3:\n\n```bash\nyt-dlp -x --audio-format mp3 --postprocessor-args \"-b:a 320k\" -o \"%(title)s.%(ext)s\" <VIDEO_URL>\n```\n\n---\n\n## Download a playlist\n\nDownload an entire playlist (preserve order):\n\n```bash\nyt-dlp -f \"bestvideo+bestaudio/best\" --merge-output-format mp4 -o \"%(playlist_index)s - %(title)s.%(ext)s\" <PLAYLIST_URL>\n```\n\nTo download only a single video from a playlist use `--no-playlist`.\n\n---\n\n## Advanced examples\n\n- Download best audio only (no conversion):\n\n```bash\nyt-dlp -f bestaudio -o \"%(title)s.%(ext)s\" <VIDEO_URL>\n```\n\n- Download a clip by time range (requires ffmpeg post-processing):\n\n```bash\nyt-dlp -f bestvideo+bestaudio --external-downloader ffmpeg --external-downloader-args \"-ss 00:01:00 -to 00:02:00\" -o \"%(title)s.%(ext)s\" <VIDEO_URL>\n```\n\n---\n\n## Windows PowerShell examples\n\n```powershell\n.\n# Highest-quality video\nyt-dlp.exe -f \"bestvideo+bestaudio/best\" --merge-output-format mp4 -o \"%(title)s.%(ext)s\" https://www.youtube.com/watch?v=...\n\n# MP3\nyt-dlp.exe -x --audio-format mp3 --audio-quality 0 -o \"%(title)s.%(ext)s\" https://www.youtube.com/watch?v=...\n```\n\n---\n\n## Notes & best practices\n- Respect YouTube's terms of service and copyright laws. Only download content you have rights to or permission to download.\n- Use `--no-overwrites` to avoid replacing existing files.\n- Use `--download-archive archive.txt` to avoid re-downloading previously downloaded videos when processing playlists or channels.\n- Use `--quiet` for scripting and check exit codes for success.\n- Cache and limit requests to avoid rate limits.\n\n---\n\nThis skill covers common `yt-dlp` patterns to download highest-quality video and audio (MP3). For automation, combine these commands into scripts and use environment variables for URLs and output directories.","tags":["using","youtube","download","open","skills","besoeasy","agent-skills","ai-agents","claude-code","clawdbot","clawdbot-skill","llm-tools"],"capabilities":["skill","source-besoeasy","skill-using-youtube-download","topic-agent-skills","topic-ai-agents","topic-claude-code","topic-clawdbot","topic-clawdbot-skill","topic-llm-tools","topic-mcp-server","topic-openai","topic-openclaw","topic-vibe-coding","topic-vibecoding"],"categories":["open-skills"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/besoeasy/open-skills/using-youtube-download","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add besoeasy/open-skills","source_repo":"https://github.com/besoeasy/open-skills","install_from":"skills.sh"}},"qualityScore":"0.505","qualityRationale":"deterministic score 0.51 from registry signals: · indexed on github topic:agent-skills · 111 github stars · SKILL.md body (3,515 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-05-02T12:55:05.312Z","embedding":null,"createdAt":"2026-04-18T22:10:59.513Z","updatedAt":"2026-05-02T12:55:05.312Z","lastSeenAt":"2026-05-02T12:55:05.312Z","tsv":"'/usr/local/bin/yt-dlp':74,79 '/watch?v=...':420,439 '/yt-dlp/yt-dlp':51 '/yt-dlp/yt-dlp/releases/latest/download/yt-dlp':72 '0':238,261,431 '00':384,386,388,390 '01':385 '02':389 '1080':197 '1080p':189 '320k':290 '320kbps':272 'advanc':338 'apt':82 'archiv':475 'archive.txt':476 'arg':287,382 'audio':9,34,115,151,213,221,232,236,248,250,252,259,282,342,425,429,523 'audio-format':231,251,281,424 'audio-qu':235,258,428 'autom':526 'avail':18,220 'avoid':468,478,505 'b':288 'back':155 'bash':57,125,190,226,276,305,346,368 'best':111,114,148,159,219,266,341,441 'bestaudio':351,374 'bestaudio/best':131,145,198,311,407 'bestvideo':130,144,195,310,373,406 'bitrat':274 'brew':86 'cach':500 'channel':489 'check':495 'chmod':76 'clip':359 'code':497 'combin':527 'command':529 'common':511 'compat':169 'constant':273 'contain':170 'content':454 'convers':345 'convert':217,255 'copyright':450 'cover':510 'curl':68 'debian/ubuntu':85 'default':35,122 'directori':540 'dl':48 'dlp':13,42,65,128,193,229,279,308,349,371,514 'download':4,5,21,26,101,109,209,296,299,326,340,357,377,381,453,462,474,481,483,517 'download-arch':473 'e.g':188 'ensur':166 'entir':301 'environ':534 'exampl':339,398 'exist':470 'exit':496 'ext':140,175,207,242,294,323,355,394,416,435 'extern':376,380 'external-download':375 'external-downloader-arg':379 'extract':215,247,249 'extract-audio':246 'f':129,143,194,309,350,372,405 'fall':154 'ffmpeg':15,52,80,84,88,98,263,364,378 'file':31,179,471 'forc':184 'fork':44 'format':135,160,164,202,233,253,283,315,411,426 'github.com':50,71 'github.com/yt-dlp/yt-dlp':49 'github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp':70 'height':196 'highest':17,37,103,123,212,224,401,519 'highest-qu':102,400,518 'homebrew':90 'index':319 'instal':55,61,83,87,97 'l':69 'law':451 'limit':502,507 'linux/macos':56 'm':59 'maco':89 'max':186 'merg':106,117,133,162,200,313,409 'merge-output-format':132,161,199,312,408 'merging/conversion':54 'mp3':33,211,223,234,254,257,275,284,421,427,524 'mp4':107,121,136,165,203,316,412 'name':177 'no-overwrit':464 'no-playlist':335 'note':142,440 'o':73,137,204,239,291,317,352,391,413,432 'option':244 'order':304 'output':134,163,171,201,314,410,539 'overwrit':466 'pattern':515 'permiss':460 'pip':60 'playlist':298,302,318,333,337,487 'post':366 'post-process':365 'postprocessor':286 'postprocessor-arg':285 'powershel':397,399 'practic':442 'prefer':146,271 'prerequisit':39 'preserv':303 'previous':482 'process':367,486 'python3':58 'qualiti':19,38,104,124,214,225,237,260,268,402,430,520 'quiet':491 'rang':362 'rate':506 're':480 're-download':479 'recommend':43 'releas':95 'replac':469 'request':503 'requir':363 'resolut':187 'respect':443 'right':457 'rx':78 'script':493,531 'separ':147 'servic':448 'singl':158,329 'skill':22,509 'skill-using-youtube-download' 'source-besoeasy' 'ss':383 'stream':152 'success':499 'sudo':67,75,81 'teach':23 'tell':262 'templat':172 'term':446 'time':361 'titl':138,173,182,205,240,292,321,353,392,414,433 'topic-agent-skills' 'topic-ai-agents' 'topic-claude-code' 'topic-clawdbot' 'topic-clawdbot-skill' 'topic-llm-tools' 'topic-mcp-server' 'topic-openai' 'topic-openclaw' 'topic-vibe-coding' 'topic-vibecoding' 'u':62 'url':537 'use':2,92,265,334,463,472,490,533 'using-youtube-download':1 'variabl':535 'vbr':267 'video':7,28,30,105,112,149,181,330,403,484,521 'wide':168 'window':91,100,396 'www.youtube.com':419,438 'www.youtube.com/watch?v=...':418,437 'x':230,245,280,423 'youtub':3,6,20,27,47,444 'youtube-dl':46 'yt':12,41,64,127,192,228,278,307,348,370,513 'yt-dlp':11,40,63,126,191,227,277,306,347,369,512 'yt-dlp.exe':94,404,422","prices":[{"id":"8181e9b5-8f03-412c-9641-61713469e7fb","listingId":"c13a5b3d-18ac-4a6e-bddd-1686cb44434b","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"besoeasy","category":"open-skills","install_from":"skills.sh"},"createdAt":"2026-04-18T22:10:59.513Z"}],"sources":[{"listingId":"c13a5b3d-18ac-4a6e-bddd-1686cb44434b","source":"github","sourceId":"besoeasy/open-skills/using-youtube-download","sourceUrl":"https://github.com/besoeasy/open-skills/tree/main/skills/using-youtube-download","isPrimary":false,"firstSeenAt":"2026-04-18T22:10:59.513Z","lastSeenAt":"2026-05-02T12:55:05.312Z"}],"details":{"listingId":"c13a5b3d-18ac-4a6e-bddd-1686cb44434b","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"besoeasy","slug":"using-youtube-download","github":{"repo":"besoeasy/open-skills","stars":111,"topics":["agent-skills","ai","ai-agents","claude-code","clawdbot","clawdbot-skill","llm-tools","mcp-server","openai","openclaw","vibe-coding","vibecoding"],"license":null,"html_url":"https://github.com/besoeasy/open-skills","pushed_at":"2026-03-31T13:05:30Z","description":"Battle-tested skill library for AI agents. Save 98% of API costs with ready-to-use code for crypto, PDFs, search, web scraping & more. No trial-and-error, no expensive APIs.","skill_md_sha":"86cdb3e077e0379a28eee18b491ebb82dc57938c","skill_md_path":"skills/using-youtube-download/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/besoeasy/open-skills/tree/main/skills/using-youtube-download"},"layout":"multi","source":"github","category":"open-skills","frontmatter":{"name":"using-youtube-download","description":"Download YouTube video or audio with yt-dlp and ffmpeg at highest available quality."},"skills_sh_url":"https://skills.sh/besoeasy/open-skills/using-youtube-download"},"updatedAt":"2026-05-02T12:55:05.312Z"}}