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.
Install command
npx @skill-hub/cli install openclaw-skills-youtube-summarizer
Repository
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 repositoryBest 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
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": []
}
```