{"id":"9bcac1ad-5f3a-4681-9379-f0047815fc8e","entityType":"agent","slug":"clawhub-lyy4916-workbuddy-multi-machine-sync","name":"workbuddy-multi-machine-sync","canonicalUrl":"https://www.xpersona.co/agent/clawhub-lyy4916-workbuddy-multi-machine-sync","canonicalPath":"/agent/clawhub-lyy4916-workbuddy-multi-machine-sync","generatedAt":"2026-10-09T23:08:53.138Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-09T12:31:29.476Z","emptyReason":null},"description":"Set up WorkBuddy config sync across 3+ Macs with machine naming, conflict resolution, and status tracking. Supports GitHub or iCloud as backend. Triggers: 多机同步, 三台电脑同步, 多台 Mac 同步 WorkBuddy, multi-machine sync, 3+ devices sync, 多台电脑配置同步, team sync WorkBuddy. Includes machine registry, per-machine commit tagging, stale lock detection, and a status command to see which machines are active.","descriptionLabel":"Source description","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 2.6K downloads reported by the source. Last updated 10/9/2026.","installCommand":"clawhub skill install s177t5gz1g9bqr9wzdn3k301nh8bn7wz:workbuddy-multi-machine-sync","sourceUrl":"https://clawhub.ai/lyy4916/workbuddy-multi-machine-sync","homepage":"https://clawhub.ai/lyy4916/skills/workbuddy-multi-machine-sync","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/lyy4916/workbuddy-multi-machine-sync","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/lyy4916/skills/workbuddy-multi-machine-sync","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":68,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"workbuddy-multi-machine-sync technical dossier on Xpersona with agent coverage, OPENCLEW support, and live trust metadata."},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-09T12:31:29.476Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[],"verifiedCount":0,"selfDeclaredCount":1,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile"}},"adoption":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-09T12:31:29.476Z","emptyReason":null},"stars":null,"forks":null,"downloads":2648,"packageName":null,"latestVersion":"0.1.0","tractionLabel":"2.6K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-09T12:31:29.475Z","emptyReason":null},"lastUpdatedAt":"2026-10-09T12:31:29.476Z","lastCrawledAt":"2026-10-09T12:31:29.475Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-10T12:31:29.475Z","lastVerifiedAt":null,"highlights":[{"version":"0.1.0","createdAt":"2026-08-01T06:38:30.078Z","changelog":"- Initial release: Multi-machine WorkBuddy config sync for 3 or more Macs. - Adds machine naming, registry file (machines.json), and per-machine commit tagging. - Includes robust conflict resolution and stale lock detection for higher-concurrency setups. - Provides wbstatus command to view all registered machines, their sync status, and activity. - Supports both GitHub and iCloud as sync backends.","fileCount":11,"zipByteSize":16454}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s177t5gz1g9bqr9wzdn3k301nh8bn7wz:workbuddy-multi-machine-sync","setupComplexity":"low","setupSteps":["Install using `clawhub skill install s177t5gz1g9bqr9wzdn3k301nh8bn7wz:workbuddy-multi-machine-sync` in an isolated environment before connecting it to live workloads.","No published capability contract is available yet, so validate auth and request/response behavior manually.","Review the upstream CLAWHUB listing at https://clawhub.ai/lyy4916/workbuddy-multi-machine-sync before using production credentials."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-lyy4916-workbuddy-multi-machine-sync/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-lyy4916-workbuddy-multi-machine-sync/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-lyy4916-workbuddy-multi-machine-sync/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-lyy4916-workbuddy-multi-machine-sync/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-lyy4916-workbuddy-multi-machine-sync/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-lyy4916-workbuddy-multi-machine-sync/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-09T23:08:53.137Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-lyy4916-workbuddy-multi-machine-sync/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-lyy4916-workbuddy-multi-machine-sync/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-lyy4916-workbuddy-multi-machine-sync/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-lyy4916-workbuddy-multi-machine-sync/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-09T12:31:29.476Z","emptyReason":null},"readme":"Skill: workbuddy-multi-machine-sync\n\nOwner: lyy4916\n\nSummary: Set up WorkBuddy config sync across 3+ Macs with machine naming, conflict resolution, and status tracking. Supports GitHub or iCloud as backend. Triggers: 多机同步, 三台电脑同步, 多台 Mac 同步 WorkBuddy, multi-machine sync, 3+ devices sync, 多台电脑配置同步, team sync WorkBuddy. Includes machine registry, per-machine commit tagging, stale lock detection, and a status command to see which machines are active.\n\nTags: latest:0.1.0\n\nVersion history:\n\nv0.1.0 | 2026-08-01T06:38:30.078Z | auto\n\n- Initial release: Multi-machine WorkBuddy config sync for 3 or more Macs.\n- Adds machine naming, registry file (machines.json), and per-machine commit tagging.\n- Includes robust conflict resolution and stale lock detection for higher-concurrency setups.\n- Provides wbstatus command to view all registered machines, their sync status, and activity.\n- Supports both GitHub and iCloud as sync backends.\n\nArchive index:\n\nArchive v0.1.0: 11 files, 16454 bytes\n\nFiles: references (0b), references/gitignore-template (1080b), references/multi-machine-architecture.md (5531b), scripts (0b), scripts/auto-sync-multi.sh (4257b), scripts/machine-status.sh (4150b), scripts/setup-machine.sh.template (7832b), scripts/start-sync-daemon.sh (1530b), skill-card.md (2570b), SKILL.md (9773b), _meta.json (147b)\n\nFile v0.1.0:SKILL.md\n\n---\nname: workbuddy-multi-machine-sync\ndescription: \"Set up WorkBuddy config sync across 3+ Macs with machine naming, conflict resolution, and status tracking. Supports GitHub or iCloud as backend. Triggers: 多机同步, 三台电脑同步, 多台 Mac 同步 WorkBuddy, multi-machine sync, 3+ devices sync, 多台电脑配置同步, team sync WorkBuddy. Includes machine registry, per-machine commit tagging, stale lock detection, and a status command to see which machines are active.\"\nagent_created: true\n---\n\n# WorkBuddy Multi-Machine Sync (3+ Devices)\n\n## Overview\n\nExtend WorkBuddy config sync to **three or more Macs**. Built on top of the\ntwo-machine sync skill, this adds:\n\n- **Machine naming** — each Mac gets a human-readable label (e.g. `studio`,\n  `laptop`, `office`) for easy identification in commit logs\n- **Machine registry** — a `machines.json` file tracks all registered machines\n  and their last-sync timestamps\n- **Conflict-aware sync** — more aggressive rebase + auto-resolve strategy for\n  the higher conflict probability with 3+ machines\n- **Status command** — `wbstatus` shows which machines are registered, when\n  they last synced, and which is currently active\n- **Backend agnostic** — works with GitHub or iCloud\n\n## When to Use This vs Two-Machine Sync\n\n| Factor | Two-Machine Sync | Multi-Machine Sync |\n|--------|------------------|---------------------|\n| Machine count | 2 | 3+ |\n| Machine naming | Not needed | Yes (human-readable labels) |\n| Machine registry | Not needed | `machines.json` |\n| Conflict probability | Low | Higher (more concurrent edits) |\n| Status tracking | Manual | `wbstatus` command |\n| Backend | GitHub or iCloud | GitHub or iCloud |\n\nIf you only have 2 machines, use `workbuddy-multi-device-sync` (simpler).\nUpgrade to this skill when adding a 3rd machine.\n\n## What Syncs vs What Doesn't\n\nSame as the two-machine skill. Additionally:\n\n### Syncs (new)\n- `.machine-name` — this machine's label\n- `machines.json` — registry of all machines\n\n### Does NOT Sync (same as before)\n- `binaries/`, `workbuddy.db`, `.mcp.json`, `sessions/`, `logs/`, `traces/`,\n  `credentials/`, `memory/`, daemon state files\n\n## Workflow\n\n### Phase 1: Set Up Machine 1 (Primary)\n\nFollow the two-machine skill (`workbuddy-multi-device-sync`) for Mac A setup,\nthen add multi-machine enhancements:\n\n#### Step 1: Register Machine Name\n\n```bash\n# Set a human-readable name for this machine\necho \"studio\" > ~/.workbuddy/.machine-name\n```\n\nChoose short, descriptive names: `studio`, `laptop`, `office`, `home`, etc.\n\n#### Step 2: Initialize Machine Registry\n\n```bash\n# Create machines.json with this machine registered\nMACHINE_NAME=$(cat ~/.workbuddy/.machine-name)\nHOSTNAME=$(hostname)\nTIMESTAMP=$(date -u +\"%Y-%m-%dT%H:%M:%SZ\")\n\ncat > ~/.workbuddy/machines.json << EOF\n{\n  \"machines\": [\n    {\n      \"name\": \"$MACHINE_NAME\",\n      \"hostname\": \"$HOSTNAME\",\n      \"registered\": \"$TIMESTAMP\",\n      \"last_sync\": \"$TIMESTAMP\",\n      \"status\": \"active\"\n    }\n  ]\n}\nEOF\n```\n\n#### Step 3: Install Multi-Machine Auto-Sync\n\n1. Copy `scripts/auto-sync-multi.sh` to `~/.workbuddy/auto-sync.sh`\n2. Copy `scripts/start-sync-daemon.sh` to `~/.workbuddy/start-sync-daemon.sh`\n3. Copy `scripts/machine-status.sh` to `~/.workbuddy/machine-status.sh`\n4. Make all executable:\n```bash\nchmod +x ~/.workbuddy/auto-sync.sh ~/.workbuddy/start-sync-daemon.sh ~/.workbuddy/machine-status.sh\n```\n\nThe `auto-sync-multi.sh` script differs from the two-machine version:\n- Tags each commit with machine name: `auto-sync <timestamp> from <machine>`\n- Updates `machines.json` with `last_sync` timestamp on each sync\n- Auto-resolves non-conflicting changes (accept theirs for non-overlapping files)\n- Handles rebase failures gracefully (stashes, pulls, pops)\n\n#### Step 4: Add Terminal Hooks\n\nAppend to `~/.bash_profile` (or `~/.zshrc`):\n\n```bash\n# WorkBuddy multi-machine sync shortcuts\nalias wbsync='cd ~/.workbuddy && git add -A && git commit -m \"sync $(date +%m%d-%H%M) from $(cat ~/.workbuddy/.machine-name 2>/dev/null || echo $(hostname))\" && git push origin main'\nalias wbpull='cd ~/.workbuddy && git pull --rebase origin main'\nalias wbstatus='bash ~/.workbuddy/machine-status.sh'\n\n# WorkBuddy auto-sync — daemon keepalive + sync on terminal open\nif [ -f ~/.workbuddy/start-sync-daemon.sh ]; then\n  bash ~/.workbuddy/start-sync-daemon.sh 2>/dev/null\nfi\nif [ -t 1 ] && [ -f ~/.workbuddy/auto-sync.sh ]; then\n  _wb_now=$(date +%s)\n  _wb_last=$(cat ~/.workbuddy/.last-auto-sync 2>/dev/null || echo 0)\n  if [ $((_wb_now - _wb_last)) -gt 300 ]; then\n    bash ~/.workbuddy/auto-sync.sh >/dev/null 2>&1 &\n    echo $_wb_now > ~/.workbuddy/.last-auto-sync\n  fi\n  unset _wb_now _wb_last\nfi\n```\n\n#### Step 5: Update .gitignore\n\nEnsure these are NOT in .gitignore (they should be synced):\n- `.machine-name` — machine label\n- `machines.json` — machine registry\n\nEnsure these ARE in .gitignore (already covered by template):\n- `.auto-sync.log`, `.sync-daemon.pid`, `.last-auto-sync`, `start-sync-daemon.sh`\n\n#### Step 6: Commit and Push\n\n```bash\ncd ~/.workbuddy\ngit add -A\ngit commit -m \"init: multi-machine sync setup on $(cat .machine-name)\"\ngit push origin main\n```\n\n### Phase 2: Add Machine 2, 3, 4...\n\nFor each additional machine:\n\n#### Prerequisites\n- WorkBuddy installed and launched once, then quit\n- GitHub repo accessible (or iCloud Drive synced)\n\n#### Setup\n\nUse `scripts/setup-machine.sh.template` as the setup script. Replace:\n- `<REMOTE_URL>` → GitHub repo URL or iCloud bare repo path\n- `<REMOTE_NAME>` → `origin` for GitHub, `icloud` for iCloud\n- `<GITHUB_USERNAME>` / `<GITHUB_TOKEN>` → only for GitHub backend\n\nThen on the new machine:\n\n```bash\n# For GitHub backend:\ncurl -sSL -H \"Authorization: token <TOKEN>\" \\\n  \"https://raw.githubusercontent.com/<USER>/wb-sync/main/wb-setup-machine.sh\" | bash\n\n# For iCloud backend:\nbash wb-setup-machine.sh  # after AirDrop or manual copy\n```\n\nThe setup script will:\n1. Ask for a machine name (or accept a default based on hostname)\n2. Back up existing config\n3. Pull from remote\n4. Register itself in `machines.json`\n5. Install auto-sync daemon\n6. Start syncing\n\n### Phase 3: Daily Usage\n\n```bash\n# Check status of all machines\nwbstatus\n\n# Output example:\n# ┌──────────┬──────────────────────┬──────────┬─────────────────────┐\n# │ Machine  │ Hostname             │ Status   │ Last Sync           │\n# ├──────────┼──────────────────────┼──────────┼─────────────────────┤\n# │ studio   │ pascalliu-mac-studio │ active   │ 2026-08-01 12:30:15 │\n# │ laptop   │ pascalliu-mbp        │ active   │ 2026-08-01 12:28:42 │\n# │ office   │ pascalliu-imac       │ stale    │ 2026-07-30 18:15:00 │\n# └──────────┴──────────────────────┴──────────┴─────────────────────┘\n```\n\n- **active**: synced within the last 30 minutes\n- **stale**: last sync > 30 minutes ago (machine may be offline)\n- **offline**: last sync > 24 hours ago\n\n## Conflict Handling\n\nWith 3+ machines, conflicts are more likely. The auto-sync script uses this\nstrategy:\n\n1. **`git pull --rebase`** — replays local commits on top of remote\n2. **If rebase fails** (conflicting changes to the same file):\n   - Stash local changes\n   - Pull (accept remote)\n   - Pop stash (attempt merge)\n   - If merge fails: keep remote version, log the conflict\n3. **Conflict log**: conflicts are logged to `~/.workbuddy/.sync-conflicts.log`\n   for manual review\n\n### Resolving Conflicts Manually\n\n```bash\ncd ~/.workbuddy\ngit status                    # see conflicted files\n# edit files to resolve...\ngit add -A\ngit rebase --continue\ngit push origin main\n```\n\n## Machine Registry Format\n\n`machines.json`:\n```json\n{\n  \"machines\": [\n    {\n      \"name\": \"studio\",\n      \"hostname\": \"pascalliu-mac-studio\",\n      \"registered\": \"2026-08-01T00:00:00Z\",\n      \"last_sync\": \"2026-08-01T12:30:15Z\",\n      \"status\": \"active\"\n    },\n    {\n      \"name\": \"laptop\",\n      \"hostname\": \"pascalliu-mbp\",\n      \"registered\": \"2026-08-01T01:00:00Z\",\n      \"last_sync\": \"2026-08-01T12:28:42Z\",\n      \"status\": \"active\"\n    }\n  ]\n}\n```\n\nEach machine updates its own entry on every sync. Stale entries (machines\nnot seen for > 30 days) can be cleaned up manually.\n\n## Important Notes\n\n- **Only one machine should be actively used at a time** for best results.\n  The daemon handles concurrent sync, but real-time simultaneous editing of\n  the same config files will cause conflicts.\n- **Machine names must be unique**. If two machines have the same name, the\n  registry will show duplicate entries.\n- **Automations** (scheduled tasks) do NOT sync. Set them up on each machine.\n- **GitHub SSH port 22 may be blocked** in China. Use HTTPS + token.\n- **LaunchAgent** fails under sandbox. Use the Python daemon approach.\n- **Daemon recovery**: After reboot, opens terminal or WorkBuddy bash command\n  to restart daemon.\n\n## Resources\n\n### scripts/\n- `auto-sync-multi.sh` — Enhanced sync script with machine tagging and conflict handling\n- `start-sync-daemon.sh` — Daemon launcher (same as two-machine version)\n- `machine-status.sh` — Display registered machines and their sync status\n- `setup-machine.sh.template` — Setup script template for any new machine (Nth machine)\n\n### references/\n- `gitignore-template` — .gitignore for multi-machine setup\n- `multi-machine-architecture.md` — Architecture, conflict handling, and migration guide\n\nFile v0.1.0:_meta.json\n\n{\n  \"ownerId\": \"kn751pzj8jbknm4tygdecnwjzn8bmtyz\",\n  \"slug\": \"workbuddy-multi-machine-sync\",\n  \"version\": \"0.1.0\",\n  \"publishedAt\": 1785566310078\n}\n\nFile v0.1.0:references/multi-machine-architecture.md\n\n# Multi-Machine Sync Architecture\n\n## Overview\n\nExtends the two-machine sync to support 3+ Macs with machine naming,\nregistry tracking, and enhanced conflict handling.\n\n## Architecture\n\n```\n                 GitHub / iCloud\n                      ↕\n    ┌─────────────────┼─────────────────┐\n    ↓                 ↓                 ↓\n Machine A         Machine B         Machine C\n (studio)          (laptop)          (office)\n    ↕                 ↕                 ↕\n auto-sync.sh     auto-sync.sh     auto-sync.sh\n (every 5 min)    (every 5 min)    (every 5 min)\n    ↕                 ↕                 ↕\n machines.json ←──→ machines.json ←──→ machines.json\n```\n\nEach machine:\n1. Pulls remote changes (rebase)\n2. Updates its own entry in `machines.json` (last_sync timestamp)\n3. Commits local changes (tagged with machine name)\n4. Pushes to remote\n\n## Machine Naming\n\nEach machine has a `.machine-name` file containing a short label:\n- `studio`, `laptop`, `office`, `home`, etc.\n- Must be unique across all machines\n- No spaces (use hyphens)\n\nThis name appears in:\n- Git commit messages: `auto-sync 2026-08-01 12:30 from studio`\n- `machines.json` registry\n- `wbstatus` output\n\n## Machine Registry (`machines.json`)\n\nA shared JSON file (synced via git) that tracks all registered machines:\n\n```json\n{\n  \"machines\": [\n    {\n      \"name\": \"studio\",\n      \"hostname\": \"pascalliu-mac-studio\",\n      \"registered\": \"2026-08-01T00:00:00Z\",\n      \"last_sync\": \"2026-08-01T12:30:15Z\",\n      \"status\": \"active\"\n    }\n  ]\n}\n```\n\nEach machine updates ONLY its own entry. Stale/offline status is computed\ndynamically based on `last_sync` age:\n- **active**: < 30 minutes since last sync\n- **stale**: 30 min - 24 hours\n- **offline**: > 24 hours\n\n## Conflict Handling\n\nWith 3+ machines, the probability of concurrent edits increases.\n\n### Auto-Sync Conflict Strategy\n\n1. `git pull --rebase` — replay local commits on top of remote\n2. If rebase fails (same file modified):\n   - `git rebase --abort`\n   - `git stash` — save local changes\n   - `git pull` — accept remote (no rebase)\n   - `git stash pop` — attempt to reapply local changes\n   - If stash pop fails: keep remote, log to `.sync-conflicts.log`\n3. Conflicts are logged (not silently lost) for manual review\n\n### When to Resolve Manually\n\n```bash\ncd ~/.workbuddy\ngit status                    # see conflicts\n# edit files...\ngit add -A\ngit rebase --continue\ngit push origin main\n```\n\nCheck conflict log:\n```bash\ncat ~/.workbuddy/.sync-conflicts.log\n```\n\n## Status Command (`wbstatus`)\n\nRun `wbstatus` in terminal to see:\n\n```\n  WorkBuddy Multi-Machine Sync Status\n  ====================================\n  This machine: studio (pascalliu-mac-studio)\n  Daemon: RUNNING (PID 10034)\n  Last sync: [2026-08-01 12:30:15] synced (studio)\n  Conflicts: none\n\n  Machine    Hostname               Status   Last Sync\n  ----------------------------------------------------------\n  laptop     pascalliu-mbp          active   2026-08-01 12:28 UTC\n  office     pascalliu-imac         stale    2026-07-30 18:15 UTC\n  studio     pascalliu-mac-studio   active   2026-08-01 12:30 UTC ←\n\n  Total: 3 machines | Active: 2 | Stale: 1 | Offline: 0\n```\n\n## Migrating from Two-Machine to Multi-Machine\n\n1. On Mac A (already synced):\n```bash\n# Set machine name\necho \"studio\" > ~/.workbuddy/.machine-name\n\n# Replace auto-sync.sh with multi-machine version\ncp ~/.workbuddy/skills/workbuddy-multi-machine-sync/scripts/auto-sync-multi.sh \\\n   ~/.workbuddy/auto-sync.sh\nchmod +x ~/.workbuddy/auto-sync.sh\n\n# Copy machine-status.sh\ncp ~/.workbuddy/skills/workbuddy-multi-machine-sync/scripts/machine-status.sh \\\n   ~/.workbuddy/machine-status.sh\nchmod +x ~/.workbuddy/machine-status.sh\n\n# Add wbstatus alias to ~/.bash_profile\necho 'alias wbstatus=\"bash ~/.workbuddy/machine-status.sh\"' >> ~/.bash_profile\n\n# Update .gitignore — ensure .machine-name and machines.json are NOT ignored\n# Remove start-sync-daemon.sh from .gitignore if present (it should stay ignored)\n\n# Commit and push\ncd ~/.workbuddy\ngit add -A\ngit commit -m \"upgrade: multi-machine sync\"\ngit push origin main\n```\n\n2. On Mac B:\n```bash\ncd ~/.workbuddy\ngit pull origin main\necho \"laptop\" > ~/.workbuddy/.machine-name\n\n# Restart daemon to pick up new auto-sync.sh\nkill $(cat ~/.workbuddy/.sync-daemon.pid)\nbash ~/.workbuddy/start-sync-daemon.sh\n\ngit add -A\ngit commit -m \"register: laptop\"\ngit push origin main\n```\n\n3. For Mac C+ (new machines):\nUse `setup-machine.sh.template` as described in the SKILL.md workflow.\n\n## Best Practices for 3+ Machines\n\n1. **One active machine at a time**: The sync handles concurrency, but\n   editing the same file on two machines simultaneously will cause conflicts.\n   Finish work on one machine before starting on another.\n\n2. **Descriptive machine names**: Use location or purpose-based names\n   (`studio`, `office`, `laptop`) rather than generic ones (`mac1`, `mac2`).\n\n3. **Periodic cleanup**: Remove stale entries from `machines.json` for\n   machines no longer in use:\n```bash\n# Edit machines.json manually, remove unused machine entries\ncd ~/.workbuddy && git add machines.json && git commit -m \"cleanup: remove old machines\" && git push\n```\n\n4. **Check status before starting work**: Run `wbstatus` to see if another\n   machine has recent unsynced changes.\n\n5. **Conflict log review**: Periodically check `.sync-conflicts.log` for\n   any auto-resolved conflicts that might need manual attention.\n\nFile v0.1.0:skill-card.md\n\n## Description:\n\nSet up WorkBuddy configuration sync across three or more Macs with machine naming, conflict handling, registry tracking, and status reporting for GitHub or iCloud-backed sync.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[lyy4916](https://clawhub.ai/user/lyy4916)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers and WorkBuddy users use this skill to configure multi-machine synchronization for three or more Macs. It helps register machine names, install sync scripts, maintain a shared machine registry, and inspect sync status.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The setup flow can run remotely sourced shell commands during installation.\n\nMitigation: Inspect and pin setup scripts before execution; avoid piping remote content directly into a shell.\n\nRisk: GitHub token handling can expose credentials if plaintext git credential storage is used.\n\nMitigation: Prefer SSH or an operating-system keychain credential helper; avoid embedding live tokens in setup scripts.\n\nRisk: Anyone with write access to the sync repository can affect code and configuration that run on every synced machine.\n\nMitigation: Limit repository write access, review changes before sync, and keep backups of ~/.workbuddy before installation.\n\nRisk: Automatic conflict handling can keep remote changes and may lose local edits.\n\nMitigation: Review conflict logs and resolve important conflicts manually instead of relying on automatic remote-wins resolution.\n\n## Reference(s):\n\n- [Server-resolved source repository](https://github.com/lyy4916/workbuddy-multi-machine-sync)\n- [ClawHub skill page](https://clawhub.ai/lyy4916/skills/workbuddy-multi-machine-sync)\n- [Multi-Machine Sync Architecture](references/multi-machine-architecture.md)\n- [Gitignore Template](references/gitignore-template)\n\n## Skill Output:\n\n**Output Type(s):** [guidance, markdown, shell commands, configuration, code]\n\n**Output Format:** [Markdown guidance with inline shell commands and script templates]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Produces setup steps, sync commands, status checks, and configuration file guidance for local WorkBuddy sync.]\n\n## Skill Version(s):\n\n0.1.0 (source: server release metadata)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.","readmeExcerpt":"Skill: workbuddy-multi-machine-sync Owner: lyy4916 Summary: Set up WorkBuddy config sync across 3+ Macs with machine naming, conflict resolution, and status tracking. Supports GitHub or iCloud as backend. Triggers: 多机同步, 三台电脑同步, 多台 Mac 同步 WorkBuddy, multi-machine sync, 3+ devices sync, 多台电脑配置同步, team sync WorkBuddy. Includes machine registry, per-machine commit tagging, stale lock detection, and a status command to s","codeSnippets":[],"executableExamples":[{"language":"bash","snippet":"# Set a human-readable name for this machine\necho \"studio\" > ~/.workbuddy/.machine-name"},{"language":"bash","snippet":"# Create machines.json with this machine registered\nMACHINE_NAME=$(cat ~/.workbuddy/.machine-name)\nHOSTNAME=$(hostname)\nTIMESTAMP=$(date -u +\"%Y-%m-%dT%H:%M:%SZ\")\n\ncat > ~/.workbuddy/machines.json << EOF\n{\n  \"machines\": [\n    {\n      \"name\": \"$MACHINE_NAME\",\n      \"hostname\": \"$HOSTNAME\",\n      \"registered\": \"$TIMESTAMP\",\n      \"last_sync\": \"$TIMESTAMP\",\n      \"status\": \"active\"\n    }\n  ]\n}\nEOF"},{"language":"bash","snippet":"chmod +x ~/.workbuddy/auto-sync.sh ~/.workbuddy/start-sync-daemon.sh ~/.workbuddy/machine-status.sh"},{"language":"bash","snippet":"# WorkBuddy multi-machine sync shortcuts\nalias wbsync='cd ~/.workbuddy && git add -A && git commit -m \"sync $(date +%m%d-%H%M) from $(cat ~/.workbuddy/.machine-name 2>/dev/null || echo $(hostname))\" && git push origin main'\nalias wbpull='cd ~/.workbuddy && git pull --rebase origin main'\nalias wbstatus='bash ~/.workbuddy/machine-status.sh'\n\n# WorkBuddy auto-sync — daemon keepalive + sync on terminal open\nif [ -f ~/.workbuddy/start-sync-daemon.sh ]; then\n  bash ~/.workbuddy/start-sync-daemon.sh 2>/dev/null\nfi\nif [ -t 1 ] && [ -f ~/.workbuddy/auto-sync.sh ]; then\n  _wb_now=$(date +%s)\n  _wb_last=$(cat ~/.workbuddy/.last-auto-sync 2>/dev/null || echo 0)\n  if [ $((_wb_now - _wb_last)) -gt 300 ]; then\n    bash ~/.workbuddy/auto-sync.sh >/dev/null 2>&1 &\n    echo $_wb_now > ~/.workbuddy/.last-auto-sync\n  fi\n  unset _wb_now _wb_last\nfi"},{"language":"bash","snippet":"cd ~/.workbuddy\ngit add -A\ngit commit -m \"init: multi-machine sync setup on $(cat .machine-name)\"\ngit push origin main"},{"language":"bash","snippet":"curl -sSL -H \"Authorization: token <TOKEN>\" \\"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: workbuddy-multi-machine-sync\ndescription: \"Set up WorkBuddy config sync across 3+ Macs with machine naming, conflict resolution, and status tracking. Supports GitHub or iCloud as backend. Triggers: 多机同步, 三台电脑同步, 多台 Mac 同步 WorkBuddy, multi-machine sync, 3+ devices sync, 多台电脑配置同步, team sync WorkBuddy. Includes machine registry, per-machine commit tagging, stale lock detection, and a status command to see which machines are active.\"\nagent_created: true\n---\n\n# WorkBuddy Multi-Machine Sync (3+ Devices)\n\n## Overview\n\nExtend WorkBuddy config sync to **three or more Macs**. Built on top of the\ntwo-machine sync skill, this adds:\n\n- **Machine naming** — each Mac gets a human-readable label (e.g. `studio`,\n  `laptop`, `office`) for easy identification in commit logs\n- **Machine registry** — a `machines.json` file tracks all registered machines\n  and their last-sync timestamps\n- **Conflict-aware sync** — more aggressive rebase + auto-resolve strategy for\n  the higher conflict probability with 3+ machines\n- **Status command** — `wbstatus` shows which machines are registered, when\n  they last synced, and which is currently active\n- **Backend agnostic** — works with GitHub or iCloud\n\n## When to Use This vs Two-Machine Sync\n\n| Factor | Two-Machine Sync | Multi-Machine Sync |\n|--------|------------------|---------------------|\n| Machine count | 2 | 3+ |\n| Machine naming | Not needed | Yes (human-readable labels) |\n| Machine registry | Not needed | `machines.json` |\n| Conflict probability | Low | Higher (more concurrent edits) |\n| Status tracking | Manual | `wbstatus` command |\n| Backend | GitHub or iCloud | GitHub or iCloud |\n\nIf you only have 2 machines, use `workbuddy-multi-device-sync` (simpler).\nUpgrade to this skill when adding a 3rd machine.\n\n## What Syncs vs What Doesn't\n\nSame as the two-machine skill. Additionally:\n\n### Syncs (new)\n- `.machine-name` — this machine's label\n- `machines.json` — registry of all machines\n\n### Does NOT Sync (same as before)\n- `binaries/`, `workbuddy.db`, `.mcp.json`, `sessions/`, `logs/`, `traces/`,\n  `credentials/`, `memory/`, daemon state files\n\n## Workflow\n\n### Phase 1: Set Up Machine 1 (Primary)\n\nFollow the two-machine skill (`workbuddy-multi-device-sync`) for Mac A setup,\nthen add multi-machine enhancements:\n\n#### Step 1: Register Machine Name\n\n```bash\n# Set a human-readable name for this machine\necho \"studio\" > ~/.workbuddy/.machine-name\n```\n\nChoose short, descriptive names: `studio`, `laptop`, `office`, `home`, etc.\n\n#### Step 2: Initialize Machine Registry\n\n```bash\n# Create machines.json with this machine registered\nMACHINE_NAME=$(cat ~/.workbuddy/.machine-name)\nHOSTNAME=$(hostname)\nTIMESTAMP=$(date -u +\"%Y-%m-%dT%H:%M:%SZ\")\n\ncat > ~/.workbuddy/machines.json << EOF\n{\n  \"machines\": [\n    {\n      \"name\": \"$MACHINE_NAME\",\n      \"hostname\": \"$HOSTNAME\",\n      \"registered\": \"$TIMESTAMP\",\n      \"last_sync\": \"$TIMESTAMP\",\n      \"status\": \"active\"\n    }\n  ]\n}\nEOF\n```\n\n#### Step 3: Install Multi-Machine Auto-Sync\n\n1. C"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn751pzj8jbknm4tygdecnwjzn8bmtyz\",\n  \"slug\": \"workbuddy-multi-machine-sync\",\n  \"version\": \"0.1.0\",\n  \"publishedAt\": 1785566310078\n}"},{"path":"references/multi-machine-architecture.md","content":"# Multi-Machine Sync Architecture\n\n## Overview\n\nExtends the two-machine sync to support 3+ Macs with machine naming,\nregistry tracking, and enhanced conflict handling.\n\n## Architecture\n\n```\n                 GitHub / iCloud\n                      ↕\n    ┌─────────────────┼─────────────────┐\n    ↓                 ↓                 ↓\n Machine A         Machine B         Machine C\n (studio)          (laptop)          (office)\n    ↕                 ↕                 ↕\n auto-sync.sh     auto-sync.sh     auto-sync.sh\n (every 5 min)    (every 5 min)    (every 5 min)\n    ↕                 ↕                 ↕\n machines.json ←──→ machines.json ←──→ machines.json\n```\n\nEach machine:\n1. Pulls remote changes (rebase)\n2. Updates its own entry in `machines.json` (last_sync timestamp)\n3. Commits local changes (tagged with machine name)\n4. Pushes to remote\n\n## Machine Naming\n\nEach machine has a `.machine-name` file containing a short label:\n- `studio`, `laptop`, `office`, `home`, etc.\n- Must be unique across all machines\n- No spaces (use hyphens)\n\nThis name appears in:\n- Git commit messages: `auto-sync 2026-08-01 12:30 from studio`\n- `machines.json` registry\n- `wbstatus` output\n\n## Machine Registry (`machines.json`)\n\nA shared JSON file (synced via git) that tracks all registered machines:\n\n```json\n{\n  \"machines\": [\n    {\n      \"name\": \"studio\",\n      \"hostname\": \"pascalliu-mac-studio\",\n      \"registered\": \"2026-08-01T00:00:00Z\",\n      \"last_sync\": \"2026-08-01T12:30:15Z\",\n      \"status\": \"active\"\n    }\n  ]\n}\n```\n\nEach machine updates ONLY its own entry. Stale/offline status is computed\ndynamically based on `last_sync` age:\n- **active**: < 30 minutes since last sync\n- **stale**: 30 min - 24 hours\n- **offline**: > 24 hours\n\n## Conflict Handling\n\nWith 3+ machines, the probability of concurrent edits increases.\n\n### Auto-Sync Conflict Strategy\n\n1. `git pull --rebase` — replay local commits on top of remote\n2. If rebase fails (same file modified):\n   - `git rebase --abort`\n   - `git stash` — save local changes\n   - `git pull` — accept remote (no rebase)\n   - `git stash pop` — attempt to reapply local changes\n   - If stash pop fails: keep remote, log to `.sync-conflicts.log`\n3. Conflicts are logged (not silently lost) for manual review\n\n### When to Resolve Manually\n\n```bash\ncd ~/.workbuddy\ngit status                    # see conflicts\n# edit files...\ngit add -A\ngit rebase --continue\ngit push origin main\n```\n\nCheck conflict log:\n```bash\ncat ~/.workbuddy/.sync-conflicts.log\n```\n\n## Status Command (`wbstatus`)\n\nRun `wbstatus` in terminal to see:\n\n```\n  WorkBuddy Multi-Machine Sync Status\n  ====================================\n  This machine: studio (pascalliu-mac-studio)\n  Daemon: RUNNING (PID 10034)\n  Last sync: [2026-08-01 12:30:15] synced (studio)\n  Conflicts: none\n\n  Machine    Hostname               Status   Last Sync\n  ----------------------------------------------------------\n  laptop     pascalliu-mbp          active   2026-08-01 12:28 UTC\n  office     pascalliu-imac  "},{"path":"skill-card.md","content":"## Description:\n\nSet up WorkBuddy configuration sync across three or more Macs with machine naming, conflict handling, registry tracking, and status reporting for GitHub or iCloud-backed sync.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[lyy4916](https://clawhub.ai/user/lyy4916)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers and WorkBuddy users use this skill to configure multi-machine synchronization for three or more Macs. It helps register machine names, install sync scripts, maintain a shared machine registry, and inspect sync status.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The setup flow can run remotely sourced shell commands during installation.\n\nMitigation: Inspect and pin setup scripts before execution; avoid piping remote content directly into a shell.\n\nRisk: GitHub token handling can expose credentials if plaintext git credential storage is used.\n\nMitigation: Prefer SSH or an operating-system keychain credential helper; avoid embedding live tokens in setup scripts.\n\nRisk: Anyone with write access to the sync repository can affect code and configuration that run on every synced machine.\n\nMitigation: Limit repository write access, review changes before sync, and keep backups of ~/.workbuddy before installation.\n\nRisk: Automatic conflict handling can keep remote changes and may lose local edits.\n\nMitigation: Review conflict logs and resolve important conflicts manually instead of relying on automatic remote-wins resolution.\n\n## Reference(s):\n\n- [Server-resolved source repository](https://github.com/lyy4916/workbuddy-multi-machine-sync)\n- [ClawHub skill page](https://clawhub.ai/lyy4916/skills/workbuddy-multi-machine-sync)\n- [Multi-Machine Sync Architecture](references/multi-machine-architecture.md)\n- [Gitignore Template](references/gitignore-template)\n\n## Skill Output:\n\n**Output Type(s):** [guidance, markdown, shell commands, configuration, code]\n\n**Output Format:** [Markdown guidance with inline shell commands and script templates]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Produces setup steps, sync commands, status checks, and configuration file guidance for local WorkBuddy sync.]\n\n## Skill Version(s):\n\n0.1.0 (source: server release metadata)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment."}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":null,"editorialQuality":{"score":100,"threshold":65,"status":"thin","wordCount":1398,"uniquenessScore":42,"reasons":["uniqueness-below-45"]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-09T12:31:29.476Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-10-09T12:31:29.476Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-09T23:08:53.138Z","emptyReason":null},"items":[{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-10-09T19:11:12.944Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}