transcript-fetcher

Fetch YouTube video transcripts and save them as markdown files for research extraction.

Updated Apr 19, 2026
One-click install
npx skills add https://github.com/nickgogan/improvement-loop --skill transcript-fetcher-nickgogan
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: transcript-fetcher
Source: https://github.com/nickgogan/improvement-loop/tree/main/.claude/skills/transcript-fetcher
Command: npx skills add https://github.com/nickgogan/improvement-loop --skill transcript-fetcher-nickgogan

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires youtube-transcript-api, playwright, yt-dlp.

What problem does it solve? Getting full text from YouTube videos for research is tedious and fragile — captions APIs get IP-blocked, URLs come in many formats, and duplicate fetches waste effort. This Skill automates transcript retrieval with a multi-backend fallback chain so videos reliably end up as clean markdown files. ## Core Features & Use Cases - Multi-backend fallback chain: Tries youtube-transcript-api, Playwright automation, yt-dlp subtitle download, and a headed Chrome browser pull in sequence, with manual HTML paste parsing as a last resort. - Automatic deduplication: Normalizes YouTube URL formats (watch, youtu.be, shorts, raw IDs), skips already-fetched videos, and dedupes within a batch. - Batch probing: Estimates duration, upload date, and token cost per video before fetching so you can size research batches. - Use Case: During a research-loop Pass 2, you have five high-value YouTube sources. Run the fetcher with all five URLs; it probes the batch, fetches transcripts with metadata headers (title, channel, duration), and flags any blocked videos for later retry. ## Quick Start Fetch transcripts for these YouTube URLs and save them as markdown files: https://www.youtube.com/watch?v=VIDEO_ID

Frequently Asked Questions about transcript-fetcher

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I fetch YouTube transcripts from the command line?▼

Run the fetch script with --urls followed by one or more YouTube URLs, or use --input with a file of URLs. It accepts watch URLs, youtu.be links, shorts URLs, and raw 11-character video IDs, saving each transcript as a markdown file named by video ID.

What to do when youtube-transcript-api gets IP blocked?▼

Work down the fallback chain: the Playwright backend, then yt-dlp subtitle download, then a headed Chrome browser pull that captures the transcript panel HTML. If all fail, paste the transcript panel HTML manually and parse it with --from-html.

Does YouTube transcript fetching work without captions?▼

No. The tool only retrieves auto-generated or manual captions; it does not perform audio transcription. Videos without captions, or that are private or age-restricted, are flagged as Blocked with the reason recorded.

How do I avoid fetching duplicate YouTube transcripts?▼

Deduplication is automatic: video IDs are extracted via URL parsing so timestamps and playlist parameters never cause duplicates, repeated IDs in one batch fetch once, and videos with existing transcript files are skipped unless you pass --force.

Can I estimate token cost before fetching YouTube transcripts?▼

Yes. Run the fetcher with --probe and your URLs to get per-video duration, upload date, and an estimated transcript token cost based on roughly 220 tokens per video-minute, plus a batch total. Add --json to write the probe results to a file.