Files
stack/skills/memory-discipline/SKILL.md

3.6 KiB

name, description, metadata
name description metadata
memory-discipline Enforce proper session memory recording. Use at: (1) session idle timeout, (2) task completion, (3) explicit /save command, (4) end of significant conversation milestones. Extracts decisions, key info, and action items from the session and writes them to memory storage (files or database).
openclaw
emoji requires
💾

Memory Discipline Skill

This skill ensures that session knowledge is properly captured and stored, not lost. It is mandatory to run this before:

  • Session idle timeout (no user input for X minutes)
  • Task completion
  • Explicit /save or /memory command
  • Any significant milestone in the conversation

Why This Exists

Too often agents don't record important information from sessions. This causes:

  • Repeated questions about things the human already told you
  • Lost context between sessions
  • Frustration when "I told you that last time" happens

This skill makes memory recording REQUIRED, not optional.

Workflow

Step 1: Extract Key Information

Before writing, analyze the session and extract:

Category What to capture
Decisions Any decision made by the human or jointly (e.g., "we'll use Postgres + pgvector")
Important Info Facts the human provided that should be remembered (e.g., preferences, constraints)
Action Items Things to do later, follow-ups, tasks not yet completed
Context Changes Project state changes, new businesses, new channels
Lessons What worked, what didn't, what to avoid

Step 2: Write to Storage

File-based (current):

  • Update memory/YYYY-MM-DD.md with new entries
  • Update MEMORY.md for long-term memory
  • Update USER.md if human preferences changed
  • Update project-specific files if applicable

Database (future - when Postgres/pgvector available):

  • Write to session_summaries table
  • Generate embeddings for RAG context
  • Log to event_log table

Step 3: Confirm in Chat

After saving, say EXACTLY:

💾 Saved to memory:
- X decisions
- X key info items
- X action items

[If action items exist:]
TODO: [list each action item]

This confirms to the human that their information was saved.

Triggers

Automatic triggers (run yourself):

  1. Session idle for 5+ minutes (check on heartbeat or cron)
  2. Task marked as complete
  3. Human explicitly asks to save

Manual triggers (human invokes):

  • /save - Save current session state
  • /memory - Show what has been saved this session
  • /remember <info> - Manually add something to memory

Quality Standards

DO:

  • Write specific, actionable entries
  • Include context (why this matters)
  • Use bullet points for readability
  • Include dates when relevant
  • Add to appropriate memory file (daily vs long-term)

DON'T:

  • Write vague entries like "discussed project"
  • Skip this step "if nothing important happened"
  • Save trivial things (greetings, small talk)
  • Write excessively long entries

Integration Points

When running this skill, also check:

  1. TODOs - Any pending tasks that should be logged?
  2. Open Threads - Any ongoing conversations that need continuation notes?
  3. Project State - Did any project context change?

Example Output

💾 Saved to memory:
- Decision: Use Valkey (not RabbitMQ) for message bus
- Decision: bge-m3 for embeddings, cogito:14b for local chat
- Key info: Postgres image already has pgvector built-in
- Action: Check deployed stack via Portainer at 10.1.1.45

TODO:
- [ ] Pull bge-m3 model to Ollama
- [ ] Verify pgvector in postgres image
- [ ] Draft instance configs for Main + 3 departments