Agent Skills
› espressif/esp-claw
› memory_ops
memory_ops
GitHub提供设备端长期记忆管理工具,支持记忆的存储、检索、列表展示、更新及遗忘操作。规范了结构化记忆的存取规则与调用逻辑,确保用户显式指令下的记忆持久化与精准召回。
Trigger Scenarios
用户要求记住或保存信息
用户询问已记录的内容
用户要求更新或删除记忆
Install
npx skills add espressif/esp-claw --skill memory_ops -g -y
SKILL.md
Frontmatter
{
"name": "memory_ops",
"metadata": {
"cap_groups": [
"claw_memory"
],
"manage_mode": "readonly"
},
"description": "Use on-device long-term memory tools to remember, recall, list, update, and forget structured memories."
}
Long-term Memory
Use on-device long-term memory tools to remember, recall, list, update, and forget structured memories.
When to use
Use this skill when the user explicitly asks to remember, save, keep, or not forget something, asks what is remembered, asks to update or delete a remembered item, or asks for an answer that should be based on prior long-term memory.
Hard Rules
- If the user clearly asks to remember, save, keep, or not forget something, call
memory_store. - Write
memory_store.contentas a concise normalized memory fact, not the user's raw quote. - Do not write raw user quotes into memory content.
- Do not exceed the maximum number of retrieval terms.
- Keep retrieval terms in the same language as the memory fact unless the memory itself is primarily in another language.
- If the user asks what you remember, asks to verify a remembered fact, or asks for a personalized answer based on prior memory, inspect the injected summary labels first and call
memory_recallwhen relevant labels are present. - Do not place natural-language questions into
summary_labels. memory_recallrequires exactsummary_labelschosen from the injected catalog.- Use
queryonly to narrow the search within the selected summary labels. - Use
memory_listwhen the user wants to inspect stored memories. - Use
memory_updateonly when one existing memory should be modified. - Use
memory_forgetonly when one existing memory should be removed. - Use
memory_recallplus exactmemory_idonly when you are already doing an explicit memory-inspection or memory-editing flow and need to inspect the recalled memory bodies yourself. - Do not use non-whitelisted or free-text values as summary labels.
- Do not read or write
memory_records.jsonl,memory_index.json,memory_digest.log, orMEMORY.mdto make decisions directly. - Summary labels are not the memory body. Use
memory_recallto obtain detailed stored content. - Do not call
memory_storefor ordinary self-introductions or casual preference statements unless the user explicitly asks to save them. Let automatic extraction handle durable facts after the reply silently. - Do not make the whole reply an operation log such as “I have remembered” or “deleted” unless the user explicitly asked only for a memory operation.
- Do not explain internal memory policy, auto-extraction behavior, or whether you will proactively remember something unless the user explicitly asks about memory behavior.
- Do not ask whether the user wants you to remember ordinary profile or preference statements when automatic extraction can handle them. Do not offer memory-save help unless the user explicitly asks about memory management.
- Do not answer long-term memory recall questions from session history alone when long-term memory may contain additional relevant items.
- Do not claim that a memory was updated or forgotten unless the corresponding tool call succeeded.
Soft Rules
- Prefer stable summary labels that group a reusable topic.
- Good labels include
schedule,dietary_preferences,daily_routine,hydration_habits,commute. - When a stable category label clearly fits the memory, prefer it over one-off fact-instance words.
- Avoid using one-off detail words as the only summary label when a broader reusable category exists.
- Avoid using one-off detail words as summary labels when a stable topic label already fits.
- For example, prefer
daily_routineovernap, andhydration_habitsover8_glasses_of_water. - Avoid replacing a clearly supported stable topic label with a broader or vaguer abstraction.
- Avoid labels such as
development,coding,healthy_lifestyle, ordaily_arrangementwhen a more precise stable label already fits better. - If you use memory tools during a conversation, prefer keeping the main reply focused on the user's request first.
- If the user combines a memory request with another conversational request, prefer answering the conversational request in the main reply and keeping the memory operation secondary.
Typical flow
- Explicit save request: call
memory_store, then continue the main conversation naturally. - Recall or verification request: inspect summary labels, call
memory_recallif relevant labels exist, then answer from recalled content. - Update or delete request: use
memory_recallormemory_listto inspect the target memory and obtain its exactmemory_id, then callmemory_updateormemory_forget.
Examples
- A good summary label is
daily_routine. - A good summary label is
hydration_habits. - Save a profile fact explicitly: if the user says “Remember my profession is a programmer”, store
content="The user's profession is a programmer"and use the summary labelprofession. - Save a preference explicitly: if the user says “Remember I like lettuce”, store
content="The user likes lettuce"and use the summary labeldietary_preferences. - Save a routine fact explicitly: if the user says “Remember I wake up at 7 and drink milk before going to work”, use summary labels such as
daily_routine,dietary_preferences, andcommute. - Save a midday habit explicitly: if the user says “Remember I must take a nap at noon”, a suitable summary label is
daily_routine. - Save a hydration preference explicitly: if the user says “Remember I drink 8 glasses of water a day”, a suitable summary label is
hydration_habits. - Recall from summary labels: if the injected label catalog contains
dietary_preferences, questions like “What do I like to eat?” or “What do I like to drink?” should recall that label before answering. - Update or forget safely: if the user says “Forget that I like apples”, use
memory_recallormemory_listto find the exactmemory_idfirst, then callmemory_forgetwith thatmemory_id.
Version History
- 06eb576 Current 2026-07-24 19:54


