# Reasoning Graphs — what you can do

<!-- GENERATED by ops/tools/skill-sync — do not edit by hand. Run pnpm skills:sync. -->

<!-- GENERATED by ops/tools/skill-sync — do not edit by hand. Run `pnpm skills:sync`. -->

# Reasoning Graphs — what you can do

`/admin/d/graphs` · pillar `ai`

Turn any text into a living knowledge map — topics as colors, influence as size, structural gaps as your next question. Build, edit, export & feed the AI.

## Tabs

Every one is a real URL. A tab with its own section below carries a real job.

| Tab | Path | Group | What it is for |
|---|---|---|---|
| `gallery` | `/admin/graphs` | - | - |

## Tools an agent can call here

These are **live page capabilities**: they exist only while that surface is open, and they
call the page's own mutators, so a change made through one is a change the operator can see. A tool
missing from this list is not callable — reach for the API or an adapter instead.

### `graphs:gallery` — Reasoning Graphs gallery

Source: `graphs/GraphsHome.jsx`

What the page tells an agent about itself:

> The user is browsing their reasoning graphs. Use list_graphs before opening by name; after open_graph or create_graph the editor page grants deeper edit tools.

| Tool | Args | Does |
|---|---|---|
| `list_graphs` | — | List the user's reasoning graphs: name, discourse state, node/edge/statement counts, top topics. |
| `open_graph` | `graph` | Open a reasoning graph in the editor by name (partial match) or id. |
| `create_graph` | `name` | Create a new empty reasoning graph (optionally named) and open it in the editor. |

### `graphs:editor` — Reasoning graph: …

Source: `graphs/model/useGraphCapabilities.js`

What the page tells an agent about itself:

> The user is editing a reasoning graph — their text as a live knowledge map (statements → concepts → weighted co-occurrence edges; topics are colored communities; node size is influence; structural gaps are weakly connected topic pairs).
>
> Always call get_graph_overview before reasoning about or changing the graph.
>
> To connect the dots: read the gaps, then add 1-3 SHORT declarative bridging statements via add_statements — each combining concepts from both sides. Prefer small, surgical edits and report exactly what you changed.
>
> Statements must be single short declarative sentences with concrete nouns — they are parsed into the graph.

| Tool | Args | Does |
|---|---|---|
| `get_graph_overview` | — | Read the open reasoning graph: name, metrics (nodes/edges/statements, modularity, discourse state), topics (community label + size + top concepts), structural gaps (weakly connected topic pairs — where bridging ideas belong), muted words and the current selection. Call this FIRST before reasoning about or editing the graph. |
| `list_statements` | — | List the graph's statements in order ({ id, n, text, source }) — the source text every concept and edge derives from. Up to ${MAX_LIST} rows. |
| `get_concept` | `word` | Inspect one concept by word (id, label or any inflection): influence (betweenness 0..1), frequency, topic, strongest neighbors, and the statements that mention it. |
| `add_statements` | `texts` | Add one or more statements to the graph (each ONE short declarative sentence with concrete nouns — it becomes concepts and connections). Use this to develop ideas and to BRIDGE structural gaps: a bridging statement combines concepts from both sides of a gap. Added statements are tagged as AI-written. |
| `edit_statement` | `id` `text` | Rewrite one statement by id (get ids from list_statements). The graph recomputes from the new text. |
| `delete_statement` | `id` | Delete one statement by id (get ids from list_statements). Its concepts/edges leave the graph unless other statements still carry them. |
| `rename_graph` | `name` | Rename the open reasoning graph. |
| `mute_words` | `words` | Mute noise words so they stop being concepts (extra stopwords; either inflection works — "networks" or "network"). Use when generic words dominate the map. |
| `rescue_words` | `words` | Un-mute previously muted words, or force-keep words the base stopword list would drop. |
| `select_concept` | `word` | Highlight a concept on the canvas (its statements light up in the side panel). Pass an empty word to clear the selection. |
| `focus_topic` | `topic` | Spotlight one topic cluster on the canvas (everything else dims). Pass the topic label or a concept from it; empty clears the spotlight. |

## What this domain owns

Its verb is **Open the gallery**.

Entity kinds: `reasoning-graphs.graph`

## API

Mounted prefixes that serve this domain: `/api/graphs`

The full route table is `leumas-capabilities/reference/api-routes.md`.



---
Source: .claude/skills/leumas-studio/reference/domains/graphs.md
Canonical: https://docs.leumas.tech/p/skills/leumas-studio/domains/graphs
