youtube-downloader
Download YouTube videos with customizable quality and format options. Use this skill when the user asks to download, save, or grab YouTube videos. Supports various quality settings (best, 1080p, 720p, 480p, 360p), multiple formats (mp4, webm, mkv), and audio-only downloads as MP3.
Overview
Download YouTube videos with customizable quality and format options. Use this skill when the user asks to download, save, or grab YouTube videos. Supports various quality settings (best, 1080p, 720p, 480p, 360p), multiple formats (mp4, webm, mkv), and audio-only downloads as MP3.
Source: https://github.com/ComposioHQ/awesome-claude-skills · APACHE-2.0 · ComposioHQ
System prompt
The instruction block that defines the agent's role, rules and output format.
# YouTube Video Downloader
Download YouTube videos with full control over quality and format settings.
## Quick Start
The simplest way to download a video:
```bash
python scripts/download_video.py "https://www.youtube.com/watch?v=VIDEO_ID"
```
This downloads the video in best available quality as MP4 to `/mnt/user-data/outputs/`.
## Options
### Quality Settings
Use `-q` or `--quality` to specify video quality:
- `best` (default): Highest quality available
- `1080p`: Full HD
- `720p`: HD
- `480p`: Standard definition
- `360p`: Lower quality
- `worst`: Lowest quality available
Example:
```bash
python scripts/download_video.py "URL" -q 720p
```
### Format Options
Use `-f` or `--format` to specify output format (video downloads only):
- `mp4` (default): Most compatible
- `webm`: Modern format
- `mkv`: Matroska container
Example:
```bash
python scripts/download_video.py "URL" -f webm
```
### Audio Only
Use `-a` or `--audio-only` to download only audio as MP3:
```bash
python scripts/download_video.py "URL" -a
```
### Custom Output Directory
Use `-o` or `--output` to specify a different output directory:
```bash
python scripts/download_video.py "URL" -o /path/to/directory
```
## Complete Examples
1. Download video in 1080p as MP4:
```bash
python scripts/download_video.py "https://www.youtube.com/watch?v=dQw4w9WgXcQ" -q 1080p
```
2. Download audio only as MP3:
```bash
python scripts/download_video.py "https://www.youtube.com/watch?v=dQw4w9WgXcQ" -a
```
3. Download in 720p as WebM to custom directory:
```bash
python scripts/download_video.py "https://www.youtube.com/watch?v=dQw4w9WgXcQ" -q 720p -f webm -o /custom/path
```
## How It Works
The skill uses `yt-dlp`, a robust YouTube downloader that:
- Automatically installs itself if not present
- Fetches video information before downloading
- Selects the best available streams matching your criteria
- Merges video and audio streams when needed
- Supports a wide range of YouTube video formats
## Important Notes
- Downloads are saved to `/mnt/user-data/outputs/` by default
- Video filename is automatically generated from the video title
- The script handles installation of yt-dlp automatically
- Only single videos are downloaded (playlists are skipped by default)
- Higher quality videos may take longer to download and use more disk space User prompt template
Fill in the variables and send it to run the skill: {{variables}}
Variables
| Name | Required | Description | Example |
|---|
Full skill configuration
The standard .aiskill file in JSON and YAML.
{
"format": "aiskill/v1",
"skill": {
"name": "youtube-downloader",
"slug": "video-downloader",
"version": "1.0.0",
"description": "Download YouTube videos with customizable quality and format options. Use this skill when the user asks to download, save, or grab YouTube videos. Supports various quality settings (best, 1080p, 720p, 480p, 360p), multiple formats (mp4, webm, mkv), and audio-only downloads as MP3.",
"category": "Productivity",
"tags": [
"productivity"
],
"platforms": [
"chatgpt",
"claude-code",
"cursor"
],
"tested_environment": "Agent Skills convention (SKILL.md) — works with Claude Code, Cursor, ChatGPT/Codex and compatible agents",
"license": "APACHE-2.0"
},
"prompts": {
"system": "# YouTube Video Downloader\r\n\r\nDownload YouTube videos with full control over quality and format settings.\r\n\r\n## Quick Start\r\n\r\nThe simplest way to download a video:\r\n\r\n```bash\r\npython scripts/download_video.py \"https://www.youtube.com/watch?v=VIDEO_ID\"\r\n```\r\n\r\nThis downloads the video in best available quality as MP4 to `/mnt/user-data/outputs/`.\r\n\r\n## Options\r\n\r\n### Quality Settings\r\n\r\nUse `-q` or `--quality` to specify video quality:\r\n\r\n- `best` (default): Highest quality available\r\n- `1080p`: Full HD\r\n- `720p`: HD\r\n- `480p`: Standard definition\r\n- `360p`: Lower quality\r\n- `worst`: Lowest quality available\r\n\r\nExample:\r\n```bash\r\npython scripts/download_video.py \"URL\" -q 720p\r\n```\r\n\r\n### Format Options\r\n\r\nUse `-f` or `--format` to specify output format (video downloads only):\r\n\r\n- `mp4` (default): Most compatible\r\n- `webm`: Modern format\r\n- `mkv`: Matroska container\r\n\r\nExample:\r\n```bash\r\npython scripts/download_video.py \"URL\" -f webm\r\n```\r\n\r\n### Audio Only\r\n\r\nUse `-a` or `--audio-only` to download only audio as MP3:\r\n\r\n```bash\r\npython scripts/download_video.py \"URL\" -a\r\n```\r\n\r\n### Custom Output Directory\r\n\r\nUse `-o` or `--output` to specify a different output directory:\r\n\r\n```bash\r\npython scripts/download_video.py \"URL\" -o /path/to/directory\r\n```\r\n\r\n## Complete Examples\r\n\r\n1. Download video in 1080p as MP4:\r\n```bash\r\npython scripts/download_video.py \"https://www.youtube.com/watch?v=dQw4w9WgXcQ\" -q 1080p\r\n```\r\n\r\n2. Download audio only as MP3:\r\n```bash\r\npython scripts/download_video.py \"https://www.youtube.com/watch?v=dQw4w9WgXcQ\" -a\r\n```\r\n\r\n3. Download in 720p as WebM to custom directory:\r\n```bash\r\npython scripts/download_video.py \"https://www.youtube.com/watch?v=dQw4w9WgXcQ\" -q 720p -f webm -o /custom/path\r\n```\r\n\r\n## How It Works\r\n\r\nThe skill uses `yt-dlp`, a robust YouTube downloader that:\r\n- Automatically installs itself if not present\r\n- Fetches video information before downloading\r\n- Selects the best available streams matching your criteria\r\n- Merges video and audio streams when needed\r\n- Supports a wide range of YouTube video formats\r\n\r\n## Important Notes\r\n\r\n- Downloads are saved to `/mnt/user-data/outputs/` by default\r\n- Video filename is automatically generated from the video title\r\n- The script handles installation of yt-dlp automatically\r\n- Only single videos are downloaded (playlists are skipped by default)\r\n- Higher quality videos may take longer to download and use more disk space",
"user_template": ""
},
"variables": [],
"install": {
"steps": [
{
"title": "Download & unzip",
"detail": "Download the .zip package from SkillVault and unzip it. The video-downloader/ folder contains SKILL.md plus any companion scripts, references and assets."
},
{
"title": "Copy into your agent skills directory",
"detail": "Move the folder into your agent's skills directory — e.g. ~/.claude/skills/ (Claude Code), .codex/skills/, .cursor/skills/ or your project's .claude/skills/ folder — then restart or reload the session."
},
{
"title": "Use it",
"detail": "Describe the task in natural language; the agent loads the skill automatically when the request matches the skill description."
}
]
},
"usage": {
"steps": []
},
"metadata": {
"author": "SkillVault",
"source": "https://skillvault.top/skills/video-downloader",
"exported_at": "2026-11-03T07:44:34.178Z"
}
} format: aiskill/v1
skill:
name: youtube-downloader
slug: video-downloader
version: 1.0.0
description: >-
Download YouTube videos with customizable quality and format options. Use this skill when the
user asks to download, save, or grab YouTube videos. Supports various quality settings (best,
1080p, 720p, 480p, 360p), multiple formats (mp4, webm, mkv), and audio-only downloads as MP3.
category: Productivity
tags:
- productivity
platforms:
- chatgpt
- claude-code
- cursor
tested_environment: >-
Agent Skills convention (SKILL.md) — works with Claude Code, Cursor, ChatGPT/Codex and
compatible agents
license: APACHE-2.0
prompts:
system: "# YouTube Video Downloader\r\n\r\nDownload YouTube videos with full control over quality and format settings.\r\n\r\n## Quick Start\r\n\r\nThe simplest way to download a video:\r\n\r\n```bash\r\npython scripts/download_video.py \"https://www.youtube.com/watch?v=VIDEO_ID\"\r\n```\r\n\r\nThis downloads the video in best available quality as MP4 to `/mnt/user-data/outputs/`.\r\n\r\n## Options\r\n\r\n### Quality Settings\r\n\r\nUse `-q` or `--quality` to specify video quality:\r\n\r\n- `best` (default): Highest quality available\r\n- `1080p`: Full HD\r\n- `720p`: HD\r\n- `480p`: Standard definition\r\n- `360p`: Lower quality\r\n- `worst`: Lowest quality available\r\n\r\nExample:\r\n```bash\r\npython scripts/download_video.py \"URL\" -q 720p\r\n```\r\n\r\n### Format Options\r\n\r\nUse `-f` or `--format` to specify output format (video downloads only):\r\n\r\n- `mp4` (default): Most compatible\r\n- `webm`: Modern format\r\n- `mkv`: Matroska container\r\n\r\nExample:\r\n```bash\r\npython scripts/download_video.py \"URL\" -f webm\r\n```\r\n\r\n### Audio Only\r\n\r\nUse `-a` or `--audio-only` to download only audio as MP3:\r\n\r\n```bash\r\npython scripts/download_video.py \"URL\" -a\r\n```\r\n\r\n### Custom Output Directory\r\n\r\nUse `-o` or `--output` to specify a different output directory:\r\n\r\n```bash\r\npython scripts/download_video.py \"URL\" -o /path/to/directory\r\n```\r\n\r\n## Complete Examples\r\n\r\n1. Download video in 1080p as MP4:\r\n```bash\r\npython scripts/download_video.py \"https://www.youtube.com/watch?v=dQw4w9WgXcQ\" -q 1080p\r\n```\r\n\r\n2. Download audio only as MP3:\r\n```bash\r\npython scripts/download_video.py \"https://www.youtube.com/watch?v=dQw4w9WgXcQ\" -a\r\n```\r\n\r\n3. Download in 720p as WebM to custom directory:\r\n```bash\r\npython scripts/download_video.py \"https://www.youtube.com/watch?v=dQw4w9WgXcQ\" -q 720p -f webm -o /custom/path\r\n```\r\n\r\n## How It Works\r\n\r\nThe skill uses `yt-dlp`, a robust YouTube downloader that:\r\n- Automatically installs itself if not present\r\n- Fetches video information before downloading\r\n- Selects the best available streams matching your criteria\r\n- Merges video and audio streams when needed\r\n- Supports a wide range of YouTube video formats\r\n\r\n## Important Notes\r\n\r\n- Downloads are saved to `/mnt/user-data/outputs/` by default\r\n- Video filename is automatically generated from the video title\r\n- The script handles installation of yt-dlp automatically\r\n- Only single videos are downloaded (playlists are skipped by default)\r\n- Higher quality videos may take longer to download and use more disk space"
user_template: ""
variables: []
install:
steps:
- title: Download & unzip
detail: >-
Download the .zip package from SkillVault and unzip it. The video-downloader/ folder
contains SKILL.md plus any companion scripts, references and assets.
- title: Copy into your agent skills directory
detail: >-
Move the folder into your agent's skills directory — e.g. ~/.claude/skills/ (Claude Code),
.codex/skills/, .cursor/skills/ or your project's .claude/skills/ folder — then restart or
reload the session.
- title: Use it
detail: >-
Describe the task in natural language; the agent loads the skill automatically when the
request matches the skill description.
usage:
steps: []
metadata:
author: SkillVault
source: https://skillvault.top/skills/video-downloader
exported_at: "2026-11-03T07:44:34.178Z"
Installation guide
- 1
Download & unzip
Download the .zip package from SkillVault and unzip it. The video-downloader/ folder contains SKILL.md plus any companion scripts, references and assets.
- 2
Copy into your agent skills directory
Move the folder into your agent's skills directory — e.g. ~/.claude/skills/ (Claude Code), .codex/skills/, .cursor/skills/ or your project's .claude/skills/ folder — then restart or reload the session.
- 3
Use it
Describe the task in natural language; the agent loads the skill automatically when the request matches the skill description.
How to use
Platform compatibility
ChatGPT GPTs
OpenAI
Paste the system prompt into the GPT "Instructions" field and keep the user template as your starter message.
Official docsClaude Code
Anthropic
Save the exported .aiskill JSON as a skill file in your project or paste the system prompt into CLAUDE.md / a slash-command markdown file.
Official docsCursor
Anysphere
Copy the system prompt into .cursor/rules/*.mdc (or Project Rules in Settings) and reference the user template in your agent prompts.
Official docsRelated skills
capture
Captures and organizes chaotic brain dumps into a structured, actionable system with zero information loss. Use this skill whenever the user says 'capture this', 'brain dump', 'let me dump some ideas', 'I've got a bunch of thoughts', 'here's everything on my mind', 'idea dump', 'let me get this out of my head', 'I need to organize my thoughts', 'here's what I'm thinking', or any variation where someone is unloading a messy stream of ideas, tasks, thoughts, and plans wanting them turned into something coherent. Also trigger when the user pastes or dictates a long, unstructured block of mixed ideas — even without the exact phrase — the intent is the same. Fast-to-action by design: no upfront intake. Output is four sections (Projects/Ideas, Tasks, Connections, How I Can Help) ending with a directive question. Asks at most one mid-organization clarifying question when a single item is genuinely ambiguous between task and project.
confluence-expert
Atlassian Confluence expert for creating and managing spaces, knowledge bases, and documentation. Configures space permissions and hierarchies, creates page templates with macros, sets up documentation taxonomies, designs page layouts, and manages content governance. Use when users need to build or restructure a Confluence space, design page hierarchies with permission structures, author or standardise documentation templates, embed Jira reports in pages, run knowledge base audits, or establish documentation standards and collaborative workflows.
deep-work
Use when someone wants to plan a deep work day, time-block their calendar or task list, budget or cut shallow work, protect focus hours, track deep-work sessions and streaks, run an end-of-day shutdown ritual, or says "/deep-work" or "/time-block". Classifies tasks deep vs shallow, builds an energy-first time-blocked schedule that refuses deep demand past the 4-hour ceiling, batches shallow work into at most two windows, and logs focus sessions against a weekly target.