Skip to content
Back to skills

Youtube Summarizer

CSecurity

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.

  • 33 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added September 5, 2026
documentationbashnodegit

Works with

  • cli
  • mcp

Security analysis

C71/100
  • criticalAccesses sensitive system or user directories
  • mediumInstalls packages at runtime which could introduce malicious dependencies

Pro scans all 4 files and shows the line behind each finding

Scanned September 5, 2026

npx -y skills add dvcrn/openclaw-skills-marketplace --skill youtube-summarizer --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Youtube Summarizer?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Youtube Summarizer
[![Security: C β€” Skills Directory](https://www.skillsdirectory.com/api/skills/dvcrn-youtube-summarizer/badge)](https://www.skillsdirectory.com/skills/dvcrn-youtube-summarizer)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
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."
---

# 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

Files in this skill

  • README.md4.4 KB
  • SKILL.md4.5 KB
  • examples/sample-output.md4.3 KB
  • package.json1 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…