๐ง Memory Never Forget ๐ง
/install memory-never-forget
๐ง Memory Never Forget v4.13
A full-featured memory system for OpenClaw, integrating Active Memory retrieval, Memory Palace structured views, and a Dual-Layer Dream Verification mechanism โ delivering "proactive memory + global view + verifiable consolidation."
Core Logic: Active Memory = Memory Butler, Memory Palace = Knowledge Palace, Dual-Layer Dream = Verification & Consolidation Expert
Three-Layer Separation: todos.md = Execution Layer | knowledge/ = Strategy Layer | memory/ = Classified Memory Layer
License: MIT-0 | Updated: 2026-04-18 | v4.13: Added dual-layer structure
Overview
This skill manages memory across two orthogonal dimensions:
- Temporal (Atkinson-Shiffrin 3-stage model) โ what to keep vs. what to prune
- Content (4-type taxonomy) โ where to store for fast retrieval
Three independent mechanisms work together:
| Mechanism | Trigger | Write to disk? | Purpose |
|---|---|---|---|
| Active Memory | Every reply (before_prompt_build) | โ Read-only | Real-time recall, inject relevant memories into current conversation |
| Dream (memory-core) | Daily 12:30 cron | โ MEMORY.md (Deep phase) | Decide which memories promote or decay |
| Refinement (13:00) | Daily 13:00 cron (user-defined) | โ Writeable | Verify Dream results, fill gaps |
โ ๏ธ v4.12b source-verified correction (2026-04-17): Clarified actual division of three mechanisms
Core Components
1. Active Memory โ Proactive Recall (Source-Verified)
Trigger mechanism:
- Hooked to
before_prompt_build, auto-triggers before every reply - Spawns a read-only sub-agent with only
memory_search+memory_getpermissions - Builds query from current user message, searches recall index (
memory/.dreams/short-term-recall.json) - Searched summaries are prepended to prompt before model generates reply
- Results cached 15 seconds (
cacheTtlMs) to avoid repeated recall in same turn
Key constraints:
- โ Read-only, produces no files
- โ Cannot call other tools
- Only affects current conversation context, not persisted
Configuration (openclaw.json โ plugins.entries.active-memory.config):
{
"enabled": true,
"queryMode": "recent", // message | recent | full
"promptStyle": "balanced", // balanced | strict | contextual | recall-heavy | precision-heavy | preference-only
"maxSummaryChars": 220,
"recentUserTurns": 2,
"recentAssistantTurns": 1,
"timeoutMs": 15000
}
2. Memory Palace โ Structured Views
Provides multi-dimensional views of your agent's long-term memory:
- Timeline โ chronological view of work progress
- Projects โ aggregated by project
- Technology โ organized by tech domain
- Custom โ user-defined dimensions
3. Dream (memory-core) โ Temporal Layering (Source-Verified)
Trigger: 30 12 * * * (cron), sessionTarget="main", payload="systemEvent: __openclaw_memory_core_short_term_promotion_dream__"
Three phases (Light โ REM โ Deep):
Source quote (
formatPhaseGuide):
"deep is the only stage that writes durable entries to MEMORY.md. DREAMS.md is for human-readable dreaming summaries and diary entries."
| Phase | Output | Writes files? | Description |
|---|---|---|---|
| Light | Dream Diary prose entries | โ DREAMS.md | Organize session-corpus, 4 parallel sessions |
| REM | Theme reflections | โ DREAMS.md | Extract recurring themes |
| Deep | 6-dimensional weighted scoring signals | โ โ MEMORY.md | Only phase that writes to MEMORY.md |
Deep phase promotion parameters (adjust in cron job description):
minScore: 0.500 (tune based on your promotion rate)minRecallCount: 3minUniqueQueries: 3recencyHalfLifeDays: 14maxAgeDays: 30limit: 10
โ ๏ธ The following files are NEVER generated (source-verified):
- โ
memory/dreaming/deep/YYYY-MM-DD.md - โ
memory/dreaming/light/YYYY-MM-DD.md - โ
memory/dreaming/rem/YYYY-MM-DD.md
4. Refinement (User-Defined Cron) โ Content Classification
Trigger: 0 13 * * * (user-defined cron), sessionTarget="isolated"
Nature: User-written AI agent prompt, not an OpenClaw native mechanism
Responsibilities:
- Read Dream outputs (DREAMS.md, session-corpus)
- Verify conflicts, hallucinations, outdated entries
- Classify new memories into 4 categories (user/feedback/project/reference)
- Write verification report to
memory/dreaming/verify/YYYY-MM-DD.md
โ ๏ธ Note: Verification reports' "supplementary promotion suggestions" are text only and won't automatically write to MEMORY.md. Manual promotion required.
Two Orthogonal Dimensions
| Dimension | Framework | Mechanism | Purpose |
|---|---|---|---|
| Temporal (how long) | Atkinson-Shiffrin 3-stage model | Dream (memory-core) Deep phase | Decay โ what to keep vs. prune |
| Content (where) | 4-type taxonomy | Refinement 13:00 + agent proactive writes | Storage โ where to put for retrieval |
Dimension 1: Temporal Layering
| Stage | Human Equivalent | Implementation | TTL | Action |
|---|---|---|---|---|
| Sensory | ~0.25 sec perception | Current input context | Instant | Filter immediately |
| Short-term | Recent | Model context window 10 turns | 10 turns | Pass through working filters |
| Working | Recent ~7 days | memory/YYYY-MM-DD.md + Active Memory | 7 days | Extract signal โ promote or decay |
| Long-term | Permanent | MEMORY.md (index) + classified files | Permanent | Periodic review, prune when stale |
Dimension 2: Content Classification (4 Types)
Written by: agent proactively during conversation (not automatic)
| Type | Directory | Content Example | When to Write |
|---|---|---|---|
| user | memory/user/ | User profile (role, preferences, knowledge, goals) | When learning user preferences/profile |
| feedback | memory/feedback/ | Lessons (corrections, confirmations, style) | When user corrects or confirms |
| project | memory/project/ | Project decisions/reasoning (raw material) | When project has new progress/decision |
| reference | memory/reference/ | External resources (links, tools, locations) | When discovering new tools/resources |
Important: Project execution state tracking (blockers, needs, progress) โ write directly to
knowledge/project-tracker.md(strategy layer); only project experience, decision reasoning, retrospective summaries โ sublimate tomemory/project/(classified memory layer)
What to Save / What NOT to Save
โ Save
- User's role, preferences, responsibilities, knowledge
- User corrections ("not like that", "should be this way")
- User confirmations ("yes exactly", "perfect, keep that")
- Project decisions and the reasoning (not just what, but why)
- New tools, links, resources
- External system locations and their purpose
โ Don't Save
- โ Code patterns, architecture, file paths (derivable from codebase)
- โ Git history (
git logis the authoritative source) - โ Debugging solutions (the fix is in the code)
- โ Anything already documented elsewhere
- โ Ephemeral task state (write to
todos.mdinstead) - โ Raw conversation content
MEMORY.md = Long-Term Index Only
MEMORY.md is the index of long-term memories only, never content. Format:
- [Title](path) โ one-line description (\x3C150 chars)
Memory File Format
Every classified memory file must have frontmatter:
---
name: Memory name
description: One-line description (used to judge relevance)
type: user|feedback|project|reference
created: YYYY-MM-DD
---
## Rule / Fact
(the content)
## Why
(reason / motivation)
## How to apply
(when and how to use this memory)
Memory Drift Caveat
Memories can become stale. Rules:
- Verify first: When referencing a file, function, or path โ check it still exists
- Trust current state: If memory conflicts with current observation, trust what you see now
- Update or delete: When a memory is outdated, fix or remove it immediately
- Absolute dates: Convert relative dates ("yesterday", "last week") to absolute dates
Memory โ Knowledge Sublimation
Not all mature memories should decay. Some evolve into knowledge.
When to Sublimate
| Trigger | Detection Signal | Result |
|---|---|---|
| Project complete | All tasks marked done, 3+ related project memories | Merge into knowledge/project-postmortem.md |
| Project state tracking | New progress/blockers/resource needs | Update knowledge/project-tracker.md directly (skip sublimation) |
| Feedback patterns | 3+ related feedback entries (e.g., all about reply style) | Merge into knowledge/user-work-style-guide.md |
| User depth | User memory accumulates role, preferences, habits over time | Expand to knowledge/user-playbook.md |
| Periodic review | Dream detects high density of related memories in one category | Suggest: "Found 5 related feedback entries โ merge into knowledge?" |
Session Lifecycle
Session Start
1. Sensory: Read current input
2. Short-term: Last 10 turns from context window
3. Working: Read memory/today.md + memory/yesterday.md
4. Long-term: Read MEMORY.md index
Note: Active Memory runs before the above (in before_prompt_build hook)
During Conversation
- New info โ write to working memory (today's daily log)
- Learned something worth remembering โ update MEMORY.md index + save classified file
- User preference โ update USER.md + memory/user/
- Task/priority change โ update todos.md
- Need to retrieve โ find in MEMORY.md index โ read classified file
Session End
- Summarize โ write to memory/today.md (working memory)
- Identify items for long-term โ update classified files
- Update MEMORY.md index
- Mark items for Dream review (decay candidates)
Workspace Structure
workspace/
โโโ MEMORY.md # long-term memory index (written by Dream Deep phase)
โโโ USER.md # user info
โโโ SOUL.md # AI identity
โโโ todos.md # โ
Execution layer: today's tasks + long-term tracking (user-facing)
โโโ HEARTBEAT.md # daily reminders
โโโ memory/
โ โโโ memory-types.md # this file (or link to SKILL.md)
โ โโโ user/ # long-term user memories (written by agent)
โ โโโ feedback/ # long-term feedback (written by agent)
โ โโโ project/ # long-term project memories (written by agent, post-sublimate)
โ โโโ reference/ # long-term references (written by agent)
โ โโโ palace/ # Memory Palace views
โ โ โโโ timeline.md
โ โ โโโ projects.md
โ โ โโโ technology.md
โ โ โโโ custom.md
โ โโโ dreaming/
โ โ โโโ verify/ # Verification reports (written by Refinement 13:00)
โ โโโ .dreams/ # Internal machine data (NOT human-readable)
โ โ โโโ phase-signals.json # Deep phase scoring signals
โ โ โโโ events.jsonl # memory_search event log
โ โ โโโ session-ingestion.json # session-corpus metadata
โ โ โโโ short-term-recall.json # Active Memory recall index
โ โโโ YYYY-MM-DD.md # working memory (daily logs)
โโโ knowledge/ # โ
Strategy layer (project blockers/progress/resources/suggestions)
โโโ project-tracker.md # Project panorama, user-facing
Three-Layer Principle
- todos.md = Execution layer: what to do today, tracking each node (user-maintained)
- knowledge/ = Strategy layer: where projects are stuck, what resources needed, suggestions
- memory/ = Classified memory layer: experience distillation, decision retrospectives, pattern discovery
Each layer has its own purpose, no duplication.
Example Interactions
User provides important info:
User: "I'm a data analyst, mostly working with Python" โ Working: log in today's daily log โ Long-term: save to
memory/user/user-profile.md, update MEMORY.md index
User corrects you:
User: "Don't use Markdown tables, use lists" โ Working: log in today's daily log โ Long-term: save to
memory/feedback/no-tables.md, update MEMORY.md index
Project decision:
Decision: approach A over B because lower cost โ Working: log decision context โ Long-term: save to
memory/project/decision.mdwith reasoning
Looking up a past date:
User: "What did we do last Tuesday?" โ Active Memory auto-recalls โ read
memory/YYYY-MM-DD.mdfor that date
OpenClaw Commands
# Check Active Memory status
openclaw plugins list | grep active-memory
# Check Dream status
openclaw dreaming status
# Toggle Dream on/off
openclaw dreaming on
openclaw dreaming off
# Manually trigger Dream Consolidation
openclaw memory dream
Changelog
| Version | Changes |
|---|---|
| v4.13 | Dual-layer structure established (2026-04-18): Added three-layer principle (todos execution + knowledge strategy + memory classified); removed ongoing-projects.md, replaced with knowledge/project-tracker.md for strategic view; updated Workspace Structure and Sublimation description |
| v4.12b | Source-verified major correction (2026-04-17): Clarified three-mechanism division (Active Memory trigger/read-only, Dream DeepๅฏไธๅMEMORY.md, Refinement as user-defined cron); corrected Deep/Light/REM phase descriptions; removed non-existent file references; updated Active Memory source-level description |
| v4.12 | Dual-Layer Dream Verification: Official Dream (12:30) + Refined Verify (13:00) cross-checking. Verification reports in memory/dreaming/verify/. Hallucination and drift prevention. |
| v4.11 | Full integration with OpenClaw 4.11 ecosystem, Active Memory + Memory Palace + Dream Consolidation |
| v3.2 | Memory sublimation system, 5-phase consolidation |
| v2.2 | Memory-Knowledge layering + Atkinson-Shiffrin integration |
| v1.0 | Initial release โ Atkinson-Shiffrin three-stage model |
Version: v4.13 | Updated: 2026-04-18 | Three layers: todos execution + knowledge strategy + memory classified
- Make sure OpenClaw is installed (local or Docker)
- Run the install command in chat:
/install memory-never-forget - After installation, invoke the skill by name or use
/memory-never-forget - Provide required inputs per the skill's parameter spec and get structured output
What is ๐ง Memory Never Forget ๐ง ?
Memory system v4.13: Dual-layer structure (todos for execution + knowledge for strategy) with Dream/Refinement memory mechanisms. It is an AI Agent Skill for Claude Code / OpenClaw, with 3279 downloads so far.
How do I install ๐ง Memory Never Forget ๐ง ?
Run "/install memory-never-forget" in the OpenClaw or Claude Code chat to install it in one step โ no extra setup required.
Is ๐ง Memory Never Forget ๐ง free?
Yes, ๐ง Memory Never Forget ๐ง is completely free, licensed under MIT-0. You can download, install and use it at no cost.
Which platforms does ๐ง Memory Never Forget ๐ง support?
๐ง Memory Never Forget ๐ง is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).
Who created ๐ง Memory Never Forget ๐ง ?
It is built and maintained by jujitao (@jujitao); the current version is v4.1.3.