Help us improve
Share bugs, ideas, or general feedback.
From kg
Searches, traverses, and narrates connections in a knowledge graph to surface what's known and what's missing about a topic.
npx claudepluginhub ohdearquant/khive --plugin kgHow this skill is triggered — by the user, by Claude, or both
Slash command
/kg:exploreThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
You want to know what the graph contains about a topic. This skill retrieves, traverses,
Traverses knowledge graph across memories, entities, and relationships for comprehensive context. Use before planning complex work, investigating concept connections, or answering 'what do you know about X'.
Ingests research material into a knowledge graph by extracting entities, creating links, and verifying density. Useful for organizing papers, concepts, and implementations.
Explores knowledge vault on a topic using semantic search, graph neighborhood traversal, and gap analysis to map notes, connections, and missing knowledge before research or note creation.
Share bugs, ideas, or general feedback.
You want to know what the graph contains about a topic. This skill retrieves, traverses, and narrates — giving you a grounded picture of existing knowledge and where the gaps are.
search(kind="entity", query="<topic>")
search(kind="note", query="<topic>")
Entity search finds concepts/papers/projects by name and description. Note search finds observations/insights/decisions by content (excludes superseded notes automatically).
For each relevant entity found:
neighbors(node_id="<entity-id>", direction="both")
This gives immediate connections. For deeper structure:
traverse(roots=["<entity-id>"], max_depth=3, direction="out",
relations=["extends", "variant_of", "instance_of"])
Common traversal patterns:
direction="out", relations=["extends", "variant_of", "instance_of"]direction="in", relations=["extends", "variant_of", "implements"]direction="in", relations=["annotates"]direction="in", relations=["depends_on", "enables"]For complex structural queries, use GQL:
query("MATCH (a:concept)-[:extends]->(b:concept) WHERE b.name = 'LoRA' RETURN a.name, a.id LIMIT 20")
GQL constraints (the parser is limited):
a.name, a.id, a.entity_kind (top-level fields only)a.domain, a.type etc. (accessed via json_extract internally)RETURN a.properties gets the full JSON blobWHERE NOT, COUNT, ORDER BY, [*..N] variable-length without minSynthesize what you found into a coherent picture:
Identify what's missing:
Report gaps as actionable next steps (e.g., "X exists but has no introduced_by edge — find the source paper").
| Want to... | Use |
|---|---|
| Find by content/similarity | search(kind="entity|note", query="...") |
| Immediate connections | neighbors(node_id, direction, relations) |
| Multi-hop reachability | traverse(roots, max_depth, direction, relations) |
| Structural patterns | query("MATCH ... RETURN ...") |
| Browse a category | list(kind="entity", entity_kind="concept", limit=50) |
Topic coverage saturated — you've traversed the relevant subgraph, narrated the connections, and identified actionable gaps. Don't chase every thread; report gaps for follow-up ingestion.