vector-searchlisted
Install: claude install-skill eric-cielo/moflo
# MoFlo Vector Search (RAG)
Semantic search over your own documents, backed by moflo's HNSW index in `.moflo/moflo.db` (node:sqlite, Node 22+ built-in). Small enough to ship in a devDependency; fast enough for interactive retrieval at 100k–1M vectors.
## When to Use This vs `memory-patterns`
- **`memory-patterns`** — structured, namespaced memory you own (sessions, learnings, patterns). Keys matter. Entries are conceptual units.
- **This skill (`vector-search`)** — search over documents you've ingested for retrieval. Entries are content chunks. Keys are just stable IDs for dedupe.
Both use the same index; the difference is how you chunk and what you put in the `value` field.
## Ingest
Two paths. Pick the one that matches your source of truth:
### A. Ad-hoc ingest from Claude Code
```typescript
for (const [id, text] of chunks) {
await mcp.memory_store({
namespace: 'docs', // your RAG corpus
key: id, // stable ID for this chunk (file path + offset, etc.)
value: text, // the chunk content — what gets embedded
tags: ['doc', docType],
upsert: true,
});
}
```
### B. Repeatable ingest from the filesystem
Use moflo's shipped indexers (cross-platform, skip unchanged chunks via a hash file):
```bash
# Guidance docs → namespace 'guidance'
node .claude/scripts/index-guidance.mjs
# Code structure → namespace 'code-map'
node .claude/scripts/generate-code-map.mjs
# Your own corpus — write a small indexer that loops ov