Skills

Session Brain

Build or refresh a browser-viewable topic graph over Claude session history using local...

Install

npx skills add Ar9av/obsidian-wiki --skill session-brain -g -a claude-code -y
Repository
Ar9av/obsidian-wiki3.6k
Category
AI and agents
Updated
3d ago
License
MIT
Context cost
Lightabout 903 tokens
Runs scripts
No, instructions only

What it does

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

GoalSkill
Build or refresh the graph; survey topicssession-brain (this one)
Find and load a specific past sessionsession-search
Distil sessions into permanent vault pageswiki-history-ingest / claude-history-ingest

Step 1: Build

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:

FlagWhen
--fullIgnore all caches and re-read everything
--mutualTighter, smaller clusters (mutual-kNN edges only)
--half-life NChange the recency half-life (default 90 days)
--min-sim 0.15Fewer, stronger edges, use if the graph is too dense to read
--skip nameExclude 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

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:

Read the whole SKILL.md on GitHub

More in AI and agents