# Ama Memory

> Use AMA memory in OpenClaw to recall prior context, capture turns, inspect stored state, end sessions, or delete a user's memory when asked.

- Skill: `sherlockwz/ama-memory` (Agent Skill, multi-file: 24 files)
- Install (CLI): `npx skillmds@latest add sherlockwz/ama-memory`
- Raw SKILL.md: https://api.skillmd.com/api/skills/sherlockwz/ama-memory/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: Sherlockwz (https://skillmd.com/u/sherlockwz)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/sherlockwz/ama-memory

---


# AMA Memory

AMA maintains three complementary forms of memory:

- raw text for exact details and wording;
- fact knowledge for stable, atomic information;
- episodes for high-level events and multi-turn summaries.

The plugin normally recalls and captures memory automatically. Use the explicit tools when a task needs deterministic memory handling or when diagnosing an integration.

## Operating rules

1. Prefer automatic recall for ordinary conversation. Do not call retrieval repeatedly when the injected `<ama-memories>` context already answers the request.
2. Use `ama_retrieve` before answering a question that clearly depends on earlier sessions and lacks sufficient recalled context.
3. Use `ama_process_turn` only for a user turn that should become long-term memory. Use `ama_process_assistant` for the corresponding assistant response.
4. Use `ama_session_end` when a conversation, topic, or work session has clearly ended so AMA can synthesize an episode.
5. Treat `ama_memory_forget` as destructive. Only invoke it after the user explicitly asks to delete or reset stored memory, and pass the intended `userId`.
6. Never expose API keys, database paths, internal record IDs, or unrelated stored memories in an answer.

## Tools

### `ama_retrieve`

Search without changing memory. Pass a concise, self-contained query. Enable strong retrieval only when the first retrieval is insufficient and multi-round verification is warranted.

### `ama_process_turn`

Process and store a user turn through retrieval, judging, refreshing, and construction. Use the actual user message rather than a paraphrase when wording or temporal details matter.

### `ama_process_assistant`

Store an assistant response after it has been delivered. This does not perform a second retrieval.

### `ama_memory_list`

Inspect memory counts and current window size. Use it for diagnostics, not as a substitute for semantic retrieval.

### `ama_session_end`

Trigger end-of-session episode generation after the final turn has been captured.

### `ama_memory_forget`

Erase all AMA memory for a user. Confirm intent and identity before invoking it.

## Typical workflow

```text
new user turn
  → auto-recall injects relevant AMA memories
  → answer using only relevant context
  → auto-capture stores the user and assistant turns
  → session end synthesizes episodic memory when appropriate
```

If automatic hooks are disabled, perform the same sequence explicitly with `ama_retrieve`, `ama_process_turn`, `ama_process_assistant`, and `ama_session_end`.

## Diagnostics

When tools are unavailable or the sidecar is unhealthy, ask the operator to run:

```bash
openclaw ama doctor
openclaw ama stats
```

Do not invent remembered content when retrieval fails. State that memory could not be checked and continue only with context available in the current conversation.

