Help us improve
Share bugs, ideas, or general feedback.
From engram
This skill should be used when the user asks to "manage memory", "consolidate memories", "promote memories", "archive old memories", "check memory health", "prune knowledge graph", "switch deployment mode", "export memory", or needs guidance on memory lifecycle management. Covers: consolidation pipeline, promotion criteria, archival, knowledge graph maintenance, deployment mode switching, memory diagnostics, and troubleshooting.
npx claudepluginhub baladithyab/engramHow this skill is triggered — by the user, by Claude, or both
Slash command
/engram:memory-adminThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Use `get_memory_status` to check connection health. For deeper diagnostics, query directly:
Performs periodic memory maintenance and cleanup for the rekal database, detecting duplicates, conflicts, and stale conversations while requiring user approval for all changes.
Audits Pensyve memories for staleness (>30 days unaccessed or low retrievability), contradictions, low confidence (<0.5), and consolidation candidates, then offers confirmed cleanup actions. Use periodically.
Performance optimization patterns for Mem0 memory operations including query optimization, caching strategies, embedding efficiency, database tuning, batch operations, and cost reduction for both Platform and OSS deployments. Use when optimizing memory performance, reducing costs, improving query speed, implementing caching, tuning database performance, analyzing bottlenecks, or when user mentions memory optimization, performance tuning, cost reduction, slow queries, caching, or Mem0 optimization.
Share bugs, ideas, or general feedback.
Use get_memory_status to check connection health. For deeper diagnostics, query directly:
-- Count by scope
SELECT scope, count() FROM memory WHERE status = 'active' GROUP BY scope;
-- Count by type
SELECT memory_type, count() FROM memory WHERE status = 'active' GROUP BY memory_type;
-- Oldest and newest memories
SELECT id, content, created_at FROM memory ORDER BY created_at ASC LIMIT 3;
SELECT id, content, created_at FROM memory ORDER BY created_at DESC LIMIT 3;
-- Most accessed memories
SELECT id, content, access_count, importance FROM memory
WHERE status = 'active' ORDER BY access_count DESC LIMIT 10;
-- Knowledge graph stats
SELECT entity_type, count() FROM entity GROUP BY entity_type;
SELECT count() FROM relates_to;
-- Consolidation queue status
SELECT status, count() FROM consolidation_queue GROUP BY status;
UPDATE memory SET status = 'archived', updated_at = time::now()
WHERE status = 'active'
AND importance < 0.2
AND access_count = 0
AND created_at < time::now() - 30d;
UPDATE memory SET scope = 'project', updated_at = time::now()
WHERE status = 'active'
AND scope = 'session'
AND (importance >= 0.7 OR access_count >= 3);
DELETE FROM memory WHERE status = 'forgotten' AND updated_at < time::now() - 90d;
Current mode is set via SURREAL_MODE env var or .claude/engram.local.md.
| Mode | Endpoint | Persistence |
|---|---|---|
embedded | surrealkv://{data_path} | Persistent file-based |
memory | mem:// | Ephemeral (snapshot on close) |
local | ws://localhost:8000 | Depends on server config |
remote | wss://... | Cloud-managed |
To switch modes, use the /memory-setup command or edit .claude/engram.local.md.
| Symptom | Likely Cause | Fix |
|---|---|---|
| "SurrealDB not connected" | Server not running or bad endpoint | Check mode and URL config |
| Empty recall results | No memories stored yet, or wrong scope filter | Try broader search, check scope |
| Slow queries | Large dataset without proper indexes | Schema auto-creates indexes; check with INFO FOR TABLE memory |
| "record not found" on update | Wrong memory ID format | IDs look like memory:abc123 — include the table prefix |
| Snapshot export fails | Data path not writable | Check permissions on ~/.claude/engram/data |