Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Query the local code graph (functions, classes, calls, imports) through the Deeplake mount at memory/graph/. Use when the user asks structural questions about the codebase — "what calls X?", "what does Y import?", "where is Z defined?", "what's the architecture / which subsystems exist?", "what's the impact of changing this?". The graph is an AST-derived map of the repo, queried as files (no build needed — it rebuilds automatically).
.claude/skills/activeloopai-hivemind-graph/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-05 | ✗→✓ | ▲ Improved | 29% | 0% |
| case-07 | ✗→✓ | ▲ Improved | -51% | 0% |
| case-09 | ✗→✓ | ▲ Improved | 19% | 0% |
| case-12 | ✗→✓ | ▲ Improved | -11% | 0% |
| case-13 | ✗→✓ | ▲ Improved | -21% | 0% |
A deterministic, AST-derived map of the current repository — every function, class, method, interface, type, enum, const, and module, plus the edges between them (calls, imports, extends, implements, method_of).
The graph builds and refreshes automatically after each turn (gated by rate limit + git diff). You never run a build command — just call the graph tools.
Set plugins.entries.hivemind.config.tuning.HIVEMIND_GRAPH_CWD in ~/.openclaw/openclaw.json to the git root of the project you want indexed when the gateway's working directory is not the repo (then restart the gateway).
Use the graph as a fast INDEX to locate the few files/symbols that matter, then use the host's read/exec tools on the real source. It is not a substitute for reading source files.
Activate when the user asks a structural / relational question about the code:
pushSnapshot?" / "Who uses this function?"deeplake-pull.ts import?" / "What depends on X?"GraphSnapshot defined?" / "Find the function that handles Y."hivemind_graph_search({ pattern }) — search symbols by substring (ormulti-token AND with +, e.g. auth+handler). Returns matches with 1-hop neighbors (callers, callees, imports). Start here.
hivemind_graph_neighborhood({ file }) — every symbol in a repo-relativefile path plus its cross-file neighbors.
hivemind_graph_search({ pattern: "<symbol>" }).hivemind_graph_neighborhood({ file: "src/hooks/capture.ts" }).source_file:line from the tool output withthe host read tool — don't answer from the graph alone.
dynamic calls are not fully resolved.
pattern is lexical, not semantic — try multiple keywords if the first misses.| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | 9,329 | 3,565 | -62% | 1 | 1 | 0% | 1,525 | 779 | -49% | 0 | 0 | — |
case-02 | fail→fail | 3,679 | 3,807 | +3% | 1 | 1 | 0% | 587 | 833 | +42% | 0 | 0 | — |
case-03 | fail→fail | 4,319 | 3,072 | -29% | 1 | 1 | 0% | 696 | 772 | +11% | 0 | 0 | — |
case-04 | fail→fail | 3,154 | 7,793 | +147% | 1 | 1 | 0% | 489 | 1,338 | +174% | 0 | 0 | — |
case-05 | fail→pass | 5,196 | 6,182 | +19% | 1 | 1 | 0% | 922 | 1,186 | +29% | 0 | 0 | — |
case-06 | fail→fail | 7,094 | 4,038 | -43% | 1 | 1 | 0% | 464 | 913 | +97% | 0 | 0 | — |
case-07 | fail→pass | 11,698 | 5,237 | -55% | 1 | 1 | 0% | 2,128 | 1,044 | -51% | 0 | 0 | — |
case-08 | pass→pass | 10,944 | 4,211 | -62% | 1 | 1 | 0% | 1,752 | 1,351 | -23% | 0 | 0 | — |
case-09 | fail→pass | 5,939 | 3,436 | -42% | 1 | 1 | 0% | 1,063 | 1,261 | +19% | 0 | 0 | — |
case-10 | fail→fail | 7,754 | 2,829 | -64% | 1 | 1 | 0% | 1,480 | 741 | -50% | 0 | 0 | — |
case-15 | fail→fail | 9,405 | 5,035 | -46% | 1 | 1 | 0% | 1,619 | 1,006 | -38% | 0 | 0 | — |
case-11 | pass→pass | 5,646 | 3,309 | -41% | 1 | 1 | 0% | 918 | 1,235 | +35% | 0 | 0 | — |
case-12 | fail→pass | 7,958 | 3,606 | -55% | 1 | 1 | 0% | 1,499 | 1,341 | -11% | 0 | 0 | — |
case-13 | fail→pass | 9,076 | 4,247 | -53% | 1 | 1 | 0% | 1,777 | 1,410 | -21% | 0 | 0 | — |
case-14 | fail→pass | 4,158 | 2,506 | -40% | 1 | 1 | 0% | 759 | 1,130 | +49% | 0 | 0 | — |
case-16 | fail→pass | 7,172 | 2,549 | -64% | 1 | 1 | 0% | 1,214 | 1,152 | -5% | 0 | 0 | — |
case-17 | fail→fail | 10,188 | 2,688 | -74% | 1 | 1 | 0% | 1,880 | 1,124 | -40% | 0 | 0 | — |
case-18 | fail→fail | 9,797 | 2,854 | -71% | 1 | 1 | 0% | 1,891 | 1,043 | -45% | 0 | 0 | — |
case-19 | fail→pass | 10,162 | 2,218 | -78% | 1 | 1 | 0% | 1,846 | 990 | -46% | 0 | 0 | — |
case-20 | fail→fail | 5,781 | 2,669 | -54% | 1 | 1 | 0% | 989 | 726 | -27% | 0 | 0 | — |
case-21 | pass→pass | 13,026 | 3,539 | -73% | 1 | 1 | 0% | 2,136 | 1,233 | -42% | 0 | 0 | — |
case-22 | pass→pass | 8,210 | 1,681 | -80% | 1 | 1 | 0% | 1,364 | 916 | -33% | 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, and 14 counted toward the lift figure. The other 8 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +36 percentage points is the difference between those two pass rates over the 14 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.