knowledge_graph_skill · git:20260620.da69752 · 2026-06-20 · sha256 c7e4d0a292f7fa41

knowledge_graph_skill git:20260620.da69752A

Immutable. This exact content never changes and is served at /api/v1/blob/c7e4d0a292f7fa41.

---
name: knowledge_graph_skill
description: "Skill for searching and evolving the SQLite-backed Knowledge Graph.\
  \ Use this when you need structured fact/concept/link search across one or more\
  \ teams, NPCs, or directory scopes.\nThe Knowledge Graph (KG) is stored in the application's\
  \ database (not YAML). It is scoped by (team_name, npc_name, directory_path). Facts\
  \ and concepts carry generation numbers and origin tags.\nSearch methods (choose\
  \ the right one):\n1. Keyword search \u2014 fast substring match over fact statements.\n\
  \   `kg_search_facts(engine_or_kg, \"keyword\")` \u2192 List[str]\n\n2. Embedding\
  \ search \u2014 semantic cosine similarity via vector embeddings.\n   `kg_embedding_search(engine_or_kg,\
  \ query=\"...\", embedding_model=\"nomic-embed-text\",\n    embedding_provider=\"\
  ollama\", similarity_threshold=0.6, max_results=20)`\n   \u2192 List[dict] with\
  \ 'content', 'type', 'score'\n\n3. Link search \u2014 graph traversal (BFS/DFS)\
  \ starting from keyword-matched seeds.\n   `kg_link_search(engine_or_kg, query=\"\
  ...\", max_depth=2, breadth_per_step=5,\n    strategy=\"bfs\", max_results=20)`\n\
  \   \u2192 List[dict] with 'content', 'type', 'depth', 'path', 'score'\n\n4. Hybrid\
  \ search \u2014 combines keyword + embedding + link, boosting results\n   found\
  \ by multiple methods.\n   `kg_hybrid_search(engine_or_kg, query=\"...\", mode=\"\
  all\", max_depth=2,\n    similarity_threshold=0.6, max_results=20)`\n   \u2192 List[dict]\
  \ with 'content', 'type', 'score', 'source'\n\nGraph evolution (use sparingly, usually\
  \ in background): - `kg_initial(content, model, provider)` \u2014 build a new KG\
  \ from text - `kg_evolve_incremental(existing_kg, new_content_text, ...)` \u2014\
  \ add content - `kg_sleep_process(existing_kg, model, provider)` \u2014 prune/deepen/consolidate\
  \ - `kg_dream_process(existing_kg, model, provider, num_seeds)` \u2014 speculative\
  \ synthesis\nWhen a user asks a question that spans facts, concepts, and their relationships,\
  \ prefer hybrid search. For pure semantic similarity without graph structure, use\
  \ embedding search. For exploring connected neighborhoods, use link search with\
  \ BFS."
---

# knowledge_graph_skill

Skill for searching and evolving the SQLite-backed Knowledge Graph. Use this when you need structured fact/concept/link search across one or more teams, NPCs, or directory scopes.
The Knowledge Graph (KG) is stored in the application's database (not YAML). It is scoped by (team_name, npc_name, directory_path). Facts and concepts carry generation numbers and origin tags.
Search methods (choose the right one):
1. Keyword search — fast substring match over fact statements.
   `kg_search_facts(engine_or_kg, "keyword")` → List[str]

2. Embedding search — semantic cosine similarity via vector embeddings.
   `kg_embedding_search(engine_or_kg, query="...", embedding_model="nomic-embed-text",
    embedding_provider="ollama", similarity_threshold=0.6, max_results=20)`
   → List[dict] with 'content', 'type', 'score'

3. Link search — graph traversal (BFS/DFS) starting from keyword-matched seeds.
   `kg_link_search(engine_or_kg, query="...", max_depth=2, breadth_per_step=5,
    strategy="bfs", max_results=20)`
   → List[dict] with 'content', 'type', 'depth', 'path', 'score'

4. Hybrid search — combines keyword + embedding + link, boosting results
   found by multiple methods.
   `kg_hybrid_search(engine_or_kg, query="...", mode="all", max_depth=2,
    similarity_threshold=0.6, max_results=20)`
   → List[dict] with 'content', 'type', 'score', 'source'

Graph evolution (use sparingly, usually in background): - `kg_initial(content, model, provider)` — build a new KG from text - `kg_evolve_incremental(existing_kg, new_content_text, ...)` — add content - `kg_sleep_process(existing_kg, model, provider)` — prune/deepen/consolidate - `kg_dream_process(existing_kg, model, provider, num_seeds)` — speculative synthesis
When a user asks a question that spans facts, concepts, and their relationships, prefer hybrid search. For pure semantic similarity without graph structure, use embedding search. For exploring connected neighborhoods, use link search with BFS.

## Inputs

- `name` (default: `'search_method'`)
- `description` (default: `'keyword | embedding | link | hybrid'`)
- `name` (default: `'query'`)
- `description` (default: `"The user's query or topic to search"`)
- `name` (default: `'scope_team'`)
- `description` (default: `'Team name to scope the search (optional)'`)
- `name` (default: `'scope_npc'`)
- `description` (default: `'NPC name to scope the search (optional)'`)
- `name` (default: `'scope_directory'`)
- `description` (default: `'Directory path to scope the search (optional)'`)

## Steps

- `instruct` → [`instruct.py`](./instruct.py)

## Usage

```
/run_jinx jinx_ref=knowledge_graph_skill input_values={"name": "scope_directory", "description": "Directory path to scope the search (optional)"}
```