Install
openclaw skills install self-learning-agentKnowledge card memory system with semantic search. Agents wake up fresh each session but remember everything through atomic ~350-token cards with YAML frontmatter, daily logs, and a slim master index. Captures lessons, corrections, preferences, and facts automatically. Built for agents that need persistent memory across sessions.
openclaw skills install self-learning-agentA production-tested memory architecture for AI agents that wake up fresh each session. Instead of one monolithic memory file that grows until it's unusable, this system uses atomic knowledge cards (~350 tokens each) searched semantically, daily logs for raw notes, and a slim master index loaded every session.
workspace/
├── MEMORY.md # Master index (~2KB, loaded every session)
├── memory/
│ ├── cards/ # Knowledge cards (~350 tokens each)
│ │ ├── topic-name.md # One topic per file, YAML frontmatter
│ │ ├── another-topic.md
│ │ └── ...
│ └── YYYY-MM-DD.md # Daily session logs (raw notes)
mkdir -p memory/cards
This file is loaded every session. Keep it under 2KB. It should contain:
# MEMORY.md — Master Index
## How Memory Works
- **This file:** Slim index (~2KB). Loaded every main session.
- **Knowledge cards:** `memory/cards/*.md` (~N cards, ~350 tokens each). Searched semantically.
- **Daily logs:** `memory/YYYY-MM-DD.md`. Raw session notes.
- **DO NOT** dump everything here. Write knowledge cards instead.
## Identity
[Agent name, model, owner, key facts]
## Quick Context
[2-3 lines of what matters right now]
## Card Categories
[Table mapping categories to card topics]
## Current Priorities
[What's actively being worked on]
## Every Session
1. Read MEMORY.md (slim index)
2. Search `memory_search` for context relevant to the current task
3. Skim today + yesterday daily logs for recent context
4. Start working
## Memory Rules
- "Mental notes" don't survive session restarts. Files do.
- When someone says "remember this" → write a knowledge card
- When you learn a lesson → write a knowledge card
- When you make a mistake → document it so future-you doesn't repeat it
Every card has YAML frontmatter and dense content:
---
topic: Descriptive Topic Name
category: system|human|infrastructure|tools|workflow|projects|lessons|career|security|models
tags: [tag1, tag2, tag3]
created: YYYY-MM-DD
updated: YYYY-MM-DD
---
The actual content. Dense, factual, no fluff.
Write for future-you who has zero context.
Include specific commands, paths, config values.
Keep under 350 tokens.
---
topic: Cortex CSRF Automation
category: infrastructure
tags: [cortex, csrf, thehive, api, security]
created: 2026-03-19
updated: 2026-03-19
---
Cortex 3.1.8 uses non-standard CSRF. Cookie: CORTEX-XSRF-TOKEN, header: X-CORTEX-XSRF-TOKEN.
Standard Play Framework bypass headers (Csrf-Token: nocheck) do NOT work.
Flow: Login → GET any endpoint with session cookie → capture CORTEX-XSRF-TOKEN from Set-Cookie →
send as both cookie AND X-CORTEX-XSRF-TOKEN header on all POST/PUT/DELETE.
Shortcut: After generating first API key, use Authorization: Bearer which bypasses CSRF entirely.
First-user POST /api/user (no auth) only works when zero users exist in DB.
---
topic: Stuff I Learned Today
---
Today I learned a bunch of things about Cortex and TheHive. The CSRF thing was really tricky
and took a while to figure out. I also learned about how to set up organizations and users.
It was a productive session overall.
(Too vague, no specifics, no actionable info, multiple topics in one card)
/learn, "remember this", or "save this"Append to memory/YYYY-MM-DD.md:
## HH:MM — Brief Title
What happened, what was decided, what was learned.
Link to any cards created: `→ card: topic-name`
Periodically (every few days), the agent should:
Think of it like a human reviewing their journal and updating their mental model.
When the same lesson appears 3+ times in cards:
Session Start
│
├── Read MEMORY.md (always, ~2KB)
├── memory_search for task-relevant cards
├── Skim today + yesterday daily logs
│
├── [Do work]
│
├── Capture insights → knowledge cards
├── Log session → daily log
│
Session End
This system has been tested with:
At this scale, semantic search finds relevant cards in <100ms. The master index stays under 2KB. The agent loads only what it needs.
If you hit 100+ cards, consider:
| Monolithic (one big file) | Knowledge Cards | |
|---|---|---|
| Load time | Grows forever | Constant (~2KB index) |
| Search | Full-text scan | Semantic vector search |
| Updates | Append-only chaos | Atomic card updates |
| Noise ratio | High (old + new mixed) | Low (curated cards) |
| Session cost | Tokens scale with history | Tokens stay flat |