Skip to main content

memory-orchestrator

Orchestrate ClawXMemory retrieval using memory_search first and memory_get for exact file reads. Use when the user asks for historical context, project progress, project collaboration rules, or user profile facts.

Source facts

Repository
OpenBMB/ClawXMemory
Last source activity
April 14, 2026 at 11:04
Detected SKILL.md language
English
Stars
49
Forks
8

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
memory-orchestrator
description
Orchestrate ClawXMemory retrieval using memory_search first and memory_get for exact file reads. Use when the user asks for historical context, project progress, project collaboration rules, or user profile facts.
homepage
https://github.com/OpenBMB/ClawXMemory/tree/main/clawxmemory
metadata
{"openclaw":{"skillKey":"openbmb-clawxmemory","requires":{"config":"[Truncated]"}}}
# Memory Orchestrator Use this skill when the answer depends on ClawXMemory rather than only the current chat turn. ## Primary Path 1. If the user is asking what memory exists or what ClawXMemory currently remembers, use `memory_overview` or `memory_list`. 2. Otherwise call `memory_search` with a concise query. 3. Read the returned: - `route` - `context` - `selectedProjectId` - `disambiguationRequired` - `refs.files` - `debug` 4. If `context` already contains the needed evidence, answer from it directly. 5. If exact verification is still useful, call `memory_get` with the smallest possible subset of `refs.files`. ## Current Tool Contract `memory_search(...)` returns the live retrieval contract: - `route` - `none` - `user` - `project_memory` - `context` - The rendered ClawXMemory recall block for this turn - `selectedProjectId` - The formal project chosen for recall, or `null` - `disambiguationRequired` - `true` when the query looks project-oriented but no formal project was selected - `refs.files` - Relative file ids that can be passed into `memory_get` - `debug` - Trace-oriented diagnostic metadata Do not assume any old `l2 / l1 / l0 / enoughAt` fields exist. ## Clarification Guardrail If `memory_search` says: - `disambiguationRequired = true`, or - `route = project_memory` but `selectedProjectId = null`, or - `refs.files` is empty for a project-specific question then you must: 1. Say that no single formal project was selected from memory. 2. Ask a focused clarification question. 3. Do **not** list or guess project names that are not explicitly present in retrieved memory. Example clarification: - "我还没有选中唯一的项目。你说的是哪个项目?" - "这个问题需要先确认具体项目名,你是在说哪个项目?" ## Tool Usage Notes - Prefer concise query strings. - Keep `memory_search.limit` small unless the user explicitly wants breadth. - Use `memory_get` only with ids returned from `memory_search` or `memory_list`. - If evidence is missing, say so directly instead of filling gaps from memory guesses. - When retrieved evidence conflicts, prefer the newest retrieved file and mention the conflict. ## Example ```text User asks: "这个项目现在的阶段和下一步是什么?" 1) memory_search({ query: "这个项目现在的阶段和下一步是什么?", limit: 5 }) 2) If disambiguationRequired=true, ask which project the user means. 3) Otherwise answer from context. 4) Only if needed, verify one or two refs.files with memory_get. ``` ## Guardrails - Do not fabricate details not supported by retrieved memory. - Do not fabricate or enumerate project names when retrieval did not select one. - Do not call `memory_get` with guessed ids. - If retrieval is empty or unresolved, ask a targeted follow-up instead of pretending memory certainty.
View on GitHub