/memory-triage
Persistent long-term memory protocol powered by mem0. Evaluate conversations for durable facts worth storing via memory_add. Handles identity, preferences, decisions, configurations, rules, projects, and relationships. Loaded by the openclaw-mem0 plugin when skills mode is
$ npx -y skills add mem0ai/mem0 --skill memory-triage --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
/memory-triage
Context preview
The summary Claude sees to decide when to auto-load this skill.
Persistent long-term memory protocol powered by mem0. Evaluate conversations for durable facts worth storing via memory_add. Handles identity, preferences, decisions, configurations, rules, projects, and relationships. Loaded by the openclaw-mem0 plugin when skills mode is
SKILL.md
memory-triage.SKILL.mdname: memory-triage
description: >
Persistent long-term memory protocol powered by mem0.
Evaluate conversations for durable facts worth storing via memory_add.
Handles identity, preferences, decisions, configurations, rules,
projects, and relationships. Loaded by the openclaw-mem0 plugin when skills mode is active.
user-invocable: false
metadata:
{"openclaw": {"always": false, "injected": true, "emoji": "๐ง ", "requires": {"env": ["MEM0_API_KEY", "OPENAI_API_KEY", "ANTHROPIC_API_KEY"], "bins": []}}}Memory Protocol
You have persistent long-term memory powered by mem0. After responding to the user, evaluate this turn for durable, actionable facts worth persisting across future sessions.
Your primary role is to extract relevant pieces of information from the conversation and organize them into distinct, manageable facts. This allows for easy retrieval and personalization in future interactions.
**The core question**: "Would a new agent โ with no prior context โ benefit from knowing this?" If no โ do nothing. Most turns produce zero memory operations. That is correct and expected.
Available Tools
memory_search
Semantic search across stored memories.
- `query` (required): search query
- `limit`: max results (default: configured topK)
- `userId`, `agentId`: scope overrides
- `scope`: `"all"` (default), `"session"`, or `"long-term"`
- `categories`: filter by category array
- `filters`: advanced filter object
memory_add
Store new facts in long-term memory.
- `facts` (required): array of facts to store โ ALL must share the same category
- `text`: alternative single-fact string
- `category`: `"identity"`, `"preference"`, `"decision"`, `"rule"`, `"project"`, `"configuration"`, `"technical"`, `"relationship"`
- `importance`: 0.0โ1.0 (omit for category default)
- `userId`, `agentId`: scope overrides
- `metadata`: additional key-value metadata
- `longTerm`: true (default) for persistent, false for session-scoped
memory_get
Retrieve a single memory by ID.
- `memoryId` (required): the memory ID
memory_list
List all stored memories for a user or agent.
- `userId`, `agentId`: scope overrides
- `scope`: `"all"` (default), `"session"`, or `"long-term"`
memory_update
Update an existing memory's text in place. Atomic and preserves edit history.
- `memoryId` (required): the memory ID to update
- `text` (required): the new text (replaces old)
memory_delete
Delete memories by ID, query, or bulk.
- `memoryId`: specific memory ID to delete
- `query`: search query to find and delete matching memories
- `all`: delete ALL memories (requires `confirm: true`)
- `confirm`: safety gate for bulk operations
- `userId`, `agentId`: scope overrides
memory_event_list
List recent background processing events (platform mode only).
memory_event_status
Get status of a specific background event.
- `event_id` (required): the event ID to check
Decision Gate
Every candidate fact must pass ALL four gates:
**Gate 1 โ FUTURE UTILITY**: Would this matter to a new agent days or weeks from now?
- Pass: identity, configurations, standing rules, preferences with rationale, decisions, project milestones, relationships, important personal details
- Fail: tool outputs, status checks, one-time commands, transient state, small talk, generic responses โ SKIP
**Gate 2 โ NOVELTY**: Check your recalled memories below โ is this already known?
- Already known and unchanged โ SKIP
- Known but materially changed โ UPDATE (find old โ update in place)
- Genuinely new โ proceed
- **Material difference test**: Only UPDATE if new information adds real context, details, or changes meaning. Cosmetic differences (synonyms, rephrasing, punctuation) are NOT updates. "Loves daily walks" vs "enjoys daily walks" = no material change = SKIP.
**Gate 3 โ FACTUAL**: Is this a concrete, actionable fact โ not a vague statement or question?
- Pass: specific names, configs, choices with rationale, deadlines, system states, plans, preferences
- Fail: vague impressions, questions, small talk, acknowledgments, generic assistant responses ("Sure, I can help") โ SKIP
**Gate 4 โ SAFE**: Does this contain ANY credential, secret, or token?
- Scan for known credential prefixes, auth tokens, webhook URLs with tokens, pairing codes, long alphanumeric strings in config/env context, and key-value assignment patterns. The plugin injects the full pattern list at runtime.
- ANY match โ NEVER STORE the value. Instead, store that the credential was configured:
- WRONG: "User's API key is [redacted]"
- RIGHT: "API key was configured for the service (as of 2026-03-30)"
- When in doubt โ SKIP. No exceptions.
All four gates must pass. If any fails โ do nothing.
What to Extract (Priority Order)
1. Configuration & System State (importance: 0.95 | permanent)
Tools/services configured, installed, or removed (with versions/dates). Model assignments for agents. Cron schedules, automation pipelines, deployment configs. Architecture decisions. Specific identifiers: file paths, sheet IDs, channel IDs, machine specs.
"User's Tailscale machine 'mac' (IP 100.71.135.41) is configured under beau@rizedigital.io (as of 2026-02-20)"
"User's executive orchestrator agent Quin runs on Claude Opus, heartbeat every 10 min"
2. Standing Rules & Policies (importance: 0.90 | permanent)
Explicit user directives about behavior. Workflow policies. Security constraints, permission boundaries. Always capture the reason.
"User rule: never create accounts without explicit user consent. Reason: security policy"
"User rule: each agent must review model selection before completing a task"
3. Identity & Demographics (importance: 0.95 | permanent)
Name, location, timezone, language preferences. Occupation, employer, job role, industry. Keep related facts together in a single memory.
"User is Chris, senior platform engineer at Mem0, based in EST timezone"
4. Preferences & Opinions (
Read more
name: memory-triage
description: >
Persistent long-term memory protocol powered by mem0.
Evaluate conversations for durable facts worth storing via memory_add.
Handles identity, preferences, decisions, configurations, rules,
projects, and relationships. Loaded by the openclaw-mem0 plugin when skills mode is active.
user-invocable: false
metadata:
{"openclaw": {"always": false, "injected": true, "emoji": "๐ง ", "requires": {"env": ["MEM0_API_KEY", "OPENAI_API_KEY", "ANTHROPIC_API_KEY"], "bins": []}}}Memory Protocol
You have persistent long-term memory powered by mem0. After responding to the user, evaluate this turn for durable, actionable facts worth persisting across future sessions.
Your primary role is to extract relevant pieces of information from the conversation and organize them into distinct, manageable facts. This allows for easy retrieval and personalization in future interactions.
**The core question**: "Would a new agent โ with no prior context โ benefit from knowing this?" If no โ do nothing. Most turns produce zero memory operations. That is correct and expected.
Available Tools
memory_search
Semantic search across stored memories.
- `query` (required): search query
- `limit`: max results (default: configured topK)
- `userId`, `agentId`: scope overrides
- `scope`: `"all"` (default), `"session"`, or `"long-term"`
- `categories`: filter by category array
- `filters`: advanced filter object
memory_add
Store new facts in long-term memory.
- `facts` (required): array of facts to store โ ALL must share the same category
- `text`: alternative single-fact string
- `category`: `"identity"`, `"preference"`, `"decision"`, `"rule"`, `"project"`, `"configuration"`, `"technical"`, `"relationship"`
- `importance`: 0.0โ1.0 (omit for category default)
- `userId`, `agentId`: scope overrides
- `metadata`: additional key-value metadata
- `longTerm`: true (default) for persistent, false for session-scoped
memory_get
Retrieve a single memory by ID.
- `memoryId` (required): the memory ID
memory_list
List all stored memories for a user or agent.
- `userId`, `agentId`: scope overrides
- `scope`: `"all"` (default), `"session"`, or `"long-term"`
memory_update
Update an existing memory's text in place. Atomic and preserves edit history.
- `memoryId` (required): the memory ID to update
- `text` (required): the new text (replaces old)
memory_delete
Delete memories by ID, query, or bulk.
- `memoryId`: specific memory ID to delete
- `query`: search query to find and delete matching memories
- `all`: delete ALL memories (requires `confirm: true`)
- `confirm`: safety gate for bulk operations
- `userId`, `agentId`: scope overrides
memory_event_list
List recent background processing events (platform mode only).
memory_event_status
Get status of a specific background event.
- `event_id` (required): the event ID to check
Decision Gate
Every candidate fact must pass ALL four gates:
**Gate 1 โ FUTURE UTILITY**: Would this matter to a new agent days or weeks from now?
- Pass: identity, configurations, standing rules, preferences with rationale, decisions, project milestones, relationships, important personal details
- Fail: tool outputs, status checks, one-time commands, transient state, small talk, generic responses โ SKIP
**Gate 2 โ NOVELTY**: Check your recalled memories below โ is this already known?
- Already known and unchanged โ SKIP
- Known but materially changed โ UPDATE (find old โ update in place)
- Genuinely new โ proceed
- **Material difference test**: Only UPDATE if new information adds real context, details, or changes meaning. Cosmetic differences (synonyms, rephrasing, punctuation) are NOT updates. "Loves daily walks" vs "enjoys daily walks" = no material change = SKIP.
**Gate 3 โ FACTUAL**: Is this a concrete, actionable fact โ not a vague statement or question?
- Pass: specific names, configs, choices with rationale, deadlines, system states, plans, preferences
- Fail: vague impressions, questions, small talk, acknowledgments, generic assistant responses ("Sure, I can help") โ SKIP
**Gate 4 โ SAFE**: Does this contain ANY credential, secret, or token?
- Scan for known credential prefixes, auth tokens, webhook URLs with tokens, pairing codes, long alphanumeric strings in config/env context, and key-value assignment patterns. The plugin injects the full pattern list at runtime.
- ANY match โ NEVER STORE the value. Instead, store that the credential was configured:
- WRONG: "User's API key is [redacted]"
- RIGHT: "API key was configured for the service (as of 2026-03-30)"
- When in doubt โ SKIP. No exceptions.
All four gates must pass. If any fails โ do nothing.
What to Extract (Priority Order)
1. Configuration & System State (importance: 0.95 | permanent)
Tools/services configured, installed, or removed (with versions/dates). Model assignments for agents. Cron schedules, automation pipelines, deployment configs. Architecture decisions. Specific identifiers: file paths, sheet IDs, channel IDs, machine specs.
"User's Tailscale machine 'mac' (IP 100.71.135.41) is configured under beau@rizedigital.io (as of 2026-02-20)" "User's executive orchestrator agent Quin runs on Claude Opus, heartbeat every 10 min"
2. Standing Rules & Policies (importance: 0.90 | permanent)
Explicit user directives about behavior. Workflow policies. Security constraints, permission boundaries. Always capture the reason.
"User rule: never create accounts without explicit user consent. Reason: security policy" "User rule: each agent must review model selection before completing a task"
3. Identity & Demographics (importance: 0.95 | permanent)
Name, location, timezone, language preferences. Occupation, employer, job role, industry. Keep related facts together in a single memory.
"User is Chris, senior platform engineer at Mem0, based in EST timezone"
4. Preferences & Opinions (
Mem0 ("mem-zero") enhances AI assistants and agents with an intelligent memory layer, enabling personalized AI interactions.
Repo: mem0ai/mem0
Other skills on mem0.
- /context-loader
Searches and injects relevant memories into context before starting work on a task. Use when beginning a new task, switching context, or when project history, past decisions, or coding conventions need to be loaded.
Open skill - /dream
Consolidates stored memories by merging duplicates, resolving contradictions, and pruning stale entries. Use when memory count is high, search results feel noisy or repetitive, or periodic cleanup is needed to maintain memory quality.
Open skill - /export
Exports all project memories to a portable Markdown file for backup or migration. Use when backing up memories, migrating to another project, sharing memory state with teammates, or archiving before cleanup.
Open skill - /forget
Deletes memories by search query or memory ID with confirmation before removal. Use when removing outdated decisions, incorrect memories, sensitive data, or cleaning up after experiments. Also handles undo of recent additions.
Open skill - /health
Diagnoses mem0 connectivity, API key validity, and memory read/write functionality. Use when memory operations fail, searches return empty, add_memory errors occur, MCP connection drops, or to verify the plugin is working correctly.
Open skill - /import
Imports memories from an exported Markdown file or MEMORY.md into the current project. Use when migrating from another project, restoring from backup, importing Claude Code native MEMORY.md content, or setting up a new project with existing knowledge.
Open skill

