obsidian-sync
Sync files between Clawdbot workspace and Obsidian. Run the sync server to enable two-way file synchronization with the OpenClaw Obsidian plugin.
Packaged view
This page reorganizes the original catalog entry around fit, installability, and workflow context first. The original raw source lives below.
Install command
npx @skill-hub/cli install openclaw-skills-obsidian-sync
Repository
Skill path: skills/andybold/obsidian-sync
Sync files between Clawdbot workspace and Obsidian. Run the sync server to enable two-way file synchronization with the OpenClaw Obsidian plugin.
Open repositoryBest for
Primary workflow: Ship Full Stack.
Technical facets: Full Stack, Backend, Integration.
Target audience: everyone.
License: Unknown.
Original source
Catalog source: SkillHub Club.
Repository owner: openclaw.
This is still a mirrored public skill entry. Review the repository before installing into production workflows.
What it helps with
- Install obsidian-sync into Claude Code, Codex CLI, Gemini CLI, or OpenCode workflows
- Review https://github.com/openclaw/skills before adding obsidian-sync to shared team environments
- Use obsidian-sync for development workflows
Works across
Favorites: 0.
Sub-skills: 0.
Aggregator: No.
Original source / Raw SKILL.md
---
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`
---
## Skill Companion Files
> Additional files collected from the skill directory layout.
### _meta.json
```json
{
"owner": "andybold",
"slug": "obsidian-sync",
"displayName": "Obsidian Sync",
"latest": {
"version": "1.0.0",
"publishedAt": 1769962118168,
"commit": "https://github.com/clawdbot/skills/commit/3e661feba91333f4df12fd10ae640a6d84ebdefa"
},
"history": []
}
```