2.6k
GitHub Stars
3
Bundled Files
2 months ago
Catalog Refreshed
4 months ago
First Indexed
Readme & install
Copy the install command, review bundled files from the catalogue, and read any extended description pulled from the listing source.
Installation
Preview and clipboard use veilstrat where the catalogue uses aiagentskills.
npx veilstrat add skill openclaw/skills --skill dl- _meta.json1.1 KB
- dl.py10.7 KB
- SKILL.md2.5 KB
Overview
This skill automates downloading video and audio from public URLs (YouTube, Bilibili, X, etc.) and places files into standard local media folders for easy playback. It routes videos to ~/Movies or ~/Videos and music to ~/Music, with playlists saved into subfolders. Designed to integrate with a local media server so downloads are immediately available to devices on your LAN.
How this skill works
When invoked with a URL the dl script runs via the uv runner and uses yt-dlp to fetch media. The script prints the final output path to stdout, which will be either a single media file or a folder containing playlist items. Optionally the script will consume a cookies file if present to improve access to restricted content.
When to use it
- You have a public video or audio URL and want a local copy for offline playback.
- You want downloads placed in standard media folders for a media server to index automatically.
- You need playlist items saved into a single subdirectory for organized storage.
- You want to serve downloads instantly to TV or devices via a local DLNA/UPnP server.
Best practices
- Run the script with the uv runner exactly as provided to capture the printed output path.
- Place a cookies file at one of the supported locations if content requires authentication.
- Keep ~/Music, ~/Movies and ~/Videos shared by your media server so new files appear automatically.
- Use explicit -o output when you need files in a custom directory instead of the defaults.
- Check license and copyright rules before downloading and storing media.
Example use cases
- Download a concert video to ~/Movies for playback on your TV via Jellyfin.
- Save a single-track music URL as an mp3 into ~/Music for offline listening on mobile.
- Fetch a YouTube playlist and store all tracks under ~/Music/<playlist_name>/ for easy indexing.
- Provide an audio file directly to a Telegram user by sending the downloaded file when applicable.
FAQ
Invoke the script with the uv runner: uv run --script ${baseDir}/dl.py "<url>" and read the printed output path.
Where do downloads go by default?
Videos go to ~/Movies or ~/Videos, music goes to ~/Music, and playlists create a subfolder named after the playlist.