Loading...
Loading...
Index YouTube channel videos and transcripts for semantic search. Use when user says "index YouTube", "add YouTube channel", "update video index", or "index transcripts". Works with solograph MCP (if available) or standalone via yt-dlp.
npx skill4agent add fortunto2/solo-factory solo-index-youtubewhich yt-dlp || echo "MISSING: install yt-dlp (brew install yt-dlp / pip install yt-dlp / pipx install yt-dlp)"$ARGUMENTSGregIsenberg ycombinator-n <limit>--dry-runsource_searchsource_listsource_tags# Install solograph
pip install solograph
# or
uvx solograph# Single channel
solograph-cli index-youtube -c GregIsenberg -n 10
# Multiple channels
solograph-cli index-youtube -c GregIsenberg -c ycombinator -n 10
# All channels (from channels.yaml in solograph config)
solograph-cli index-youtube -n 10
# Dry run (parse only, no DB writes)
solograph-cli index-youtube --dry-runsolograph-cliuvx solograph-cli index-youtube -c <handle> -n 10source_listsource_search("startup idea", source="youtube")source_tagssource_related(video_id)# Get recent video URLs from a channel
yt-dlp --flat-playlist --print url "https://www.youtube.com/@GregIsenberg/videos" | head -n 10# Download auto-generated subtitles (no video download)
yt-dlp --write-auto-sub --sub-lang en --skip-download --sub-format vtt \
-o "docs/youtube/%(channel)s/%(title)s.%(ext)s" \
"<video-url>"# Strip VTT formatting (timestamps, positioning)
sed '/^$/d; /^[0-9]/d; /^NOTE/d; /^WEBVTT/d; /-->/d' docs/youtube/channel/video.vtt | \
awk '!seen[$0]++' > docs/youtube/channel/video.txtdocs/youtube/index.md# YouTube Knowledge Index
## Channel: {channel_name}
### {video_title}
- **URL:** {url}
- **Key topics:** {topic1}, {topic2}
- **Insights:** {summary}
- **Actionable:** {takeaway}# Search across all transcripts
grep -ri "startup idea" docs/youtube/brew install yt-dlppip install yt-dlppipx install yt-dlp-n--sleep-interval 2--cookies-from-browser chromepip install solographuvx solographwhich solograph-cli