Back to skills
SkillHub ClubShip Full StackFull Stack

youtube-summarizer

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.

Packaged view

This page reorganizes the original catalog entry around fit, installability, and workflow context first. The original raw source lives below.

Stars
3,126
Hot score
99
Updated
March 20, 2026
Overall rating
C5.7
Composite score
5.7
Best-practice grade
A85.2

Install command

npx @skill-hub/cli install openclaw-skills-youtube-summarizer
youtubetranscriptionsummarizationvideotelegram

Repository

openclaw/skills

Skill path: skills/abe238/youtube-summarizer

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.

Open repository

Best for

Primary workflow: Ship Full Stack.

Technical facets: Full Stack.

Target audience: everyone.

License: Unknown.

Original source

Catalog source: SkillHub Club.

Repository owner: openclaw.

This is still a mirrored public skill entry. Review the repository before installing into production workflows.

What it helps with

  • Install youtube-summarizer into Claude Code, Codex CLI, Gemini CLI, or OpenCode workflows
  • Review https://github.com/openclaw/skills before adding youtube-summarizer to shared team environments
  • Use youtube-summarizer for development workflows

Works across

Claude CodeCodex CLIGemini CLIOpenCode

Favorites: 0.

Sub-skills: 0.

Aggregator: No.

Original source / Raw SKILL.md

---
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: 1.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.

## 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

## 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 using this template:

```markdown
πŸ“Ή **Video:** [title]
πŸ‘€ **Channel:** [author] | πŸ‘οΈ **Views:** [views] | πŸ“… **Published:** [date]

**🎯 Main Thesis:**
[1-2 sentence core argument/message]

**πŸ’‘ Key Insights:**
- [insight 1]
- [insight 2]
- [insight 3]
- [insight 4]
- [insight 5]

**πŸ“ Notable Points:**
- [additional point 1]
- [additional point 2]

**πŸ”‘ Takeaway:**
[Practical application or conclusion]
```

Aim for:
- Main thesis: 1-2 sentences maximum
- Key insights: 3-5 bullets, each 1-2 sentences
- Notable points: 2-4 supporting details
- Takeaway: Actionable conclusion

### 5. Save Full Transcript

Save the complete transcript to a timestamped file:
```
/root/clawd/transcripts/YYYY-MM-DD_VIDEO_ID.txt
```

Include in the file:
- Video metadata header
- Full transcript text
- URL reference

### 6. Platform-Specific Delivery

**If channel is Telegram:**
```bash
message --action send --channel telegram --target CHAT_ID \
  --filePath /root/clawd/transcripts/YYYY-MM-DD_VIDEO_ID.txt \
  --caption "πŸ“„ YouTube Transcript: [title]"
```

**If channel is other/webchat:**
Just reply with the summary (no file attachment).

### 7. Reply with Summary

Send the structured summary as your response to the user.

## Error Handling

**If transcript fetch fails:**
- Check if video has captions enabled
- Try with `lang: 'en'` fallback if requested language unavailable
- Inform user that transcript is not available and suggest alternatives:
  - Manual YouTube transcript feature
  - Video may not have captions
  - Try a different video

**If MCP server not installed:**
- Provide installation instructions
- Offer to install it automatically if in appropriate context

**If video ID extraction fails:**
- Ask user to provide the full YouTube URL or video ID

## Examples

See `examples/` directory for sample outputs.

## Quality Guidelines

- **Be concise:** Summary should be scannable in 30 seconds
- **Be accurate:** Don't add information not in the transcript
- **Be structured:** Use consistent formatting for easy reading
- **Be contextual:** Adjust detail level based on video length
  - Short videos (<5 min): Brief summary
  - Long videos (>30 min): More detailed breakdown

## Notes

- MCP server uses Android client emulation to bypass YouTube's cloud IP blocking
- Works reliably from VPS/cloud environments where yt-dlp often fails
- Supports multiple languages with automatic fallback to English
- Transcript quality depends on YouTube's auto-generated captions or manual captions


---

## Skill Companion Files

> Additional files collected from the skill directory layout.

### README.md

```markdown
# YouTube Summarizer

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

## Features

βœ… **Automatic detection** - Recognizes YouTube URLs in messages  
βœ… **Cloud-friendly** - Works from VPS/cloud IPs where yt-dlp fails  
βœ… **Structured summaries** - Main thesis, key insights, and takeaways  
βœ… **Full transcripts** - Downloadable text file with complete video content  
βœ… **Platform-aware** - Auto-sends files to Telegram, text-only elsewhere  
βœ… **Multi-language** - Supports multiple languages with English fallback  

## Installation

### Prerequisites

1. **Node.js 18+** installed
2. **Clawdbot** running

### Install via ClawdHub

```bash
clawdhub install youtube-summarizer
```

### Manual Installation

```bash
# 1. Clone the skill
cd /root/clawd/skills
git clone <this-repo-url> youtube-summarizer

# 2. Install MCP YouTube Transcript dependency
cd /root/clawd
git clone https://github.com/kimtaeyoon83/mcp-server-youtube-transcript.git
cd mcp-server-youtube-transcript
npm install && npm run build
```

## Usage

Simply share a YouTube URL in chat:

```
You: https://youtu.be/dQw4w9WgXcQ

Agent: πŸ“Ή **Video:** Never Gonna Give You Up
       πŸ‘€ **Channel:** Rick Astley | πŸ‘οΈ **Views:** 1.4B | πŸ“… **Published:** 2009-10-25
       
       **🎯 Main Thesis:**
       A declaration of unwavering commitment and loyalty in a relationship...
       
       [structured summary follows]
       
       πŸ“„ Full transcript attached (Telegram) or saved to transcripts/
```

## How It Works

1. **Detects** YouTube URLs automatically
2. **Fetches** transcript using MCP server (bypasses cloud IP blocks)
3. **Generates** structured summary with metadata
4. **Saves** full transcript to `transcripts/YYYY-MM-DD_VIDEO_ID.txt`
5. **Sends** file to Telegram (if in Telegram context)
6. **Replies** with formatted summary

## Supported URL Formats

- `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`

## Output Format

### Summary Structure

```markdown
πŸ“Ή **Video:** [Title]
πŸ‘€ **Channel:** [Author] | πŸ‘οΈ **Views:** [Count] | πŸ“… **Published:** [Date]

**🎯 Main Thesis:**
Core message in 1-2 sentences

**πŸ’‘ Key Insights:**
- Insight 1
- Insight 2
- Insight 3

**πŸ“ Notable Points:**
- Supporting detail 1
- Supporting detail 2

**πŸ”‘ Takeaway:**
Practical conclusion
```

### Transcript File

Saved to `/root/clawd/transcripts/YYYY-MM-DD_VIDEO_ID.txt` with:
- Video metadata header
- Full transcript text
- URL reference

## Configuration

No configuration needed! The skill automatically:
- Detects your messaging platform
- Chooses appropriate delivery method
- Handles language fallback
- Creates transcript directory if needed

## Troubleshooting

### "Transcript not available"
- Video may not have captions enabled
- Try a different video
- Use YouTube's manual transcript feature

### "MCP server not found"
Install the dependency:
```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
```

### "Language not available"
The skill automatically falls back to English if requested language isn't available.

## Why This Skill?

### Problem
- yt-dlp blocked on cloud/VPS IPs
- YouTube aggressive with bot detection
- Manual transcript extraction tedious
- Need structured summaries, not raw text

### Solution
- Uses MCP server with Android client emulation
- Bypasses cloud IP restrictions
- Auto-generates structured summaries
- Platform-aware file delivery

## Dependencies

- [MCP YouTube Transcript](https://github.com/kimtaeyoon83/mcp-server-youtube-transcript) - Fetches transcripts via Android client emulation
- Node.js 18+ - Runtime environment
- Clawdbot - AI agent framework

## Credits

- Built by **abe238**
- Uses [mcp-server-youtube-transcript](https://github.com/kimtaeyoon83/mcp-server-youtube-transcript) by kimtaeyoon83
- Inspired by the need for reliable YouTube transcription on cloud servers

## License

MIT

## Contributing

Improvements welcome! Consider:
- Additional summary templates
- Multi-language summary generation
- Timestamp-based chapter extraction
- Video metadata enrichment

## Changelog

### v1.0.0 (2026-01-26)
- Initial release
- Auto-detect YouTube URLs
- Generate structured summaries
- Save full transcripts
- Telegram file delivery
- Cloud IP bypass via MCP server

```

### _meta.json

```json
{
  "owner": "abe238",
  "slug": "youtube-summarizer",
  "displayName": "YouTube Summarizer",
  "latest": {
    "version": "1.0.0",
    "publishedAt": 1769398410293,
    "commit": "https://github.com/clawdbot/skills/commit/dbea5414faa08c97deaceeafc4d4aebfb35b9061"
  },
  "history": []
}

```

youtube-summarizer | SkillHub