Skip to content
Development
Skill

/youtube-content

Fetch YouTube video transcripts and transform them into structured content (chapters, summaries, threads, blog posts). Use when the user shares a YouTube URL or video link, asks to summarize a video, requests a transcript, or wants to extract and reformat content from any

From plugin
zorro-agent
878 skills
Install
$ npx -y skills add braxtonROSE4/zorro-agent --skill youtube-content --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/youtube-content

Context preview

The summary Claude sees to decide when to auto-load this skill.

Fetch YouTube video transcripts and transform them into structured content (chapters, summaries, threads, blog posts). Use when the user shares a YouTube URL or video link, asks to summarize a video, requests a transcript, or wants to extract and reformat content from any

SKILL.md

youtube-content.SKILL.md
name: youtube-content
description: >
  Fetch YouTube video transcripts and transform them into structured content
  (chapters, summaries, threads, blog posts). Use when the user shares a YouTube
  URL or video link, asks to summarize a video, requests a transcript, or wants
  to extract and reformat content from any YouTube video.

YouTube Content Tool

Extract transcripts from YouTube videos and convert them into useful formats.

Setup

pip install youtube-transcript-api

Helper Script

`SKILL_DIR` is the directory containing this SKILL.md file. The script accepts any standard YouTube URL format, short links (youtu.be), shorts, embeds, live links, or a raw 11-character video ID.

# JSON output with metadata
python3 SKILL_DIR/scripts/fetch_transcript.py "https://youtube.com/watch?v=VIDEO_ID"

# Plain text (good for piping into further processing)
python3 SKILL_DIR/scripts/fetch_transcript.py "URL" --text-only

# With timestamps
python3 SKILL_DIR/scripts/fetch_transcript.py "URL" --timestamps

# Specific language with fallback chain
python3 SKILL_DIR/scripts/fetch_transcript.py "URL" --language tr,en

Output Formats

After fetching the transcript, format it based on what the user asks for:

  • **Chapters**: Group by topic shifts, output timestamped chapter list
  • **Summary**: Concise 5-10 sentence overview of the entire video
  • **Chapter summaries**: Chapters with a short paragraph summary for each
  • **Thread**: Twitter/X thread format — numbered posts, each under 280 chars
  • **Blog post**: Full article with title, sections, and key takeaways
  • **Quotes**: Notable quotes with timestamps

Example — Chapters Output

00:00 Introduction — host opens with the problem statement
03:45 Background — prior work and why existing solutions fall short
12:20 Core method — walkthrough of the proposed approach
24:10 Results — benchmark comparisons and key takeaways
31:55 Q&A — audience questions on scalability and next steps

Workflow

1. **Fetch** the transcript using the helper script with `--text-only --timestamps`. 2. **Validate**: confirm the output is non-empty and in the expected language. If empty, retry without `--language` to get any available transcript. If still empty, tell the user the video likely has transcripts disabled. 3. **Chunk if needed**: if the transcript exceeds ~50K characters, split into overlapping chunks (~40K with 2K overlap) and summarize each chunk before merging. 4. **Transform** into the requested output format. If the user did not specify a format, default to a summary. 5. **Verify**: re-read the transformed output to check for coherence, correct timestamps, and completeness before presenting.

Error Handling

  • **Transcript disabled**: tell the user; suggest they check if subtitles are available on the video page.
  • **Private/unavailable video**: relay the error and ask the user to verify the URL.
  • **No matching language**: retry without `--language` to fetch any available transcript, then note the actual language to the user.
  • **Dependency missing**: run `pip install youtube-transcript-api` and retry.
Read more
Ships withzorro-agent

A self-evolving CLI agent. Most agents treat memory as an afterthought — a flat text file that grows until it's useless.

Get the whole plugin
Stats
8
Stars
0
Forks
Maintained
Maintenance
Python
Language
MIT
License
5mo ago
Last commit
5mo ago
Created

Repo: braxtonROSE4/zorro-agent

Other skills on zorro-agent.