memory-graph
Agent-agnostic personal knowledge graph stored as markdown files with YAML frontmatter. Use when you need persistent context about the user's life, projects, tools, people, concepts, or decisions — especially across agent resets or switches. Also use when logging significant activity, searching for context before starting work, creating knowledge nodes for new topics, discovering connections between existing nodes (backfill), or rebuilding indexes. Triggers include needing user context, logging work, "remember this", "what do I know about X", creating/updating knowledge entries, and periodic memory maintenance.
Install via CLI (Recommended)
clawhub install openclaw/skills/skills/afgonullu/agent-memory-graphMemory Graph
A file-based personal knowledge graph at ~/memory/. Any agent can read/write. Human-browsable.
Structure
~/memory/
├── README.md # full architecture doc
├── graph/ # knowledge nodes
│ ├── people/
│ ├── projects/
│ ├── concepts/
│ ├── places/
│ ├── tools/
│ └── <any-category>/ # extend freely
├── log/ # daily activity logs
│ └── YYYY-MM-DD.md
├── indexes/ # computed — NEVER edit directly
│ ├── memory.db # SQLite (primary index, FTS5 search)
│ └── graph.html # interactive graph visualization
├── backfill/ # connection discovery
│ ├── suggestions.md
│ └── history.md
└── scripts/ # symlinks → skill's scripts/ directory
├── rebuild-indexes.js # full or incremental index rebuild
├── suggest-backfill.js # scoped connection discovery (+ QMD semantic)
├── query.js # CLI structural query tool
├── briefing.js # context assembly for agents
├── lint.js # graph validation and health checks
├── visualize.js # D3.js graph visualization generator
├── commit.js # git auto-commit for graph/log changes
└── promote.js # log-to-node promotion suggestions
Script location: Scripts live in the skill directory (scripts/). ~/memory/scripts/ contains symlinks to them. All scripts support MEMORY_ROOT env var (defaults to ~/memory) so they resolve paths correctly regardless of where they're installed.
Setup
If ~/memory/ does not exist, read references/setup.md and follow the scaffolding steps. This creates the folder structure, symlinks scripts, seeds initial nodes, and builds indexes.
If ~/memory/ already exists, proceed to Operations below.
Node Format
Every node is a markdown file with YAML frontmatter:
---
type: project
created: 2026-03-20
updated: 2026-03-20
tags: [side-project, saas]
status: active
relations:
- { to: people/someone, type: owner }
- { to: tools/nextjs, type: built-with }
---
# Title
Free-form body.
## Changelog
- 2026-03-20: Created node
Required Fields
type— matches parent folder namecreated— ISO date
Recommended Fields
updated— ISO date, last time node content was meaningfully changed. Used for staleness tracking.
Optional Fields
tags— flat list for categorizationstatus—active,archived,idea,done, etc.relations— list of{ to, type }objects.tois relative path withingraph/(no.md).typeis any string.- Add any other fields freely — unknown fields are preserved
Relation Type Taxonomy
Suggested standard types (non-standard types trigger info-level lint warnings):
Metadata
Not sure this is the right skill?
Describe what you want to build — we'll match you to the best skill from 16,000+ options.
Find the right skillPaste this into your clawhub.json to enable this plugin.
{
"plugins": {
"official-afgonullu-agent-memory-graph": {
"enabled": true,
"auto_update": true
}
}
}