3.6 KiB
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). |
|
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
/saveor/memorycommand - 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.mdwith new entries - Update
MEMORY.mdfor long-term memory - Update
USER.mdif human preferences changed - Update project-specific files if applicable
Database (future - when Postgres/pgvector available):
- Write to
session_summariestable - Generate embeddings for RAG context
- Log to
event_logtable
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):
- Session idle for 5+ minutes (check on heartbeat or cron)
- Task marked as complete
- 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:
- TODOs - Any pending tasks that should be logged?
- Open Threads - Any ongoing conversations that need continuation notes?
- 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