From solo
Indexes YouTube video transcripts into a searchable knowledge base using yt-dlp and solograph MCP tools. Supports channel-specific indexing, semantic search, auto-tagging, and related video discovery.
npx claudepluginhub fortunto2/solo-factory --plugin soloThis skill is limited to using the following tools:
Index YouTube video transcripts into a searchable knowledge base. Supports two modes depending on available tools.
Generates design tokens/docs from CSS/Tailwind/styled-components codebases, audits visual consistency across 10 dimensions, detects AI slop in UI.
Records polished WebM UI demo videos of web apps using Playwright with cursor overlay, natural pacing, and three-phase scripting. Activates for demo, walkthrough, screen recording, or tutorial requests.
Delivers idiomatic Kotlin patterns for null safety, immutability, sealed classes, coroutines, Flows, extensions, DSL builders, and Gradle DSL. Use when writing, reviewing, refactoring, or designing Kotlin code.
Index YouTube video transcripts into a searchable knowledge base. Supports two modes depending on available tools.
Check that yt-dlp is available:
which yt-dlp || echo "MISSING: install yt-dlp (brew install yt-dlp / pip install yt-dlp / pipx install yt-dlp)"
Parse $ARGUMENTS for channel handles or "all":
GregIsenberg ycombinator)-n <limit> (max videos per channel, default 10), --dry-run (parse only)Check which mode is available:
If MCP tools source_search, source_list, source_tags are available, use solograph for indexing and search.
Setup (if not yet installed):
# Install solograph
pip install solograph
# or
uvx solograph
Indexing via solograph CLI:
# 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-run
If solograph-cli is not on PATH, try:
uvx solograph-cli index-youtube -c <handle> -n 10
Verification via MCP:
source_list — check that youtube source appearssource_search("startup idea", source="youtube") — test semantic searchsource_tags — see auto-detected topics from transcriptssource_related(video_id) — find related videos by tagsIf solograph MCP tools are NOT available, use yt-dlp directly to download transcripts and analyze them.
Step 1: Download video list
# Get recent video URLs from a channel
yt-dlp --flat-playlist --print url "https://www.youtube.com/@GregIsenberg/videos" | head -n 10
Step 2: Download transcripts
# 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
# 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.txt
Step 4: Create index
Read each transcript with the Read tool. For each video, extract:
Write a summary index to docs/youtube/index.md:
# 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:
# Search across all transcripts
grep -ri "startup idea" docs/youtube/
Report to the user:
Cause: yt-dlp not installed.
Fix: Run brew install yt-dlp (macOS), pip install yt-dlp, or pipx install yt-dlp.
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.
Cause: Too many requests in short time.
Fix: Reduce -n limit, add --sleep-interval 2 to yt-dlp commands, or use --cookies-from-browser chrome for authenticated access.
Cause: solograph not installed or not on PATH.
Fix: Install with pip install solograph or uvx solograph. Check which solograph-cli.