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.
Automatically fetch transcripts from YouTube videos, generate structured summaries, and deliver full transcripts to messaging platforms.
Activate this skill when:
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
Extract video ID from these patterns:
https://www.youtube.com/watch?v=VIDEO_IDhttps://youtu.be/VIDEO_IDhttps://www.youtube.com/shorts/VIDEO_IDVIDEO_ID (11 characters)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.
Parse the JSON to extract:
result.metadata.title - Video titleresult.metadata.author - Channel nameresult.metadata.viewCount - Formatted view countresult.metadata.publishDate - Publication dateresult.actualLang - Language usedresult.lines - Array of transcript segmentsFull text: result.lines.map(l => l.text).join(' ')
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:
Save the complete transcript to a timestamped file:
/root/clawd/transcripts/YYYY-MM-DD_VIDEO_ID.txt
Include in the file:
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).
Send the structured summary as your response to the user.
If transcript fetch fails:
lang: 'en' fallback if requested language unavailableIf MCP server not installed:
If video ID extraction fails:
See examples/ directory for sample outputs.