home / skills / steveclarke / dotfiles / youtube

youtube skill

/ai/skills/youtube

This skill downloads YouTube content including transcripts and audio, enabling transcription, subtitle extraction, and MP3 tagging across playlists.

npx playbooks add skill steveclarke/dotfiles --skill youtube

Review the files below or copy the command above to add this skill to your agents.

Files (4)
SKILL.md
1.7 KB
---
name: youtube
description: Download content from YouTube including transcripts, captions, subtitles, music, MP3s, and playlists. Use when the user provides a YouTube URL or asks to download, transcribe, or get content from YouTube videos or playlists.
allowed-tools: Bash,Read,Write
---

# YouTube

Download and process content from YouTube videos and playlists.

## Capabilities

This skill handles two main workflows:

| Task | Reference | Use When |
|------|-----------|----------|
| **Transcripts** | `references/transcripts.md` | User wants captions, subtitles, or text content from a video |
| **Music/MP3s** | `references/mp3-download.md` | User wants to download audio, tag MP3s, or build a music library |

## Quick Start

### For Transcripts

```bash
# Check available subtitles
yt-dlp --list-subs "YOUTUBE_URL"

# Download auto-generated subtitles
yt-dlp --write-auto-sub --skip-download -o "transcript" "YOUTUBE_URL"
```

Load `references/transcripts.md` for the full workflow including VTT-to-text conversion and Whisper fallback.

### For Music/MP3s

```bash
# Check playlist info
ytmp3 info "YOUTUBE_URL"

# Download playlist
ytmp3 download "YOUTUBE_URL"
```

Load `references/mp3-download.md` for the full tagging and organization workflow.

## Prerequisites

- **yt-dlp** — YouTube downloader (install via `brew install yt-dlp`)
- **eyeD3** — MP3 tagging (install via `brew install eye-d3`, needed for MP3 workflow)

## Workflow Selection

Based on the user's request:

- "transcript", "captions", "subtitles", "transcribe", "text from video" → Load `references/transcripts.md`
- "download music", "MP3", "playlist", "tag", "album", "music library" → Load `references/mp3-download.md`

If unclear, ask the user what they want to do with the YouTube content.

Overview

This skill lets you download and process content from YouTube videos and playlists, including transcripts, captions, subtitles, audio (MP3), and full playlists. It provides clear workflows and shell commands to extract text and build a local music library with tagging. Use it when you supply a YouTube URL or request downloads or transcriptions.

How this skill works

The skill chooses one of two workflows based on your request: transcript extraction or audio/MP3 download and tagging. For transcripts it uses yt-dlp to list and download subtitles, converts VTT to plain text, and falls back to Whisper if needed. For audio it uses a playlist-aware downloader to fetch audio, then tags MP3 files with eyeD3 and organizes them into a library structure.

When to use it

  • You provide a YouTube URL and want the video transcript, captions, or subtitles.
  • You need automated conversion of VTT/auto-generated subtitles into searchable text.
  • You want to download audio from a single video or an entire playlist as MP3s.
  • You want MP3 files tagged and organized into a local music library.
  • You want a quick shell-based workflow for batch processing videos or playlists.

Best practices

  • Always check available subtitles first (yt-dlp --list-subs) to prefer official captions over auto-generated ones.
  • For transcripts prefer downloaded subtitle files and convert VTT to plain text before using speech-to-text fallbacks.
  • Use playlists for bulk downloads and verify playlist info before running long jobs.
  • Keep yt-dlp and eyeD3 up to date to avoid format or tagging issues.
  • Respect copyright and terms of service: download only content you have rights to or permission to use.

Example use cases

  • Extract subtitles from a lecture video to produce searchable notes and quotes.
  • Download a podcast episode from YouTube and convert it to MP3 with proper artist/title tags.
  • Bulk download an artist’s playlist to build a tagged, local music library.
  • Convert auto-generated captions to plain text, then run a local speech model for improved transcription accuracy.
  • Check subtitle availability before deciding whether to run an automatic speech-to-text fallback.

FAQ

What tools are required?

Install yt-dlp for downloading and eyeD3 for MP3 tagging. These can be installed via package managers like Homebrew.

What if no subtitles exist?

The workflow falls back to speech-to-text (e.g., Whisper) to generate a transcript when subtitles are unavailable or insufficient.