agentsclimarketplace

Yt transcript

Skill nibzard/skills/skills/yt-transcript/skills/yt-transcript

Fetch transcripts from YouTube videos. Use when user asks to get, download, extract, or retrieve YouTube video transcripts, captions, or subtitles. Also activates for video content analysis, summarizing YouTube videos, or processing video content.From its SKILL.md

Install
npx -y skills add nibzard/skills --skill yt-transcript

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • 2 stars2 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
  • runs commandsInstructs the agent to run 6 commands, including `pip install youtube-transcript-api` and 5 more.

SKILL.md

4.9 KB, ~1.3k tokens by cl100k_base, as published. Nobody here has run it

YouTube Transcript Skill

Fetch transcripts from YouTube videos for analysis, summarization, or content processing.

When This Skill Activates

This skill automatically activates when:

  • User asks to get, download, or extract YouTube transcripts
  • User wants to summarize or analyze YouTube video content
  • User mentions video captions or subtitles
  • User needs to process YouTube video text content

Quick Start

Prerequisites

The skill requires youtube-transcript-api to be installed:

pip install youtube-transcript-api

Or with uv:

uv pip install youtube-transcript-api

Basic Usage

Fetch a single transcript (outputs to stdout):

python ${CLAUDE_PLUGIN_ROOT}/skills/yt-transcript/scripts/get_transcript.py "https://youtu.be/dQw4w9WgXcQ"

Save to file:

python ${CLAUDE_PLUGIN_ROOT}/skills/yt-transcript/scripts/get_transcript.py "https://youtu.be/dQw4w9WgXcQ" --output transcript.txt

Fetch multiple videos:

python ${CLAUDE_PLUGIN_ROOT}/skills/yt-transcript/scripts/get_transcript.py \
  "https://youtu.be/VIDEO_ID_1" \
  "https://youtu.be/VIDEO_ID_2" \
  --output transcripts.txt

Get transcript without timestamps:

python ${CLAUDE_PLUGIN_ROOT}/skills/yt-transcript/scripts/get_transcript.py "https://youtu.be/dQw4w9WgXcQ" --no-timestamps

Supported URL Formats

The skill handles various YouTube URL formats:

  • Short links: https://youtu.be/dQw4w9WgXcQ
  • Standard URLs: https://www.youtube.com/watch?v=dQw4w9WgXcQ
  • Embed URLs: https://www.youtube.com/embed/dQw4w9WgXcQ
  • Video IDs only: dQw4w9WgXcQ
  • URLs with parameters: https://youtu.be/dQw4w9WgXcQ?si=abcd1234

Output Format

Default output includes timestamps:

# Transcript for https://youtu.be/dQw4w9WgXcQ (Video ID: dQw4w9WgXcQ)

0.00  First line of the transcript
2.50  Second line of the transcript
5.00  Third line of the transcript

Without --no-timestamps flag, plain text output:

# Transcript for https://youtu.be/dQw4w9WgXcQ (Video ID: dQw4w9WgXcQ)

First line of the transcript
Second line of the transcript
Third line of the transcript

Common Workflows

Analyze Video Content

# Fetch transcript
python ${CLAUDE_PLUGIN_ROOT}/skills/yt-transcript/scripts/get_transcript.py "https://youtu.be/VIDEO_ID" --output video.txt

# Now Claude can read and analyze the content

Summarize Multiple Videos

# Fetch all transcripts to one file
python ${CLAUDE_PLUGIN_ROOT}/skills/yt-transcript/scripts/get_transcript.py \
  "https://youtu.be/VIDEO1" \
  "https://youtu.be/VIDEO2" \
  "https://youtu.be/VIDEO3" \
  --output all_transcripts.txt

Extract Quotes or Key Points

# Get clean text without timestamps for easier processing
python ${CLAUDE_PLUGIN_ROOT}/skills/yt-transcript/scripts/get_transcript.py "https://youtu.be/VIDEO_ID" --no-timestamps > clean.txt

Troubleshooting

No Transcript Available

Some videos don't have transcripts available. The script will report:

Error: Could not fetch transcript for: <url>

This can happen when:

  • The video has no captions/subtitles
  • The video is private or restricted
  • The transcript is disabled by the uploader

Transcripts Not Auto-Generated

YouTube auto-generates transcripts for many videos, but not all. If a video has no manual captions and no auto-generated captions, the transcript won't be available.

Rate Limiting

For bulk operations, you may encounter rate limiting. The script fetches one transcript at a time to minimize issues.

Requirements

  • Python 3.8+
  • youtube-transcript-api package
  • Network access to YouTube's transcript servers

Script Options

usage: get_transcript.py [-h] [-o OUTPUT] [--no-timestamps] urls [urls ...]

positional arguments:
  urls                  YouTube video URL(s)

options:
  -h, --help            show this help message and exit
  -o OUTPUT, --output OUTPUT
                        Output file (default: stdout)
  --no-timestamps       Exclude timestamps from output

Examples

Get transcript for analysis

python ${CLAUDE_PLUGIN_ROOT}/skills/yt-transcript/scripts/get_transcript.py "https://www.youtube.com/watch?v=tgbNymZ7vqY" --output talk.txt

Fetch clean text for summarization

python ${CLAUDE_PLUGIN_ROOT}/skills/yt-transcript/scripts/get_transcript.py "https://youtu.be/VIDEO_ID" --no-timestamps > summary_input.txt

Batch process a playlist's videos

# Build URLs from a list of video IDs
for vid in VIDEO_ID1 VIDEO_ID2 VIDEO_ID3; do
  python ${CLAUDE_PLUGIN_ROOT}/skills/yt-transcript/scripts/get_transcript.py "https://youtu.be/${vid}" --output "transcript_${vid}.txt"
done

What ships with it: 1 file

3.4 KB alongside SKILL.md, 1 of them executable

scripts/

Gives 0 of the 12 instructions most video audio skills give in ~1.3k tokens

Counted across 619 of the 725 authors here whose files we hold, read 2026-09-06

  • Read product marketing context firstin 13 of 619, across 7 files
  • Define the core visual thesis in one sentencein 11 of 619, across 3 files
  • Break the concept into 3 to 6 scenesin 11 of 619, across 3 files
  • Render the smallest working version firstin 11 of 619, across 3 files
  • Start with a low-quality smoke test renderin 11 of 619, across 3 files
  • Add captions for accessibility and engagementin 11 of 619, across 5 files
  • Write the scene outline before writing codein 11 of 619, across 3 files
  • Specify subject, action, camera, style, and moodin 11 of 619, across 5 files
  • Decide what each scene provesin 10 of 619, across 2 files
  • Export one clean thumbnail framein 10 of 619, across 2 files
  • Pick the right tool for the jobin 10 of 619, across 4 files
  • Run the test suite before proposing a fixin 8 of 619, across 7 files

Said here and by no other author read

  • Run the transcript script with video URLs
  • Exclude timestamps using the no-timestamps flag

Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.