Use when setting up the shared atmosphere-vault Obsidian vault on a new machine or for a new team member. Guides through cloning, installing plugins, symlinking claude_docs, and verifying the Obsidian CLI.
73
92%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
Passed
No findings from the security scan
DevOps assistant for setting up the shared atmosphere-vault Obsidian knowledge base on a developer machine.
Invoke when a team member needs to:
PROJECT_DIR = ~/workspace/atmosphere/atmosphere
VAULT_DIR = ~/workspace/atmosphere/atmosphere-vault
VAULT_REPO = git@github.com:Atmosphere/atmosphere-vault.gitAsk the user for PROJECT_DIR and VAULT_DIR if they differ from defaults. The vault is a
sibling of the project directory: the routing block reaches it as ../atmosphere-vault,
and the vault's scripts/sync-claude-memory.sh reaches the checkout as ../atmosphere.
Check that the following are installed:
# Obsidian desktop app (required)
ls /Applications/Obsidian.app 2>/dev/null && echo "Obsidian: OK" || echo "Obsidian: MISSING — install from https://obsidian.md"
# The app's own CLI (Settings → General → enable the command line interface)
command -v obsidian # must print /Applications/Obsidian.app/Contents/MacOS/obsidianIf command -v obsidian prints an npm path, the unrelated obsidian-cli npm package is
shadowing the real CLI — npm uninstall -g obsidian-cli.
# Only if not already present
if [ ! -d "$VAULT_DIR" ]; then
git clone git@github.com:Atmosphere/atmosphere-vault.git "$VAULT_DIR"
fi
# Verify on main branch
cd "$VAULT_DIR" && git statusDownloads obsidian-git and Templater and writes their pre-configured settings.
cd "$VAULT_DIR"
./scripts/install-plugins.shThis script:
main.js + manifest.json for each plugin from GitHub releases.obsidian/plugin-configs/ into each plugin's
data.json (obsidian-git: auto-commit and auto-push every 10 minutes, pull before push;
Templater: template folder Templates/, trigger on new file creation).obsidian/community-plugins.json to enable both pluginsPlugin binaries are excluded from git (.obsidian/plugins/ is in .gitignore).
Re-running the script is safe — it overwrites existing files idempotently.
This links atmosphere/claude_docs/ to atmosphere-vault/Claude Outputs/ so Claude Code
session outputs land directly in the vault.
cd "$PROJECT_DIR"
# Safety check: do NOT overwrite a real directory
if [ -d claude_docs ] && [ ! -L claude_docs ]; then
echo "ERROR: claude_docs/ exists as a real directory. Back it up before proceeding."
exit 1
fi
ln -sf "$VAULT_DIR/Claude Outputs" claude_docs
ls -la claude_docs # verify symlink resolvesInstruct the user to:
$VAULT_DIR and click OpenThe vault's commit timer is obsidian-git's, configured by Step 3 to commit and push every 10 minutes. Run exactly one per machine: if the machine already runs another commit timer of its own for the vault (nothing in this repo or the vault ships one), set obsidian-git's auto-commit and auto-push intervals to 0 there.
After obsidian-git is configured:
# Create a test file in Claude Outputs
echo "# Test" > "$PROJECT_DIR/claude_docs/test.md"
# Verify it appears in the vault
ls "$VAULT_DIR/Claude Outputs/test.md"
# Clean up
rm "$PROJECT_DIR/claude_docs/test.md"claude_docs/ directory that contains real filesmain branch before linkingobsidian-cli package — it shadows the app's own obsidian CLIls -la $PROJECT_DIR/claude_docs shows a symlink pointing to $VAULT_DIR/Claude Outputscommand -v obsidian resolves to the app bundleAtmosphere/atmosphere
09746c3
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.