К основному содержанию
скилл CX Codex

session-search — скилл для Claude Code: что делает и как установить

Ищет прошлые диалоги с агентом через граф session-brain и загружает стенограмму в текущую беседу. Пригодится, чтобы вспомнить решение давней задачи.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add Ar9av/obsidian-wiki --skill session-search -a claude-code
Открыть на GitHub

Что делает session-search

Скилл выполняет поиск по сохранённым сессиям агента через команду obsidian-wiki sessions-query. Ранжирование объединяет четыре фактора: косинусное сходство TF-IDF, общий кластер тем, флаги закладок и затухание по времени с полураспадом 90 дней. Кластерный анализ выводит наверх нужную сессию, даже если ключевое слово не встречалось в ней дословно.

Результаты выводятся компактной таблицей с названием проекта, датой и причиной совпадения. Контекст загружается максимум для трёх сессий. Скилл проверяет наличие локальных расширений claude-session-load или bookmark-load в каталоге ~/.claude/skills/. Если их нет, агент читает данные через obsidian-wiki sessions-show либо фильтрует реплики пользователя скриптом на Python.

Без предварительно собранного файла graph.json поиск завершится с ошибкой. При возрасте графа более 7 дней инструмент предложит сборку заново, но не запустит её сам. Если у сессии стоит флаг loadable: false, её стенограмма уже стёрта с диска: агент честно сообщит об этом и ответит только по сохранившимся текстам промптов.

Какие задачи решает

  • найти сессию агента по теме давней задачи
  • загрузить стенограмму прошлого разговора в текущий контекст
  • проверить дату последней работы над конкретной фичей
  • отфильтровать реплики человека из многомегабайтного лога JSONL

Примеры запросов агенту

  • В какой из прошлых сессий мы настраивали сборку через Docker?
  • Найди сессию по проекту auth и подгрузи её контекст
  • Когда в последний раз обсуждалась миграция базы данных?

Как установить session-search

1Через Skills CLI (Vercel)

npx skills add Ar9av/obsidian-wiki --skill session-search -a claude-code

2Вручную: положить файлы

~/.claude/skills/session-search/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/session-search/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Вопросы о session-search

Как установить session-search в Claude Code?

Выполните в терминале команду npx skills add Ar9av/obsidian-wiki --skill session-search -a claude-code.

Что делает скилл session-search?

Он запрашивает граф session-brain по теме, находит подходящие диалоги из истории и переносит их стенограмму в текущий диалог.

Что произойдёт, если стенограмма сессии удалена с диска?

Сессии со статусом loadable: false остаются только в истории. Скилл предупредит об отсутствии полной стенограммы и построит ответ по сохранившемуся тексту пользовательских промптов.

Исходный текст

SKILL.md · MIT
---
name: session-search
description: >
  Search the session-brain graph for a past agent session by topic and load the winning transcript into the current conversation. Use for finding which session handled X, when Y was last worked on, or whether this was done before. Read-only; requires a session-brain graph.
---

# Session Search

Answers "which of my past sessions was about X" and then pulls that session's context in.

## Step 1: Check the graph exists and is fresh

```bash
obsidian-wiki sessions-query "<topic>" --json
```

If this exits 1 with "run sessions-build first", tell the user and offer `/session-brain`. If
`graph.json` is more than ~7 days old, mention it and offer a rebuild — but **do not silently
rebuild**, since that is a multi-second operation the user did not ask for.

## Step 2: Rank

The scoring already combines four signals, so take the ordering as given rather than re-ranking:

- **similarity** — TF-IDF cosine against the session's text
- **cluster lift** — a session inside the best-matching topic scores higher even if its own words
  never matched. This is why a session that never said "telemetry" can still surface for it.
- **bookmark boost** — a human already flagged this session as worth keeping
- **time decay** — 90-day half-life, applied with a floor so an old exact match still outranks a
  fresh weak one

Useful filters: `--project NAME`, `--cluster N`, `--since DATE`, `--top N`.

## Step 3: Present

Show the top ~5 as a compact table — title, project, date, topic, and the `why` string, which
already explains the match. Do not dump the raw JSON at the user.

Two things must be stated honestly rather than glossed over:

- Entries with `loadable: false` are **history-only**: the transcript has been pruned from disk
  and only the prompts survive. They are listed in `unloadable` with a reason. Say the transcript
  is gone; do not imply it can be retrieved.
- If everything relevant is unloadable, answer from the prompt text that *is* there and say that
  is all that remains.

## Step 4: Load — hand off, do not reimplement

`should_load` holds at most 3 session ids worth opening, already filtered to ones with
transcripts.

**Prefer an existing loader skill if the user has one installed:**

- `claude-session-load` — loads a Claude session by id
- `bookmark-load` — use when the hit is bookmarked

⚠️ Those skills live in the user's personal skills directory (`~/.claude/skills/`), **not in this
repo**. They may not exist. Do not assume them and do not error if they are absent — fall back to
reading the transcript directly:

```bash
# the path is in the query result as `transcript`
obsidian-wiki sessions-show <session-id> --pretty
```

The transcript is JSONL and can be tens of MB. **Never read one whole.** Filter to the human turns
first:

```bash
grep -c '' <transcript>   # size check before anything else
python3 -c "
import json,sys
for line in open(sys.argv[1], errors='replace'):
    try: r = json.loads(line)
    except ValueError: continue
    if r.get('type')=='user' and not r.get('isSidechain') and not r.get('isMeta'):
        c = (r.get('message') or {}).get('content')
        if isinstance(c,str) and not c.lstrip().startswith('<'): print('>', c[:400])
" <transcript>
```

## Step 5: Answer

Synthesise from what you loaded and cite the session ids you used. If the answer came from a
history-only session's prompts rather than a real transcript, say so — the user needs to know how
much of the context you actually have.

## Related

- `/session-brain` — build or refresh the graph, survey and name topics
- `wiki-query` — search compiled vault knowledge; this skill searches raw session history instead
- `wiki-agent` — pull a topic out of *another* agent's history and distil it into the vault

© Ar9av · MIT · Ar9av/obsidian-wiki

Похожие скиллы

Все скиллы по теме «Настройка агента: память, контекст, субагенты» →
cass Dicklesworthstone Скилл учит агента искать по локальной истории кодинг-агентов через CLI cass: находит старые сессии, показывает нужную строку и отдаёт фрагмент в JSON. CX Codex +1 3 300установок google-image-search glebis Ищет и скачивает иллюстрации через Google Custom Search API с отбором через LLM и вставкой в заметки Obsidian. CX Codex +1 643установок youtube-search ZeroPointRepo Скилл ищет видео, каналы и плейлисты на YouTube и вытаскивает транскрипты через TranscriptAPI. Пригодится, когда агенту нужен материал с видео, а не из статей. CX Codex +1 986установок second-brain NicholasSpisak Разворачивает хранилище заметок в Obsidian по модели вики для ИИ. Интерактивный опросник настраивает каталоги на диске, инструкции агентам и вспомогательные утилиты. CX Codex +1 2 800установок obsidian-canvas-creator axtonliu Скилл собирает из текста файл JSON Canvas, который Obsidian открывает как доску: узлы, связи, группы. Раскладка на выбор — радиальная карта или свободная схема. CX Codex +1 2 000установок llm-wiki nashsu Скилл подключает агента к локальному приложению LLM Wiki по HTTP API: поиск по страницам, чтение, граф связей и переиндексация источников. CX Codex +1 1 800установок

Из того же набора38

wiki-context-pack Вырезает фрагмент заметок из хранилища Obsidian под лимит токенов с цитатами. Пригодится, когда нужно передать агенту точечный контекст по теме без чтения всей базы. CX Codex +1 1 600установок wiki-stage-commit Проверяет страницы, которые LLM написала в _staging/, и переносит принятые в живую вики. Работает только при WIKI_STAGED_WRITES=true. CX Codex +1 1 500установок pi-history-ingest Скилл переносит историю сессий Pi в Obsidian, собирая решения и команды из JSONL. Пригодится, когда нужно сохранить опыт кодинга в личную базу знаний. CX Codex +1 1 200установок wiki-import Восстанавливает страницы вики в текущем хранилище Obsidian из graph.json или OKF-бандла. Нужен, когда переносите ранее выгруженный контент между хранилищами. CX Codex +1 986установок vault-skill-factory Собирает переносимый Agent Skill из зрелых страниц вики Obsidian и кладёт его в каталог на проверку. Установку оставляет человеку. CX Codex +1 719установок obsidian-layout-adjustment Скилл правит внешний вид Obsidian через CSS-сниппеты: переводит ваше описание элемента в нужный слой интерфейса, вносит правку и проверяет её по скриншоту. CX Codex +1 435установок wiki-narrate Собирает сводку, объяснение или лекцию строго по заметкам Obsidian со ссылками на источники. Пригодится для подготовки отчётов без выдумок модели и выхода за рамки базы знаний. CX Codex +1 366установок session-brain Строит интерактивный граф тем по истории сессий Claude Code без записи в хранилище заметок. Пригодится для кластеризации диалогов и поиска связей между старыми задачами. CX Codex +1 316установок

Спонсоры проекта

Компании, которые помогают держать аналитику открытой