Agent skill

Session Search

by Ar9av in Ar9av/obsidian-wiki

Search the session-brain graph for a past agent session by topic and load the winning transcript into the current conversation.

MITAuto-check passedKnowledge Management

Install Session Search

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

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install Ar9av/obsidian-wiki session-search --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/Ar9av/obsidian-wiki.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.skills/session-search .claude/skills/session-search && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
session-search
GitHub stars
3.5k
Token cost
~946 tokens
SKILL.md length
456 words
Files
1
Skills in repo
39
Repo updated
First seen
Licence
MIT

At a glance

Search the session-brain graph for a past agent session by topic and load the winning transcript into the current conversation.

  • Works in 5 steps: Check the graph exists and is fresh → Rank → Present → …
  • Finding which session handled X
  • SKILL.md covers Step 1: Check the graph exists…, Step 2: Rank, Step 3: Present and Step 4: Load — hand off, do…, plus 2 more sections
  • Calls python3

What it does

Session Search is an agent skill from Ar9av/obsidian-wiki. 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.

Its SKILL.md is about 950 tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Knowledge Management. The repository describes itself as: Framework for AI agents to build and maintain a digital brain through Obsidian wiki | Memory System for Agents. The licence is MIT.

When your agent uses it

  • Finding which session handled X
  • Y was last worked on
  • Whether this was done before

Example prompts

  • “/session-search”

Requirements

  • Python 3

Workflow steps

5 steps, taken from the step headings in SKILL.md.

  1. Check the graph exists and is fresh
  2. Rank
  3. Present
  4. Load — hand off, do not reimplement
  5. Answer

What it can do on your machine

Read from SKILL.md and the folder at commit 709727e. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • python3

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Session Search loads about 946 tokens when it runs. Until then it costs about 72 tokens; SKILL.md has 456 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~72
When it runs · the whole SKILL.md, loaded when a task matches
~946

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from Ar9av/obsidian-wiki at commit 709727e, republished under its MIT licence (© Ar9av). 456 words, ~946 tokens.

Download SKILL.mdSave it as .claude/skills/session-search/SKILL.md (or your agent's skills folder).
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.

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.
Show full SKILL.md (187 more words)Show less

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.

  • /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. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .skills/session-search of Ar9av/obsidian-wiki.

Open the folder on GitHubat commit 709727e

Compare with similar skills

Session Search next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Session Search compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Session Search this skillAr9av/obsidian-wiki3.5k—~946Automated safety check: PassMIT
Baoyu URL To Markdownsdyckjq-lab/llm-wiki-skill2.5k3 repos~3.2kAutomated safety check: PassNone
Logseq Review Workflow Evallogseq/logseq45k—~1kAutomated safety check: PassAGPL-3.0
Obsidian CLIAtmosphere/atmosphere3.8k13 repos~795Automated safety check: PassApache-2.0
Esm Cjs Risk Scanlogseq/logseq45k—~3.3kAutomated safety check: PassAGPL-3.0
Capture Conversationoutline/outline41k—~474Automated safety check: PassCustom licence

Similar skills

  • Baoyu URL To Markdown

    sdyckjq-lab/llm-wiki-skill

    Fetch any URL and convert to markdown using Chrome CDP. An agent skill from sdyckjq-lab/llm-wiki-skill.

    2.5k GitHub starsUsed in 3 repos~3.2k tokens
    Knowledge ManagementAuto-check passed
  • Compare two revisions of the Logseq logseq-review-workflow skill by running the same review prompt against isolated before and after skill snapshots, collecting both outputs, and producing a…

    45k GitHub stars~1k tokensUpdated today
    Knowledge ManagementAuto-check passed
  • Obsidian CLI

    Atmosphere/atmosphere

    Interact with Obsidian vaults using the Obsidian CLI to read, create, search, and manage notes, tasks, properties, and more.

    3.8k GitHub starsUsed in 13 repos~795 tokens
    Knowledge ManagementAuto-check passed
  • Esm Cjs Risk Scan

    logseq/logseq

    Scan Logseq ClojureScript Node/Electron targets for npm module loading risks, especially ESM-only packages that may fail when loaded through js/require or shadow-cljs require-based shims.

    45k GitHub stars~3.3k tokensUpdated today
    Knowledge ManagementAuto-check passed
  • Capture Conversation

    outline/outline

    Save the current conversation, a decision, or a set of notes as a document in an Outline collection; use when the user wants to keep what was discussed in their knowledge base.

    41k GitHub stars~474 tokensUpdated today
    Knowledge ManagementAuto-check passed
  • Karpathy LLM Wiki

    Astro-Han/karpathy-llm-wiki

    A skill your agent uses when building or maintaining a personal LLM-powered knowledge base.

    2.4k GitHub stars~3.6k tokensUpdated 2 mo ago
    Knowledge ManagementAuto-check passed

More from Ar9av/obsidian-wiki

All 39 skills in this repo
  • Hermes History Ingest

    Ar9av/obsidian-wiki

    Ingest Hermes agent history into Obsidian as distilled knowledge.

    3.5k GitHub starsUsed in 1 repo~2.2k tokens
    Auto-check: notes
  • Codex History Ingest

    Ar9av/obsidian-wiki

    Ingest Codex CLI conversation/session history into Obsidian as distilled knowledge.

    3.5k GitHub stars~2.2k tokensUpdated today
    Auto-check: notes
  • Copilot History Ingest

    Ar9av/obsidian-wiki

    Ingest GitHub Copilot CLI/session history into Obsidian as distilled knowledge.

    3.5k GitHub stars~4.4k tokensUpdated today
    Auto-check: notes
  • Obsidian Layout Adjustment

    Ar9av/obsidian-wiki

    Adjust the user's Obsidian visual layout with CSS snippets. An agent skill from Ar9av/obsidian-wiki.

    3.5k GitHub stars~2.5k tokensUpdated today
    Auto-check passed
  • Openclaw History Ingest

    Ar9av/obsidian-wiki

    Ingest OpenClaw session/history data into Obsidian as distilled knowledge.

    3.5k GitHub stars~2.5k tokensUpdated today
    Auto-check: notes
  • Wiki Capture

    Ar9av/obsidian-wiki

    Turn the current conversation or finding into a structured permanent wiki note.

    3.5k GitHub stars~4.3k tokensUpdated today
    Auto-check: notes

Questions about Session Search

What does Session Search do?

Search the session-brain graph for a past agent session by topic and load the winning transcript into the current conversation. Session Search is an agent skill from Ar9av/obsidian-wiki. Search the session-brain graph for a past agent session by topic and load the winning transcript into the current conversation.

When should I use Session Search?

Session Search fits situations like: finding which session handled X; Y was last worked on; whether this was done before.

How do I install Session Search in Claude Code?

Run `npx skills add Ar9av/obsidian-wiki --skill session-search -a claude-code`. Or copy the skill folder (.skills/session-search in Ar9av/obsidian-wiki) into .claude/skills/session-search in your project. Claude Code loads it when a task matches its description.

How do I install Session Search in Codex?

Run `npx skills add Ar9av/obsidian-wiki --skill session-search -a codex`. Or copy the skill folder (.skills/session-search in Ar9av/obsidian-wiki) into .agents/skills/session-search in your project. Codex loads it when a task matches its description.

Can I use Session Search in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Ar9av/obsidian-wiki --skill session-search -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/session-search, .gemini/skills/session-search, .github/skills/session-search and .opencode/skills/session-search in your project.

What does Session Search need to run?

Going by SKILL.md and its folder, Session Search needs the command-line tools its instructions call (python3). Our summary lists: Python 3.

Does Session Search access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Session Search safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Session Search use?

Session Search is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Session Search use?

About 946 tokens (SKILL.md is roughly 3.8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Session Search?

Skills that share tags, products or a category with Session Search: Baoyu URL To Markdown (sdyckjq-lab/llm-wiki-skill, 2.5k stars), Logseq Review Workflow Eval (logseq/logseq, 45k stars), Obsidian CLI (Atmosphere/atmosphere, 3.8k stars) and Esm Cjs Risk Scan (logseq/logseq, 45k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Session Search?

Ar9av (a GitHub user) maintains it in Ar9av/obsidian-wiki, which has 3,532 GitHub stars. The repository holds 39 skills in this directory. The repository was last updated on October 7, 2026.

Source: Ar9av/obsidian-wiki on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.