youtube-transcript
Extract transcripts from YouTube videos. Use when the user asks for a transcript, subtitles, or captions of a YouTube video and provides a YouTube URL (youtube.com/watch?v=, youtu.be/, or similar). Supports output with or without timestamps.
Best use case
youtube-transcript is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Extract transcripts from YouTube videos. Use when the user asks for a transcript, subtitles, or captions of a YouTube video and provides a YouTube URL (youtube.com/watch?v=, youtu.be/, or similar). Supports output with or without timestamps.
Teams using youtube-transcript should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/youtube-transcript/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How youtube-transcript Compares
| Feature / Agent | youtube-transcript | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Extract transcripts from YouTube videos. Use when the user asks for a transcript, subtitles, or captions of a YouTube video and provides a YouTube URL (youtube.com/watch?v=, youtu.be/, or similar). Supports output with or without timestamps.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
Related Guides
SKILL.md Source
# YouTube Transcript Extract transcripts from YouTube videos using the youtube-transcript-api. ## Usage Run the script with a YouTube URL or video ID: ```bash uv run scripts/get_transcript.py "VIDEO_URL_OR_ID" ``` With timestamps: ```bash uv run scripts/get_transcript.py "VIDEO_URL_OR_ID" --timestamps ``` ## Defaults - **Without timestamps** (default): Plain text, one line per caption segment - **With timestamps**: `[MM:SS] text` format (or `[HH:MM:SS]` for longer videos) ## Supported URL Formats - `https://www.youtube.com/watch?v=VIDEO_ID` - `https://youtu.be/VIDEO_ID` - `https://youtube.com/embed/VIDEO_ID` - Raw video ID (11 characters) ## Output - CRITICAL: YOU MUST NEVER MODIFY THE RETURNED TRANSCRIPT - If the transcript is without timestamps, you SHOULD clean it up so that it is arranged by complete paragraphs and the lines don't cut in the middle of sentences. - If you were asked to save the transcript to a specific file, save it to the requested file. - If no output file was specified, use the YouTube video ID with a `-transcript.txt` suffix. ## Notes - Fetches auto-generated or manually added captions (whichever is available) - Requires the video to have captions enabled - Falls back to auto-generated captions if manual ones aren't available