Skip to content
Back to skills

Openclaw Universal Memory

ASecurity

Connector-agnostic Postgres + pgvector memory ingestion and retrieval with incremental cursor history.

  • 21 stars
  • 0 votes
  • 0 copies
  • 3 views
  • Added September 7, 2026
securitypythonrustgobashgitapidatabasesecurity

Works with

  • cursor
  • api

Security analysis

A92/100
  • mediumInstalls packages at runtime which could introduce malicious dependencies

Pro scans all 3 files and shows the line behind each finding

Scanned September 7, 2026

npx -y skills add modbender/skill-library-mcp --skill openclaw-universal-memory --agent claude-code

Installs 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 with every re-scan.

Security grade badge for Openclaw Universal Memory
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/modbender-openclaw-universal-memory/badge)](https://www.skillsdirectory.com/skills/modbender-openclaw-universal-memory)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
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.

Files in this skill

  • SKILL.md3.8 KB
  • scripts/run_memory.py5.9 KB
  • setup.json1.4 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

View all in security →

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.