Claude Skill

solo-you2idea-extract

Use when "extract ideas from YouTube", "index YouTube video", "find startup ideas in video", "analyze YouTube for ideas", "what ideas are in this video", or mining video content for business opportunities. Do NOT use for general YouTube watching or content creation (/content-gen)

LLM Mart · 0 points · 6 views 0 listing impressions 0 install-command copies
Virus-scanned Reviewed automatically before listing.

Full trust report

Download fortunto2-solo-factory-skills_you2idea-extract-05ec009.zip · 3 KB
Part of fortunto2/solo-factory — 43 skills

Install

skills CLI npx skills add https://github.com/fortunto2/solo-factory/tree/main/skills/you2idea-extract
Claude Code claude plugin marketplace add https://llmmart.ai/marketplace.json && claude plugin install fortunto2-solo-factory@llmmart
Git git clone https://github.com/fortunto2/solo-factory.git

The skills CLI installs just this skill, for any of its supported agents. Claude Code installs the whole fortunto2/solo-factory collection as a plugin from our marketplace. Git is the plain clone.

Skill manifest

/you2idea-extract

Extract startup ideas from YouTube videos. Two operating modes depending on available tools.

Mode Detection

Check which tools are available:

  • With solograph MCP: use source_search, source_list, source_tags, source_related for indexed corpus
  • Without MCP (standalone): use yt-dlp + Read for transcript analysis

MCP Tools (if available)

  • source_search(query, source="youtube") — semantic search over indexed videos
  • source_list() — check indexed video counts
  • source_tags() — auto-detected topics with confidence scores
  • source_related(video_url) — find related videos by shared tags
  • kb_search(query) — cross-reference with knowledge base
  • web_search(query) — discover new videos to index
  • web_extract(url, size, page) — read a linked article as clean markdown

Steps

Mode 1: Index + Analyze (with solograph MCP)

  1. Parse input from $ARGUMENTS:

    • URL (https://youtube.com/watch?v=...) → single video index
    • Channel name (GregIsenberg) → channel batch index
    • Query text → search existing corpus (skip to step 4)
    • If empty, ask: "Video URL, channel name, or search query?"
  2. Index video(s) via solograph:

    # 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
    
  3. Verify indexing — source_list() to confirm new video count. source_tags() for topic distribution.

  4. Search corpus — source_search(query="startup ideas", source="youtube").

  5. Cross-reference — kb_search(query) for related existing opportunities (if knowledge base available).

  6. Extract insights — for each relevant video chunk:

    • Identify the startup idea mentioned
    • Note timestamp and speaker context
    • Rate idea potential (specificity, market evidence, feasibility)
    • Flag ideas that match trends or validated patterns
  7. Write results to docs/youtube-ideas.md or print summary.

Mode 2: Standalone (without MCP)

  1. Parse input — same as Mode 1 step 1.

  2. Download transcript via yt-dlp:

    # 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
    
  3. Read transcript — Read the transcript.txt file.

  4. Analyze for startup ideas:

    • Scan for business opportunities, pain points, product ideas
    • Note approximate timestamps from VTT cues
    • Rate each idea on specificity and market potential
    • Cross-reference with WebSearch for market validation
  5. For channel analysis — download multiple video transcripts:

    # 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
    
  6. Write results to docs/youtube-ideas.md with format:

    # YouTube Ideas — [Channel/Video]
    Date: YYYY-MM-DD
    
    ## Idea 1: [Name]
    - **Source:** [Video title] @ [timestamp]
    - **Problem:** [What pain point]
    - **Solution:** [What they propose]
    - **Market signal:** [Evidence of demand]
    - **Potential:** [High/Medium/Low] — [why]
    
    ## Idea 2: ...
    

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 (private, self-hosted, free).

Too many ideas, hard to prioritize

Fix: Use /validate on the top 3 ideas to score them through STREAM framework.

Files (solo-factory)
  • references
    • pipeline.md 2.2 KB
      # you2idea Pipeline Details
      
      ## Data Flow
      
      ```
      solograph-cli index-youtube              [Index videos → FalkorDB]
        ↓ (export-data.py)
      make export                             [FalkorDB → all-videos.json + videos.json]
        ↓ (export-vectors.py)
      make export-vectors                     [FalkorDB → vectors.bin + chunks-meta.json + graph.json]
        ↓ (fetch-transcripts.py)
      make fetch-transcripts                  [Download VTT via yt-dlp → public/data/vtt/]
        ↓ (upload-r2.sh)
      make upload                             [Upload to R2 CDN (incremental)]
        ↓
      make build                              [Astro SSG/SSR build]
        ↓
      make deploy                             [Cloudflare Pages deploy]
      ```
      
      ## FalkorDB Graph Schema (YouTube source)
      
      **Nodes:**
      - `Channel` — YouTube channel (handle, name, subscriber count)
      - `Video` — indexed video (title, videoId, created, duration, view_count)
      - `VideoChunk` — timestamped text segment (text, chapter, start_time, start_seconds, embedding)
      - `Tag` — auto-detected topic (name, confidence score)
      
      **Edges:**
      - `Channel → HAS_VIDEO → Video`
      - `Video → HAS_CHUNK → VideoChunk`
      - `Video → HAS_TAG → Tag` (weighted by confidence)
      
      ## Useful Cypher Queries
      
      ```cypher
      -- Video count per channel
      MATCH (c:Channel)-[:HAS_VIDEO]->(v:Video)
      RETURN c.name, COUNT(v) ORDER BY COUNT(v) DESC
      
      -- Recent videos (last 30 days)
      MATCH (v:Video) WHERE v.created > '2026-01-14'
      RETURN v.title, v.created ORDER BY v.created DESC LIMIT 20
      
      -- Videos about specific topic
      MATCH (v:Video)-[:HAS_TAG]->(t:Tag)
      WHERE t.name CONTAINS 'startup'
      RETURN v.title, t.name, t.confidence ORDER BY t.confidence DESC
      
      -- Chunk search by chapter name
      MATCH (v:Video)-[:HAS_CHUNK]->(c:VideoChunk)
      WHERE c.chapter CONTAINS 'idea'
      RETURN v.title, c.chapter, c.start_time, LEFT(c.text, 200)
      ```
      
      ## Export Output Files
      
      | File | Size | Content |
      |------|------|---------|
      | `all-videos.json` | ~680KB | All videos with chapters (search index) |
      | `videos.json` | ~33KB | Channels + recent + stats (UI data) |
      | `vectors.bin` | ~16MB | Float32 embeddings (N × 384) |
      | `chunks-meta.json` | ~5MB | Chunk text + video metadata |
      | `graph.json` | ~200KB | Channels, tags, edges, related videos |
      | `vtt/*.vtt` | ~150MB total | Raw VTT subtitles (727 files) |
      
  • SKILL.md 5.1 KB
    ---
    name: solo-you2idea-extract
    description: Use when "extract ideas from YouTube", "index YouTube video", "find startup ideas in video", "analyze YouTube for ideas", "what ideas are in this video", or mining video content for business opportunities. Do NOT use for general YouTube watching or content creation (/content-gen).
    license: MIT
    metadata:
      author: fortunto2
      version: "2.0.0"
      openclaw:
        emoji: "💡"
    allowed-tools: Read, Grep, Bash, Glob, Write, Edit, AskUserQuestion, mcp__solograph__source_search, mcp__solograph__source_list, mcp__solograph__source_tags, mcp__solograph__source_related, mcp__solograph__kb_search, mcp__searxng__web_search, mcp__searxng__web_extract
    argument-hint: "[video-url or channel-name or 'analyze <query>']"
    ---
    
    # /you2idea-extract
    
    Extract startup ideas from YouTube videos. Two operating modes depending on available tools.
    
    ## Mode Detection
    
    Check which tools are available:
    - **With solograph MCP**: use `source_search`, `source_list`, `source_tags`, `source_related` for indexed corpus
    - **Without MCP (standalone)**: use yt-dlp + Read for transcript analysis
    
    ## MCP Tools (if available)
    
    - `source_search(query, source="youtube")` — semantic search over indexed videos
    - `source_list()` — check indexed video counts
    - `source_tags()` — auto-detected topics with confidence scores
    - `source_related(video_url)` — find related videos by shared tags
    - `kb_search(query)` — cross-reference with knowledge base
    - `web_search(query)` — discover new videos to index
    - `web_extract(url, size, page)` — read a linked article as clean markdown
    
    ## Steps
    
    ### Mode 1: Index + Analyze (with solograph MCP)
    
    1. **Parse input** from `$ARGUMENTS`:
       - URL (`https://youtube.com/watch?v=...`) → single video index
       - Channel name (`GregIsenberg`) → channel batch index
       - Query text → search existing corpus (skip to step 4)
       - If empty, ask: "Video URL, channel name, or search query?"
    
    2. **Index 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
       ```
    
    3. **Verify indexing** — `source_list()` to confirm new video count. `source_tags()` for topic distribution.
    
    4. **Search corpus** — `source_search(query="startup ideas", source="youtube")`.
    
    5. **Cross-reference** — `kb_search(query)` for related existing opportunities (if knowledge base available).
    
    6. **Extract insights** — for each relevant video chunk:
       - Identify the startup idea mentioned
       - Note timestamp and speaker context
       - Rate idea potential (specificity, market evidence, feasibility)
       - Flag ideas that match trends or validated patterns
    
    7. **Write results** to `docs/youtube-ideas.md` or print summary.
    
    ### Mode 2: Standalone (without MCP)
    
    1. **Parse input** — same as Mode 1 step 1.
    
    2. **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
       ```
    
    3. **Read transcript** — Read the transcript.txt file.
    
    4. **Analyze for startup ideas:**
       - Scan for business opportunities, pain points, product ideas
       - Note approximate timestamps from VTT cues
       - Rate each idea on specificity and market potential
       - Cross-reference with WebSearch for market validation
    
    5. **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
       ```
    
    6. **Write results** to `docs/youtube-ideas.md` with format:
       ```markdown
       # YouTube Ideas — [Channel/Video]
       Date: YYYY-MM-DD
    
       ## Idea 1: [Name]
       - **Source:** [Video title] @ [timestamp]
       - **Problem:** [What pain point]
       - **Solution:** [What they propose]
       - **Market signal:** [Evidence of demand]
       - **Potential:** [High/Medium/Low] — [why]
    
       ## Idea 2: ...
       ```
    
    ## 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.
    

Comments (0)

Sign in to join the conversation.

No comments yet.

Reviews (0)

No reviews yet.

Related