cowork/skills/mem-setup/SKILL.md
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.
From cmem.ai → Connect, the user has three values:
cm_) — used as the bearer API keyIf 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.
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.
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-name>.plugin and send it to the user to re-install
(the cowork-plugin skill's packaging flow). Tell the user this is why.
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.
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).
Env vars override everything and need no file edits: CMEM_API_KEY,
CMEM_USER_ID, CMEM_SYNC_HUB_URL, CMEM_API_BASE.