GitHub Semantic Search
by @ultracold-molecule
AI-Native GitHub Assistant powered by Embedder+Qdrant+LLM architecture. Index repos, semantic search across issues/PRs/code, proactive monitoring with Feishu...
clawhub install github-semanticπ About This Skill
name: super-github description: "AI-Native GitHub Assistant powered by Embedder+Qdrant+LLM architecture. Index repos, semantic search across issues/PRs/code, proactive monitoring with Feishu alerts. Use when: (1) natural language GitHub queries, (2) tracking issues/PRs/CI across repos, (3) monitoring repos for bugs/keywords, (4) finding related issues without keyword matching."
π¦ Super GitHub β AI-Native GitHub Assistant
> Powered by the same Embedder + Qdrant + LLM architecture as elite memory systems. > Index repos, search semantically, monitor proactively β all with natural language.
Architecture
Query β [LLM: understand intent] β [Embedder: vectorize] β [Qdrant: semantic search] β [gh CLI: act]
Three-layer system (same as production memory pipelines):
| Layer | Component | Role |
|-------|-----------|------|
| Embedder | Ollama nomic-embed-text | Converts text β 768-dim vectors |
| Vector Store | Qdrant (local) | Stores & searches vectors by similarity |
| Action Layer | gh CLI | Executes GitHub operations |
Prerequisites
gh CLI authenticated (gh auth status)nomic-embed-text:latestlocalhost:6333Quick Start
# 1. Initialize Qdrant collection
python scripts/github_indexer.py init2. Index a repo
python scripts/github_indexer.py add owner/repo --all3. Search with natural language
python scripts/github_search.py "memory search failing in agent" --limit 104. Monitor for keywords
python scripts/github_monitor.py watch owner/repo --events issues,ci --keywords bug,broken,urgent
Scripts
| Script | Purpose |
|--------|---------|
| github_indexer.py | Index repos (issues, PRs, metadata) into Qdrant |
| github_search.py | Natural language semantic search |
| github_monitor.py | Proactive monitoring with keyword alerts |
Detailed Commands
Index (github_indexer.py)
python github_indexer.py init # Create Qdrant collection
python github_indexer.py add owner/repo --all # Index everything
python github_indexer.py add owner/repo --issues # Issues only
python github_indexer.py add owner/repo --prs # PRs only
python github_indexer.py add owner/repo --repo # Repo metadata
python github_indexer.py status # Show indexed data
python github_indexer.py rm owner/repo # Remove from index
Search (github_search.py)
python github_search.py "query" # Search all
python github_search.py "query" --repo owner/repo # Filter by repo
python github_search.py "query" --type issue # Filter by type
python github_search.py "query" --limit 20 # More results
python github_search.py "query" --repo owner/repo --ci # Show CI runs
Monitor (github_monitor.py)
python github_monitor.py watch owner/repo # Start watching
python github_monitor.py watch owner/repo --events issues,ci
python github_monitor.py status # Show watches
python github_monitor.py check # Run checks
python github_monitor.py unwatch owner/repo # Stop watching
Memory System Analogy
| Component | GitHub Skill | Memory System | |-----------|-------------|---------------| | Data | Issues, PRs, code | Conversations | | Embedder | nomic-embed-text | nomic-embed-text | | Vector Store | Qdrant | Qdrant | | Add | github_indexer.py | mem0 add | | Search | github_search.py | mem0 search |
Why Vector Search vs Keyword?
| Approach | "memory problems" query | |----------|--------------------------| | Keyword | Exact match only | | Vector (this) | "memory leak", "OOM", "out of memory" |
Setup Checklist
gh auth login β authenticate GitHub CLIollama pull nomic-embed-text:latest β download embedderqdrant --storage-path ./qdrant-datapython github_indexer.py init β create collectionπ‘ Examples
# 1. Initialize Qdrant collection
python scripts/github_indexer.py init2. Index a repo
python scripts/github_indexer.py add owner/repo --all3. Search with natural language
python scripts/github_search.py "memory search failing in agent" --limit 104. Monitor for keywords
python scripts/github_monitor.py watch owner/repo --events issues,ci --keywords bug,broken,urgent
βοΈ Configuration
gh CLI authenticated (gh auth status)nomic-embed-text:latestlocalhost:6333