← Back to Skills Marketplace
reed1898

Claw Roam

by Reed · GitHub ↗ · v1.0.3
cross-platform ✓ Security Clean
1948
Downloads
1
Stars
1
Active Installs
4
Versions
Install in OpenClaw
/install claw-roam
Description
Sync OpenClaw workspace between multiple machines (local Mac and remote VPS) via Git. Enables seamless migration of OpenClaw personality, memory, and skills. Use when user wants to (1) push workspace changes to remote before shutdown, (2) pull latest workspace on a new machine, (3) check sync status between machines, (4) migrate OpenClaw to another machine.
README (SKILL.md)

Claw Roam - OpenClaw Workspace Sync

Sync your OpenClaw workspace across machines via Git. This allows you to:

  • Work on local Mac as primary, seamlessly switch to VPS when traveling
  • Maintain continuous memory and personality across different machines
  • Backup your OpenClaw state to remote Git repository

Quick Start

Recommended branch model for multi-device:

  • main = shared baseline
  • remote = this server
  • local = your laptop/desktop
# Check status (current branch)
claw-roam status

# One-command full sync (recommended)
claw-roam sync

# Or step by step:
# Commit+push current branch
claw-roam push "msg"

# Pull latest for current branch
claw-roam pull

# (Optional) merge another device branch into current branch
claw-roam merge-from local
claw-roam merge-from remote

Commands

push

Commit and push workspace to remote Git repository.

claw-roam push [message]
  • If no message provided, uses timestamp as default
  • Automatically adds all changes (git add -A)
  • Skips push if no changes detected

pull

Pull latest workspace from remote and sync.

claw-roam pull
  • Fetches latest changes from remote
  • Applies changes to current workspace
  • Stops and restarts OpenClaw gateway to apply changes (VPS mode)

status

Check sync status between local and remote.

claw-roam status
  • Shows current branch and commit
  • Shows unpushed commits (if any)
  • Shows uncommitted changes
  • Suggests next action

sync (One-Command Full Sync)

claw-roam sync

Performs the complete sync workflow in one command:

  1. Commit and push current branch - Saves your local changes
  2. Merge main into current branch - Gets latest from shared main
  3. Push to main branch - Shares your changes with other machines

Workflow diagram:

┌─────────────┐     commit+push     ┌─────────────┐
│ local       │ ───────────────────▶│ origin/local│
│ 分支        │                     │             │
└──────┬──────┘                     └─────────────┘
       │
       │ merge main
       ▼
┌─────────────┐     merge+push      ┌─────────────┐
│ local       │ ───────────────────▶│ main        │
│ 分支        │                     │ (shared)    │
└─────────────┘                     └──────┬──────┘
                                           │
                    ┌──────────────────────┘
                    │ pull
                    ▼
            ┌─────────────┐
            │ remote      │
            │ 分支        │
            └─────────────┘

Recommended daily workflow:

# On each machine, just run:
claw-roam sync

This ensures:

  • Your changes are saved to your branch
  • You get latest changes from other machines (via main)
  • Other machines can get your changes (via main)

Setup

  1. Initialize Git repo in workspace (if not already done):
cd ~/.openclaw/workspace
git init
git remote add origin \x3Cyour-repo-url>
  1. Create initial commit:
git add -A
git commit -m "initial"
git push -u origin main
  1. On VPS machine - clone the repo:
cd ~
git clone \x3Cyour-repo-url> openclaw-workspace
ln -s openclaw-workspace ~/.openclaw/workspace

Branch Workflow (Recommended)

For multiple machines, use this branch strategy:

local (Mac) ──┐
              ├──► main (shared) ◄── merge & push
remote (VPS) ─┘

Setup Each Machine

Local Mac:

cd ~/.openclaw/workspace
git checkout -b local
git push -u origin local

Remote VPS:

cd ~/.openclaw/workspace
git checkout -b remote
git push -u origin remote

Daily Workflow

On each machine:

  1. Get latest from main (获取其他机器的最新内容):
claw-roam merge-from main
  1. Work normally, then push your changes:
claw-roam push "update memory"
  1. Share to main (让其他机器能获取):
git checkout main
git merge local -m "merge: local -> main"
git push origin main
git checkout local

Quick Sync (One-liner)

# Pull from main, then push to main
claw-roam merge-from main && git checkout main && git merge local && git push && git checkout local

Conflict Resolution

If merge-from main has conflicts:

# Keep your version
git checkout --ours \x3Cconflicted-file>
git add -A && git commit -m "merge: resolved conflicts"

# Or keep main's version
git checkout --theirs \x3Cconflicted-file>
git add -A && git commit -m "merge: resolved conflicts"

Simple Workflow: Local Primary + VPS Backup

For simpler setups without branches:

Daily Usage (Local Mac)

Just use OpenClaw normally. Before shutdown:

claw-roam push "end of day sync"

Or let it auto-push via cron:

# Add to crontab
*/10 * * * * cd ~/.openclaw/workspace && git add -A && git commit -m "auto: $(date)" && git push

Switching to VPS

  1. Ensure local has pushed: claw-roam push
  2. On VPS: claw-roam pull
  3. Update Telegram webhook to point to VPS (if using webhook mode)
  4. Continue using alternative bot token on VPS

Returning to Local

  1. On VPS: claw-roam push
  2. On local: claw-roam pull
  3. Update Telegram webhook back to local (if needed)

What Gets Synced

Synced (preserved across machines):

  • SOUL.md - Your agent's personality
  • MEMORY.md - Long-term memory
  • memory/*.md - Daily conversation logs
  • skills/ - All installed skills
  • AGENTS.md, USER.md - Context files
  • TOOLS.md - Device configurations
  • HEARTBEAT.md - Periodic tasks

Not Synced (machine-specific):

  • Session database (SQLite) - But this is rebuilt from memory files
  • Gateway runtime state
  • Platform-specific paths in configs

Troubleshooting

"Repository not found"

Run setup steps above to initialize Git repository.

"Merge conflicts"

If you edited on both machines without syncing:

# On the machine with changes you want to keep
git pull --strategy=ours
git push

"Permission denied"

Ensure your Git remote is configured with proper authentication (SSH key or token).

Scripts

Use bundled scripts directly:

~/.openclaw/workspace/skills/claw-roam/scripts/claw-roam.sh push
~/.openclaw/workspace/skills/claw-roam/scripts/claw-roam.sh pull
~/.openclaw/workspace/skills/claw-roam/scripts/claw-roam.sh status
Usage Guidance
This skill is coherent for syncing an OpenClaw workspace via git, but take these precautions before installing/using it: (1) Verify and trust the configured git remote URL — anything you push is sent to that remote. (2) Review and update .gitignore to prevent committing credentials, tokens, keys, or other sensitive files. (3) Avoid enabling the suggested cron auto-push unless you are sure nothing sensitive will be committed automatically. (4) Inspect scripts/claw-roam.sh yourself (it’s included) so you understand exactly what will run. (5) Be aware the script will use whatever git credentials are present on the machine (SSH keys, credential helpers) — it does not ask for or store new credentials. If you want stronger safety, run commands manually or restrict the repo to a private, trusted host.
Capability Analysis
Type: OpenClaw Skill Name: claw-roam Version: 1.0.3 The OpenClaw AgentSkills skill bundle 'claw-roam' is designed for syncing an OpenClaw workspace via Git. All operations performed by the `claw-roam.sh` script are standard Git commands (`git add`, `git commit`, `git push`, `git pull`, `git merge`, `git fetch`) and are strictly confined to the `~/.openclaw/workspace` directory. The `SKILL.md` documentation provides clear instructions for setup and usage, including an optional cron job example for automated syncing. While a cron job is a form of persistence, it is explicitly documented, user-initiated, and serves a legitimate purpose for the skill, not as a hidden backdoor or for malicious intent. There is no evidence of data exfiltration, malicious execution, unauthorized remote control, or obfuscation.
Capability Assessment
Purpose & Capability
Name/description match the behavior. The SKILL.md and the included shell script implement git-based push/pull/status/sync workflows for ~/.openclaw/workspace. No unrelated services, credentials, or binaries are requested.
Instruction Scope
Instructions and the script operate squarely on the workspace git repo. They automatically add/commit/push changes and suggest cron auto-push and changing Telegram webhooks. These behaviors are expected for a sync tool but carry data-exposure risk: automatic commits/pushes (and recommended cron jobs) can publish secrets or sensitive files to the configured remote if .gitignore is incomplete or the remote is untrusted. The SKILL.md also suggests updating webhook/token settings (operational guidance, not performed by the script).
Install Mechanism
This is an instruction-only skill with a shell script included; there is no install spec that downloads external artifacts. Nothing is fetched from arbitrary URLs or installed automatically by the skill package.
Credentials
The skill declares no required env vars, which is reasonable because it relies on the user's existing git credentials and environment. The script does check the OPENCLAW_VPS environment variable and /etc/openclaw/vps file to detect VPS context (optional behavior), but these are read-only checks. Important: git push/pull operations will use whatever git auth (SSH keys, credential helpers, tokens) the host already has — the skill does not request credentials but will transmit repo contents to whichever remote is configured.
Persistence & Privilege
always is false and the skill does not request persistent platform privileges or modify other skills/config. It does not autonomously install itself or alter global agent settings.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install claw-roam
  3. After installation, invoke the skill by name or use /claw-roam
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.3
Add sync command for one-command full sync workflow
v1.0.2
Add merge-from command for multi-branch workspace sync (main/remote/local); update docs.
v1.0.1
Add LOCAL_CONFIG.md best practices for machine-specific settings
v1.0.0
Initial release: Sync OpenClaw workspace between machines via Git
Metadata
Slug claw-roam
Version 1.0.3
License
All-time Installs 2
Active Installs 1
Total Versions 4
Frequently Asked Questions

What is Claw Roam?

Sync OpenClaw workspace between multiple machines (local Mac and remote VPS) via Git. Enables seamless migration of OpenClaw personality, memory, and skills. Use when user wants to (1) push workspace changes to remote before shutdown, (2) pull latest workspace on a new machine, (3) check sync status between machines, (4) migrate OpenClaw to another machine. It is an AI Agent Skill for Claude Code / OpenClaw, with 1948 downloads so far.

How do I install Claw Roam?

Run "/install claw-roam" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Claw Roam free?

Yes, Claw Roam is completely free (open-source). You can download, install and use it at no cost.

Which platforms does Claw Roam support?

Claw Roam is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Claw Roam?

It is built and maintained by Reed (@reed1898); the current version is v1.0.3.

💬 Comments