Productivity
youtube-transcript▌
intellectronica/agent-skills · updated Apr 8, 2026
$npx skills add https://github.com/intellectronica/agent-skills --skill youtube-transcript
summary
Extract transcripts from YouTube videos with optional timestamps.
- ›Accepts multiple URL formats (youtube.com/watch?v=, youtu.be/, embed links, or raw video IDs) and outputs plain text or timestamped format
- ›Fetches auto-generated or manually added captions, whichever is available; requires captions to be enabled on the video
- ›Outputs to a file named VIDEO_ID-transcript.txt by default, or to a user-specified file path
- ›When timestamps are omitted, reorganizes caption segments into comp
skill.md
YouTube Transcript
Extract transcripts from YouTube videos using the youtube-transcript-api.
Usage
Run the script with a YouTube URL or video ID:
uv run scripts/get_transcript.py "VIDEO_URL_OR_ID"
With timestamps:
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] textformat (or[HH:MM:SS]for longer videos)
Supported URL Formats
https://www.youtube.com/watch?v=VIDEO_IDhttps://youtu.be/VIDEO_IDhttps://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.txtsuffix.
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