SkillAgentSearch skills...

cloud-sync

Set up or check claude-mem cloud sync with cmem.ai Pro

Install / Use

npx skills add thedotmack/claude-mem --skill cloud-sync

Installs into whichever agent you are using.

About this skill
📄

SKILL.md

Installable skill definition

Quality Score

85/100

Category

Security

Supported Platforms

Claude Code

Our assessment of cloud-sync

cloud-sync scores 85/100 on our quality scale, 356th of 559 Security skills we index.

Its SKILL.md is 4.6 KB long, split into 6 sections with 3 code examples: a solid amount of guidance for an agent.

With 94,599 GitHub stars, it is one of the more widely adopted skills in the catalogue.

Substance
26/30
Structure
16/20
Description
8/15
Adoption
20/20
Freshness
15/15

Maintenance, license and trust

  • The repository was last updated 2 days ago, so cloud-sync is actively maintained.
  • It is released under the Apache-2.0 license, a permissive license that allows use, modification and commercial use with attribution.
  • Its trust signals score 100/100, with no cautions. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.

cloud-sync compared with similar skills

All 4 of these similar skills score higher than cloud-sync; compare them before choosing.

SkillScoreStarsUpdatedFormat
cloud-sync (this skill)by thedotmack8594.6k2d agoSKILL.md
algorithmic-artby anthropics100177.9k3d agoSKILL.md
pptxby anthropics100177.9k3d agoSKILL.md
designby nextlevelbuilder100130.2k5d agoSKILL.md
ui-ux-pro-maxby nextlevelbuilder100130.2k5d agoSKILL.md

Frequently asked questions

How do I install cloud-sync?
Run npx skills add thedotmack/claude-mem --skill cloud-sync. The install tabs above show the steps for each supported agent.
Which AI agents does cloud-sync work with?
It is written for Claude Code, as a SKILL.md file. Other agents that read the same format can often use it too.
Is cloud-sync safe to use?
It is Apache-2.0-licensed and scores 100/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
Is cloud-sync still maintained?
The repository was last updated 2 days ago, so cloud-sync is actively maintained.

name: cloud-sync description: Set up or check claude-mem cloud sync with cmem.ai Pro. Use when the user says "set up cloud sync", "sync my memories", "cmem pro", "cloud backup", "sync status", or wants their memory database backed up or synced to their cmem.ai account. allowed-tools:

  • Bash
  • Read
  • AskUserQuestion

Cloud Sync (cmem.ai Pro)

The installed worker syncs through SyncHub. There is one client, one durable operation log, and no separate sync daemon. This skill checks status or writes the three connection values issued by cmem.ai → Connect.

Security rule: never print the sync token, put it in argv, or log it. Confirm only its length. Preserve every unrelated setting and keep ~/.claude-mem/settings.json mode 0600.

1. Check status

Resolve the worker port and query the always-registered status route:

PORT="${CLAUDE_MEM_WORKER_PORT:-$(node -e "const fs=require('fs'),p=require('path'),os=require('os');const uid=(typeof process.getuid==='function'?process.getuid():77);const fallback=String(37700+(uid%100));try{const s=JSON.parse(fs.readFileSync(p.join(os.homedir(),'.claude-mem','settings.json'),'utf-8'));process.stdout.write(String(s.CLAUDE_MEM_WORKER_PORT||fallback));}catch{process.stdout.write(fallback);}" 2>/dev/null)}"
curl -s "http://127.0.0.1:${PORT}/api/sync/status"
  • configured: true and hub.reachable: true → the worker completed an authenticated GET /v1/sync/status against SyncHub. Report deviceId, pending counts, lastFlushAt, lastError, and the Hub head/checkpoint; stop unless the user asked to replace the connection.
  • configured: true and hub.reachable: false → report hub.error and say the SyncHub connection is not verified. A zero pending count or lastError: null is not success because an empty queue performs no push.
  • configured: false → continue.
  • Connection refused, 404, or 503 immediately after restart → retry every three seconds for about 30 seconds before diagnosing the worker.

2. Obtain the connection

Ask for all three values shown by cmem.ai → Connect:

  1. sync token;
  2. user id;
  3. SyncHub URL.

The Hub URL must be an absolute https:// URL. Do not substitute the cmem.ai application API URL; the installed client talks only to SyncHub.

3. Write installed-client settings

Substitute the collected values inside this quoted stdin script. Do not echo them before or after running it:

node - <<'EOF'
const fs = require('fs'), os = require('os'), path = require('path');
const token = 'PAST…[redacted]';
const userId = 'PASTE_USER_ID_HERE';
const hubUrl = 'PASTE_HUB_URL_HERE';
if (!token || !userId || !/^https:\/\/[^\s]+$/.test(hubUrl)) {
  console.error('token, user id, and an https SyncHub URL are required');
  process.exit(1);
}
const dir = path.join(os.homedir(), '.claude-mem');
const file = path.join(dir, 'settings.json');
fs.mkdirSync(dir, { recursive: true });
const settings = fs.existsSync(file) ? JSON.parse(fs.readFileSync(file, 'utf8')) : {};
const target = settings.env && typeof settings.env === 'object' ? settings.env : settings;
target.CLAUDE_MEM_CLOUD_SYNC_TOKEN = token;
target.CLAUDE_MEM_CLOUD_SYNC_USER_ID = userId;
target.CLAUDE_MEM_CLOUD_SYNC_HUB_URL = hubUrl.replace(/\/+$/, '');
fs.writeFileSync(file, JSON.stringify(settings, null, 2) + '\n', { mode: 0o600 });
fs.chmodSync(file, 0o600);
console.log(`saved cloud connection: token length ${token.length}, user id length ${userId.length}`);
EOF

These are the only required connection keys. The worker mints and persists a device id on first start and defaults the device name to the hostname.

4. Restart and verify

curl -s -X POST "http://127.0.0.1:${PORT}/api/admin/restart"

Poll the status route every five seconds for up to 30 seconds while the successor starts. Success means configured: true, hub.reachable: true, and lastError: null. The local route always makes an authenticated, read-only SyncHub status probe, even when every pending count is zero; it never uses a legacy cmem.ai Pro status route and never appends or advances sync state. Pending counts describe only writes made after the SyncHub launch baseline; setup does not migrate a pre-launch local corpus.

If hub.reachable is false, report hub.error. If lastError is non-null, report it too. Ask the user to verify the three values in cmem.ai → Connect. Never include the token.

5. Report

Report device id, pending counts, last successful flush, Hub reachability and checkpoint, and any Hub/flush error. End with this privacy note:

Cloud sync uploads your observation narratives and full prompt text to your cmem.ai account.

Related Skills

View on GitHub
GitHub Stars94.6k
CategorySecurity
Updated2d ago
Forks8.4k

Languages

TypeScript

Trust signals

100/100

From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.

No cautions