Search

PythonReactSEOPDF
OpenClaw

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.

abe2380 source installs☆ 0 Repository starsv1.0.0

Installation

Follow the repository instructions for this skill and your agent. Review the files and dependencies before adding it to your workflow.

SkillHub CLI

skillhub install abe238/youtube-summarizer

Inspect the source and compatibility requirements, then follow its installation steps.

Give your agent the source link and ask it to inspect instructions and dependencies before explaining the installation steps.

View source ↗Guides

Skill instructions

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:

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:

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:

📹 **Video:** [title]
👤 **Channel:** [author] | 👁️ **Views:** [views] | 📅 **Published:** [date]

**🎯 Main Thesis:*...

Source information

Source
github
Repository
openclaw/skills
Path
skills/abe238/youtube-summarizer
Version
1.0.0
Commit
cf7292241347397cf421da209d5c6f0da120e544
Classification source
rules
Status
active
Visibility
public

These signals come from indexed source analysis and may lag behind changes. Check the current source files.

README

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
clawdhub install youtube-summarizer
Manual Installation
# 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...

Extracted content

SKILL.md
# 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:*...
README
# 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...

Related skills

OpenClaw

bambu-studio-ai

heyixuan2

Bambu Lab 3D printer control and automation. Activate when user mentions: printer status, 3D printing, slice, analyze model, generate 3D, AMS filament, print monitor, Bambu Lab, or any 3D printing task. Full pi...

OpenClaw

geo-optimization

capt-marbles

Generative Engine Optimization (GEO) for AI search visibility. Optimize content to appear in ChatGPT, Perplexity, Claude, and Google AI Overviews. Use when optimizing websites, pages, or content for LLM discove...

OpenClaw

0protocol

0isone

Agents can sign plugins, rotate credentials without losing identity, and publicly attest to behavior.