VI

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.zip

Installs 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.
73 charsno explicit “when” trigger
Intermediate

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

You give it
A video URL and optional flags for language, timestamps, or format selection
You get back
A downloaded media file or a formatted text transcript

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-plus when 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 --timestamps only when asked.
  • Bracketed cues like [Music] are stripped by default; keep them via --keep-brackets.
  • Pass extra yt-dlp args after -- for transcript fallback, 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

npm ci execution in ~/Projects/agent-scripts/skills/video-transcript-downloaderyt-dlp installed via Homebrewffmpeg installed via Homebrew

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.

SkillInstallsUpdatedSafetyDifficulty
video-transcript-downloader (this skill)42moReviewIntermediate
youtube-clipper116moReviewIntermediate
obsidian-bases114moReviewIntermediate
obsidian-clipper-template-creator36moNo flagsBeginner

Try saying

Example prompts that trigger this skill in your AI assistant.

More by steipete

View all by steipete

markdown-converter

steipete

Convert documents and files to Markdown using markitdown. Use when converting PDF, Word (.docx), PowerPoint (.pptx), Excel (.xlsx, .xls), HTML, CSV, JSON, XML, images (with EXIF/OCR), audio (with transcription), ZIP archives, YouTube URLs, or EPubs to Markdown format for LLM processing or text analysis.

530

instruments-profiling

steipete

Use when profiling native macOS or iOS apps with Instruments/xctrace. Covers correct binary selection, CLI arguments, exports, and common gotchas.

327

domain-dns-ops

steipete

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.

27

create-cli

steipete

Design command-line interface parameters and UX: arguments, flags, subcommands, help text, output formats, error messages, exit codes, prompts, config/env precedence, and safe/dry-run behavior. Use when you’re designing a CLI spec (before implementation) or refactoring an existing CLI’s surface area for consistency, composability, and discoverability.

15

swiftui-performance-audit

steipete

Audit and improve SwiftUI runtime performance from code review and architecture. Use for requests to diagnose slow rendering, janky scrolling, high CPU/memory usage, excessive view updates, or layout thrash in SwiftUI apps, and to provide guidance for user-run Instruments profiling when code review alone is insufficient.

12

peekaboo

steipete

macOS screenshots, UI inspect, clicks, typing, app/window automation.

00

You might also like

youtube-clipper

op7418

YouTube 视频智能剪辑工具。下载视频和字幕,AI 分析生成精细章节(几分钟级别), 用户选择片段后自动剪辑、翻译字幕为中英双语、烧录字幕到视频,并生成总结文案。 使用场景:当用户需要剪辑 YouTube 视频、生成短视频片段、制作双语字幕版本时。 关键词:视频剪辑、YouTube、字幕翻译、双语字幕、视频下载、clip video

1155

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.

1154

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.

312

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.

310

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.

28

log-work

pchalasani

Log the work segment that you did after the last work log until now in a

14

Search skills

Search the agent skills registry