solo-index-youtube
Original:🇺🇸 English
Translated
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.
2installs
Sourcefortunto2/solo-factory
Added on
NPX Install
npx skill4agent add fortunto2/solo-factory solo-index-youtubeTags
Translated version includes tags in frontmatterSKILL.md Content
View Translation Comparison →/index-youtube
Index YouTube video transcripts into a searchable knowledge base. Supports two modes depending on available tools.
Prerequisites
Check that yt-dlp is available:
bash
which yt-dlp || echo "MISSING: install yt-dlp (brew install yt-dlp / pip install yt-dlp / pipx install yt-dlp)"Arguments
Parse for channel handles or "all":
$ARGUMENTS- If empty or "all": index all channels (from config or ask user)
- If one or more handles: index only those channels (e.g., )
GregIsenberg ycombinator - Optional flags: (max videos per channel, default 10),
-n <limit>(parse only)--dry-run
Mode Detection
Check which mode is available:
Mode 1: With solograph MCP (recommended)
If MCP tools , , are available, use solograph for indexing and search.
source_searchsource_listsource_tagsSetup (if not yet installed):
bash
# Install solograph
pip install solograph
# or
uvx solographIndexing via solograph CLI:
bash
# 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-runIf is not on PATH, try:
solograph-clibash
uvx solograph-cli index-youtube -c <handle> -n 10Verification via MCP:
- — check that youtube source appears
source_list - — test semantic search
source_search("startup idea", source="youtube") - — see auto-detected topics from transcripts
source_tags - — find related videos by tags
source_related(video_id)
Mode 2: Without MCP (standalone fallback)
If solograph MCP tools are NOT available, use yt-dlp directly to download transcripts and analyze them.
Step 1: Download video list
bash
# Get recent video URLs from a channel
yt-dlp --flat-playlist --print url "https://www.youtube.com/@GregIsenberg/videos" | head -n 10Step 2: Download transcripts
bash
# 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>"Step 3: Convert VTT to readable text
bash
# 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.txtStep 4: Create index
Read each transcript with the Read tool. For each video, extract:
- Title (from filename or yt-dlp metadata)
- Key topics and insights
- Actionable takeaways
- Timestamps for notable segments (if chapter markers exist)
Write a summary index to :
docs/youtube/index.mdmarkdown
# YouTube Knowledge Index
## Channel: {channel_name}
### {video_title}
- **URL:** {url}
- **Key topics:** {topic1}, {topic2}
- **Insights:** {summary}
- **Actionable:** {takeaway}Step 5: Search indexed content
With transcripts saved as text files, use Grep to search:
bash
# Search across all transcripts
grep -ri "startup idea" docs/youtube/Output
Report to the user:
- Number of videos indexed
- Number of transcripts downloaded (vs skipped — no transcript available)
- How many had chapter markers
- Index file location
- How to search the indexed content (MCP tool or Grep command)
Common Issues
"MISSING: install yt-dlp"
Cause: yt-dlp not installed.
Fix: Run (macOS), , or .
brew install yt-dlppip install yt-dlppipx install yt-dlpVideos skipped (no transcript)
Cause: Video has no auto-generated or manual subtitles.
Fix: This is expected — some videos lack transcripts. Only videos with available subtitles can be indexed.
Rate limiting from YouTube
Cause: Too many requests in short time.
Fix: Reduce limit, add to yt-dlp commands, or use for authenticated access.
-n--sleep-interval 2--cookies-from-browser chromesolograph-cli not found
Cause: solograph not installed or not on PATH.
Fix: Install with or . Check .
pip install solographuvx solographwhich solograph-cli