> Find a past agent session by topic and load its context into the current conversation. Searches the session-brain topic graph, ranking by relevance, topic membership, and time decay, then loads the winning transcript. Use when the user says "/wiki-sessions <topic>", "which session did I do X in", "find the session where I fixed X", "when did I last work on Y", "what was that session about Z", "load the session where I set up X", "have I done this before". Read-only — never writes to the vault. Requires a graph built by the session-brain skill.
npx skills add https://github.com/Ar9av/obsidian-wiki --skill session-search
Answers "which of my past sessions was about X" and then pulls that session's context in.
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.
The scoring already combines four signals, so take the ordering as given rather than re-ranking:
never matched. This is why a session that never said "telemetry" can still surface for it.
fresh weak one
Useful filters: --project NAME, --cluster N, --since DATE, --top N.
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:
loadable: false are history-only: the transcript has been pruned from diskand only the prompts survive. They are listed in unloadable with a reason. Say the transcript
is gone; do not imply it can be retrieved.
is all that remains.
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 idbookmark-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:
# 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:
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>
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.
/session-brain — build or refresh the graph, survey and name topicswiki-query — search compiled vault knowledge; this skill searches raw session history insteadwiki-agent — pull a topic out of *another* agent's history and distil it into the vaultCreate new skills, modify and improve existing skills, and measure skill performance. Use when users want to create a skill from scratch, edit, or optimize an existing skill, run evals to test a skill, benchmark skill performance with variance analysis, or optimize a skill's description for better triggering accuracy.
Guide for creating effective skills. This skill should be used when users want to create a new skill (or update an existing skill) that extends Claude's capabilities with specialized knowledge, workflows, or tool integrations.
Guide for creating effective skills. This skill should be used when users want to create a new skill (or update an existing skill) that extends Claude's capabilities with specialized knowledge, workflows, or tool integrations.
Replace with description of the skill and when Claude should use it.
Use when facing 2+ independent tasks that can be worked on without shared state or sequential dependencies
This skill should be used when the user wants to "create a skill", "add a skill to plugin", "write a new skill", "improve skill description", "organize skill content", or needs guidance on skill structure, progressive disclosure, or skill development best practices for Claude Code plugins.
Helps users discover and install agent skills when they ask questions like "how do I do X", "find a skill for X", "is there a skill that can...", or express interest in extending capabilities. This skill should be used when the user is looking for functionality that might exist as an installable skill.
Use when creating new skills, editing existing skills, or verifying skills work before deployment
Take ar9av/session-search from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.