From sundial-org-awesome-openclaw-skills-4
Fetches YouTube video transcripts via Node.js server, generates structured markdown summaries with metadata and key insights, saves full transcripts to files. Activates on YouTube URLs or summarization requests.
npx claudepluginhub joshuarweaver/cascade-ai-ml-agents-misc-2 --plugin sundial-org-awesome-openclaw-skills-4This skill uses the workspace's default tool permissions.
Automatically fetch transcripts from YouTube videos, generate structured summaries, and deliver full transcripts to messaging platforms.
Guides Next.js Cache Components and Partial Prerendering (PPR) with cacheComponents enabled. Implements 'use cache', cacheLife(), cacheTag(), revalidateTag(), static/dynamic optimization, and cache debugging.
Guides building MCP servers enabling LLMs to interact with external services via tools. Covers best practices, TypeScript/Node (MCP SDK), Python (FastMCP).
Generates original PNG/PDF visual art via design philosophy manifestos for posters, graphics, and static designs on user request.
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.