Fetch transcripts and subtitles from YouTube videos. Use when users want to get, download, extract, or read a YouTube video transcript or subtitles. Triggers on "get transcript", "youtube transcript", "fetch subtitles", "transcribe video", "video transcript", "what does this video say". Requires uvx with youtube-transcript-api.
npx claudepluginhub titusz/skills --plugin get-youtube-transcriptThis skill is limited to using the following tools:
Fetch transcripts from YouTube videos via `uvx --from youtube-transcript-api youtube_transcript_api`.
Guides Next.js Cache Components and Partial Prerendering (PPR) with cacheComponents enabled. Implements 'use cache', cacheLife(), cacheTag(), revalidateTag(), static/dynamic optimization, and cache debugging.
Migrates code, prompts, and API calls from Claude Sonnet 4.0/4.5 or Opus 4.1 to Opus 4.5, updating model strings on Anthropic, AWS, GCP, Azure platforms.
Analyzes BMad project state from catalog CSV, configs, artifacts, and query to recommend next skills or answer questions. Useful for help requests, 'what next', or starting BMad.
Fetch transcripts from YouTube videos via uvx --from youtube-transcript-api youtube_transcript_api.
Extract video ID(s) and options from $ARGUMENTS:
https://www.youtube.com/watch?v=VIDEO_IDhttps://youtu.be/VIDEO_IDhttps://www.youtube.com/embed/VIDEO_IDhttps://youtube.com/shorts/VIDEO_ID- and _)Users may specify these inline with the URL/ID:
| Option | Description |
|---|---|
--languages or language name (e.g., "in German") | Preferred transcript language(s) |
--translate <lang> or "translate to <language>" | Translate transcript to target language |
--format <fmt> | Output format: text (default), json, pretty, srt, webvtt |
--list or "list languages" | List available transcript languages |
--exclude-generated | Skip auto-generated transcripts |
--exclude-manually-created | Skip manually created transcripts |
Extract video ID(s) from the provided arguments. If no arguments given, ask the user for a YouTube URL or video ID.
Based on the arguments, determine if the user wants to:
--list or "list languages" is mentioneduvx --from youtube-transcript-api youtube_transcript_api VIDEO_ID --list-transcripts
Build the command from parsed options:
uvx --from youtube-transcript-api youtube_transcript_api VIDEO_ID [OPTIONS]
Default flags when no format is specified: --format text
Language handling:
--languages de--translate fr--languages to get the default transcript<video-id>.txt (or appropriate extension for the format)--list-transcripts to check available languagesUser: "get transcript from https://www.youtube.com/watch?v=dQw4w9WgXcQ"
→ uvx --from youtube-transcript-api youtube_transcript_api dQw4w9WgXcQ --format text
User: "youtube transcript dQw4w9WgXcQ in German"
→ uvx --from youtube-transcript-api youtube_transcript_api dQw4w9WgXcQ --languages de --format text
User: "get subtitles for dQw4w9WgXcQ translated to French as srt"
→ uvx --from youtube-transcript-api youtube_transcript_api dQw4w9WgXcQ --translate fr --format srt
User: "what languages are available for dQw4w9WgXcQ"
→ uvx --from youtube-transcript-api youtube_transcript_api dQw4w9WgXcQ --list-transcripts