openclaw-memory-graph

Store and retrieve typed memory nodes as a queryable graph in Neo4j.

Updated Mar 28, 2026
One-click install
npx skills add https://github.com/michaeldowling/openclaw-memory-graph --skill openclaw-memory-graph
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: openclaw-memory-graph
Source: https://github.com/michaeldowling/openclaw-memory-graph/tree/main/skills/openclaw_memory_graph
Command: npx skills add https://github.com/michaeldowling/openclaw-memory-graph --skill openclaw-memory-graph

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Store and organize memory items as a typed, queryable graph in Neo4j, replacing brittle flat-file storage with semantic links and fast recall.

Core Features & Use Cases

  • Typed memory nodes (ShortTerm, LongTerm, WorkingMemory) with TTL support and migration of legacy memories.
  • Semantic edges and vector-based recall via embeddings, with provider options for OpenAI, Ollama, or local sentence-transformers.
  • Operations to save, recall, update, forget, connect, traverse, list, and prune memories across an agent.

Quick Start

Instantiate MemorySkill with an agent_id, then save a memory and recall memories relevant to a query.

Frequently Asked Questions about openclaw-memory-graph

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I store and recall agent memories as a queryable graph in Neo4j?

To store and recall agent memories as a graph in Neo4j, you can instantiate a memory skill with an agent_id to save typed nodes and perform vector recall using semantic edges and embeddings.

Can I migrate flat-file memories into a Neo4j graph database?

You can migrate flat-file memories into a Neo4j graph database using built-in migration operations that transform legacy memory items into typed nodes with semantic links.

What embedding providers can I use for vector recall with a Neo4j memory graph?

For vector recall with a Neo4j memory graph, you can use OpenAI, Ollama, or local sentence-transformers as embedding providers by configuring the respective environment variables.

Do I need a specific Neo4j version to manage typed memory nodes with TTL support?

Managing typed memory nodes with TTL support requires a running Neo4j 5.x instance and a Python environment configured with NEO4J_URI, NEO4J_USER, and NEO4J_PASSWORD environment variables.

How do short-term, long-term, and working memory lifecycles work in a graph database?

Memory lifecycles in a graph database work by categorizing nodes into ShortTerm, LongTerm, and WorkingMemory types, allowing operations to save, update, forget, and prune memories across an agent.