What problem does it solve? Combining keyword (BM25/FTS5) and vector similarity search results into a single ranking is error-prone: score scales are incompatible, one modality can silently return nothing, and untested fusion constants degrade retrieval quality. This Skill provides a decision framework, measured defaults, and debugging playbooks for fusing dense and sparse retrieval correctly. ## Core Features & Use Cases - Fusion method selection: Decision framework covering RRF, weighted RRF, score fusion (CombSUM/min-max/DBSF), and learned reranking, with production defaults from Elasticsearch, OpenSearch, Qdrant, Weaviate, Vespa, and Azure AI Search. - SQLite FTS5 + vec0 implementation guidance: Pure-SQL RRF pattern, safe FTS5 query normalization (OR-joining tokens, stripping reserved words), two-layer fusion for scope-multiplexed stores, and vec0 blob/KNN/snippet gotchas. - Validation and debugging playbooks: Golden retrieval harness spec (nDCG, MRR, Kendall-τ sweeps), content-first rank-change triage, dead-modality detection, and measured operational pitfalls like candidate-window starvation. - Use Case: When replacing a search extension in a .NET SQLite memory store, use this Skill to implement weighted RRF over FTS5 and vec0, sweep k and weights through the real pipeline, and prove parity against the old implementation with a fixed-corpus harness. ## Quick Start Ask the AI to help you fuse FTS5 BM25 and vec0 vector search results in your SQLite store using Reciprocal Rank Fusion with a swept k parameter.