Sync files between Clawdbot workspace and Obsidian. Run the sync server to enable two-way file synchronization with the OpenClaw Obsidian plugin.
Scanned 9/5/2026
Install to Claude Code
npx -y skills add dvcrn/openclaw-skills-marketplace --skill obsidian-sync --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Obsidian Sync?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/dvcrn-obsidian-sync)More formats (shields.io, HTML) on the badges page.
---
name: obsidian-sync
description: "Sync files between Clawdbot workspace and Obsidian. Run the sync server to enable two-way file synchronization with the OpenClaw Obsidian plugin."
---
# 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`
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!