# Wiki Switch

List, create, or switch named Obsidian wiki vault profiles under the global config...

- Repository: https://github.com/Ar9av/obsidian-wiki (3650 stars)
- Category: Engineering
- License: MIT
- Last updated: 2026-11-01
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add Ar9av/obsidian-wiki --skill wiki-switch -g -a claude-code -y`
Codex: `npx skills add Ar9av/obsidian-wiki --skill wiki-switch -g -a codex -y`
Cursor: `npx skills add Ar9av/obsidian-wiki --skill wiki-switch -g -a cursor -y`
Gemini CLI: `npx skills add Ar9av/obsidian-wiki --skill wiki-switch -g -a gemini-cli -y`
Claude Code plugin marketplace: `/plugin marketplace add Ar9av/obsidian-wiki`

## Description

List, create, or switch named Obsidian wiki vault profiles under the global config directory. Use when changing the active vault, checking which vault is active, or managing multi-vault profiles.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Wiki Switch, Manage Multiple Vault Profiles

**Global config dir.** Every path below is relative to the global config dir, resolved per the
Config Resolution Protocol in `llm-wiki/SKILL.md`: `$XDG_CONFIG_HOME/obsidian-wiki` (default
`~/.config/obsidian-wiki`), or the legacy `~/.obsidian-wiki` if that already exists on disk. Resolve
it once per invocation with:

```bash
CONFIG_DIR="$( [[ -d "$HOME/.obsidian-wiki" && ! -e "${XDG_CONFIG_HOME:-$HOME/.config}/obsidian-wiki" ]] && echo "$HOME/.obsidian-wiki" || echo "${XDG_CONFIG_HOME:-$HOME/.config}/obsidian-wiki" )"
```

Each vault is a complete config file at `$CONFIG_DIR/config.<name>`. The active vault is
whichever file `$CONFIG_DIR/config` symlinks to. Switching vaults means re-pointing that symlink.

**Switch vs. inline targeting.** `/wiki-switch <name>` changes your **persistent default** (re-points
the symlink, affecting all future requests). To touch a different vault for just one request without
changing your default, use the inline **`@name`** override in any request (e.g. `@work save this`,
`wiki-query @personal about X`). The `@name` override is handled by the **Config Resolution Protocol**
in `llm-wiki/SKILL.md`, not by this skill, it resolves `$CONFIG_DIR/config.<name>` for that one
invocation and never re-points the symlink.

## Dispatch

Parse the invocation and route to the right section:

| Invocation | Action |
|---|---|
| `/wiki-switch <name>` | → **Switch** |
| `/wiki-switch list` | → **List** |
| `/wiki-switch show [name]` | → **Show** |
| `/wiki-switch new <name>` | → **New** |
| `/wiki-switch` (no args) | → **List** (treat as list) |
| `@<name> …` (inline, in any request) | → Not this skill, the **Config Resolution Protocol** resolves that vault for one invocation without re-pointing the symlink |

---

## Switch (default action)

Activate a named vault profile.

The rest: https://github.com/Ar9av/obsidian-wiki/blob/HEAD/.skills/wiki-switch/SKILL.md
