Initialize and onboard a new project repository as an Obsidian Vault. Covers prerequisite installation, vault configuration, exclusion filters, and validation. Use when setting up Obsidian for the first time in a project.
From obsidian-integrationnpx claudepluginhub richfrem/agent-plugins-skills --plugin obsidian-integrationThis skill is limited to using the following tools:
acceptance-criteria.mdassets/resources/architecture-background.mdassets/resources/kepano-analysis-summary.mdassets/resources/safety-learnings.mdevals/evals.jsonevals/results.tsvfallback-tree.mdobsidian-parser/parser.pyreferences/acceptance-criteria.mdreferences/fallback-tree.mdrequirements.txtscripts/init_vault.pyscripts/vault_ops.pyExecutes pre-written implementation plans: critically reviews, follows bite-sized steps exactly, runs verifications, tracks progress with checkpoints, uses git worktrees, stops on blockers.
Guides idea refinement into designs: explores context, asks questions one-by-one, proposes approaches, presents sections for approval, writes/review specs before coding.
Dispatches parallel agents to independently tackle 2+ tasks like separate test failures or subsystems without shared state or dependencies.
This skill requires Python 3.8+ and standard library only. No external packages needed.
To install this skill's dependencies:
pip-compile ./requirements.in
pip install -r ./requirements.txt
See ./requirements.txt for the dependency lockfile (currently empty — standard library only).
Status: Active Author: Richard Fremmerlid Domain: Obsidian Integration
This skill is the entry point for any project adopting Obsidian. It handles:
The Obsidian desktop app must be installed on the host machine. It is the visual interface for browsing, editing, and viewing the Graph and Canvas.
macOS (Homebrew):
brew install --cask obsidian
Manual Download:
Verify:
ls /Applications/Obsidian.app
The official CLI communicates with a running Obsidian instance via IPC singleton lock. It enables programmatic vault operations (read, search, backlinks, properties).
npm (global install):
npm install -g obsidian-cli
Verify:
obsidian --version
Note: The CLI requires an active Obsidian Desktop instance to communicate with. It operates in "silent" mode by default. For headless/CI environments where Obsidian is not running, our
vault_ops.py(fromobsidian-vault-crud) handles direct filesystem operations without requiring the CLI.
Lossless YAML frontmatter handling requires ruamel.yaml:
pip install ruamel.yaml
For advanced vault features, install these from within the Obsidian app:
| Plugin | Purpose | Required For |
|---|---|---|
| Dataview | Database-style queries over frontmatter | Structured metadata queries |
| Canvas (built-in) | Visual boards with JSON Canvas spec | obsidian-canvas-architect skill |
| Bases | Table/grid/card views from YAML | obsidian-bases-manager skill |
python ./init_vault.py --vault-root <path>
python ./init_vault.py \
--vault-root <path> \
--exclude "custom_dir/" "*.tmp"
python ./init_vault.py --vault-root <path> --validate-only
.md files.obsidian/ configuration directory (if not present)app.json with sensible exclusion filters for developer repos.gitignore to exclude .obsidian/ (user-specific config)| Pattern | Reason |
|---|---|
node_modules/ | NPM dependencies |
.worktrees/ | Git worktree isolation |
.vector_data/ | ChromaDB binary data |
.git/ | Git internals |
venv/ | Python virtual environments |
__pycache__/ | Python bytecode cache |
*.json | Data/config files (not knowledge) |
*.jsonl | Export payloads |
learning_package_snapshot.md | Machine-generated bundle |
bootstrap_packet.md | Machine-generated bundle |
learning_debrief.md | Machine-generated bundle |
*_packet.md | Audit/review bundles |
*_digest.md | Context digests |
dataset_package/ | Export artifacts |
These are giant concatenated snapshots produced by bundler/distiller scripts. Indexing them in Obsidian would pollute the graph with thousands of false backlinks pointing into machine-generated text, not human-authored knowledge.
01_PROTOCOLS/, ADRs/, etc. appear in sidebar[[link]] to confirm navigation worksexport VAULT_PATH=/path/to/vaultThis skill is project-agnostic. It works on any Git repository with markdown files. The exclusion filters are sensible defaults for developer projects. When reusing this plugin in other projects, simply run the init script with the new project's root path.
# 1. Install prerequisites
brew install --cask obsidian # Desktop app
npm install -g obsidian-cli # CLI tools
pip install ruamel.yaml # Lossless YAML
# 2. Initialize vault
python ./init_vault.py \
--vault-root /path/to/your/project
# 3. Set environment variable
export VAULT_PATH=/path/to/your/project
# 4. Open in Obsidian app
open /Applications/Obsidian.app