obsidian-sync

Sync files between Clawdbot workspace and Obsidian. Run the sync server to enable two-way file synchronization with the OpenClaw Obsidian plugin.

7 stars

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

$curl -o ~/.claude/skills/obsidian-sync/SKILL.md --create-dirs "https://raw.githubusercontent.com/Demerzels-lab/elsamultiskillagent/main/public/skills/andybold/obsidian-sync/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/obsidian-sync/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How obsidian-sync Compares

Feature / Agentobsidian-syncStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/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

7
from Demerzels-lab/elsamultiskillagent

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

7
from Demerzels-lab/elsamultiskillagent

Sync conversations and messages with the XMTP CLI. Use when syncing conversations or syncing all.

icalendar-sync

7
from Demerzels-lab/elsamultiskillagent

Synchronizes calendar events between local system and iCloud.

memory-to-obsidian

7
from Demerzels-lab/elsamultiskillagent

将重要内容记录到 Obsidian Memory 文件夹,自动按日期整理并添加时间戳

health-sync

7
from Demerzels-lab/elsamultiskillagent

Analyze synced health data across Oura, Withings, Hevy, Strava, WHOOP, and Eight Sleep.

OpenClaw Async Task

7
from Demerzels-lab/elsamultiskillagent

## Description

obsidian-plugin

7
from Demerzels-lab/elsamultiskillagent

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

7
from Demerzels-lab/elsamultiskillagent

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

7
from Demerzels-lab/elsamultiskillagent

Daily Wakapi (WakaTime-compatible) summary → local CSV files.

douban-sync-skill

7
from Demerzels-lab/elsamultiskillagent

Export and sync Douban (豆瓣) book/movie/music/game collections.

Cross-Device Sync Skill

7
from Demerzels-lab/elsamultiskillagent

通过GitHub仓库实现OpenClaw跨设备记忆同步的技能。

save-to-obsidian

7
from Demerzels-lab/elsamultiskillagent

Saves markdown content to remote Obsidian vault via SSH.