Get the FREE Ultimate OpenClaw Setup Guide β†’

memory

Scanned
npx machina-cli add skill TonyCasey/lisa/memory --openclaw
Files (1)
SKILL.md
3.5 KB

Purpose

Reusable memory helper that routes remember/recall requests to Graphiti MCP while staying model-neutral and providing cache fallback. Always summarizes results into human-readable format.

Triggers

Use when the user says things like: "load memory", "recall notes", "remember", "pull saved context", "fetch past tasks".

How to use

  1. For recall: run lisa memory load --cache [--query <q>] [--limit 10] [--group <id>]. Reads Graphiti facts and prints JSON. Uses cache if MCP is down.
  2. For remember: run lisa memory add "<text>" --cache [--group <id>] [--tag foo] [--source <src>] to append an episode.
  3. Endpoint: reads ${GRAPHITI_ENDPOINT} from .lisa/.env (written by init); group ID is automatically derived from the project folder path. See root AGENTS.md for canonical defaults.
  4. Cache fallback: stored at cache/memory.log inside this skill. On failure, last cached result is returned with status: "fallback".
  5. IMPORTANT: After loading facts, ALWAYS synthesize them into a human-readable summary (see Summarization section below).

Summarization (Required for Recall)

After running the load command, you MUST synthesize the raw JSON facts into a useful summary. Never just show raw JSON to the user.

Summary Structure

Organize facts into these categories (skip empty categories):

  1. Project Overview - What the project is and does
  2. Recent Activity - What was worked on recently (files modified, features added)
  3. Conventions & Patterns - Naming conventions, coding standards, folder structure
  4. Configuration - Docker, environments, tools, dependencies
  5. Milestones - Completed features, important checkpoints
  6. Open Items - Pending tasks, known issues

How to Summarize

  • ALWAYS sort memories by created_at descending (newest first)
  • Group related facts together
  • Use bullet points for clarity
  • Include specific file names and paths when relevant
  • Include the date for each memory (format: "Jan 23" or "Jan 23, 2026")
  • Filter out expired or superseded facts (check expired_at field)
  • Prioritize recent facts over older ones - show newest at top of each section
  • Extract the fact field from each item - that's the human-readable content

Example Output Format

## Memory Summary

**Project:** Lisa - Long-term memory system for Claude Code

**Recent Activity:**
- Modified `src/lib/mcp.ts` for MCP integration
- Updated Docker config to use `zepai/knowledge-graph-mcp:standalone`
- Added init-review script

**Conventions:**
- Files use kebab-case naming
- JavaScript/TypeScript as primary languages

**Configuration:**
- Docker Compose at `.lisa/docker-compose.graphiti.yml`
- Config file: `config-docker-neo4j.yaml`

**Milestones:**
- Memory system reached major milestone (date)

I/O contract (examples)

  • Recall: output JSON { status: "ok", action: "load", group, query, facts: [...] }.
  • Remember: JSON { status: "ok", action: "add", group, text }.
  • Fallback: JSON { status: "fallback", error, fallback: <last cached object> }.

Cross-model checklist

  • Claude: confirm concise trigger phrasing; keep under system limits; avoid markdown-heavy instructions.
  • Gemini: ensure commands are explicit; avoid model-specific tokens; keep JSON small.

Notes

  • All commands use the lisa CLI binary β€” no scripts to run directly.
  • Facts query defaults to * with max_facts=10; tune via --limit and --query.
  • The fact field in each JSON object contains the human-readable content to summarize.

Source

git clone https://github.com/TonyCasey/lisa/blob/main/src/project/.lisa/skills/memory/SKILL.mdView on GitHub

Overview

Memory is a reusable helper that routes remember/recall requests to Graphiti MCP while staying model-neutral and providing a cache fallback. It always synthesizes results into a human-readable summary after loading facts, ensuring useful context is surfaced.

How This Skill Works

The skill exposes two actions: load (recall) and add (remember). Load queries Graphiti MCP for facts and falls back to the cache if MCP is down, returning a human-readable summary. Add appends an episode to memory with optional group, tag, and source metadata. The endpoint reads GRAPHITI_ENDPOINT from .lisa/.env, derives the group ID from the project path, and caches results in cache/memory.log; on retrieval failure, the last cached result is returned with status 'fallback'.

When to Use It

  • When you need to recall stored context or notes (e.g., 'recall notes' or 'load memory').
  • When you want to remember an important detail or task (e.g., 'remember this task' or 'pull saved context').
  • When you’re resuming work after a break and need past context to continue smoothly.
  • When you want a persistent record of ideas, decisions, or episode histories with optional grouping.
  • When Graphiti MCP is temporarily unavailable and you need a cache-backed response.

Quick Start

  1. Step 1: Run recall to load facts: lisa memory load --cache [--query <q>] [--limit 10] [--group <id>]
  2. Step 2: Remember a new episode: lisa memory add "<text>" [--cache] [--group <id>] [--tag foo] [--source <src>]
  3. Step 3: Verify a human-readable summary is produced after load and check .lisa/.env for GRAPHITI_ENDPOINT and the cache at cache/memory.log

Best Practices

  • Always synthesize the results into a human-readable summary after loading facts.
  • Use meaningful group IDs (derived from project path) to organize memories by context.
  • Tag memories with relevant metadata and a clear source when remembering.
  • Limit recall queries with --limit and craft precise queries with --query to filter results.
  • Regularly inspect cache/memory.log to verify cached results and fallback behavior.

Example Use Cases

  • Recall latest notes from the current sprint by running: lisa memory load --cache --group sprint-2026-feb --limit 10
  • Remember a critical decision: lisa memory add "Approved switch to Graphiti MCP v1.2" --group sprint-2026-feb --tag decision --source meeting-notes.md
  • Load memory after a restart to resume context: lisa memory load --cache --group project-ui --limit 20
  • Fetch past task summaries: lisa memory load --cache --query 'task summary' --limit 5 --group planning
  • Organize context by folder: remember notes under src/features/ui in group project-ui to keep context aligned with file structure

Frequently Asked Questions

Add this skill to your agents
Sponsor this space

Reach thousands of developers β†—