home / skills / intellectronica / agent-skills / youtube-transcript

youtube-transcript skill

/skills/youtube-transcript

This skill extracts YouTube transcripts with or without timestamps, delivering clean text or timestamped captions for any provided video URL.

npx playbooks add skill intellectronica/agent-skills --skill youtube-transcript

Review the files below or copy the command above to add this skill to your agents.

Files (2)
SKILL.md
1.5 KB
---
name: youtube-transcript
description: 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.
---

# 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

Overview

This skill extracts transcripts from YouTube videos and returns plain text captions with optional timestamps. It accepts full YouTube URLs, shortened links, embed links, or raw video IDs and produces an unmodified transcript file by default. Use it when you need subtitles, captions, or a text record of a video for search, review, or repurposing.

How this skill works

The skill retrieves available captions—manual or auto-generated—using a YouTube transcript API. By default it returns cleaned plain text arranged into readable paragraphs; an optional timestamps flag outputs each segment prefixed with a timecode. The original transcript content is preserved and never altered beyond layout cleanup when timestamps are not requested.

When to use it

  • You need a full transcript for a YouTube video for research, notes, or accessibility.
  • You want captions with timestamps for quoting, syncing, or editing tasks.
  • You have a YouTube URL or an 11-character video ID and need a text export.
  • You need a consistent file name for automated workflows or batch processing.

Best practices

  • Provide a valid YouTube URL (watch?v=, youtu.be/, or embed link) or the raw video ID.
  • Request timestamps only when you need time anchors; plain text is easier to read and reuse.
  • Don’t expect transcripts for videos without captions enabled; the skill falls back to auto-generated captions if available.
  • Specify a target filename if you want a particular output path; otherwise the skill uses VIDEOID-transcript.txt.
  • Treat the returned transcript as the authoritative copy and do not modify its content beyond paragraph cleanup.

Example use cases

  • Generate a readable transcript for a lecture video to extract key points and create study notes.
  • Produce timestamped captions to align quotes with video timestamps during editing.
  • Batch-export transcripts from a playlist for content indexing or search tooling.
  • Save a transcript file named exactly as required for archival or compliance records.

FAQ

What URL formats are supported?

Full watch URLs, youtu.be short links, embed links, or the 11-character video ID are all supported.

Can I get timestamps?

Yes — enable the timestamps option to receive each caption segment prefixed with a timecode in [MM:SS] or [HH:MM:SS] format.

What if a video has no captions?

The skill requires captions; it will use auto-generated captions when manual ones are not present, but if captions are disabled it cannot provide a transcript.

Will the transcript be modified?

No. The transcript content is not modified. For non-timestamp output, line breaks may be cleaned into proper paragraphs for readability.