obsidian-vault-config
Manage the shared Obsidian config at ~/.obsidian-shared that every vault symlinks into.
Skill by kwanpham2195
Chalk Labs
Need help deploying obsidian-vault-config?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/kwanpham2195-obsidian-vault-config
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/obsidian-vault-config
What's inside
- Skill name
obsidian-vault-config- Description
- Manage the shared Obsidian config at ~/.obsidian-shared that every vault symlinks into. Use when onboarding a new Obsidian vault, installing or removing a plugin or theme across vaults, changing appearance/hotkeys/core-plugin settings, or when a vault's settings stopped syncing with the others.
- License
- MIT
- Instructions
- 120 lines in SKILL.md · view on GitHub
Files (2)
- SKILL.md
- executable_obsidian-link · scripts/
SKILL.md (first lines)
# Shared Obsidian vault config All of the user's Obsidian vaults share one config directory. Each vault's `.obsidian/` contains symlinks into `~/.obsidian-shared`, so a plugin installed or a setting changed in any vault lands in all of them. Never hand-copy `.obsidian` contents between vaults, and never edit a vault's `.obsidian/` expecting it to stay local — that silently forks the config. Everything goes through the bundled script, `scripts/obsidian-link` next to this file. It is on the user's PATH as `obsidian-link` via a `~/bin` symlink; if that symlink is missing, invoke it by its path in this skill directory or restore it: ```bash ln -sfn ~/.claude/skills/obsidian-vault-config/scripts/obsidian-link ~/bin/obsidian-link ``` The script is the source of truth and lives with this skill; `~/.obsidian-shared` holds only the config *data* it links. ## What is shared and what is not Shared (symlinked into every vault): | Entry | Notes | |---|---| | `plugins/` | directory link — safe, Obsidian never replaces the dir itself | | `themes/` | directory link | | `snippets/` | directory link | | `app.json` | editor prefs (vim mode, line numbers, view mode) | | `appearance.json` | fonts, theme | | `hotkeys.json` | | | `core-plugins.json` | | | `community-plugins.json` | which community plugins are **enabled** — global | Per-vault, deliberately left alone: `workspace.json` (open panes/tabs), `graph.json`, `templates.json` (holds a vault-relative folder path), and any other file already in that vault's `.obsidian/`. Because `plugins/` is shared, each plugin's `data.json` is shared too — plugin settings are global. That is the intent; only break it if the user asks. ## The commands ```bash obsidian-link <vault> [more vaults...] # link or re-link; creates .obsidian if absent obsidian-link --relink-all # re-link every registered vault obsidian-link --check # report link health, changes nothing obsidian-link --list # registered vaults (~/.obsidian-shared/vaults.txt) obsidian-link --init # create an empty shared config (new machine) ``` The shared config location defaults to `~/.obsidian-shared` and can be overridden with `$OBSIDIAN_SHARED` — useful for testing against a throwaway directory before touching the real one. Linking is idempotent — re-running prints `ok` per entry and touches nothing. Anything displaced is moved to `~/.obsidian-shared/backups/<vault>-<timestamp>/`, never deleted. ## Obsidian must be closed The script refuses to link while Obsidian is running, because Obsidian rewrites its config on exit and would overwrite fresh symlinks with real files. Ask the user to quit it and wait — do not reach for `--force`, which exists only for the user's own deliberate override. `--check` and `--list` are read-only and safe at any time. ## Common tasks **New vault.** `obsidian-link ~/path/to/vault`. It opens with every shared plugin, theme, hotkey and setting already active. No other step. **Add a plugin or theme for everyone.** Install it from inside any linked vault the normal way — it writes straight into `~/.obsidian-shared/plugins`, so every vault has it. Then add its id to `~/.obsidian-shared/community-plugins.json` if Obsidian did not (that file is the enabled list). **Remove one.** Deleting it in one vault deletes it everywhere. Confirm the user means all vaults before doing it. **A plugin present but disabled in one vault.** Not possible while `community-plugins.json` is shared. That vault needs its own real copy of the file — replace the symlink with a copy and note it will no longer track the others. ## Troubleshooting: "settings stopped syncing" Run `obsidian-link --check`. A `DETACHED` entry means Obsidian replaced that symlink with a real file — that vault has forked for that setting. Fix: 1. Check whether the detached file holds changes worth keeping; if so, copy them into `~/.obsidian-shared/<file>` first. 2. Quit Obsidian. 3. `obsidian-link --relink-all` (the detached copy is backed up, not discarded). A recurring detach on the same file is the known Obsidian-version-dependent failure mode — if it keeps coming back, the fallback is to stop sharing that one file and leave it per-vault, rather than fighting it. ## New machine `obsidian-link --init` creates an empty `~/.obsidian-shared` skeleton (`plugins/ themes/ snippets/ backups/` plus the registry). Populate it by copying the richest existing vault's `.obsidian` contents into it — plugins, themes and the settings JSONs listed above, but *not* `workspace.json`/`graph.json`/ `templates.json` — then link the vaults. Entries absent from the shared config are simply skipped when linking, so a partial shared config is fine. ## Gotchas - Keep `~/.obsidian-shared` **outside** every vault. A parent directory can be a vault that contains nested vaults, so a shared directory placed inside it would get indexed or refer to itself. - Never symlink the whole `.obsidian` folder — `workspace.json` is genuinely per-vault and thrashes when two vaults are open at once. - Two vaults open simultaneously: a settings change is last-write-wins on the shared JSONs. Harmless in practice, worth knowing when a change seems to revert.
From kwanpham2195/agent-stuff, MIT.
More from kwanpham2195/agent-stuff
- 0.563score
config-manager
kwanpham2195
Manage local machine configuration through chezmoi and global config files.
SkillBFreshness: B★ 2Claude Code +9 - 0.563score
product-description
kwanpham2195
Create or extend feature-by-feature product behavior documentation from source code, tests, and live verification.
SkillBFreshness: B★ 2Claude Code +9 - 0.563score
pi-skill-creator
kwanpham2195
Create, test, and improve Agent Skills for pi and opencode.
SkillBFreshness: B★ 2Claude Code +9 - 0.563score
delegated-execution
kwanpham2195
Use when delegating work, coordinating subagents, or consulting an advisor on a consequential decision.
SkillBFreshness: B★ 2Claude Code +9 - 0.559score
create-verification-skill
kwanpham2195
Generate a project-local Pi verification skill that drives your app the way a user does — any language, framework, or platform.
SkillBFreshness: B★ 2Claude Code +9 - 0.558score
orbstack
kwanpham2195
Control OrbStack and Docker readiness on macOS.
SkillBFreshness: B★ 2Claude Code +9 - 0.557score
librarian
kwanpham2195
Cache and refresh remote Git repositories for local source reference.
SkillBFreshness: B★ 2Claude Code +9 - 0.557score
pr
kwanpham2195
Create or update a pull request for the current branch.
SkillBFreshness: B★ 2Claude Code +9 - 0.557score
clean-copy
kwanpham2195
Reimplement the current branch on a new branch with a clean, narrative-quality git commit history.
SkillBFreshness: B★ 2Claude Code +9 - 0.554score
define-outcome
kwanpham2195
Clarify product intent and observable acceptance for a feature or change when the desired outcome, scope, or success criteria are ambiguous.
SkillBFreshness: B★ 2Claude Code +9 - 0.554score
issue
kwanpham2195
Capture a user request or hand off scoped implementation work to a local workspace issue or an authorized configured remote tracker.
SkillBFreshness: B★ 2Claude Code +9 - 0.554score
show-me
kwanpham2195
Explain technical work or prepare developer review artifacts with diagrams, structural diffs, pseudocode, and concrete contracts.
SkillBFreshness: B★ 2Claude Code +9
Signals
- Stars
- 2
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Sep 14, 2026 (1 month ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/kwanpham2195/agent-stuff
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from kwanpham2195
- 0.563score
product-description
kwanpham2195
Create or extend feature-by-feature product behavior documentation from source code, tests, and live verification.
SkillBFreshness: B★ 2Claude Code +9 - 0.563score
delegated-execution
kwanpham2195
Use when delegating work, coordinating subagents, or consulting an advisor on a consequential decision.
SkillBFreshness: B★ 2Claude Code +9 - 0.563score
config-manager
kwanpham2195
Manage local machine configuration through chezmoi and global config files.
SkillBFreshness: B★ 2Claude Code +9 - 0.563score
pi-skill-creator
kwanpham2195
Create, test, and improve Agent Skills for pi and opencode.
SkillBFreshness: B★ 2Claude Code +9 - 0.559score
create-verification-skill
kwanpham2195
Generate a project-local Pi verification skill that drives your app the way a user does — any language, framework, or platform.
SkillBFreshness: B★ 2Claude Code +9 - 0.558score
orbstack
kwanpham2195
Control OrbStack and Docker readiness on macOS.
SkillBFreshness: B★ 2Claude Code +9
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get obsidian-vault-config running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
obsidian-vault-config skill. Agent Mart. https://agentmart.dev/skills/kwanpham2195-obsidian-vault-config (last updated 2026-10-24)