✓ Verified 💻 Development ✓ Enhanced Data

Dl

Download Video/Music from YouTube/Bilibili/X/etc.

Rating
4.6 (357 reviews)
Downloads
780 downloads
Version
1.0.0

Overview

Download Video/Music from YouTube/Bilibili/X/etc.

Complete Documentation

View Source →

Media Downloader

Smartly download media (Video/Music) from URLs (YouTube, Bilibili, X, etc.) to the appropriate local folders.

  • Video: Save into ~/Movies/ or ~/Videos/.
  • Music: Save into ~/Music/.
  • Playlists: Saves items into a subdirectory (e.g., ~/Music//).
Designed to work with a local Media Server (e.g., Universal Media Server, Jellyfin) for instant playback on TV/devices.

Agent Procedure

When the user provides a URL or asks to download media, you MUST follow this exact sequence:

  • Acknowledge:
  • Immediately reply to the user: "Downloading with dl skill..."
  • Execute:
  • Run the script:
bash
uv run --script ${baseDir}/dl.py "<url>"
  • Capture Path:
  • Read the script output, a path will be printed to stdout at the end, points to either a single file or a folder contains the playlist items.
  • Upload (Telegram Only):
  • If the user is on Telegram (check context or session) AND the file is audio (mp3/m4a):
  • Use the message tool to send the file to the user:
json
{
       "action": "send",
       "filePath": "<filepath>",
       "caption": "Here is your music."
     }

Usage

Run dl.py as a uv script:

bash
# save into default dirs ~/Music or ~/Movies or ~/Videos
uv run --script ${baseDir}/dl.py <url>

# specify your own output dir
uv run --script ${baseDir}/dl.py <url> -o <out_dir>
The script will print output path, either a file or a folder.

A optional cookies file could be provided to make yt-dlp more reliable, with which ever of these detected first:

  • ${baseDir}/.cookies.txt
  • $DL_COOKIES_FILE
  • $COOKIES_FILE
  • ~/.cookies.txt

Setup (User)

This skill will be much more useful if you setup a media server on same machine to share the downloaded media in your LAN:

  • Install a DLNA/UPnP Media Server (Universal Media Server, miniDLNA, Jellyfin).
  • Share ~/Music and ~/Movies (or ~/Videos) folders.
  • Downloaded media will appear automatically on your TV, with apps support DLNA/UPnP, such as VLC.
See example script to setup Universal Media Server on Mac.

Installation

Terminal bash

openclaw install dl
    
Copied!

💻Code Examples

Run `dl.py` as a uv script:

run-dlpy-as-a-uv-script.sh
# save into default dirs ~/Music or ~/Movies or ~/Videos
uv run --script ${baseDir}/dl.py <url>

# specify your own output dir
uv run --script ${baseDir}/dl.py <url> -o <out_dir>
example.json
{
       "action": "send",
       "filePath": "<filepath>",
       "caption": "Here is your music."
     }

Tags

#coding_agents-and-ides

Quick Info

Category Development
Model Claude 3.5
Complexity One-Click
Author guoqiao
Last Updated 3/10/2026
🚀
Optimized for
Claude 3.5
🧠

Ready to Install?

Get started with this skill in seconds

openclaw install dl