Skill detail

youtube-summarizer

Fetches YouTube transcripts, generates structured summaries, and delivers full transcripts to messaging platforms.

MatchPossibleRecommended for YouTube Videos
Sourcebrianrwagner/​ai-marketing-claude-code-skillsExternal source
Reported installs455Popularity signal only

Inspect before use

Read the source instructions and check the requirements before you install this skill.

Saved source preview

SKILL.md

The saved excerpt is a snapshot from when this skill was listed. The external source remains the complete and most current version.

---
name: youtube-summarizer
description: Automatically fetch YouTube video transcripts, generate structured summaries, and send full transcripts to messaging platforms. Detects YouTube URLs and provides metadata, key insights, and downloadable transcripts.
version: 2.0.0
author: abe238
tags: [youtube, transcription, summarization, video, telegram]
---

# YouTube Summarizer Skill

Automatically fetch transcripts from YouTube videos, generate structured summaries, and deliver full transcripts to messaging platforms.

## Mode

Detect from context or ask: *"Quick TL;DR, full summary, or full summary with content angles?"*

| Mode | What you get | Best for |
|------|-------------|----------|
| `quick` | 3-bullet TL;DR + single key takeaway | Fast consumption, sharing a clip |
| `standard` | Full structured summary: thesis, insights, takeaway | Learning, note-taking, research |
| `deep` | Full summary + chapter breakdown + content repurposing opportunities | Turning a video into a content asset |

**Default: `standard`** — use `quick` if they just want the gist. Use `deep` if they want to extract the video into usable content.

---

## Why This vs ChatGPT?

**Problem with ChatGPT:** It can't access YouTube transcripts directly. You have to manually copy/paste captions or use a third-party tool first, then feed the text to ChatGPT. Multi-step, clunky, loses video metadata.

**This skill provides:**
1. **One-step transcript extraction** - Drop a YouTube URL, get the full transcript automatically
2. **Structured summarization** - Consistent format (thesis → insights → takeaway) every time, not random bullet points
3. **Video metadata included** - Title, channel, views, publish date embedded in summary
4. **Full transcript delivery** - Saves timestamped transcript to file and sends to Telegram/chat platforms
5. **Works from VPS/cloud** - Uses Android client emulation to bypass YouTube's cloud IP blocking (where yt-dlp fails)
6. **Multi-language support** - Auto-fetches in requested language with English fallback

**You can replicate this** by manually enabling captions, copying text, pasting to ChatGPT, reformatting the output, saving to a file, and uploading. Takes 5-10 minutes. This skill does it in 15-20 seconds.

## When to Use

Activate this skill when:
- User shares a YouTube URL (youtube.com/watch, youtu.be, youtube.com/shorts)
- User asks to summarize or transcribe a YouTube video
- User requests information about a YouTube video's content
- You need to analyze video content for research or content creation

## Dependencies

**Required:** MCP YouTube Transcript server must be installed at:
`/root/clawd/mcp-server-youtube-transcript`

If not present, install it:
```bash
cd /root/clawd
git clone https://github.com/kimtaeyoon83/mcp-server-youtube-transcript.git
cd mcp-server-youtube-transcript
npm install && npm run build
```

## Workflow

### 1. Detect YouTube URL
Extract video ID from these patterns:
- `https://www.youtube.com/watch?v=VIDEO_ID`
- `https://youtu.be/VIDEO_ID`
- `https://www.youtube.com/shorts/VIDEO_ID`
- Direct video ID: `VIDEO_ID` (11 characters)

### 2. Fetch Transcript
Run this command to get the transcript:
```bash
cd /root/clawd/mcp-server-youtube-transcript && node --input-type=module -e "
import { getSubtitles } from './dist/youtube-fetcher.js';
const result = await getSubtitles({ videoID: 'VIDEO_ID', lang: 'en' });
console.log(JSON.stringify(result, null, 2));
" > /tmp/yt-transcript.json
```

Replace `VIDEO_ID` with the extracted ID. Read the output from `/tmp/yt-transcript.json`.

### 3. Process the Data

Parse the JSON to extract:
- `result.metadata.title` - Video title
- `result.metadata.author` - Channel name
- `result.metadata.viewCount` - Formatted view count
- `result.metadata.publishDate` - Publication date
- `result.actualLang` - Language used
- `result.lines` - Array of transcript segments

Full text: `result.lines.map(l => l.text).join(' ')`

### 4. Generate Summary

Create a structured summary 
Read the full source on GitHub (opens external page)
Context

Related work