---
name: Obsidian Search
slug: obsidian-search
category: Automation
description: Obsidian Search finds keywords across all markdown files in an Obsidian vault using Grep. Use it when you need to locate notes, TODOs, or project mentions without any setup or plugins.
github: "https://github.com/ballred/obsidian-claude-pkm/tree/main/vault-template/.claude/skills/search"
language: Shell
stars: 1826
forks: 124
install: "npx degit https://github.com/ballred/obsidian-claude-pkm/tree/main/vault-template/.claude/skills/search ~/.claude/skills/search"
installs_to: ~/.claude/skills/search
source_path: vault-template/.claude/skills/search/SKILL.md
collection_size: 13
category_size: 1523
collection_url: "https://dirskills.com/collections/ballred/obsidian-claude-pkm"
added: 2026-08-18T06:59:36.330Z
last_synced: 2026-08-18T06:59:36.330Z
canonical_url: "https://dirskills.com/skills/obsidian-search"
---

# Obsidian Search

Obsidian Search finds keywords across all markdown files in an Obsidian vault using Grep. Use it when you need to locate notes, TODOs, or project mentions without any setup or plugins.

**Install:**

```bash
npx degit https://github.com/ballred/obsidian-claude-pkm/tree/main/vault-template/.claude/skills/search ~/.claude/skills/search
```

## README

# Search Skill

Fast keyword search across all vault markdown files using the Grep tool. No indexes, no plugins, no setup — just structured search with directory grouping.

## Usage

```
/search <term>
```

Examples:
- `/search project planning`
- `/search weekly review`
- `/search TODO`

## How to Execute

When the user invokes `/search <term>`:

### Step 1: Search for the term

Use the **Grep** tool to search all `.md` files for the term:

```
Grep:
  pattern: <search term>
  glob: "*.md"
  output_mode: content
  -n: true
  -C: 1
```

Exclude hidden directories (`.claude/`, `.obsidian/`) and templates:

```
Grep:
  pattern: <search term>
  glob: "*.md"
  path: .
  output_mode: content
  -n: true
  -C: 1
```

Filter out results from `.claude/`, `.obsidian/`, and `Templates/` directories.

### Step 2: Group results by directory

Organise matches into sections by their parent directory:

- **Daily Notes/** — journal entries
- **Goals/** — goal and vision documents
- **Projects/** — project notes
- **Archives/** — archived content
- **Inbox/** — unprocessed items
- **(root)** — top-level notes

### Step 3: Present results

Format output as:

```markdown
## Search: "<term>"

### Daily Notes/
- **2024-01-15.md** (line 23): ...matching context...
- **2024-01-14.md** (line 8): ...matching context...

### Projects/
- **Project Alpha.md** (line 45): ...matching context...

### Goals/
- **2024 Goals.md** (line 12): ...matching context...

**Found X matches across Y files**
```

### Step 4: Suggest related content

After showing results, check if any matched files contain `[[wiki-links]]` to other notes. If so, briefly mention:

```
💡 Related notes mentioned in results: [[Note A]], [[Note B]]
```

## No Results

If no matches are found:
1. Suggest alternative search terms (synonyms, related words)
2. Offer to search with case-insensitive matching if the original search was case-sensitive
3. Suggest checking `Archives/` if not already included

## Tips

- Search is case-sensitive by default. Add `-i: true` to the Grep call for case-insensitive search
- Use regex patterns for advanced searches: `task.*complete`, `#tag-name`
- Combine with `/daily` to quickly find when something was mentioned
