smithery.ai

dl

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

First seen Mar 21, 2026

Installation

$ npx skills add https://smithery.ai

Also in this package

Other skills from smithery.ai · top by installs.

npx skills add https://smithery.ai

Browse all from smithery.ai

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Skill metadata

Parsed from SKILL.md frontmatter.

Declared agents clawdbot

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 2,558 B
  • docs SUMMARY.md 59 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 4 installs

SKILL.md

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/<playlist_name>/).

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:

  1. Acknowledge:

- Immediately reply to the user: "Downloading with dl skill..."

  1. Execute:

- Run the script: ``bash uv run --script ${baseDir}/dl.py "<url>" ``

  1. 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.

  1. 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:

# 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
  • $DLCOOKIESFILE
  • $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:

  1. Install a DLNA/UPnP Media Server (Universal Media Server, miniDLNA, Jellyfin).
  2. Share ~/Music and ~/Movies (or ~/Videos) folders.
  3. 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.