Install
openclaw skills install multi-device-sync-githubMulti-device OpenClaw data synchronization using GitHub. Manages workspace data sync across multiple machines (Ubuntu, Mac, etc.) with automatic push on file changes, periodic pull, and conflict detection. Use when setting up or managing OpenClaw across multiple devices, configuring data synchronization, resolving sync conflicts, or adding new devices to the sync network.
openclaw skills install multi-device-sync-githubSynchronize OpenClaw workspace data across multiple machines using a private GitHub repository.
Device A (Ubuntu) ◄────► GitHub Repo ◄────► Device B (Mac)
│ │ │
auto-push central auto-push
periodic pull hub periodic pull
sudo apt-get install -y git inotify-tools
brew install git fswatch
curl -fsSL https://raw.githubusercontent.com/RegulusZ/multi-device-sync-github/main/install.sh | bash
The installer will guide you through:
# 1. Clone skill
git clone https://github.com/RegulusZ/multi-device-sync-github.git ~/openclaw-skills/multi-device-sync-github
# 2. Clone/create sync repo
git clone git@github.com:YOURNAME/openclaw_sync.git ~/openclaw-sync
# 3. Initialize
cd ~/openclaw-sync
~/openclaw-skills/multi-device-sync-github/scripts/sync-init.sh \
--device-name mydevice \
--repo-url "git@github.com:YOURNAME/openclaw_sync.git"
# 4. Start daemon
~/openclaw-skills/multi-device-sync-github/scripts/sync-daemon.sh start
The skill creates symlinks from your workspace to the sync repo:
~/.openclaw/workspace/
├── USER.md → ~/openclaw-sync/USER.md (symlink)
├── MEMORY.md → ~/openclaw-sync/MEMORY.md (symlink)
├── SOUL.md → ~/openclaw-sync/SOUL.md (symlink)
├── skills/ → ~/openclaw-sync/skills/ (symlink)
└── memory/ → ~/openclaw-sync/memory/ (symlink)
When you edit a file in workspace, you're actually editing the sync repo file.
File changed in workspace
↓ (symlink)
File changed in sync repo
↓ (inotifywait/fswatch)
Wait 2 seconds (debounce)
↓
git add -A && git commit && git push
Every N minutes (configurable), the daemon pulls remote changes.
Edit ~/.config/openclaw/sync-config.yaml:
repo_url: "git@github.com:YOURNAME/openclaw_sync.git"
sync_interval_minutes: 5
device_name: "ubuntu"
conflict_strategy: "notify"
auto_pull_on_start: true
auto_push_enabled: true
paths:
sync:
- "USER.md"
- "MEMORY.md"
- "SOUL.md"
- "skills/"
- "memory/"
ignore:
- "logs/"
- "temp/"
- "*.log"
| File | Description | Recommended |
|---|---|---|
USER.md | User profile (name, timezone, background) | ✅ Yes |
MEMORY.md | Long-term memory and important context | ✅ Yes |
SOUL.md | AI behavior rules and guidelines | ✅ Yes |
skills/ | Installed skills and capabilities | ✅ Yes |
memory/ | Daily logs and session records | ✅ Yes |
TOOLS.md | Local tool notes and configurations | Optional |
IDENTITY.md | AI identity (name, vibe, emoji) | Optional (different per device) |
Memory files use device prefix to avoid conflicts:
memory/
├── ubuntu-2026-03-01.md # Ubuntu device
├── macmini-2026-03-01.md # Mac Mini device
└── laptop-2026-03-01.md # Laptop device
Shared files (no prefix):
USER.mdMEMORY.mdSOUL.md| Command | Description |
|---|---|
sync-init | Initialize git repo and config |
sync-status | Check sync status |
sync-now | Immediate pull + push |
sync-pull | Manual pull |
sync-push | Manual push |
sync-resolve | Interactive conflict resolution |
sync-daemon.sh start/stop/restart/status | Manage background sync |
When conflicts detected:
sync-resolve to:
curl -fsSL https://raw.githubusercontent.com/RegulusZ/multi-device-sync-github/main/install.sh | bash
# Select "Add to existing sync"
git clone git@github.com:YOURNAME/openclaw_sync.git ~/openclaw-sync
cd ~/openclaw-sync
~/openclaw-skills/multi-device-sync-github/scripts/sync-init.sh \
--device-name NEWNAME \
--repo-url "git@github.com:YOURNAME/openclaw_sync.git"
~/openclaw-skills/multi-device-sync-github/scripts/sync-daemon.sh start
See references/troubleshooting.md for common issues.
Use a private GitHub repository to protect your personal data.
The following files may contain sensitive information:
MEMORY.md - May include IP addresses, service URLsmemory/ - Daily logs with potentially sensitive detailsmulti-device-sync-github/
├── SKILL.md # This file
├── README.md # GitHub README
├── LICENSE # MIT License
├── install.sh # Interactive installer
├── _meta.json # ClawHub metadata
├── scripts/
│ ├── sync-init.sh # Initialize sync repo
│ ├── sync-daemon.sh # Background sync (pull + push watcher)
│ ├── sync-push.sh # Push changes to remote
│ ├── sync-pull.sh # Pull changes from remote
│ ├── sync-status.sh # Show sync status
│ ├── sync-now.sh # Immediate sync
│ ├── sync-resolve.sh # Conflict resolution
│ └── sync-notify # Notification helper
└── references/
└── troubleshooting.md # Common issues
MIT License - See LICENSE for details.
auto_push_enabled: false by defaultRecommended (Safest):
git clone https://github.com/RegulusZ/multi-device-sync-github.git
cd multi-device-sync-github
./install.sh
Convenience (Review First):
# Download and review before executing
curl -fsSL https://raw.githubusercontent.com/RegulusZ/multi-device-sync-github/main/install.sh -o install.sh
cat install.sh # Review the code
./install.sh
The skill requires:
~/.openclaw/workspace/After reviewing the behavior, enable auto-push:
# Edit config
nano ~/.config/openclaw/sync-config.yaml
# Change:
auto_push_enabled: true
auto_push_enabled: false by defaultRecommended (Safest):
git clone https://github.com/RegulusZ/multi-device-sync-github.git
cd multi-device-sync-github
./install.sh
Convenience (Review First):
curl -fsSL https://raw.githubusercontent.com/RegulusZ/multi-device-sync-github/main/install.sh -o install.sh
cat install.sh # Review before executing
./install.sh
After reviewing behavior, enable in config:
auto_push_enabled: true