Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
Fetch, summarize, and save YouTube transcripts with timestamp navigation, chapter detection, and searchable content.
Fetch, summarize, and save YouTube transcripts with timestamp navigation, chapter detection, and searchable content.
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.
User shares a YouTube link and wants to read instead of watch. User asks what someone says about a topic at a specific moment. User needs to extract quotes with timestamps for research or content creation. User wants to summarize a video or search within its content.
ββββββββββββββββββββββββββββββββββββββββββββββββ β YOUTUBE TRANSCRIPT FLOW β ββββββββββββββββββββββββββββββββββββββββββββββββ β ββββββββββββββββββββββΌβββββββββββββββββββββ βΌ βΌ βΌ βββββββββββ ββββββββββββ βββββββββββ β VIDEO β β METADATA β βSUBTITLESβ β URL β β FETCH β β CHECK β ββββββ¬βββββ ββββββ¬ββββββ ββββββ¬βββββ β β β β youtube.com/ β Title, duration, β Manual first, β watch?v=... β chapters, lang β auto fallback β β β βββββββββββββββββββββ΄βββββββββββββββββββββ β βΌ βββββββββββββββββββ β EXTRACT + CLEAN β β VTT β Markdown β β with timestamps β ββββββββββ¬βββββββββ β βββββββββββββββββΌββββββββββββββββ βΌ βΌ βΌ ββββββββββββ βββββββββββββ ββββββββββββ β CHAPTERS β β SEARCH β β EXPORT β β detected β β by topic β β MD/SRT/ β β or smart β β timestamp β β TXT/JSON β ββββββββββββ βββββββββββββ ββββββββββββ
Always fetch video info before extracting subtitles: yt-dlp -j "VIDEO_URL" This gives you title, duration, official chapters, and available languages. Use it to confirm the right video and check what subtitles exist.
Manual (uploaded) subtitles are higher quality than auto-generated: # Try manual first yt-dlp --write-sub --sub-lang en --skip-download "VIDEO_URL" # Fall back to auto-generated if manual unavailable yt-dlp --write-auto-sub --sub-lang en --skip-download "VIDEO_URL" Auto-generated transcripts often have errors, missing punctuation, and wrong word boundaries. Manual subtitles are human-verified.
Every segment must include timestamps. Format: [HH:MM:SS] or [MM:SS] for videos under 1 hour. Why this matters: Users need to jump to specific moments. "Take me to where they discuss pricing" requires knowing the timestamp. Output format: [00:00] Welcome to this video about machine learning [00:15] Today we'll cover three main topics [00:30] First, let's talk about neural networks
Many videos have chapter markers embedded. Extract from metadata: yt-dlp -j "VIDEO_URL" | jq '.chapters'
When video lacks chapters, detect natural breaks from transcript: Topic changes (semantic shift in content) Speaker changes (different voice patterns) Explicit transitions ("Now let's talk about...", "Moving on...") Long pauses between segments
When user asks "where do they talk about X": Search transcript for keywords and semantic matches Return segments with timestamps Include surrounding context (10-15 seconds before/after) Response format: Found 3 mentions of "machine learning": [05:23] "...this is where machine learning really shines..." Context: Discussing data processing approaches [12:45] "...traditional methods vs machine learning..." Context: Comparison section Generate clickable links: https://youtube.com/watch?v=VIDEO_ID&t=323
Memory lives in ~/youtube-video-transcript/. See memory-template.md for structure. ~/youtube-video-transcript/ βββ memory.md # Preferences + recent videos βββ videos/ # Cached transcripts (with consent) β βββ {video_id}.md # Individual video data βββ exports/ # Exported files
TopicFileSetup processsetup.mdMemory templatememory-template.mdAdvanced patternspatterns.md
Always run yt-dlp -j URL first. This confirms the video, shows available languages, and reveals official chapters. Never extract blind.
Subtitle TypeQualityWhen to UseManualHighAlways try firstAuto-generatedMediumFallback only Check with yt-dlp --list-subs URL for unfamiliar channels.
Never strip timestamps during any operation. They enable navigation, citation, and deep linking into the video.
User ResponseAction"Yes, save it"Cache to ~/youtube-video-transcript/videos/"No thanks"Don't cache, show onceNot asked yetAsk after first extraction Always tell user where files are saved and offer to show or delete them.
If user doesn't specify: Check available languages Prefer manual over auto Default to English Report which language was used yt-dlp --list-subs "VIDEO_URL"
When extracting quotes for research: 10-15 seconds before/after for context Exact timestamp for the quote start Speaker identification if multiple speakers
Subtitle TypeTell UserManual"Using official subtitles"Auto-generated"Using auto-generated (may have errors)"None available"No subtitles found for this video"
FormatUse CaseCommandMarkdownReading, notesDefaultSRTVideo editors--sub-format srtPlain textSearch, grepStrip timestampsJSONProgrammatic--write-info-json
TrapConsequencePreventionNot checking subtitles firstWasted time on unavailable videoAlways --list-subs firstIgnoring auto-generated qualityGarbage text with errorsPrefer manual, warn about autoLosing timestampsCan't navigate videoNever strip in any operationExtracting without metadataMissing title, chaptersAlways fetch -j firstCaching without consentPrivacy violationAsk before saving
User SaysAction"Transcribe this video"Extract + display"What do they say about X?"Search + timestamps"Save this transcript"Cache with confirmation"Export as SRT"Convert format"Show saved videos"List ~/youtube-video-transcript/videos/"Delete video X"Remove from cache
Data that stays local (with your consent): Transcripts cached in ~/youtube-video-transcript/ (only if you agree) Preferences stored locally (only after confirmation) No external API calls beyond YouTube's public subtitle endpoints Transparency guarantees: Always asks before saving transcripts locally Tells you where files are saved Offers to show or delete saved data anytime This skill does NOT: Use proxy services or third-party APIs Send your queries to external services Store credentials or authentication Save anything without your explicit consent
Install with clawhub install <slug> if user confirms: summarizer β create summaries from any content video-captions β generate and edit video subtitles ffmpeg β advanced video and audio processing
If useful: clawhub star youtube-video-transcript Stay updated: clawhub sync
Code helpers, APIs, CLIs, browser automation, testing, and developer operations.
Largest current source with strong distribution and engagement signals.