video-transcript-downloader
Downloads media and generates clean, paragraph-style transcripts from online videos.
Install
mkdir -p .claude/skills/video-transcript-downloader && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/2152" && unzip -o skill.zip -d .claude/skills/video-transcript-downloader && rm skill.zipInstalls to .claude/skills/video-transcript-downloader
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
yt-dlp downloads: video, audio, subtitles, transcripts, clips, playlists.Key capabilities
- →Download video, audio, and subtitle files
- →Generate clean paragraph-style transcripts
- →List available video and audio formats
- →Download specific format IDs using yt-dlp arguments
- →Remux video files into MP4 containers
How it works
The script uses youtube-transcript-plus for YouTube videos or extracts subtitles via yt-dlp for other sites, then processes the output into a single paragraph. It acts as a wrapper for yt-dlp, allowing users to pass additional arguments after a double-dash separator.
Inputs & outputs
When to use video-transcript-downloader
- →Saving video transcripts
- →Downloading video/audio
- →Getting subtitles
About this skill
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
CLI syntax:
./scripts/vtd.js --help
./scripts/vtd.js transcript --help
Subcommands support focused help without requiring --url.
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
When not to use it
- →When the target site is not supported by yt-dlp
- →When the video lacks both native transcripts and subtitle tracks
Prerequisites
Limitations
- →Bracketed cues are stripped from transcripts by default
- →Requires external dependencies yt-dlp and ffmpeg to be installed on the system
How it compares
Unlike manual yt-dlp usage, this script automates the cleaning of subtitle files into readable paragraphs and provides specific subcommands for transcript generation.
Compared to similar skills
video-transcript-downloader side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| video-transcript-downloader (this skill) | 4 | 2mo | Review | Intermediate |
| youtube-clipper | 11 | 6mo | Review | Intermediate |
| obsidian-bases | 11 | 4mo | Review | Intermediate |
| obsidian-clipper-template-creator | 3 | 6mo | No flags | Beginner |
Try saying
Example prompts that trigger this skill in your AI assistant.
More by steipete
View all by steipete →You might also like
youtube-clipper
op7418
YouTube 视频智能剪辑工具。下载视频和字幕,AI 分析生成精细章节(几分钟级别), 用户选择片段后自动剪辑、翻译字幕为中英双语、烧录字幕到视频,并生成总结文案。 使用场景:当用户需要剪辑 YouTube 视频、生成短视频片段、制作双语字幕版本时。 关键词:视频剪辑、YouTube、字幕翻译、双语字幕、视频下载、clip video
obsidian-bases
kepano
Create and edit Obsidian Bases (.base files) with views, filters, formulas, and summaries. Use when working with .base files, creating database-like views of notes, or when the user mentions Bases, table views, card views, filters, or formulas in Obsidian.
obsidian-clipper-template-creator
davila7
Guide for creating templates for the Obsidian Web Clipper. Use when you want to create a new clipping template, understand available variables, or format clipped content.
obsidian-vault-ops
ballred
Read and write Obsidian vault files, manage wiki-links, process markdown with YAML frontmatter. Use when working with vault file operations, creating notes, or managing links.
baoyu-danger-x-to-markdown
JimLiu
Converts X (Twitter) tweets and articles to markdown with YAML front matter. Uses reverse-engineered API requiring user consent. Use when user mentions "X to markdown", "tweet to markdown", "save tweet", or provides x.com/twitter.com URLs for conversion.
log-work
pchalasani
Log the work segment that you did after the last work log until now in a