← All skills
how-it-works
80 / 100 · Low risk
Fine to try. Some of what it can do is expected: a coding skill usually runs build and test commands.
By thedotmack/claude-mem (GitHub) · coding · 116,045 stars · scanned at commit 22d148e
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?".
Works with any agent that supports SKILL.md skills.
What this skill can do
Downloads and installs other software
The author does not mention this.
Found in 8 places.
Show 5 more
- plugin/skills/how-it-works/onboarding-explainer.md, line 23
- Anonymous usage analytics (telemetry) are on by default. Turn them off with `npx claude-mem telemetry disable`, or set `DO_NOT_TRACK=1`. - plugin/scripts/ensure-launcher.cjs, line 5
`,He=/^[a-z0-9]+(?:-[a-z0-9]+)*$/;function me(e){if(e===void 0)return new Set;let t=typeof e=="string"?e.split(","):e;if(!Array.isArray(t)||t.some(r=>typeof r!= - plugin/scripts/ensure-launcher.cjs, line 10
`;Le(s,m+_),n.success(`Added ${t} to PATH in ${s}`),d="rc-file-updated"}catch(h){return n.warn(`Could not update ${s}: ${h instanceof Error?h.message:String(h)} - plugin/scripts/ensure-launcher.cjs, line 11
`);function vn(e){let{directory:t,logger:n}=e,r=e.host??xe(),o=e.runPowerShell??dt,i=r.environmentVariables.PATH??"";if(et(i,t).alreadyPresent)return"already-on - plugin/scripts/ensure-launcher.cjs, line 13
`).pop()??""}`;let X=ye(r.platform,d);if(u.kind==="launcher")throw new Error(`${U}; kept the existing launcher at ${s} (protocol ${u.protocol})${X}`);t.warn(`${
Runs commands on your computer
The author does not mention this. It runs automatically when the plugin is installed. Expected for a coding skill.
Found in 38 places.
Show 17 more
- plugin/hooks/codex-hooks.json, line 9
"command": "/bin/sh -c '_HP=$(printenv PATH 2>/dev/null || true); if [ -z \"$_HP\" ] && [ -n \"${SHELL:-}\" ]; then _HP=$(\"$SHELL\" -lc '\\''printf %s \"$PATH\ - plugin/hooks/codex-hooks.json, line 11
"commandWindows": "node -e \"const fs=require('fs'),p=require('path'),o=require('os'),c=require('child_process');const h=o.homedir();const C=process.env.CLAUDE_ - plugin/hooks/codex-hooks.json, line 21
"command": "/bin/sh -c '_HP=$(printenv PATH 2>/dev/null || true); if [ -z \"$_HP\" ] && [ -n \"${SHELL:-}\" ]; then _HP=$(\"$SHELL\" -lc '\\''printf %s \"$PATH\ - plugin/hooks/codex-hooks.json, line 23
"commandWindows": "node -e \"const fs=require('fs'),p=require('path'),o=require('os'),c=require('child_process');const h=o.homedir();const C=process.env.CLAUDE_ - plugin/hooks/codex-hooks.json, line 34
"command": "/bin/sh -c 'if [ \"${CLAUDE_MEM_DISABLE_TOOL_HOOKS:-}\" = 1 ] || [ \"${CLAUDE_MEM_DISABLE_FILE_CONTEXT:-}\" = 1 ]; then exit 0; fi; _HP=$(printenv P - plugin/hooks/codex-hooks.json, line 36
"commandWindows": "node -e \"if(process.env.CLAUDE_MEM_DISABLE_TOOL_HOOKS==='1'||process.env.CLAUDE_MEM_DISABLE_FILE_CONTEXT==='1')process.exit(0);const fs=requ - plugin/hooks/codex-hooks.json, line 47
"command": "/bin/sh -c 'if [ \"${CLAUDE_MEM_DISABLE_TOOL_HOOKS:-}\" = 1 ] || [ \"${CLAUDE_MEM_DISABLE_OBSERVATION:-}\" = 1 ]; then exit 0; fi; _HP=$(printenv PA - plugin/hooks/codex-hooks.json, line 49
"commandWindows": "node -e \"if(process.env.CLAUDE_MEM_DISABLE_TOOL_HOOKS==='1'||process.env.CLAUDE_MEM_DISABLE_OBSERVATION==='1')process.exit(0);const fs=requi - plugin/hooks/codex-hooks.json, line 59
"command": "/bin/sh -c '_HP=$(printenv PATH 2>/dev/null || true); if [ -z \"$_HP\" ] && [ -n \"${SHELL:-}\" ]; then _HP=$(\"$SHELL\" -lc '\\''printf %s \"$PATH\ - plugin/hooks/codex-hooks.json, line 61
"commandWindows": "node -e \"const fs=require('fs'),p=require('path'),o=require('os'),c=require('child_process');const h=o.homedir();const C=process.env.CLAUDE_ - plugin/hooks/codex-hooks.json, line 71
"command": "/bin/sh -c '_HP=$(printenv PATH 2>/dev/null || true); if [ -z \"$_HP\" ] && [ -n \"${SHELL:-}\" ]; then _HP=$(\"$SHELL\" -lc '\\''printf %s \"$PATH\ - plugin/hooks/codex-hooks.json, line 73
"commandWindows": "node -e \"const fs=require('fs'),p=require('path'),o=require('os'),c=require('child_process');const h=o.homedir();const C=process.env.CLAUDE_ - plugin/hooks/codex-hooks.json, line 83
"command": "/bin/sh -c '_HP=$(printenv PATH 2>/dev/null || true); if [ -z \"$_HP\" ] && [ -n \"${SHELL:-}\" ]; then _HP=$(\"$SHELL\" -lc '\\''printf %s \"$PATH\ - plugin/hooks/codex-hooks.json, line 85
"commandWindows": "node -e \"const fs=require('fs'),p=require('path'),o=require('os'),c=require('child_process');const h=o.homedir();const C=process.env.CLAUDE_ - plugin/hooks/hooks.json, line 14
"command": "/bin/sh -c 'export PATH=\"$HOME/.nvm/versions/node/v$(ls \"$HOME/.nvm/versions/node\" 2>/dev/null | sed '\\''s/^v//'\\'' | sort -t. -k1,1n -k2,2n -k - plugin/hooks/hooks.json, line 26
"command": "claude-mem", - plugin/hooks/hooks.json, line 40
"command": "claude-mem",
and 18 more places
Install
Paste this into your terminal. It downloads exactly the version we scanned, not whatever is newest.
if [ -e ~/.agents/skills/'how-it-works' ] || [ -L ~/.agents/skills/'how-it-works' ]; then echo 'A skill folder named how-it-works already exists — not replacing it' >&2; false; else d=$(mktemp -d) && git clone --quiet --filter=blob:none --no-checkout 'https://github.com/thedotmack/claude-mem' "$d" && git -C "$d" checkout --quiet '22d148ea6f34b86ea9a6e0911c7a7a0c71431b31' -- 'plugin/skills/how-it-works' && mkdir -p ~/.agents/skills && cp -R "$d"/'plugin/skills/how-it-works' ~/.agents/skills/'how-it-works' && rm -rf "$d"; fi
Codex reads ~/.agents/skills directly. For Claude Code, Cursor, Copilot, Gemini CLI, Antigravity or OpenCode, also link it. For Claude Code: ln -s ~/.agents/skills/'how-it-works' ~/.claude/skills/'how-it-works' (other agents: ~/.cursor/skills, ~/.copilot/skills, ~/.gemini/skills, ~/.gemini/config/skills, ~/.config/opencode/skills). Or install through the finder skill, which does both.
Badge for your README
The badge for thedotmack/claude-mem shows the score of its lowest-scoring skill.

[](https://zalavijaysinh.github.io/skilltrust/repos/thedotmack/claude-mem/)
Score history
| Date | Version | Score |
|---|
| 2026-11-11 | 22d148e | 80 |
| 2026-11-08 | 3ab6e1a | 80 |
| 2026-11-07 | 2d8c08c | 80 |