{
  "schemaVersion": "1.0",
  "item": {
    "slug": "claw-roam",
    "name": "Claw Roam",
    "source": "tencent",
    "type": "skill",
    "category": "效率提升",
    "sourceUrl": "https://clawhub.ai/reed1898/claw-roam",
    "canonicalUrl": "https://clawhub.ai/reed1898/claw-roam",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/claw-roam",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=claw-roam",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "_meta.json",
      "scripts/claw-roam.sh"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-23T16:43:11.935Z",
      "expiresAt": "2026-04-30T16:43:11.935Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=4claw-imageboard",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=4claw-imageboard",
        "contentDisposition": "attachment; filename=\"4claw-imageboard-1.0.1.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/claw-roam"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/claw-roam",
    "agentPageUrl": "https://openagent3.xyz/skills/claw-roam/agent",
    "manifestUrl": "https://openagent3.xyz/skills/claw-roam/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/claw-roam/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "Claw Roam - OpenClaw Workspace Sync",
        "body": "Sync your OpenClaw workspace across machines via Git. This allows you to:\n\nWork on local Mac as primary, seamlessly switch to VPS when traveling\nMaintain continuous memory and personality across different machines\nBackup your OpenClaw state to remote Git repository"
      },
      {
        "title": "Quick Start",
        "body": "Recommended branch model for multi-device:\n\nmain = shared baseline\nremote = this server\nlocal = your laptop/desktop\n\n# Check status (current branch)\nclaw-roam status\n\n# One-command full sync (recommended)\nclaw-roam sync\n\n# Or step by step:\n# Commit+push current branch\nclaw-roam push \"msg\"\n\n# Pull latest for current branch\nclaw-roam pull\n\n# (Optional) merge another device branch into current branch\nclaw-roam merge-from local\nclaw-roam merge-from remote"
      },
      {
        "title": "push",
        "body": "Commit and push workspace to remote Git repository.\n\nclaw-roam push [message]\n\nIf no message provided, uses timestamp as default\nAutomatically adds all changes (git add -A)\nSkips push if no changes detected"
      },
      {
        "title": "pull",
        "body": "Pull latest workspace from remote and sync.\n\nclaw-roam pull\n\nFetches latest changes from remote\nApplies changes to current workspace\nStops and restarts OpenClaw gateway to apply changes (VPS mode)"
      },
      {
        "title": "status",
        "body": "Check sync status between local and remote.\n\nclaw-roam status\n\nShows current branch and commit\nShows unpushed commits (if any)\nShows uncommitted changes\nSuggests next action"
      },
      {
        "title": "sync (One-Command Full Sync)",
        "body": "claw-roam sync\n\nPerforms the complete sync workflow in one command:\n\nCommit and push current branch - Saves your local changes\nMerge main into current branch - Gets latest from shared main\nPush to main branch - Shares your changes with other machines\n\nWorkflow diagram:\n\n┌─────────────┐     commit+push     ┌─────────────┐\n│ local       │ ───────────────────▶│ origin/local│\n│ 分支        │                     │             │\n└──────┬──────┘                     └─────────────┘\n       │\n       │ merge main\n       ▼\n┌─────────────┐     merge+push      ┌─────────────┐\n│ local       │ ───────────────────▶│ main        │\n│ 分支        │                     │ (shared)    │\n└─────────────┘                     └──────┬──────┘\n                                           │\n                    ┌──────────────────────┘\n                    │ pull\n                    ▼\n            ┌─────────────┐\n            │ remote      │\n            │ 分支        │\n            └─────────────┘\n\nRecommended daily workflow:\n\n# On each machine, just run:\nclaw-roam sync\n\nThis ensures:\n\nYour changes are saved to your branch\nYou get latest changes from other machines (via main)\nOther machines can get your changes (via main)"
      },
      {
        "title": "Setup",
        "body": "Initialize Git repo in workspace (if not already done):\n\ncd ~/.openclaw/workspace\ngit init\ngit remote add origin <your-repo-url>\n\nCreate initial commit:\n\ngit add -A\ngit commit -m \"initial\"\ngit push -u origin main\n\nOn VPS machine - clone the repo:\n\ncd ~\ngit clone <your-repo-url> openclaw-workspace\nln -s openclaw-workspace ~/.openclaw/workspace"
      },
      {
        "title": "Branch Workflow (Recommended)",
        "body": "For multiple machines, use this branch strategy:\n\nlocal (Mac) ──┐\n              ├──► main (shared) ◄── merge & push\nremote (VPS) ─┘"
      },
      {
        "title": "Setup Each Machine",
        "body": "Local Mac:\n\ncd ~/.openclaw/workspace\ngit checkout -b local\ngit push -u origin local\n\nRemote VPS:\n\ncd ~/.openclaw/workspace\ngit checkout -b remote\ngit push -u origin remote"
      },
      {
        "title": "Daily Workflow",
        "body": "On each machine:\n\nGet latest from main (获取其他机器的最新内容):\n\nclaw-roam merge-from main\n\nWork normally, then push your changes:\n\nclaw-roam push \"update memory\"\n\nShare to main (让其他机器能获取):\n\ngit checkout main\ngit merge local -m \"merge: local -> main\"\ngit push origin main\ngit checkout local"
      },
      {
        "title": "Quick Sync (One-liner)",
        "body": "# Pull from main, then push to main\nclaw-roam merge-from main && git checkout main && git merge local && git push && git checkout local"
      },
      {
        "title": "Conflict Resolution",
        "body": "If merge-from main has conflicts:\n\n# Keep your version\ngit checkout --ours <conflicted-file>\ngit add -A && git commit -m \"merge: resolved conflicts\"\n\n# Or keep main's version\ngit checkout --theirs <conflicted-file>\ngit add -A && git commit -m \"merge: resolved conflicts\""
      },
      {
        "title": "Simple Workflow: Local Primary + VPS Backup",
        "body": "For simpler setups without branches:"
      },
      {
        "title": "Daily Usage (Local Mac)",
        "body": "Just use OpenClaw normally. Before shutdown:\n\nclaw-roam push \"end of day sync\"\n\nOr let it auto-push via cron:\n\n# Add to crontab\n*/10 * * * * cd ~/.openclaw/workspace && git add -A && git commit -m \"auto: $(date)\" && git push"
      },
      {
        "title": "Switching to VPS",
        "body": "Ensure local has pushed: claw-roam push\nOn VPS: claw-roam pull\nUpdate Telegram webhook to point to VPS (if using webhook mode)\nContinue using alternative bot token on VPS"
      },
      {
        "title": "Returning to Local",
        "body": "On VPS: claw-roam push\nOn local: claw-roam pull\nUpdate Telegram webhook back to local (if needed)"
      },
      {
        "title": "What Gets Synced",
        "body": "Synced (preserved across machines):\n\nSOUL.md - Your agent's personality\nMEMORY.md - Long-term memory\nmemory/*.md - Daily conversation logs\nskills/ - All installed skills\nAGENTS.md, USER.md - Context files\nTOOLS.md - Device configurations\nHEARTBEAT.md - Periodic tasks\n\nNot Synced (machine-specific):\n\nSession database (SQLite) - But this is rebuilt from memory files\nGateway runtime state\nPlatform-specific paths in configs"
      },
      {
        "title": "\"Repository not found\"",
        "body": "Run setup steps above to initialize Git repository."
      },
      {
        "title": "\"Merge conflicts\"",
        "body": "If you edited on both machines without syncing:\n\n# On the machine with changes you want to keep\ngit pull --strategy=ours\ngit push"
      },
      {
        "title": "\"Permission denied\"",
        "body": "Ensure your Git remote is configured with proper authentication (SSH key or token)."
      },
      {
        "title": "Scripts",
        "body": "Use bundled scripts directly:\n\n~/.openclaw/workspace/skills/claw-roam/scripts/claw-roam.sh push\n~/.openclaw/workspace/skills/claw-roam/scripts/claw-roam.sh pull\n~/.openclaw/workspace/skills/claw-roam/scripts/claw-roam.sh status"
      }
    ],
    "body": "Claw Roam - OpenClaw Workspace Sync\n\nSync your OpenClaw workspace across machines via Git. This allows you to:\n\nWork on local Mac as primary, seamlessly switch to VPS when traveling\nMaintain continuous memory and personality across different machines\nBackup your OpenClaw state to remote Git repository\nQuick Start\n\nRecommended branch model for multi-device:\n\nmain = shared baseline\nremote = this server\nlocal = your laptop/desktop\n# Check status (current branch)\nclaw-roam status\n\n# One-command full sync (recommended)\nclaw-roam sync\n\n# Or step by step:\n# Commit+push current branch\nclaw-roam push \"msg\"\n\n# Pull latest for current branch\nclaw-roam pull\n\n# (Optional) merge another device branch into current branch\nclaw-roam merge-from local\nclaw-roam merge-from remote\n\nCommands\npush\n\nCommit and push workspace to remote Git repository.\n\nclaw-roam push [message]\n\nIf no message provided, uses timestamp as default\nAutomatically adds all changes (git add -A)\nSkips push if no changes detected\npull\n\nPull latest workspace from remote and sync.\n\nclaw-roam pull\n\nFetches latest changes from remote\nApplies changes to current workspace\nStops and restarts OpenClaw gateway to apply changes (VPS mode)\nstatus\n\nCheck sync status between local and remote.\n\nclaw-roam status\n\nShows current branch and commit\nShows unpushed commits (if any)\nShows uncommitted changes\nSuggests next action\nsync (One-Command Full Sync)\nclaw-roam sync\n\n\nPerforms the complete sync workflow in one command:\n\nCommit and push current branch - Saves your local changes\nMerge main into current branch - Gets latest from shared main\nPush to main branch - Shares your changes with other machines\n\nWorkflow diagram:\n\n┌─────────────┐     commit+push     ┌─────────────┐\n│ local       │ ───────────────────▶│ origin/local│\n│ 分支        │                     │             │\n└──────┬──────┘                     └─────────────┘\n       │\n       │ merge main\n       ▼\n┌─────────────┐     merge+push      ┌─────────────┐\n│ local       │ ───────────────────▶│ main        │\n│ 分支        │                     │ (shared)    │\n└─────────────┘                     └──────┬──────┘\n                                           │\n                    ┌──────────────────────┘\n                    │ pull\n                    ▼\n            ┌─────────────┐\n            │ remote      │\n            │ 分支        │\n            └─────────────┘\n\n\nRecommended daily workflow:\n\n# On each machine, just run:\nclaw-roam sync\n\n\nThis ensures:\n\nYour changes are saved to your branch\nYou get latest changes from other machines (via main)\nOther machines can get your changes (via main)\nSetup\nInitialize Git repo in workspace (if not already done):\ncd ~/.openclaw/workspace\ngit init\ngit remote add origin <your-repo-url>\n\nCreate initial commit:\ngit add -A\ngit commit -m \"initial\"\ngit push -u origin main\n\nOn VPS machine - clone the repo:\ncd ~\ngit clone <your-repo-url> openclaw-workspace\nln -s openclaw-workspace ~/.openclaw/workspace\n\nBranch Workflow (Recommended)\n\nFor multiple machines, use this branch strategy:\n\nlocal (Mac) ──┐\n              ├──► main (shared) ◄── merge & push\nremote (VPS) ─┘\n\nSetup Each Machine\n\nLocal Mac:\n\ncd ~/.openclaw/workspace\ngit checkout -b local\ngit push -u origin local\n\n\nRemote VPS:\n\ncd ~/.openclaw/workspace\ngit checkout -b remote\ngit push -u origin remote\n\nDaily Workflow\n\nOn each machine:\n\nGet latest from main (获取其他机器的最新内容):\nclaw-roam merge-from main\n\nWork normally, then push your changes:\nclaw-roam push \"update memory\"\n\nShare to main (让其他机器能获取):\ngit checkout main\ngit merge local -m \"merge: local -> main\"\ngit push origin main\ngit checkout local\n\nQuick Sync (One-liner)\n# Pull from main, then push to main\nclaw-roam merge-from main && git checkout main && git merge local && git push && git checkout local\n\nConflict Resolution\n\nIf merge-from main has conflicts:\n\n# Keep your version\ngit checkout --ours <conflicted-file>\ngit add -A && git commit -m \"merge: resolved conflicts\"\n\n# Or keep main's version\ngit checkout --theirs <conflicted-file>\ngit add -A && git commit -m \"merge: resolved conflicts\"\n\nSimple Workflow: Local Primary + VPS Backup\n\nFor simpler setups without branches:\n\nDaily Usage (Local Mac)\n\nJust use OpenClaw normally. Before shutdown:\n\nclaw-roam push \"end of day sync\"\n\n\nOr let it auto-push via cron:\n\n# Add to crontab\n*/10 * * * * cd ~/.openclaw/workspace && git add -A && git commit -m \"auto: $(date)\" && git push\n\nSwitching to VPS\nEnsure local has pushed: claw-roam push\nOn VPS: claw-roam pull\nUpdate Telegram webhook to point to VPS (if using webhook mode)\nContinue using alternative bot token on VPS\nReturning to Local\nOn VPS: claw-roam push\nOn local: claw-roam pull\nUpdate Telegram webhook back to local (if needed)\nWhat Gets Synced\n\nSynced (preserved across machines):\n\nSOUL.md - Your agent's personality\nMEMORY.md - Long-term memory\nmemory/*.md - Daily conversation logs\nskills/ - All installed skills\nAGENTS.md, USER.md - Context files\nTOOLS.md - Device configurations\nHEARTBEAT.md - Periodic tasks\n\nNot Synced (machine-specific):\n\nSession database (SQLite) - But this is rebuilt from memory files\nGateway runtime state\nPlatform-specific paths in configs\nTroubleshooting\n\"Repository not found\"\n\nRun setup steps above to initialize Git repository.\n\n\"Merge conflicts\"\n\nIf you edited on both machines without syncing:\n\n# On the machine with changes you want to keep\ngit pull --strategy=ours\ngit push\n\n\"Permission denied\"\n\nEnsure your Git remote is configured with proper authentication (SSH key or token).\n\nScripts\n\nUse bundled scripts directly:\n\n~/.openclaw/workspace/skills/claw-roam/scripts/claw-roam.sh push\n~/.openclaw/workspace/skills/claw-roam/scripts/claw-roam.sh pull\n~/.openclaw/workspace/skills/claw-roam/scripts/claw-roam.sh status"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/reed1898/claw-roam",
    "publisherUrl": "https://clawhub.ai/reed1898/claw-roam",
    "owner": "reed1898",
    "version": "1.0.3",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/claw-roam",
    "downloadUrl": "https://openagent3.xyz/downloads/claw-roam",
    "agentUrl": "https://openagent3.xyz/skills/claw-roam/agent",
    "manifestUrl": "https://openagent3.xyz/skills/claw-roam/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/claw-roam/agent.md"
  }
}