obsidian-searchlisted
Install: claude install-skill chuckplayer/claude-agent-pack
# Obsidian Search
Search everything Claude has logged in your vault. Results are scoped to the
current project by default — pass `--global` (or ask "search all projects") to
search the entire vault.
## Step 1 — Check configuration
Read `OBSIDIAN_VAULT_PATH` from the environment:
- Bash: `bash -c 'echo $OBSIDIAN_VAULT_PATH'`
- PowerShell: `$env:OBSIDIAN_VAULT_PATH`
If empty, stop and tell the user:
> "OBSIDIAN_VAULT_PATH is not set. Re-run `install.sh` and provide your vault
> path when prompted, or add it manually to `~/.claude/settings.json` under
> the `env` key."
Also read:
- `OBSIDIAN_PROJECTS_FOLDER` (empty string if unset)
- `CLAUDE_PROJECT_DIR` (or fall back to current working directory)
## Step 2 — Determine search scope
**If the user passed `--global` or asked to search "all projects" / "everywhere":**
- Search scope: `<OBSIDIAN_VAULT_PATH>/Claude/**/*.md`
- If `OBSIDIAN_PROJECTS_FOLDER` is set, also include:
`<OBSIDIAN_VAULT_PATH>/<OBSIDIAN_PROJECTS_FOLDER>/**/*.md`
**Default (project-first):**
- Compute `project_slug`: basename of `CLAUDE_PROJECT_DIR` (or cwd), lowercase,
non-alphanumeric chars replaced with hyphens, max 30 characters.
- Use `OBSIDIAN_PROJECTS_FOLDER` if set, otherwise default to `Claude/Projects`.
- Search `<OBSIDIAN_VAULT_PATH>/<effective_folder>/<project_slug>/**/*.md`
If the project folder does not exist or returns no results, automatically fall
through to the global scope and note that you expanded the search.
## Step 3 — Get se