video-transcript-downloader
Download videos, audio, subtitles, and clean paragraph-style transcripts from YouTube and any other yt-dlp supported site. Use when asked to “download this video”, “save this clip”, “rip audio”, “get subtitles”, “get transcript”, or to troubleshoot yt-dlp/ffmpeg and formats/playlists.
When & Why to Use This Skill
The Video Transcript Downloader is a versatile Claude skill designed to automate the extraction of media and text from the web. By leveraging yt-dlp and specialized transcript engines, it enables users to download videos, high-quality audio, and subtitles from YouTube and thousands of other supported platforms. Its primary strength lies in generating clean, paragraph-style transcripts, removing the clutter of timestamps and technical metadata to provide readable content ready for analysis or repurposing.
Use Cases
- Content Repurposing: Convert YouTube videos into clean text transcripts to quickly draft blog posts, newsletters, or social media updates.
- Research & Fact-Checking: Extract precise transcripts from interviews, lectures, or news clips to perform deep text analysis and verify information.
- Media Archiving: Download high-quality video or audio files for offline viewing, educational use, or long-term digital storage.
- Accessibility & Translation: Retrieve subtitle files (.srt/VTT) to improve content accessibility or to serve as a foundation for multi-language translation projects.
- Developer Workflow: Use as a CLI-integrated tool to troubleshoot media formats, list available stream qualities, and automate batch downloads via agentic workflows.
| name | video-transcript-downloader |
|---|---|
| description | Download videos, audio, subtitles, and clean paragraph-style transcripts from YouTube and any other yt-dlp supported site. Use when asked to “download this video”, “save this clip”, “rip audio”, “get subtitles”, “get transcript”, or to troubleshoot yt-dlp/ffmpeg and formats/playlists. |
Video Transcript Downloader
./scripts/vtd.js can:
- Print a transcript as a clean paragraph (timestamps optional).
- Download video/audio/subtitles.
Transcript behavior:
- YouTube: fetch via
youtube-transcript-pluswhen possible. - Otherwise: pull subtitles via
yt-dlp, then clean into a paragraph.
Setup
cd "${CODEX_HOME:-~/.codex}/skills/video-transcript-downloader" && npm ci
Transcript (default: clean paragraph)
./scripts/vtd.js transcript --url 'https://…'
./scripts/vtd.js transcript --url 'https://…' --lang en
./scripts/vtd.js transcript --url 'https://…' --timestamps
./scripts/vtd.js transcript --url 'https://…' --keep-brackets
Download video / audio / subtitles
./scripts/vtd.js download --url 'https://…' --output-dir ~/Downloads
./scripts/vtd.js audio --url 'https://…' --output-dir ~/Downloads
./scripts/vtd.js subs --url 'https://…' --output-dir ~/Downloads --lang en
Formats (list + choose)
List available formats (format ids, resolution, container, audio-only, etc):
./scripts/vtd.js formats --url 'https://…'
Download a specific format id (example):
./scripts/vtd.js download --url 'https://…' --output-dir ~/Downloads -- --format 137+140
Prefer MP4 container without re-encoding (remux when possible):
./scripts/vtd.js download --url 'https://…' --output-dir ~/Downloads -- --remux-video mp4
Notes
- Default transcript output is a single paragraph. Use
--timestampsonly when asked. - Bracketed cues like
[Music]are stripped by default; keep them via--keep-brackets. - Pass extra
yt-dlpargs after--fortranscriptfallback,download,audio,subs,formats.
./scripts/vtd.js formats --url 'https://…' -- -v
Troubleshooting (only when needed)
- Missing
yt-dlp/ffmpeg:
brew install yt-dlp ffmpeg
- Verify:
yt-dlp --version
ffmpeg -version | head -n 1
Attribution
This skill was copied from steipete/agent-scripts. Upstream: https://github.com/steipete/agent-scripts License: MIT (see LICENSE)