---
name: obsidian-vault-sync
description: "Manage Obsidian vaults, iCloud sync, and D&D wikis."
trigger: Use when the user mentions Obsidian vaults, syncing to iCloud, pyicloud, Obsidian CLI, Obsidian Headless, or D&D campaign wiki management.
---

# Obsidian Vault Sync & Management

## Vault Locations
- Pirate Campaign: `~/obsidian-vault/Pirate-Campain`
- The Black Reach: `~/obsidian-vault/The-Black-Reach` (if exists)

## Sync Mechanism
- Script: `scripts/sync_to_icloud.py` (in vault directory)
- Uses: pyicloud library
- Credentials: `.env` file in vault dir storing APPLE_ID_PASSWORD and APPLE_APP_PASSWORD
- Requires: `export APPLE_PASSWORD=...` before invoking
- Offer to run sync when user mentions it

## Cron Sync Jobs
- pirate-vault-icloud-sync: every 120m (currently ERROR -- script path issue)
- pirate-vault-analyzer: daily 09:00
- pirate-vault-index-update: every 6 hours

## Obsidian CLI vs Headless
- **CLI** (`obsidian` command): Requires desktop app running, controls via IPC. Use for GUI automation.
- **Headless** (`ob` / `obsidian-headless`): Standalone Node.js client for Obsidian Sync. Works without GUI on headless Linux servers.
- Do NOT conflate them when recommending sync solutions.

## D&D Campaign Wikis
- Black Reach: BookStack on Proxmox LXC 107 (192.168.0.231, Debian 12). Runs at 127.0.0.1:6875. Default login: admin@admin.com / password.
- Progressive revelation principle: world revealed over time, not dumped at once.
