Install
openclaw skills install autobiographical-memoryStructured personal memory system that enables agents to persist, consolidate, and recall episodic and semantic memories across sessions. Use when: (1) recording significant events, decisions, or conversations, (2) consolidating daily logs into long-term memory, (3) recalling relevant past context before answering, (4) managing memory files (MEMORY.md, daily notes), (5) reasoning about what to remember vs forget.
openclaw skills install autobiographical-memoryMemory has two complementary layers:
| Layer | File | What it stores |
|---|---|---|
| Episodic | memory/YYYY-MM-DD.md | Raw daily events, conversations, decisions, observations |
| Semantic | MEMORY.md | Curated knowledge: user preferences, facts, lessons, identity |
The memory lifecycle: Capture → Consolidate → Recall → Review
# Recording an event (episodic)
Append to `memory/YYYY-MM-DD.md`:
- Met with [person] about [topic]. Decision: [outcome].
- User prefers [preference]. Updated MEMORY.md.
# Recalling before responding
1. Run `memory_search` with relevant keywords
2. If results are thin, read recent `memory/YYYY-MM-DD.md` files
3. Check `MEMORY.md` for long-term facts
# Consolidating (periodic maintenance)
1. Read recent daily files (last 7-30 days)
2. Extract significant items → update MEMORY.md
3. Remove stale entries from MEMORY.md
Always write to daily notes for:
## Events
- [event description]
## Decisions
- [decision + rationale]
## Observations
- [insights or patterns noticed]
## Notes
- [anything else worth remembering]
## User Preferences
- Directly stated preferences without inference
## Project Context
- Active projects and their status
## Relationships & People
- Key people, roles, context
## Technical Environment
- Tools, config, quirks discovered
## Lessons Learned
- Mistakes to avoid, patterns that work
Suitable for heartbeat routines. Do this every 3-7 days:
1. List memory/*.md, sort by date (newest first)
2. Read files since last consolidation
3. For each significant item:
a. Is it already in MEMORY.md? → Skip or update
b. Is it transient? → Skip (leave in daily note)
c. Is it important? → Add to MEMORY.md
4. Read MEMORY.md for stale entries → remove or archive
5. Write updated MEMORY.md
Before answering questions about prior work, people, preferences, or context:
memory_search(query="relevant terms") — this searches both daily notes and MEMORY.mdmemory_get(path="memory/YYYY-MM-DD.md") to read raw daily notesNot everything needs to persist. Use these filters:
scripts/consolidate.py — Scan recent daily notes and suggest MEMORY.md updatesscripts/stats.py — Memory file statistics (sizes, dates, coverage)