obsidian-sync
Sync files between Clawdbot workspace and Obsidian. Run the sync server to enable two-way file synchronization with the OpenClaw Obsidian plugin.
Best use case
obsidian-sync is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Sync files between Clawdbot workspace and Obsidian. Run the sync server to enable two-way file synchronization with the OpenClaw Obsidian plugin.
Teams using obsidian-sync should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/obsidian-sync/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How obsidian-sync Compares
| Feature / Agent | obsidian-sync | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Sync files between Clawdbot workspace and Obsidian. Run the sync server to enable two-way file synchronization with the OpenClaw Obsidian plugin.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# Obsidian Sync Server A secure file sync server for two-way synchronization between Clawdbot and Obsidian. > **📦 This skill is part of [obsidian-openclaw](https://github.com/AndyBold/obsidian-openclaw)** > An Obsidian plugin that lets you chat with your Clawdbot agent and sync notes between your vault and the agent's workspace. ## Quick Start ```bash SYNC_TOKEN="your-gateway-token" node scripts/sync-server.mjs ``` ## Configuration | Environment Variable | Default | Description | |---------------------|---------|-------------| | `SYNC_PORT` | `18790` | Server port | | `SYNC_BIND` | `localhost` | Bind address | | `SYNC_WORKSPACE` | `/data/clawdbot` | Root workspace path | | `SYNC_TOKEN` | (required) | Auth token (use Gateway token) | | `SYNC_ALLOWED_PATHS` | `notes,memory` | Comma-separated allowed subdirectories | ## Security - Only configured subdirectories are accessible - Path traversal (`../`) is blocked - All requests require `Authorization: Bearer <token>` - Bind to localhost; expose via Tailscale serve for remote access ## API Endpoints | Method | Endpoint | Description | |--------|----------|-------------| | GET | `/sync/status` | Health check | | GET | `/sync/list?path=notes` | List markdown files | | GET | `/sync/read?path=notes/x.md` | Read file + metadata | | POST | `/sync/write?path=notes/x.md` | Write file (conflict detection) | ## Exposing via Tailscale ```bash tailscale serve --bg --https=18790 http://localhost:18790 ``` ## Running as a Service ### User systemd service ```bash mkdir -p ~/.config/systemd/user cat > ~/.config/systemd/user/openclaw-sync.service << 'EOF' [Unit] Description=OpenClaw Sync Server After=network.target [Service] Type=simple Environment=SYNC_TOKEN=your-token-here Environment=SYNC_WORKSPACE=/data/clawdbot Environment=SYNC_ALLOWED_PATHS=notes,memory ExecStart=/usr/bin/node /path/to/skills/obsidian-sync/scripts/sync-server.mjs Restart=on-failure RestartSec=5 [Install] WantedBy=default.target EOF systemctl --user daemon-reload systemctl --user enable --now openclaw-sync loginctl enable-linger $USER # Start on boot ``` ## Obsidian Plugin This skill provides the backend for the **OpenClaw Obsidian plugin**: **[github.com/AndyBold/obsidian-openclaw](https://github.com/AndyBold/obsidian-openclaw)** The plugin provides: - 💬 **Chat sidebar** — Talk to your Clawdbot agent from Obsidian - 📁 **File actions** — Create, edit, delete notes via conversation - 🔄 **Two-way sync** — Keep notes synchronized between vault and agent - 🔒 **Secure storage** — OS keychain integration for tokens - 📋 **Audit logging** — Track all file operations Install the plugin via [BRAT](https://github.com/TfTHacker/obsidian42-brat) using: `AndyBold/obsidian-openclaw`
Related Skills
project-context-sync
Keep a living project state document updated after each commit, so any agent (or future session) can instantly understand where things stand.
xmtp-cli-sync
Sync conversations and messages with the XMTP CLI. Use when syncing conversations or syncing all.
icalendar-sync
Synchronizes calendar events between local system and iCloud.
memory-to-obsidian
将重要内容记录到 Obsidian Memory 文件夹,自动按日期整理并添加时间戳
health-sync
Analyze synced health data across Oura, Withings, Hevy, Strava, WHOOP, and Eight Sleep.
OpenClaw Async Task
## Description
obsidian-plugin
Create and develop Obsidian plugins from scratch. Use when building a new Obsidian plugin, scaffolding from the sample-plugin-plus template, or developing plugin features. Covers project setup, manifest configuration, TypeScript development, settings UI, commands, ribbons, modals, and Obsidian API patterns.
secure-sync
Secure credential sync and backup for OpenClaw .mykey files via ClawHub. Automates discovery, encoding, packaging, and private publishing for multi-instance recovery without external services. Use for setup migrations, DR, or cross-device key management.
wakapi-sync-skill
Daily Wakapi (WakaTime-compatible) summary → local CSV files.
douban-sync-skill
Export and sync Douban (豆瓣) book/movie/music/game collections.
Cross-Device Sync Skill
通过GitHub仓库实现OpenClaw跨设备记忆同步的技能。
save-to-obsidian
Saves markdown content to remote Obsidian vault via SSH.