Back to Ruflo

Vector Cluster

plugins/ruflo-ruvector/skills/vector-cluster/SKILL.md

3.6.301.8 KB
Original Source

Vector Cluster

Cluster vectors in a namespace by semantic similarity using ruvector.

When to use

Use this skill when you have a collection of embeddings and want to discover natural groupings. Clustering reveals themes, identifies outliers, and helps organize large vector collections.

Steps

  1. Ensure [email protected] is available:
    bash
    npm ls ruvector 2>/dev/null | grep '0.2.25' || npm install [email protected]
    
  2. Run clustering — in [email protected] the only working clustering is via hooks graph-cluster (spectral/Louvain over a code graph). The top-level cluster command is reserved for distributed cluster ops and is currently "Coming Soon" upstream.
    bash
    npx -y [email protected] hooks graph-cluster <files...>
    npx -y [email protected] hooks graph-mincut <files...>
    
  3. Review output — JSON with cluster assignments, community labels, and edges. If you see "graph.nodes is not iterable", run hooks init first to seed the graph state.
  4. Store results: mcp__claude-flow__memory_store({ key: "clusters-PROJECT-TIMESTAMP", value: "CLUSTER_ASSIGNMENTS", namespace: "vector-clusters" })

Interpreting results

  • High cohesion (>0.85): tight, well-defined cluster
  • Medium cohesion (0.6-0.85): related but diverse content
  • Low cohesion (<0.6): loose grouping, try higher resolution
  • Outliers: novel or anomalous files worth investigating

Caveats

  • cluster --namespace ... --k N and cluster --density are not valid in [email protected] — those flags fall through to the distributed-cluster command, which only accepts --status, --join, --leave, --nodes, --leader, --info.
  • For namespaced k-means over arbitrary embeddings, run k-means in your own code against vectors stored in AgentDB.