Agent skill
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.
Install this agent skill to your Project
npx add-skill https://github.com/steipete/agent-scripts/tree/main/skills/video-transcript-downloader
SKILL.md
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 ~/Projects/agent-scripts/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
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
brave-search
Web search and content extraction via Brave Search API. Use for searching documentation, facts, or any web content. Lightweight, no browser required.
xurl
Use the official xurl CLI for the X API. Covers install, safe auth setup, app selection, common shortcuts, and raw endpoint access.
discord-clawd
Query Peter's local Discord archive in ~/.discrawl/discrawl.db when asked about Discord history, channel activity, top posters, message counts, summaries, or anything in synced Discord data. Use this skill for local search, SQL stats, channel/member lookups, and freshness checks before answering recent or latest Discord questions.
nano-banana-pro
Generate/edit images with Nano Banana Pro (Gemini 3 Pro Image). Use for image create/modify requests incl. edits. Supports text-to-image + image-to-image; 1K/2K/4K; use --input-image.
domain-dns-ops
Domain/DNS ops across Cloudflare, DNSimple, Namecheap for Peter. Use for onboarding zones to Cloudflare, flipping nameservers, setting redirects (Page Rules/Rulesets/Workers), updating redirect-worker mappings, and verifying DNS/HTTP. Source of truth: ~/Projects/manager.
swiftui-liquid-glass
Implement, review, or improve SwiftUI features using the iOS 26+ Liquid Glass API. Use when asked to adopt Liquid Glass in new SwiftUI UI, refactor an existing feature to Liquid Glass, or review Liquid Glass usage for correctness, performance, and design alignment.
Didn't find tool you were looking for?