Triple Memory

Complete memory system combining LanceDB auto-recall, Git-Notes structured memory, and file-based workspace search. Use when setting up comprehensive agent memory, when you need pe…

ktpriyatham

@ktpriyatham

What This Skill Does

Combines LanceDB auto-recall, Git-Notes structured memory, and file-based workspace search into a unified memory system for AI agents. Automatically captures conversation context, stores structured decisions with entity extraction, and enables persistent file search across sessions.

Replaces fragmented memory solutions by integrating three complementary backends (vector, git-notes, file search) into one cohesive system that preserves context across sessions and compactions.

When to Use It

  • Set up persistent agent memory that survives session compactions
  • Store structured decisions with entity extraction and importance levels
  • Search workspace files for configuration or documentation references
  • Automatically recall relevant conversation memories before each response
  • Flush session context to memory when approaching token limits
  • Manage branch-aware memory for different project contexts

Install

$ openclaw skills install @ktpriyatham/triple-memory-skill

Triple Memory System

A comprehensive memory architecture combining three complementary systems for maximum context retention across sessions.

Architecture Overview

User Message
     ↓
[LanceDB auto-recall] → injects relevant conversation memories
     ↓
Agent responds (using all 3 systems)
     ↓
[LanceDB auto-capture] → stores preferences/decisions automatically
     ↓
[Git-Notes] → structured decisions with entity extraction
     ↓
[File updates] → persistent workspace docs

The Three Systems

1. LanceDB (Conversation Memory)

  • Auto-recall: Relevant memories injected before each response
  • Auto-capture: Preferences/decisions/facts stored automatically
  • Tools: memory_recall, memory_store, memory_forget
  • Triggers: "remember", "prefer", "my X is", "I like/hate/want"

2. Git-Notes Memory (Structured, Local)

  • Branch-aware: Memories isolated per git branch
  • Entity extraction: Auto-extracts topics, names, concepts
  • Importance levels: critical, high, normal, low
  • No external API calls

3. File Search (Workspace)

  • Searches: MEMORY.md, memory/*.md, any workspace file
  • Script: scripts/file-search.sh

Setup

Enable LanceDB Plugin

{
  "plugins": {
    "slots": { "memory": "memory-lancedb" },
    "entries": {
      "memory-lancedb": {
        "enabled": true,
        "config": {
          "embedding": { "apiKey": "${OPENAI_API_KEY}", "model": "text-embedding-3-small" },
          "autoRecall": true,
          "autoCapture": true
        }
      }
    }
  }
}

Enable Auto Memory Flush (Pre-Compaction)

Add to your Clawdbot config to automatically preserve context before compaction:

{
  "agents": {
    "defaults": {
      "compaction": {
        "mode": "safeguard",
        "memoryFlush": {
          "enabled": true,
          "softThresholdTokens": 8000,
          "systemPrompt": "Session nearing compaction. Preserve context using triple memory system (git-notes, LanceDB, files).",
          "prompt": "Context is at ~80%. Write session summary to memory/YYYY-MM-DD.md, update MEMORY.md if needed, store key facts to git-notes. Reply NO_REPLY when done."
        }
      }
    }
  }
}

This triggers automatic memory dump when context reaches ~80%, before any information is lost to compaction.

Install Git-Notes Memory

clawdhub install git-notes-memory

Create File Search Script

Copy scripts/file-search.sh to your workspace.

Usage

Session Start (Always)

python3 skills/git-notes-memory/memory.py -p $WORKSPACE sync --start

Store Important Decisions

python3 skills/git-notes-memory/memory.py -p $WORKSPACE remember \
  '{"decision": "Use PostgreSQL", "reason": "Team expertise"}' \
  -t architecture,database -i h

Search Workspace Files

./scripts/file-search.sh "database config" 5

Conversation Memory (Automatic)

LanceDB handles this automatically. Manual tools:

  • memory_recall "query" - search conversation memory
  • memory_store "text" - manually store something
  • memory_forget - delete memories (GDPR)

Importance Levels

FlagLevelWhen to Use
-i cCritical"always remember", explicit preferences
-i hHighDecisions, corrections, preferences
-i nNormalGeneral information
-i lLowTemporary notes

When to Use Each System

SystemUse For
LanceDBConversation context, auto-retrieval
Git-NotesStructured decisions, searchable by entity/tag
File SearchWorkspace docs, daily logs, MEMORY.md

File Structure

workspace/
├── MEMORY.md              # Long-term curated memory
├── memory/
│   ├── active-context.md  # Current session state
│   └── YYYY-MM-DD.md      # Daily logs
├── scripts/
│   └── file-search.sh     # Workspace search
└── skills/
    └── git-notes-memory/  # Structured memory

Silent Operation

Never announce memory operations to users. Just do it:

  • ❌ "I'll remember this"
  • ❌ "Saving to memory"
  • ✅ (silently store and continue)

Top skills in this category