Connector-agnostic Postgres + pgvector memory ingestion and retrieval with incremental cursor history.
Scanned 9/7/2026
Install to Claude Code
npx -y skills add modbender/skill-library-mcp --skill openclaw-universal-memory --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Openclaw Universal Memory?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/modbender-openclaw-universal-memory)More formats (shields.io, HTML) on the badges page.
---
name: openclaw-universal-memory
description: Connector-agnostic Postgres + pgvector memory ingestion and retrieval with incremental cursor history.
---
# OpenClaw Universal Memory
This skill provides a generic memory layer for heterogeneous data:
- canonical entity/chunk schema,
- connector-style ingestion with cursors,
- searchable memory in Postgres.
## Use Cases
- Normalize records from multiple systems into one schema.
- Keep incremental sync history (`cursor` per connector/account).
- Build RAG-ready chunk storage in pgvector.
## Prerequisites
- Postgres with `vector` extension.
- Local package installed: `pip install -e .`.
- Python dependency for DB I/O:
- `pip install "psycopg[binary]>=3.2"`
- DSN provided via environment variable (`DATABASE_DSN` by default).
## Security Boundaries
- Do not pass raw passwords/tokens in command-line arguments.
- Prefer OS secret store or process environment injection for DSN.
- This skill only reads/writes your configured Postgres database; it does not call external APIs directly.
- Use least-privilege DB credentials (`SELECT/INSERT/UPDATE/DELETE` on `um_*` tables only).
- Review and trust any custom connector before running it.
## Responsible Use Caveat
- Use this only for accounts/data you legitimately control or are authorized to process.
- You are responsible for privacy, retention, and regulatory compliance.
- This project is provided under Apache 2.0 without operational warranty.
- This implementation is mostly AI-generated code with experienced engineer oversight; validate before production use.
## Commands
Store DB credentials once (recommended):
```bash
python skills/openclaw-universal-memory/scripts/run_memory.py \
--action configure-dsn
```
Initialize schema:
```bash
python skills/openclaw-universal-memory/scripts/run_memory.py \
--action init-schema \
--dsn-env DATABASE_DSN
```
Ingest JSON/NDJSON:
```bash
python skills/openclaw-universal-memory/scripts/run_memory.py \
--action ingest-json \
--dsn-env DATABASE_DSN \
--source gmail \
--account marcos@athanasoulis.net \
--entity-type email \
--input /path/to/records.ndjson
```
Ingest from built-in connectors:
```bash
python skills/openclaw-universal-memory/scripts/run_memory.py \
--action ingest-connector \
--connector google \
--account you@example.com \
--dsn-env DATABASE_DSN \
--limit 300
```
Validate connector auth/config before ingest:
```bash
python skills/openclaw-universal-memory/scripts/run_memory.py \
--action validate-connector \
--connector google \
--account you@example.com \
--dsn-env DATABASE_DSN \
--limit 1
```
Search:
```bash
python skills/openclaw-universal-memory/scripts/run_memory.py \
--action search \
--dsn-env DATABASE_DSN \
--query "Deryk" \
--limit 20
```
Recent ingest history:
```bash
python skills/openclaw-universal-memory/scripts/run_memory.py \
--action events \
--dsn-env DATABASE_DSN \
--limit 20
```
Doctor check:
```bash
python skills/openclaw-universal-memory/scripts/run_memory.py \
--action doctor
```
Scheduling reference:
- `docs/SCHEDULING.md` (cron examples, 15-minute default, connector toggles)
## Connector Contract (for custom adapters)
A connector returns normalized records + next cursor:
- `external_id`
- `entity_type`
- `title`
- `body_text`
- `raw_json`
- `meta_json`
- `next_cursor`
This keeps ingestion generic and supports arbitrary source systems.
Starter connector templates:
- `src/openclaw_memory/connectors/templates.py`
Step-by-step setup guide (Gmail/Slack/Asana/iMessage):
- `docs/CONNECTOR_SETUP_WALKTHROUGH.md`
## Community
We welcome connector contributions via PR.
See `docs/CONNECTOR_CONTRIBUTING.md` for required contract, tests, and setup instructions.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!