mem-setup — Claude Code skill: setup and installation
Configures cmem.ai credentials for claude-mem-cowork so its hooks can capture and inject memory. Use it when pairing the plugin or setting up cloud sync.
npx skills add thedotmack/claude-mem --skill mem-setup -a claude-codeWhat mem-setup does
The skill connects claude-mem-cowork to the user's cmem.ai Connect credentials: a sync token, user ID, and SyncHub URL. For a local claude-mem installation, it writes the same values to ~/.claude-mem/settings.json with mode 0600. The token must not appear in chat, shell arguments, or logs.
Cowork containers are ephemeral, so edits to the installed plugin last only for the current session. To keep the pairing, repackage the plugin as a .plugin file and reinstall it. After changing local settings, restart the worker and verify that the cloud-sync check reports configured: true and hub.reachable: true. The command node "${CLAUDE_PLUGIN_ROOT}/scripts/cmem-hook.mjs" status checks the plugin without exposing the secret. A 404 from /api/hooks/context is expected before the Pro endpoints deploy; search and injection still use /api/mcp.
What it helps with
- pair claude-mem-cowork with cmem.ai credentials
- write the sync token and SyncHub settings to the local configuration
- check the plugin status without exposing the token
- set up cloud sync for a local claude-mem installation
Example prompts for the agent
- Set up claude-mem-cowork with my cmem.ai Connect values.
- Pair cmem with this plugin and check its status.
- Configure claude-mem cloud sync on this machine.
How to install mem-setup
1Skills CLI (Vercel)
npx skills add thedotmack/claude-mem --skill mem-setup -a claude-code2Manually: put the files in place
~/.claude/skills/mem-setup/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/mem-setup/
1Skills CLI (Vercel)
npx skills add thedotmack/claude-mem --skill mem-setup -a codex2Manually: put the files in place
.agents/skills/mem-setup/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add thedotmack/claude-mem --skill mem-setup -a cursor2Manually: put the files in place
.cursor/skills/mem-setup/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install thedotmack/claude-mem mem-setup2Manually: put the files in place
.github/skills/mem-setup/SKILL.md1Skills CLI (Vercel)
npx skills add thedotmack/claude-mem --skill mem-setup -a gemini-cli2Platform CLI
gemini skills install https://github.com/thedotmack/claude-mem --path cowork/skills/mem-setupManually: put the files in place
.devin/skills/mem-setup/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add thedotmack/claude-mem --skill mem-setup -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
From the same set20
The whole set →Similar
Questions about mem-setup
How do I install mem-setup in Claude Code?
Run npx skills add thedotmack/claude-mem --skill mem-setup -a claude-code. The skill file is installed at ~/.claude/skills/mem-setup/SKILL.md.
What does mem-setup do?
It configures cmem.ai credentials for claude-mem-cowork so hooks can capture and inject memory. For local claude-mem installations, it also writes the cloud-sync settings.
Does the Cowork pairing persist across sessions?
Changes to the installed plugin last only for the current Cowork session. To keep the pairing, repackage the plugin as a .plugin file and reinstall it.
Source text
SKILL.md · Apache-2.0
---
name: mem-setup
description: >
This skill should be used when the user asks to "set up claude-mem", "pair
claude-mem", "connect cmem", "add my cmem key", "set up cloud sync in
Cowork", or provides cmem.ai Connect values (sync token, user id, SyncHub
URL) for this plugin. Configures the claude-mem-cowork plugin credentials.
metadata:
version: "0.1.0"
---
# 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** (`https://sync.cmem.ai`)
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.
2. 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.
3. If this machine also has a local claude-mem install (a `~/.claude-mem/`
directory exists), 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). This plugin's
hooks stay off wherever claude-mem is installed locally, so that pairing is
what carries this machine's work to cmem.ai. The worker reads those keys
only at startup: restart it and run the claude-mem cloud-sync skill's
Verify step, which must report `configured: true` and `hub.reachable: true`.
Don't report success before it does; if it never does, pair through that
skill's installer flow instead.
4. Verify without exposing the secret:
```bash
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`.
© thedotmack · Apache-2.0 · thedotmack/claude-mem