Install any skill in seconds. Free to start, no credit card required.
Get Started Free →First-run setup for ruvector@0.2.25 — installs ONNX/Brain/SONA add-ons, registers the MCP server, and verifies the install via `doctor`
.claude/skills/ruvnet-vector-setup/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-02 | ✗→✓ | ▲ Improved | -23% | 0% |
| case-01 | ✗→✓ | ▲ Improved | 15% | 0% |
| case-03 | ✗→✓ | ▲ Improved | -7% | 0% |
| case-04 | ✗→✓ | ▲ Improved | -17% | 0% |
| case-06 | ✗→✓ | ▲ Improved | -20% | 0% |
Bootstraps ruvector@0.2.25 and its optional add-ons so every /vector subcommand actually works on first run.
Out of the box, several /vector subcommands fail with a confusing dep error:
| Error | Missing package | |-------|-----------------| | ONNX WASM files not bundled. The onnx/ directory is missing. | ruvector-onnx-embeddings-wasm | | Brain commands require @ruvector/pi-brain | @ruvector/pi-brain | | SONA not available. Native error: Cannot find module '/.../@ruvector/sona/index.js' | @ruvector/ruvllm (JS fallback) | | LLM commands require @ruvector/ruvllm | @ruvector/ruvllm |
This skill installs them in one pass.
bash npm install ruvector@0.2.25
bash npm install ruvector-onnx-embeddings-wasm \ @ruvector/pi-brain \ @ruvector/ruvllm For a leaner install, pass --full to also pull @ruvector/graph-node and @ruvector/router: bash npm install ruvector-onnx-embeddings-wasm \ @ruvector/pi-brain \ @ruvector/ruvllm \ @ruvector/graph-node \ @ruvector/router
bash npx -y ruvector@0.2.25 doctor npx -y ruvector@0.2.25 info
bash claude mcp add ruvector -- npx -y ruvector@0.2.25 mcp start claude mcp list | grep ruvector
bash npx -y ruvector@0.2.25 hooks route "test" npx -y ruvector@0.2.25 attention list npx -y ruvector@0.2.25 rvf examples
bash npx -y ruvector@0.2.25 identity generate npx -y ruvector@0.2.25 identity show
For a deterministic verification of the install, run the plugin's bundled smoke script:
bashbash plugins/ruflo-ruvector/scripts/smoke.sh
It checks: version pin, top-level subcommand visibility, hooks ast-analyze, hooks route, attention list, rvf examples, and info. Exits non-zero if any drift from the contracted surface is detected.
@ruvector/core)@ruvector/sona native binding (the JS fallback via @ruvector/ruvllm is sufficient on macOS arm64; Linux x64 has its own native binding)If doctor still reports a problem after this skill runs, paste its output verbatim and ask.
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-02 | fail→pass | 13,488 | 5,942 | -56% | 1 | 1 | 0% | 3,184 | 2,440 | -23% | 0 | 0 | — |
case-01 | fail→pass | 30,574 | 5,314 | -83% | 1 | 1 | 0% | 1,928 | 2,216 | +15% | 0 | 0 | — |
case-03 | fail→pass | 10,292 | 4,569 | -56% | 1 | 1 | 0% | 2,159 | 2,017 | -7% | 0 | 0 | — |
case-04 | fail→pass | 6,784 | 2,080 | -69% | 1 | 1 | 0% | 1,446 | 1,203 | -17% | 0 | 0 | — |
case-05 | fail→fail | 7,865 | 1,976 | -75% | 1 | 1 | 0% | 1,488 | 1,174 | -21% | 0 | 0 | — |
case-06 | fail→pass | 9,863 | 3,089 | -69% | 1 | 1 | 0% | 1,940 | 1,547 | -20% | 0 | 0 | — |
case-07 | fail→pass | 7,797 | 2,446 | -69% | 1 | 1 | 0% | 1,484 | 1,392 | -6% | 0 | 0 | — |
case-08 | fail→pass | 6,646 | 1,301 | -80% | 1 | 1 | 0% | 1,203 | 1,047 | -13% | 0 | 0 | — |
case-09 | fail→pass | 5,510 | 1,306 | -76% | 1 | 1 | 0% | 1,139 | 1,046 | -8% | 0 | 0 | — |
case-10 | fail→pass | 5,441 | 1,286 | -76% | 1 | 1 | 0% | 1,044 | 1,013 | -3% | 0 | 0 | — |
case-11 | fail→pass | 5,530 | 1,384 | -75% | 1 | 1 | 0% | 1,143 | 1,096 | -4% | 0 | 0 | — |
case-12 | fail→pass | 5,758 | 2,136 | -63% | 1 | 1 | 0% | 1,199 | 1,146 | -4% | 0 | 0 | — |
case-13 | fail→fail | 3,866 | 1,139 | -71% | 1 | 1 | 0% | 723 | 970 | +34% | 0 | 0 | — |
case-14 | fail→pass | 4,113 | 1,316 | -68% | 1 | 1 | 0% | 709 | 1,060 | +50% | 0 | 0 | — |
case-15 | fail→pass | 8,591 | 1,482 | -83% | 1 | 1 | 0% | 1,636 | 1,054 | -36% | 0 | 0 | — |
case-16 | fail→pass | 6,772 | 4,035 | -40% | 1 | 1 | 0% | 1,230 | 1,633 | +33% | 0 | 0 | — |
case-17 | pass→pass | 6,379 | 3,172 | -50% | 1 | 1 | 0% | 1,137 | 1,387 | +22% | 0 | 0 | — |
case-18 | fail→pass | 5,847 | 1,165 | -80% | 1 | 1 | 0% | 1,197 | 969 | -19% | 0 | 0 | — |
case-19 | fail→pass | 7,763 | 1,794 | -77% | 1 | 1 | 0% | 1,491 | 1,118 | -25% | 0 | 0 | — |
case-20 | pass→pass | 7,339 | 5,635 | -23% | 1 | 1 | 0% | 1,358 | 1,862 | +37% | 0 | 0 | — |
case-21 | pass→pass | 12,004 | 9,605 | -20% | 1 | 1 | 0% | 2,580 | 2,932 | +14% | 0 | 0 | — |
case-22 | pass→pass | 12,778 | 11,473 | -10% | 1 | 1 | 0% | 2,436 | 3,196 | +31% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted. The headline lift of +73 percentage points is the difference between those two pass rates over the 22 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.