session-brain — скилл для Claude Code: что делает и как установить
Строит интерактивный граф тем по истории сессий Claude Code без записи в хранилище заметок. Пригодится для кластеризации диалогов и поиска связей между старыми задачами.
npx skills add Ar9av/obsidian-wiki --skill session-brain -a claude-codeЧто делает session-brain
Скилл строит карту тем по истории сессий Claude Code. Результаты работы сохраняются отдельно в папке ~/.claude/session-brain/, поэтому хранилище заметок остаётся нетронутым. Всю вычислительную работу выполняет локальный скрипт на Python через CLI obsidian-wiki. Он кластеризует диалоги, вычисляет связи и создаёт интерактивный файл graph.html.
Для работы обязательно нужен установленный CLI obsidian-wiki — без этой утилиты сборка графа не запустится. Холодная сборка занимает около 3 секунд для 1000 сессий, а повторные прогоны перечитывают только изменённые файлы. Агенту остаётся дать короткие имена найденным кластерам за один шаг по ключевым словам, не открывая сами транскрипты.
Готовая карта показывает затухающие темы, недавние всплески активности и сессии-мосты между разными направлениями. Около 40% долгого кэша могут составлять сессии без полных транскриптов из history.jsonl. Они отображаются на карте в виде полых узлов.
Какие задачи решает
- сгруппировать историю сессий по темам с помощью локальной кластеризации
- найти заброшенные темы и недавние всплески активности
- визуализировать граф диалогов в браузере через
graph.html - выявить сессии-мосты, соединяющие несвязанные направления работы
Примеры запросов агенту
- Построй граф сессий и покажи главные темы
- Обнови граф сессий с флагом --full и открой визуализацию в браузере
- Проверь кластеры сессий и назови темы, у которых ещё нет имён
Как установить session-brain
1Через Skills CLI (Vercel)
npx skills add Ar9av/obsidian-wiki --skill session-brain -a claude-code2Вручную: положить файлы
~/.claude/skills/session-brain/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/session-brain/
1Через Skills CLI (Vercel)
npx skills add Ar9av/obsidian-wiki --skill session-brain -a codex2Вручную: положить файлы
.agents/skills/session-brain/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add Ar9av/obsidian-wiki --skill session-brain -a cursor2Вручную: положить файлы
.cursor/skills/session-brain/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install Ar9av/obsidian-wiki session-brain2Вручную: положить файлы
.github/skills/session-brain/SKILL.md1Через Skills CLI (Vercel)
npx skills add Ar9av/obsidian-wiki --skill session-brain -a gemini-cli2Командой платформы
gemini skills install https://github.com/Ar9av/obsidian-wiki --path .skills/session-brainВручную: положить файлы
.devin/skills/session-brain/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add Ar9av/obsidian-wiki --skill session-brain -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Из того же набора38
Похожие
Рядом в теме «Настройка агента: память, контекст, субагенты»
Все скиллы по теме «Настройка агента: память, контекст, субагенты» →Вопросы о session-brain
Как установить session-brain в Claude Code?
Выполните команду npx skills add Ar9av/obsidian-wiki --skill session-brain -a claude-code.
Что делает скилл session-brain?
Скилл запускает CLI obsidian-wiki, строит граф истории сессий с локальной кластеризацией и сохраняет HTML-визуализацию в папку ~/.claude/session-brain/. В отличие от инструментов импорта базы знаний, он не трогает хранилище заметок.
Что такое history-only сессии на графе?
Это сессии, сохранившиеся только как промпты в history.jsonl без полных транскриптов — они составляют около 40% долгоживущего кэша. На графе они показаны полыми кольцами: их можно найти через поиск, но прочесть диалог целиком не получится.
Исходный текст
SKILL.md · MIT
---
name: session-brain
description: >
Build or refresh a browser-viewable topic graph over Claude session history using local clustering. Use for mapping or clustering sessions, recent or stale topic analysis, or rebuilding/showing the session graph. Unlike wiki-history-ingest, it indexes raw sessions and never writes to the vault.
---
# Session Brain
Builds a searchable topic graph over your agent session history. The output is a **sidecar**
at `~/.claude/session-brain/` — the vault is never touched.
All the heavy lifting is deterministic Python in the `obsidian-wiki` CLI. Your only job is to
name the clusters, which takes exactly one turn and requires reading no transcripts.
## When to use which skill
| Goal | Skill |
|---|---|
| Build or refresh the graph; survey topics | `session-brain` (this one) |
| Find and load a specific past session | `session-search` |
| Distil sessions into permanent vault pages | `wiki-history-ingest` / `claude-history-ingest` |
## Step 1: Build
```bash
obsidian-wiki sessions-build --json
```
Roughly 3 seconds cold on ~1000 sessions, well under a second incrementally — it re-reads only
transcripts whose size or mtime changed. Useful flags:
| Flag | When |
|---|---|
| `--full` | Ignore all caches and re-read everything |
| `--mutual` | Tighter, smaller clusters (mutual-kNN edges only) |
| `--half-life N` | Change the recency half-life (default 90 days) |
| `--min-sim 0.15` | Fewer, stronger edges — use if the graph is too dense to read |
| `--skip name` | Exclude a project. Match is substring-based; pass the bare name, because cache dirs start with `-` and argparse reads that as a flag |
Report the headline numbers: total sessions, how many have transcripts vs. are history-only,
edges, and cluster count.
## Step 2: Name the unnamed clusters
```bash
obsidian-wiki sessions-clusters --unnamed --json
```
Each cluster comes with `top_terms` and `exemplars` (its three highest-degree sessions, whose
titles are already in `graph.json`). **That is all you need.** Do not open transcripts to name a
cluster — the whole design goal is that naming costs one turn regardless of corpus size.
Write a 3–5 word `name` and a one-sentence `summary` per cluster, then:
```bash
obsidian-wiki sessions-name --from - <<'EOF'
[{"id": 3, "name": "warden telemetry pipeline", "summary": "Building and debugging the redacted telemetry chain."}]
EOF
```
Names are stored in `names.json` keyed by the cluster's dominant vocabulary, not its id — so they
survive rebuilds even though cluster ids are positional and shift as the corpus grows. On repeat
runs `--unnamed` is usually empty and this step is free.
If a cluster's terms are genuinely incoherent, name it honestly (`"mixed — short sessions"`)
rather than inventing a theme.
## Step 3: Report the map
Read `clusters.json` and tell the user:
- **Biggest topics** — by `size`
- **What's hot** — highest `momentum` (activity in the last 30 days vs. the 60 before it)
- **What's gone quiet** — `dormant: true` (low recency *and* nothing in 60 days)
- **Where topics meet** — `bridges`, the sessions that connect two otherwise separate topics.
These are often the most interesting sessions in the graph.
Then offer the visualisation:
```bash
open ~/.claude/session-brain/graph.html
```
Node size is session length, brightness is recency, hollow rings are history-only sessions, and
gold borders are bookmarked ones. The time slider and search box filter together.
## Notes
- **Never write to the vault** from this skill. If the user wants session knowledge in the vault,
that is `wiki-history-ingest`.
- **History-only sessions are real.** Roughly 40% of a long-lived cache exists only as prompts in
`history.jsonl`; those get graph nodes and are findable, but can never be loaded. Say so plainly
rather than implying they are missing.
- The graph is derived data. If it looks wrong, `--full` rebuilds from scratch; nothing is lost.
© Ar9av · MIT · Ar9av/obsidian-wiki