git clone --depth 1 https://github.com/thedotmack/claude-mem /tmp/mem-setup && cp -r /tmp/mem-setup/cowork/skills/mem-setup ~/.claude/skills/mem-setupSKILL.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.
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), 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.
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`.Watch a pull request or review cycle until it is ready to merge. Use when asked to babysit, monitor, or keep checking PR comments, reviews, and CI until all actionable issues are resolved.
Audit a design against Dieter Rams' ten "Good design is..." principles, then hand off a /make-plan prompt for one of three outcomes — new design, refine design, or redesign. Use when the user says "audit this design", "design review", "check this UI against Rams", "is this UI good", "critique this design", "design audit", or asks for a critique that should lead to a plan.
Execute a phased implementation plan using subagents. Use when asked to execute, run, or carry out a plan — especially one created by make-plan.
Explain how claude-mem captures observations, when memory injection kicks in, and where data lives. Use when the user asks "how does claude-mem work?" or "what is this thing doing?".
Build and query AI-powered knowledge bases from claude-mem observations. Use when users want to create focused "brains" from their observation history, ask questions about past work patterns, or compile expertise on specific topics.
Prime a codebase by reading every source file in full. Use when starting work on a new or unfamiliar project, or when the user asks to "learn the codebase", "read the codebase", "prime", or "get up to speed".
Create a detailed, phased implementation plan with documentation discovery. Use when asked to plan a feature, task, or multi-step implementation — especially before executing with do.