km-search

km-search is a skill for Claude Code, Codex from treylom/knowledge-manager. It costs 56 tokens per session (9,117 once invoked), scanned A, original, MIT.

A vault-search skill for finding documents, concepts, and relationships in an Obsidian vault, a folder of linked notes. It selects among a GraphRAG server, Obsidian tools, and text search according to what is available.

In plain words
What is it for?
Use it when looking up information in a vault, including normal searches, deep searches, and queries that may involve links between notes.
Why use it?
It gives vault searches a consistent fallback process and distinguishes written notes from searchable conversation history.

Skill for Claude CodeCodex

Part of the km plugin — 10 skills, 10 commands, 2 agents shipped together

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/treylom/knowledge-manager/km-search
Any agent
npx skills add treylom/knowledge-manager --skill km-search
Clone the repo
git clone --depth 1 https://github.com/treylom/knowledge-manager

Made for: Claude Code, Codex.

Or install km, the plugin that ships this one along with the rest of its 10 skills, 10 commands, 2 agents.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for km-search

README.md
[![agentmods](https://agentmods.dev/badge/skills/treylom/knowledge-manager/km-search.svg)](https://agentmods.dev/skills/treylom/knowledge-manager/km-search)
Your own site
<a href="https://agentmods.dev/skills/treylom/knowledge-manager/km-search"><img src="https://agentmods.dev/badge/skills/treylom/knowledge-manager/km-search.svg" alt="Measured on agentmods" height="20"></a>
Per session 56 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 9,117 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 1 finding. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00056 $0.09117
Opus 5 $0.00028 $0.04559
Sonnet 5 $0.00011 $0.01823
Haiku 4.5 $0.00006 $0.00912

Measured today against content hash 9a7f7aae9c22, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

km-search scanned grade A with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured today.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Makes network callslowCapability

Not a fault in itself. Listed so you know the mod talks to something, and to what.

> 🚨 **실행 순서 계약 (고정 — 첫 행동을 여기서 정한다)**: ① Phase -1 로 설정 2개(`VAULT_PATH`·`SEARCH_ENDPOINT`)를 읽는다 → ② **곧바로 Tier 1 서버 검색 curl 을 실행한다.** 이 ①② 보다 먼저 vault 파일을 검색·나열·읽기(rg / grep / find / ls / Read) ❌ — 검색의 1차 수단은 서버이고, 로컬 파일
.agent/skills/km-search/SKILL.md · 325 lines

How it starts

The opening of the file, as written. The whole thing — 325 lines — stays where its author put it; the contents beside it link to each section on GitHub.

km-search — vault 통합 검색

사용자가 vault 검색을 요청하면(예: "vault에서 X 찾아줘", "km search X", "--deep X") 이 스킬의 절차를 따른다. query = 사용자의 질문 본문(아래 플래그 제거 후).

핵심 설계: 검색 창구는 이 스킬 하나입니다. 뒤에서 어떤 검색 엔진이 도는지는 자동으로 결정됩니다 — ① GraphRAG 서버(설치돼 있으면) → ② Obsidian CLI → ③ Obsidian MCP(연결된 경우) → ④ 텍스트 검색 순서로, 앞 단계가 없거나 실패하면 자동으로 다음 단계로 넘어갑니다. GraphRAG를 아직 설치하지 않았어도 이 스킬은 그대로 동작합니다(②~④가 받아줍니다). 나중에 GraphRAG 스택을 얹으면 같은 절차가 자동으로 ①을 쓰기 시작합니다.

찾는 범위: 이 명령은 vault 안의 문서·개념·문서 사이 관계를 찾습니다. 반면 과거 대화에서 무슨 말이 오갔는지·어떤 결정이 왜 내려졌는지는 성격이 다른 질문이라, 대화 기록을 따로 보관·검색하는 도구가 있다면 그쪽이 먼저입니다. 둘 다 봐야 하는 질문이라면 지금 기준·현재 상태는 문서 쪽, 원래 발언·결정 경위는 대화 기록 쪽을 우선하세요. 두 결과가 어긋나면 감추지 말고 현재 기준과거 경위로 나눠 적는 편이 낫습니다. 그리고 한쪽에서 안 나왔다고 다른 쪽에도 없다고 단정하지 마세요 — 서로 다른 코퍼스입니다.

🚨 실행 순서 계약 (고정 — 첫 행동을 여기서 정한다): ① Phase -1 로 설정 2개(VAULT_PATH·SEARCH_ENDPOINT)를 읽는다 → ② 곧바로 Tier 1 서버 검색 curl 을 실행한다. 이 ①② 보다 먼저 vault 파일을 검색·나열·읽기(rg / grep / find / ls / Read) ❌ — 검색의 1차 수단은 서버이고, 로컬 파일은 Tier 1 의 원문 확보 계약(VAULT_MODE=same)이 허용할 때 또는 Tier 1 이 실패로 판정된 뒤(Tier 2~4)에만 연다. "vault 를 확인해보겠다"며 로컬부터 뒤지는 첫 행동 = 이 계약 위반이다.

Phase -1: 설정 읽기

  1. km-config.json을 찾는다 (현재 폴더 → 플러그인 설치 시 setup이 만든 위치 순).
  2. storage.obsidian.vaultPathVAULT_PATH. 없으면 사용자에게 vault 경로를 1회 묻고 진행.
    • 추측 금지: 설정이 없을 때 그럴듯한 경로를 스스로 골라 검색하면 낡은 사본에서 답하고도 출처가 붙어 있어 사용자가 오류를 알아챌 수 없다(실측 사례: 백업 사본 17,923개 md 를 라이브 vault 로 착각). 반드시 묻는다.
    • "진짜 쓰는 vault" 판정은 추측·후보 순회가 아니라 Obsidian 자기 설정으로 한다 (⚠️ km-config 에 vaultPath 가 이미 있으면 아래 판정을 실행하지 않는다 — 그 값이 정답) — obsidian.json 에서 "open": true 인 항목이 사용자가 실제로 열어 두는 vault 다. 백업 사본·형제 폴더도 .obsidian 을 갖고 있어서 그것만으론 안 갈린다.
      # 경로를 직접 짚는다 — 넓은 find 로 훑지 말 것(/mnt/c/Users 전수 탐색은 느리고 빈손으로 끝난다).
      OBSIDIAN_JSON=$(ls -1 \
        "$HOME/Library/Application Support/obsidian/obsidian.json" \
        /mnt/c/Users/*/AppData/Roaming/obsidian/obsidian.json \
        "$APPDATA/obsidian/obsidian.json" 2>/dev/null | head -1)
      python3 -c 'import json,sys;d=json.load(open(sys.argv[1]))["vaults"];print("\n".join(v["path"] for v in d.values() if v.get("open")))' "$OBSIDIAN_JSON"
      
      WSL 에서는 이 값이 윈도우 경로(C:\Users\...)로 나온다 — wslpath -u 로 바꿔 쓴다. 이 파일이나 "open": true 항목을 못 찾았을 때만 사용자에게 묻는다.
    • 사용자가 준 경로도 한 번 검증한다 — .obsidian 폴더 존재, 최근 수정된 md 유무. 둘 다 아니면 그 경로를 쓰기 전에 다시 확인한다.
  3. obsidianCli.pathOBSIDIAN_CLI (비어 있으면 아래 Tier 2의 자동 감지 사용).
  4. SEARCH_ENDPOINT = linking.semantic_adapter.endpoint → 환경변수 GRAPHRAG_API_URL → 기본값 http://127.0.0.1:8400 순. 미설정이어도 기본값을 탐침한다 — 로컬에 서버가 없으면 즉시 연결 거부로 끝나 지연이 거의 없고(--connect-timeout 3은 상한일 뿐), 덕분에 나중에 /tofugraph build로 스택을 얹으면 설정 변경 없이 같은 절차가 자동으로 Tier 1을 쓰기 시작한다.

Read the full file on GitHub · 325 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. today Changed · +55 lines 9a7f7aae9c22
  2. 3d ago First seen · 270 lines · 56 tokens per session scan A bbc54511788b

Subscribe to this mod's changes

km-search is a skill published in the GitHub repository treylom/knowledge-manager (230 stars, last pushed today), licensed MIT. It adds 56 tokens to every session and 9,117 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-01.

Related

Other skills, from other repositories

agent-platform-rag-engine-management

Manage and query Agent Platform RAG Engine Corpora and retrieve grounded contexts using the Google GenAI SDK. Use when listing RAG corpora or files, inspecting a corpus, retrieving contexts, or generating content grounded in a RAG corpus. Do not use for standard database queries (use SQL/Spanner skills), Google…

google/skills · 85 tokens

9router-embeddings

Generate vector embeddings via 9Router /v1/embeddings using OpenAI / Gemini / Mistral / Voyage / Nvidia / GitHub embedding models for RAG, semantic search, similarity. Use when the user wants embeddings, vectors, RAG, semantic search, or to embed text.

decolua/9router · 66 tokens

azure-search-documents-dotnet

Azure AI Search SDK for .NET (Azure.Search.Documents). Use for building search applications with full-text, vector, semantic, and hybrid search. Covers SearchClient (queries, document CRUD), SearchIndexClient (index management), and SearchIndexerClient (indexers, skillsets). Triggers: "Azure Search .NET"…

microsoft/skills · 102 tokens

embedding-strategies

Select and optimize embedding models for semantic search and RAG applications. Use when choosing embedding models, implementing chunking strategies, or optimizing embedding quality for specific domains.

foryourhealth111-pixel/Vibe-Skills · 37 tokens

browserwing-admin

Manage and operate BrowserWing — an intelligent browser automation platform. Install dependencies, configure LLM, create/manage/execute automation scripts, use AI-driven exploration to generate scripts, browse the script marketplace, and troubleshoot issues.

MemTensor/MemOS · 47 tokens

session-rag-eval

Run and debug Chatbox session attachment RAG model evaluation with synthetic and real long-file fixtures.

chatboxai/chatbox · 25 tokens