openclaw skill
No description in the SKILL.md.
Is the openclaw skill safe?
A critical finding: do not install it without reading the flagged line. We read 59 files in the folder on 2026-09-28.
- high
SKILL.md:10Downloads a script and runs it in one step, so what runs is whatever that server sends that day. Common for installers, and still worth a look at the address.
curl -fsSL https://install.cmem.ai/openclaw.sh | bash - high
install.sh:419Downloads a script and runs it in one step, so what runs is whatever that server sends that day. Common for installers, and still worth a look at the address.
if ! curl -fsSL https://bun.sh/install | bash; then - low
SKILL.md:1The name should be 1 to 64 lowercase letters, digits or hyphens.
(missing) - low
SKILL.md:1No description, so an agent cannot tell when to use the skill.
(missing)
Install the openclaw skill
A skill is a folder. Copy it into your agent's skills folder and the agent loads it when the task matches its description. Read the findings above first.
git clone --depth 1 https://github.com/thedotmack/claude-mem.git /tmp/claude-mem mkdir -p ~/.claude/skills cp -r /tmp/claude-mem/openclaw ~/.claude/skills/openclaw
In the Claude apps, zip the folder and upload it from the Skills settings. The folder on GitHub
The instructions your agent would load
SKILL.md as published, without the frontmatter. Read it on GitHub
Claude-Mem OpenClaw Plugin — Setup Guide
This guide walks through setting up the claude-mem plugin on an OpenClaw gateway. By the end, your agents will have persistent memory across sessions via system prompt context injection, and optionally a real-time observation feed streaming to a messaging channel.
Quick Install (Recommended)
Run this one-liner to install everything automatically:
curl -fsSL https://install.cmem.ai/openclaw.sh | bashThe installer handles dependency checks (Bun, uv), plugin installation, memory slot configuration, AI provider setup, worker startup, and optional observation feed configuration — all interactively.
Install with options
Pre-select your AI provider and API key to skip interactive prompts:
curl -fsSL https://install.cmem.ai/openclaw.sh | bash -s -- --provider=gemini --api-key=YOUR_KEYFor fully unattended installation (defaults to Claude Max Plan, skips observation feed):
curl -fsSL https://install.cmem.ai/openclaw.sh | bash -s -- --non-interactiveTo upgrade an existing installation (preserves settings, updates plugin):
curl -fsSL https://install.cmem.ai/openclaw.sh | bash -s -- --upgradeAfter installation, skip to Step 4: Restart the Gateway and Verify to confirm everything is working.
Manual Setup
The steps below are for manual installation if you prefer not to use the automated installer, or need to troubleshoot individual steps.
Step 1: Clone the Claude-Mem Repo
First, clone the claude-mem repository to a location accessible by your OpenClaw gateway. This gives you the worker service source and the plugin code.
cd /opt # or wherever you want to keep it
git clone https://github.com/thedotmack/claude-mem.git
cd claude-mem
npm install
npm run buildYou'll need bun installed for the worker service. If you don't have it:
curl -fsSL https://bun.sh/install | bashStep 2: Get the Worker Running
The claude-mem worker is an HTTP service on port 37777. It stores observations, generates summaries, and serves the context timeline. The plugin talks to it over HTTP — it doesn't matter where the worker is running, just that it's reachable on localhost:37777.
Check if it's already running
If this machine also runs Claude Code with claude-mem installed, the worker may already be running:
curl http://localhost:37777/api/healthGot {"status":"ok"}? The worker is already running. Skip to Step 3.
Got connection refused or no response? The worker isn't running. Continue below.
If Claude Code has claude-mem installed
If claude-mem is installed as a Claude Code plugin (at ~/.claude/plugins/marketplaces/thedotmack/), start the worker from that installation:
cd ~/.claude/plugins/marketplaces/thedotmack
npm run worker:restartVerify:
curl http://localhost:37777/api/healthGot {"status":"ok"}? You're set. Skip to Step 3.
Still not working? Check npm run worker:status for error details, or check that bun is installed and on your PATH.
If there's no Claude Code installation
Run the worker from the cloned repo:
cd /opt/claude-mem # wherever you cloned it
npm run worker:startVerify:
curl http://localhost:37777/api/healthGot {"status":"ok"}? You're set. Move to Step 3.
Still not working? Debug steps:
- Check that bun is installed: bun --version
- Check the worker status: npm run worker:status
- Check if something else is using port 37777: lsof -i :37777
- Check logs: npm run worker:logs (if available)
- Try running it directly to see errors: bun plugin/scripts/worker-service.cjs start
Step 3: Add the Plugin to Your Gateway
Add the claude-mem plugin to your OpenClaw gateway configuration:
{
"plugins": {
"claude-mem": {
"enabled": true,
"config": {
"project": "my-project",
"syncMemoryFile": true,
"workerPort": 37777
}
}
}
}Config fields explained
- project (string, default: "openclaw") — The project name that scopes all observations in the memory database. Use a unique name per gateway/use-case so observations don't mix. For example, if this gateway runs a coding bot, use "coding-bot".
- syncMemoryFile (boolean, default: true) — When enabled, the plugin injects the observation timeline into each agent's system prompt via the beforepromptbuild hook. This gives agents cross-session context without writing to MEMORY.md. Set to false to disable context injection entirely (observations are still recorded).
- syncMemoryFileExclude (string[], default: []) — Agent IDs excluded from automatic context injection. Useful for agents that curate their own memory. Observations are still recorded for excluded agents.
- workerPort (number, default: 37777) — The port where the claude-mem worker service is listening. Only change this if you configured the worker to use a different port.
Step 4: Restart the Gateway and Verify
Restart your OpenClaw gateway so it picks up the new plugin configuration. After restart, check the gateway logs for:
[claude-mem] OpenClaw plugin loaded — v1.0.0 (worker: 127.0.0.1:37777)If you see this, the plugin is loaded. You can also verify by running /claudememstatus in any OpenClaw chat:
Claude-Mem Worker Status
Status: ok
Port: 37777
Active sessions: 0
Observation feed: disconnectedThe observation feed shows disconnected because we haven't configured it yet. That's next.
Step 5: Verify Observations Are Being Recorded
Have an agent do some work. The plugin automatically records observations through these OpenClaw events:
- beforeagentstart — Initializes a claude-mem session when the agent starts
- beforepromptbuild — Injects the observation timeline into the agent's system prompt (cached for 60s)
- toolresultpersist — Records each tool use (Read, Write, Bash, etc.) as an observation
- agentend** — Summarizes the session and marks it complete
More skills from thedotmack/claude-mem
- AAgent Cost ReportBelievable agent cost report for any period, default the last 7 full days PT, not counting today. Measured tokens from Claude Code transcripts priced at OpenRouter list prices (ESTIMATED), measured provider spend when a sanctioned source exists, note-taker cost separate, Timing-style HTML/PDF plus report.json, line-items.csv, evidence.json.
- AAgent Cost ReportBelievable agent cost report for any period, default the last 7 full days PT, not counting today. Measured tokens from Claude Code transcripts priced at OpenRouter list prices (ESTIMATED), measured provider spend when a sanctioned source exists, note-taker cost separate, Timing-style HTML/PDF plus report.json, line-items.csv, evidence.json.
- AAgent Cost ReportBelievable agent cost report for any period, default the last 7 full days PT, not counting today. Measured tokens from Claude Code transcripts priced at OpenRouter list prices (ESTIMATED), measured provider spend when a sanctioned source exists, note-taker cost separate, Timing-style HTML/PDF plus report.json, line-items.csv, evidence.json.
- AAgent Cost ReportBelievable agent cost report for any period, default the last 7 full days PT, not counting today. Measured tokens from Claude Code transcripts priced at OpenRouter list prices (ESTIMATED), measured provider spend when a sanctioned source exists, note-taker cost separate, Timing-style HTML/PDF plus report.json, line-items.csv, evidence.json.
- AAgent Cost ReportBelievable agent cost report for any period, default the last 7 full days PT, not counting today. Measured tokens from Claude Code transcripts priced at OpenRouter list prices (ESTIMATED), measured provider spend when a sanctioned source exists, note-taker cost separate, Timing-style HTML/PDF plus report.json, line-items.csv, evidence.json.
- AbabysitWatch 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.
- Accs-alignRun the CCS Align seat's hourly breathing cycle — prove the local claude-mem worker is healthy, pull needle observations through search → timeline → get_observations, land them in a seat-owned middle cache via atomic grab → append → filter exclude-marks → replace, manage exclude marks, and walk house → project → seat rules to detect conflicts (SHADOW_HOUSE, DENY_ALLOW, DRIFT, CLOCK_HEADER) with an append-only rules-report.md. Use when asked to run CCS Align, breathe the alignment seat, refresh the middle cache, exclude or restore an observation, walk rules, check rules conflicts, or check the Worker Watch board.
- Aclaude-mem-installUse this when setting up claude-mem on Cursor: local or remote worker, local host-login observer or remote cmem.ai inference.
- Aclaude-mem-installUse this when setting up claude-mem on Grok Bot: local worker plus CMEM Pro observer (default), optional host-login observer, or remote cmem.ai. No Cursor required.
- Acloud-syncSet 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.
- Adesign-isAudit 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.
- Ado