Extract startup ideas from YouTube videos. Two operating modes depending on available tools.
Check which tools are available:
source_search, source_list, source_tags, source_related for indexed corpussource_search(query, source="youtube") — semantic search over indexed videossource_list() — check indexed video countssource_tags() — auto-detected topics with confidence scoressource_related(video_url) — find related videos by shared tagskb_search(query) — cross-reference with knowledge baseweb_search(query) — discover new videos to indexParse input from $ARGUMENTS:
https://youtube.com/watch?v=...) → single video indexGregIsenberg) → channel batch indexIndex video(s) via solograph: bash
# Install if needed
pip install solograph # or: uvx solograph
# Single video
solograph-cli index-youtube -u "$URL"
# Channel batch (needs web search for discovery)
solograph-cli index-youtube -c "$CHANNEL" -n 5
Verify indexing — source_list() to confirm new video count. source_tags() for topic distribution.
Search corpus — source_search(query="startup ideas", source="youtube").
Cross-reference — kb_search(query) for related existing opportunities (if knowledge base available).
Extract insights — for each relevant video chunk:
Write results to docs/youtube-ideas.md or print summary.
Parse input — same as Mode 1 step 1.
Download transcript via yt-dlp: bash
# Check yt-dlp is available
command -v yt-dlp >/dev/null 2>&1 && echo "yt-dlp: ok" || echo "Install: pip install yt-dlp"
# Download subtitles only (no video)
yt-dlp --write-auto-sub --sub-lang en --skip-download -o "transcript" "$URL"
# Convert VTT to plain text
sed '/^$/d; /^[0-9]/d; /-->/d; /WEBVTT/d; /Kind:/d; /Language:/d' transcript.en.vtt | sort -u > transcript.txt
Read transcript — Read the transcript.txt file.
Analyze for startup ideas:
For channel analysis — download multiple video transcripts: bash
# Get video list from channel
yt-dlp --flat-playlist --print "%(id)s %(title)s" "https://youtube.com/@$CHANNEL" | head -10
# Download transcripts for top videos
for id in $VIDEO_IDS; do
yt-dlp --write-auto-sub --sub-lang en --skip-download -o "transcripts/%(id)s" "https://youtube.com/watch?v=$id"
done
Write results to docs/youtube-ideas.md with format:
markdown
# YouTube Ideas — [Channel/Video]
Date: YYYY-MM-DD
## Idea 1: [Name]
## Common Issues
### yt-dlp not found
**Fix:** `pip install yt-dlp` or `brew install yt-dlp`
### No subtitles available
**Cause:** Video has no auto-generated or manual captions.
**Fix:** Try `--sub-lang en,ru` for multiple languages. Some videos only have auto-generated subs.
### solograph MCP not available
**Fix:** Skills work in standalone mode (yt-dlp + Read). For indexed search across many videos, install solograph: `pip install solograph`. For enhanced web search, set up [SearXNG](https://github.com/fortunto2/searxng-docker-tavily-adapter) (private, self-hosted, free).
### Too many ideas, hard to prioritize
**Fix:** Use `/validate` on the top 3 ideas to score them through STREAM framework.