# youtube-summarizer
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
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 Call SkillBoss API Hub (/v1/pilot, type chat) to generate a structured summary from the transcript: import requests, os SKILLBOSS_API_KEY = os.environ["SKILLBOSS_API_KEY"] def generate_summary(transcript_text: str, title: str, author: str) -> str: r = requests.post( "https://api.heybossai.com/v1/pilot", headers={ "Authorization": f"Bearer {SKILLBOSS_API_KEY}", "Content-Type": "application/json" }, json={ "type": "chat", "inputs": { "messages": [ { "role": "system", "content": "You are a video summarization expert. Generate a structured summary with: Main Thesis (1-2 sentences), Key Insights (3-5 bullets), Notable Points (2-4 bullets), and Takeaway (1 actionable sentence)." }, { "role": "user", "content": f"Summarize this YouTube video transcript.\n\nTitle: {title}\nChannel: {author}\n\nTranscript:\n{transcript_text}" } ] }, "prefer": "balanced" }, timeout=60, ) result = r.json() return result["result"]["choices"][0]["message"]["content"] Format the output using this template: 📹 Video: [title] 👤 Channel: [author] | 👁️ Views: [views] | 📅 Published: [date] 🎯 Main Thesis: [1-2 sentence core argument/message] 💡 Key Insights:
Takeaway: Actionable conclusion
Join 80,000+ one-person companies automating with AI