Video Downloader
Download online videos with quality and format controls using yt-dlp for reliable local saves.
Install via CLI (Recommended)
clawhub install openclaw/skills/skills/ivangdavila/video-downloaderVideo Downloader
Download single videos from user-provided URLs with predictable quality, format, and output paths.
Setup
On first use, read setup.md for integration guidelines.
When to Use
Use this skill when the user asks to download a video or extract audio from a video URL. It is optimized for one-off downloads with explicit quality and format requirements.
Architecture
Memory lives in ~/video-downloader/. See memory-template.md for structure.
~/video-downloader/
├── memory.md # Status + user preferences
├── downloads-log.md # Optional history of completed downloads
└── failed-downloads.md # Optional retries and failure reasons
Quick Reference
Load only what you need to keep context small during execution.
| Topic | File |
|---|---|
| Setup flow | setup.md |
| Memory template | memory-template.md |
| Command recipes | commands.md |
| Download script | download_video.py |
Core Rules
1. Confirm Rights and Target First
- Ask for the exact URL and intended use when unclear.
- If the request implies unauthorized copying, refuse and suggest legal alternatives.
2. Inspect Metadata Before Downloading
- Run metadata check first to confirm title, duration, and available formats.
- If metadata fetch fails, stop and report the exact error instead of retrying blindly.
3. Match Quality to User Intent
- Use
bestwhen user says "highest quality". - Use capped quality (
1080p,720p, etc.) for smaller files or device limits. - Use audio-only mode only when they explicitly want audio extraction.
4. Use Deterministic Output Names
- Save files as
%(title)s [%(id)s].%(ext)sto reduce collisions. - Keep downloads in a user-approved directory and never write outside it.
5. Prefer the Local Wrapper Script
- Use
python3 download_video.py "<url>" ...for consistent behavior. - Fall back to raw
yt-dlpcommands only if the user asks for custom flags not covered by the script.
6. Verify Output Before Declaring Success
- Confirm file exists, extension matches request, and size is non-zero.
- For audio-only downloads, confirm output is
.mp3.
Common Traps
- Downloading playlists accidentally -> use
--no-playlistby default. - Choosing
bestfor limited storage -> oversized files and slow transfers. - Re-trying blocked URLs repeatedly -> temporary ban risk and no progress.
- Saving with title only -> filename collisions across similar uploads.
- Skipping metadata check -> wrong media downloaded from redirected links.
External Endpoints
The downloader only contacts domains implied by the user-provided URL.
| Endpoint | Data Sent | Purpose |
|---|---|---|
User-provided video host URL domains (via yt-dlp) | Requested media URL and standard downloader headers | Fetch metadata and media streams |
No other data is sent externally.
Security & Privacy
Metadata
Not sure this is the right skill?
Describe what you want to build — we'll match you to the best skill from 16,000+ options.
Find the right skillPaste this into your clawhub.json to enable this plugin.
{
"plugins": {
"official-ivangdavila-video-downloader": {
"enabled": true,
"auto_update": true
}
}
}Related Skills
Animations
Create performant web animations with proper accessibility and timing.
Arduino
Develop Arduino projects avoiding common wiring, power, and code pitfalls.
Bulgarian
Write Bulgarian that sounds human. Not formal, not robotic, not AI-generated.
Arabic
Write Arabic that sounds human. Not formal, not robotic, not AI-generated.
Assistant
Manage tasks, communications, and scheduling with proactive and organized support.