/ClawMem
ClawMem operational reference for agents at query time — the 3-rule escalation gate, MCP tool routing, the 4 query-optimization levers, pipeline behavior (query vs intent_search), composite scoring, and memory lifecycle (pin/snooze/forget). Use when tuning retrieval,
$ npx -y skills add yoloshii/ClawMem --skill ClawMem --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/ClawMem
Context preview
The summary Claude sees to decide when to auto-load this skill.
ClawMem operational reference for agents at query time — the 3-rule escalation gate, MCP tool routing, the 4 query-optimization levers, pipeline behavior (query vs intent_search), composite scoring, and memory lifecycle (pin/snooze/forget). Use when tuning retrieval,
SKILL.md
ClawMem.SKILL.mdname: clawmem
description: "ClawMem operational reference for agents at query time — the 3-rule escalation gate, MCP tool routing, the 4 query-optimization levers, pipeline behavior (query vs intent_search), composite scoring, and memory lifecycle (pin/snooze/forget). Use when tuning retrieval, troubleshooting recall quality, or any ClawMem operation beyond the routing already in your global CLAUDE.md / this repo's AGENTS.md. NOT for setup — install / inference-server config / env vars / systemd / indexing config / internals live in AGENTS.md + docs/."
allowed-tools: "mcp__clawmem__*"
metadata:
author: yoloshii
version: 2.0.0
ClawMem Operational Reference
**Scope: agent-time operations only** — escalation, tool routing, query tuning, pipeline reasoning, composite scoring, lifecycle. Setup, inference-server config, env vars, systemd units, indexing/collection config, graph internals, and the OpenClaw/Hermes plugins are **deliberately not here** — they live in this repo's [`AGENTS.md`](AGENTS.md) + [`docs/`](docs/) (e.g. [`docs/guides/inference-services.md`](docs/guides/inference-services.md), [`docs/reference/configuration.md`](docs/reference/configuration.md), [`docs/troubleshooting.md`](docs/troubleshooting.md), [`docs/internals/`](docs/internals/)). Kept out to avoid drift between this skill and the package.
Routine memory needs neither this skill nor manual MCP calls — **hooks + the ClawMem routing already in `AGENTS.md` / your global `CLAUDE.md` handle ~90%.** Reach for this skill (and Tier-3 tools) only when that isn't enough.
Architecture (one-liner)
Two tiers: **hooks** = automatic context flow (surfacing, extraction, compaction survival); **MCP tools** = explicit recall / write / lifecycle. Substrate: QMD retrieval (BM25 + vector + RRF + cross-encoder rerank + query expansion), with SAME (composite scoring), MAGMA (intent + graph), and A-MEM (self-evolving notes) layered on top. Do not call standalone QMD tools.
---
Tier 2 — Automatic retrieval (hooks)
Hooks handle ~90% of retrieval at zero agent effort.
| Hook | Trigger | Does | |------|---------|------| | `context-surfacing` | UserPromptSubmit | retrieval gate → profile-driven hybrid search → FTS supplement → file-aware search → snooze/noise filters → spreading activation → memory-type diversification → tiered injection → `<vault-context>` (+ optional `<vault-facts>` / `<vault-routing>`). Budget/results/timeout/threshold driven by `CLAWMEM_PROFILE`. | | `postcompact-inject` | SessionStart (compact) | re-injects authoritative state after compaction → `<vault-postcompact>` | | `curator-nudge` | SessionStart | surfaces curator actions; nudges when the report is stale | | `precompact-extract` | PreCompact | extracts decisions / file paths / open questions before compaction | | `decision-extractor` | Stop | LLM → observations + causal links + contradiction detection + SPO triples | | `handoff-generator` | Stop | LLM session summary → handoffs | | `feedback-loop` | Stop | tracks referenced notes → confidence boosts, co-activations, utility signals |
**Default behavior:** read injected `<vault-context>` first; if sufficient, answer immediately.
**Hook blind spots (by design):** hooks filter `_clawmem/` artifacts, enforce score thresholds, and cap token budget — **absence in `<vault-context>` does NOT mean absence in memory.** If expected memory wasn't surfaced, escalate to Tier 3. Note the MCP retrieval tools themselves exclude `_clawmem` by default since v0.21.0 — pass `includeInternal: true` when system-internal memory (observations/handoffs/deductions) is the target.
**Profiles:** `speed` / `balanced` (default) / `deep` set the kept-score ratio (65% / 55% / 45%) and an activation floor. Only `deep` adds query expansion + reranking to the hook path. Profile and the hook `timeout` are set in `~/.claude/settings.json` — see *Operational gotchas* for timeout tuning.
---
Tier 3 — Agent-initiated retrieval (MCP tools)
3-rule escalation gate
Escalate to MCP tools ONLY when one of these fires:
1. **Low-specificity injection** — `<vault-context>` is empty or lacks the specific fact the task requires. 2. **Cross-session question** — "why did we decide X", "what changed since last time", "when did we start Y". 3. **Pre-irreversible check** — about to make a destructive / hard-to-reverse change; check the vault for prior decisions first.
All other retrieval is handled by Tier 2 hooks. **Do NOT call MCP tools speculatively.**
Tool routing
**PREFERRED:** `memory_retrieve(query)` — auto-classifies and routes to the optimal backend (query / intent_search / session_log / find_similar / query_plan). Use this instead of manually choosing.
1a. General recall -> query(query, compact=true, limit=20)
Full hybrid: BM25 + vector + expansion + deep rerank. Supports compact, collection,
intent, candidateLimit. BM25 strong-signal bypass skips expansion when top hit >= 0.85
with gap >= 0.15 (disabled when intent is provided).
1b. Causal/why/when/entity -> intent_search(query, enable_graph_traversal=true)
MAGMA intent classification + intent-weighted RRF + multi-hop graph traversal + a bounded
one-hop causal step in BOTH directions (v0.32.0 — the only backward cause→effect reach).
Use DIRECTLY (not as a fallback) for "why" / "when" / "how did X lead to Y" / entity links.
Override: force_intent="WHY"|"WHEN"|"ENTITY"|"WHAT".
(1a vs 1b are parallel options, chosen by query type — not sequential. memory_retrieve's
causal mode runs the SAME shared pipeline since v0.32.0, default-filtered plus a WHY
observation lane, so auto-routing is no longer weaker than calling intent_search directly;
one-hop hits carry causal: [{anchorDocid, direction}].)
1c. Multi-topic -> query_plan(query, compact=true)
Decomposes into 2-4 typed clauses (bm25/vector/graph), runs them in parallel, merges via RRF.
2. Progressive disclosure -> multi_get("path1,path2") for full conRead more
name: clawmem description: "ClawMem operational reference for agents at query time — the 3-rule escalation gate, MCP tool routing, the 4 query-optimization levers, pipeline behavior (query vs intent_search), composite scoring, and memory lifecycle (pin/snooze/forget). Use when tuning retrieval, troubleshooting recall quality, or any ClawMem operation beyond the routing already in your global CLAUDE.md / this repo's AGENTS.md. NOT for setup — install / inference-server config / env vars / systemd / indexing config / internals live in AGENTS.md + docs/." allowed-tools: "mcp__clawmem__*" metadata: author: yoloshii version: 2.0.0
ClawMem Operational Reference
**Scope: agent-time operations only** — escalation, tool routing, query tuning, pipeline reasoning, composite scoring, lifecycle. Setup, inference-server config, env vars, systemd units, indexing/collection config, graph internals, and the OpenClaw/Hermes plugins are **deliberately not here** — they live in this repo's [`AGENTS.md`](AGENTS.md) + [`docs/`](docs/) (e.g. [`docs/guides/inference-services.md`](docs/guides/inference-services.md), [`docs/reference/configuration.md`](docs/reference/configuration.md), [`docs/troubleshooting.md`](docs/troubleshooting.md), [`docs/internals/`](docs/internals/)). Kept out to avoid drift between this skill and the package.
Routine memory needs neither this skill nor manual MCP calls — **hooks + the ClawMem routing already in `AGENTS.md` / your global `CLAUDE.md` handle ~90%.** Reach for this skill (and Tier-3 tools) only when that isn't enough.
Architecture (one-liner)
Two tiers: **hooks** = automatic context flow (surfacing, extraction, compaction survival); **MCP tools** = explicit recall / write / lifecycle. Substrate: QMD retrieval (BM25 + vector + RRF + cross-encoder rerank + query expansion), with SAME (composite scoring), MAGMA (intent + graph), and A-MEM (self-evolving notes) layered on top. Do not call standalone QMD tools.
---
Tier 2 — Automatic retrieval (hooks)
Hooks handle ~90% of retrieval at zero agent effort.
| Hook | Trigger | Does | |------|---------|------| | `context-surfacing` | UserPromptSubmit | retrieval gate → profile-driven hybrid search → FTS supplement → file-aware search → snooze/noise filters → spreading activation → memory-type diversification → tiered injection → `<vault-context>` (+ optional `<vault-facts>` / `<vault-routing>`). Budget/results/timeout/threshold driven by `CLAWMEM_PROFILE`. | | `postcompact-inject` | SessionStart (compact) | re-injects authoritative state after compaction → `<vault-postcompact>` | | `curator-nudge` | SessionStart | surfaces curator actions; nudges when the report is stale | | `precompact-extract` | PreCompact | extracts decisions / file paths / open questions before compaction | | `decision-extractor` | Stop | LLM → observations + causal links + contradiction detection + SPO triples | | `handoff-generator` | Stop | LLM session summary → handoffs | | `feedback-loop` | Stop | tracks referenced notes → confidence boosts, co-activations, utility signals |
**Default behavior:** read injected `<vault-context>` first; if sufficient, answer immediately.
**Hook blind spots (by design):** hooks filter `_clawmem/` artifacts, enforce score thresholds, and cap token budget — **absence in `<vault-context>` does NOT mean absence in memory.** If expected memory wasn't surfaced, escalate to Tier 3. Note the MCP retrieval tools themselves exclude `_clawmem` by default since v0.21.0 — pass `includeInternal: true` when system-internal memory (observations/handoffs/deductions) is the target.
**Profiles:** `speed` / `balanced` (default) / `deep` set the kept-score ratio (65% / 55% / 45%) and an activation floor. Only `deep` adds query expansion + reranking to the hook path. Profile and the hook `timeout` are set in `~/.claude/settings.json` — see *Operational gotchas* for timeout tuning.
---
Tier 3 — Agent-initiated retrieval (MCP tools)
3-rule escalation gate
Escalate to MCP tools ONLY when one of these fires:
1. **Low-specificity injection** — `<vault-context>` is empty or lacks the specific fact the task requires. 2. **Cross-session question** — "why did we decide X", "what changed since last time", "when did we start Y". 3. **Pre-irreversible check** — about to make a destructive / hard-to-reverse change; check the vault for prior decisions first.
All other retrieval is handled by Tier 2 hooks. **Do NOT call MCP tools speculatively.**
Tool routing
**PREFERRED:** `memory_retrieve(query)` — auto-classifies and routes to the optimal backend (query / intent_search / session_log / find_similar / query_plan). Use this instead of manually choosing.
1a. General recall -> query(query, compact=true, limit=20)
Full hybrid: BM25 + vector + expansion + deep rerank. Supports compact, collection,
intent, candidateLimit. BM25 strong-signal bypass skips expansion when top hit >= 0.85
with gap >= 0.15 (disabled when intent is provided).
1b. Causal/why/when/entity -> intent_search(query, enable_graph_traversal=true)
MAGMA intent classification + intent-weighted RRF + multi-hop graph traversal + a bounded
one-hop causal step in BOTH directions (v0.32.0 — the only backward cause→effect reach).
Use DIRECTLY (not as a fallback) for "why" / "when" / "how did X lead to Y" / entity links.
Override: force_intent="WHY"|"WHEN"|"ENTITY"|"WHAT".
(1a vs 1b are parallel options, chosen by query type — not sequential. memory_retrieve's
causal mode runs the SAME shared pipeline since v0.32.0, default-filtered plus a WHY
observation lane, so auto-routing is no longer weaker than calling intent_search directly;
one-hop hits carry causal: [{anchorDocid, direction}].)
1c. Multi-topic -> query_plan(query, compact=true)
Decomposes into 2-4 typed clauses (bm25/vector/graph), runs them in parallel, merges via RRF.
2. Progressive disclosure -> multi_get("path1,path2") for full conOn-device memory for Claude Code, OpenClaw, Hermes, and AI agents. Retrieval-augmented search, hooks, and an MCP server in a single local system. No API keys, no cloud dependencies.
Repo: yoloshii/ClawMem

