skills$openclaw/youtube-summarizer
abe2389.4kā˜…

by abe238

youtube-summarizer – OpenClaw Skill

youtube-summarizer is an OpenClaw Skills integration for writing workflows. 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.

9.4k stars8.7k forksSecurity L1
Updated Feb 7, 2026Created Feb 7, 2026writing

Skill Snapshot

nameyoutube-summarizer
descriptionAutomatically 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. OpenClaw Skills integration.
ownerabe238
repositoryabe238/youtube-summarizer
languageMarkdown
licenseMIT
topics
securityL1
installopenclaw add @abe238/youtube-summarizer
last updatedFeb 7, 2026

Maintainer

abe238

abe238

Maintains youtube-summarizer in the OpenClaw Skills directory.

View GitHub profile
File Explorer
6 files
.
examples
sample-output.md
4.3 KB
_meta.json
288 B
package.json
1.0 KB
README.md
4.4 KB
SKILL.md
4.6 KB
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:

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:**
[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:

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
README.md

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_ID
  • https://www.youtube.com/shorts/VIDEO_ID
  • Direct video ID: VIDEO_ID

Output Format

Summary Structure

šŸ“¹ **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:

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 - Fetches transcripts via Android client emulation
  • Node.js 18+ - Runtime environment
  • Clawdbot - AI agent framework

Credits

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

Permissions & Security

Security level L1: Low-risk skills with minimal permissions. Review inputs and outputs before running in production.

Requirements

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

FAQ

How do I install youtube-summarizer?

Run openclaw add @abe238/youtube-summarizer in your terminal. This installs youtube-summarizer into your OpenClaw Skills catalog.

Does this skill run locally or in the cloud?

OpenClaw Skills execute locally by default. Review the SKILL.md and permissions before running any skill.

Where can I verify the source code?

The source repository is available at https://github.com/openclaw/skills/tree/main/skills/abe238/youtube-summarizer. Review commits and README documentation before installing.