vault-semantic-search
Search vault notes by meaning using semantic search (RAG). Activate this skill when users want to find notes by concept or topic rather than exact keywords, or when keyword search tools return poor results.
Best use case
vault-semantic-search is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Search vault notes by meaning using semantic search (RAG). Activate this skill when users want to find notes by concept or topic rather than exact keywords, or when keyword search tools return poor results.
Teams using vault-semantic-search should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/vault-semantic-search/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How vault-semantic-search Compares
| Feature / Agent | vault-semantic-search | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Search vault notes by meaning using semantic search (RAG). Activate this skill when users want to find notes by concept or topic rather than exact keywords, or when keyword search tools return poor results.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# Vault Semantic Search
Find vault content by meaning rather than exact keywords using the `vault_semantic_search` tool. This uses RAG (Retrieval-Augmented Generation) to search indexed vault files semantically.
## When to Use Semantic Search
| Use `vault_semantic_search` when... | Use keyword tools (`search_vault`) when... |
| ------------------------------------------------------------ | ------------------------------------------ |
| The user asks about concepts or topics | The user wants an exact filename or string |
| The query is "find notes about..." or "what do I have on..." | The query is "find the file called..." |
| The user doesn't remember exact words | The user knows the exact term to search |
| You need to discover related content across the vault | You need to find a specific known file |
| Keyword search returned poor or no results | You know the exact path or filename |
**Try semantic search first for concept-based queries.** Fall back to keyword tools if semantic search isn't available or returns insufficient results.
## How to Use
Call the `vault_semantic_search` tool with these parameters:
- **`query`** (required) — The search question, topic, or concept. Natural language queries work best.
- **`maxResults`** (optional) — Number of results to return, 1-20. Default is 5. Increase for broad surveys.
- **`folder`** (optional) — Limit results to files within a specific folder path.
- **`tags`** (optional) — Filter results by Obsidian tags. Uses OR logic — any matching tag qualifies.
## Search Strategies
- **Broad discovery** — Use a conceptual query with higher `maxResults` (10-15): `vault_semantic_search("project management methodologies", maxResults=10)`
- **Focused search** — Narrow with `folder` when the user mentions a specific area: `vault_semantic_search("meeting notes about budget", folder="Work/Meetings")`
- **Tag-filtered search** — Use `tags` when the user references tagged content: `vault_semantic_search("design patterns", tags=["programming", "architecture"])`
- **Follow-up reading** — After finding relevant results, use `read_file` on promising matches to get full note content
## Combining with Keyword Search
For comprehensive results, use both search approaches:
1. Start with `vault_semantic_search` for concept-based discovery
2. If results are insufficient, try `search_vault` with specific keywords
3. Use `read_file` on the most relevant results from either approach
## Limitations
- **Requires vault indexing** — Semantic search only works when the user has enabled vault indexing in settings. If it's not available, fall back to keyword tools.
- **File paths may be missing** — The Google API sometimes doesn't return source file paths in results. Excerpts are still useful for answering questions.
- **Only indexed files are searchable** — Files in excluded folders or newly created files that haven't been indexed yet won't appear in results.
## Tips
- Frame queries as natural language questions or topic descriptions for the best semantic matching.
- When the user asks "what do I know about X" or "find everything related to X", this is the ideal tool to use.
- If results mention relevant content but lack file paths, suggest the user check the RAG status modal to verify indexing is complete.Related Skills
deep-research
Conduct comprehensive, multi-source research and generate cited reports. Activate this skill when users want in-depth research on a topic, need synthesis across web and vault sources, or want a structured research report saved to their vault.
recall-sessions
Search past agent conversations to recall prior discussions, decisions, and context. Activate this skill when users ask about previous conversations, want to resume past work, or reference earlier decisions.
obsidian-properties
Work with Obsidian note properties (frontmatter). Activate this skill when users want to add, modify, or organize properties, understand property types, format YAML frontmatter, or use properties with templates, search, or Bases.
obsidian-bases
Create and configure Obsidian Bases — database-like views of notes. Activate this skill when users want to create bases, write filters, formulas, or set up table/cards/list/map views.
image-generation
Generate images from text descriptions and save them to the vault. Activate this skill when users want to create illustrations, diagrams, visual content, or any AI-generated images.
gemini-scribe-help
Answer questions about Gemini Scribe plugin features, settings, and usage. Activate this skill when users ask how to use the plugin, configure settings, or troubleshoot issues.
audio-transcription
Transcribe audio and video files into structured notes. Activate this skill when users want to transcribe recordings, meetings, podcasts, voice memos, or any audio/video content in their vault.
ui-ux-guidelines
UI/UX best practices for obsidian-gemini plugin development. Covers modal sizing, text overflow, message formatting, collapsible UI, animations, icons, file chips, session state, CSS containment, and theme compatibility. Use this skill when building or modifying UI components.
release-process
Full release workflow for obsidian-gemini: update release notes, run checks, bump version with npm, create a GitHub release, and verify. Use this skill when preparing a new plugin release.
obsidian-plugin-development
Build, modify, and debug Obsidian plugins using the TypeScript API. Use this skill when working with Obsidian plugin source code, the obsidian npm package, plugin UI (views, modals, settings, commands, ribbons), vault file operations, editor manipulation, workspace management, metadata cache, events, markdown rendering, or the Obsidian CLI. Covers plugin lifecycle, best practices, common patterns, and the full TypeScript API surface.
obsidian-cli
Use the Obsidian CLI to debug, inspect, and test Obsidian plugins during development. Covers plugin reloading, console inspection, runtime evaluation, and common debugging recipes for the gemini-scribe plugin.
gemini-api-dev
Use this skill when building applications with Gemini models, Gemini API, working with multimodal content (text, images, audio, video), implementing function calling, using structured outputs, or needing current model specifications. Covers SDK usage (google-genai for Python, @google/genai for JavaScript/TypeScript, com.google.genai:google-genai for Java, google.golang.org/genai for Go), model selection, and API capabilities.