thedotmack

mem-setup Skill

当用户要求“设置 claude-mem”、“配对 claude-mem”、“连接 cmem”、“添加我的 cmem 密钥”、“在 Cowork 中设置云同步”,或提供该插件的 cmem.ai Connect 凭据(同步 token、用户 ID、SyncHub URL)时,应使用此技能。用于配置 claude-mem-cowork 插件的凭据。

安装方式:把技能目录放入 ~/.claude/skills/(Claude Code)或在 claude.ai 设置中启用;也可复制右侧安装命令一键添加。

查看源码

技能指令原文(SKILL.md)

Claude-Mem Setup (Cowork pairing)

Configure this plugin with the user's own cmem.ai credentials so hooks can
capture and inject memory. Anyone can pair — credentials are per-user
configuration, never hardcoded in plugin logic.

What to collect

From cmem.ai → Connect, the user has three values:

  1. sync token (starts with cm_) — used as the bearer API key
  2. user id (UUID)
  3. SyncHub URL (a workers.dev or cmem.ai URL)

If the user pastes the whole Connect blurb, extract the three values from it.
If any are missing, ask for the sync token at minimum — the other two are
optional.

Secret handling — non-negotiable

  • Never echo the token back in conversation, put it in a shell argv, or log it.
  • Move it only via file writes (Write/Edit tool) and file reads.

Steps

  1. Locate the installed plugin root (this skill's own plugin). Update its

config.json: set apiKey to the sync token, userId, and syncHubUrl.
Leave other settings unless the user asks (inject toggles). Project naming
is automatic (cmem_work_*) and is not configurable.

  1. Cowork containers are ephemeral: edits to the installed copy last only for

this session. To make pairing permanent, repackage — zip the plugin
directory as .plugin and send it to the user to re-install
(the cowork-plugin skill's packaging flow). Tell the user this is why.

  1. If this machine also has a local claude-mem install (a ~/.claude-mem/

directory exists), optionally write the same values to
~/.claude-mem/settings.json with mode 0600 (CLAUDE_MEM_CLOUD_SYNC_TOKEN,
CLAUDE_MEM_CLOUD_SYNC_USER_ID, CLAUDE_MEM_CLOUD_SYNC_HUB_URL keys — the
same keys the local claude-mem cloud-sync pairing writes) — the hook script
and the local worker both read it.

  1. Verify without exposing the secret:
   node "${CLAUDE_PLUGIN_ROOT}/scripts/cmem-hook.mjs" status

Report the masked output. A MISSING key means the write didn't land;
a 404 on /api/hooks/context is expected until the Pro endpoints deploy
(search/injection still work via /api/mcp).

Alternate source

Env vars override everything and need no file edits: CMEM_API_KEY,
CMEM_USER_ID, CMEM_SYNC_HUB_URL, CMEM_API_BASE.