home / skills / openclaw / skills / people-memories

people-memories skill

/skills/charbeld/people-memories

This skill stores brief memories about people you mention and recalls them later to boost context, reminders, and personalized follow-ups.

npx playbooks add skill openclaw/skills --skill people-memories

Review the files below or copy the command above to add this skill to your agents.

Files (5)
SKILL.md
3.7 KB
---
name: people-memories
description: Capture short personal notes about people you mention, store them in a lightweight DB, and recall those details whenever you ask about them later. Use when you want to remember preferences, reminders, or the context around a person without digging through past chats.
---

# People memories skill

## Purpose
Keep a short-lived, searchable memory vault about people you talk to so your assistant can recall follow-ups instantly. The skill handles:
- `remember` cues (voice or text) to persist comments, preferences, and context.
- Summaries + exports so you can package a person’s “fact card.”
- Search, recall, and list commands for quick lookups.
- Optional auto-trigger from voice transcripts (when you say “remember …”).

## Structure & storage
`~/.clawdbot/people-memory.json` now stores:
```
{
  "people": {
    "alex": {
      "displayName": "Alex",
      "notes": [
        {
          "timestamp": "2026-01-29T12:05:00Z",
          "note": "Likes cats and doing late-night music practice",
          "source": "voice",
          "tags": ["pets", "music"]
        }
      ]
    }
  },
  "index": {
    "music": ["alex"],
    "cats": ["alex"]
  }
}
```
- Names are normalized (lowercase keys) but store the display name.
- Each note captures `timestamp`, `note`, `source`, and `tags`.
- An `index` map keeps keywords → people for super-fast lookups.

## CLI commands
Use the bundled script to manage the database:
```
skills/people-memories/scripts/people_memory.py <command> [options]
```
- `remember --person Alex --note "loves chai" --tags drinks,preferences` – adds a note.
- `recall --person Alex --limit 3` – reads the latest notes.
- `summarize --person Alex` – prints fact card with counts, tags, last updates.
- `search --query coffee` – finds people whose notes mention “coffee”.
- `export --person Alex --format md --out ~/Desktop/alex.md` – dumps the notes as Markdown (or JSON). 
- `list` – enumerates everyone stored plus note counts.

## Auto capture (voice/chat)
The `extensions/people-memories` extension listens to `/voice-chat` transcripts. When you say something like “remember Alex likes cats,” it automatically runs the `remember` command and logs the note. The index updates in the background, and we keep confirmations quiet unless you explicitly ask for them.

## Reminders & automation
Event metadata (type + date) is attached whenever a note mentions birthdays or anniversaries. A helper cron job runs `python3 skills/people-memories/scripts/people_memory.py reminders --days 0 --window 7 --format message` each morning and delivers the resulting digest over Telegram so you’re nudged about the next week’s birthdays/anniversaries without manual effort. If you prefer a different cadence or channel, rerun the command yourself or update the schedule.

## Enhancements in this version
1. **Smart indexing** – Tags + keyword extraction keep the lookup index updated so searches find matching people even when you reuse adjectives.
2. **Summaries & exports** – Quickly produce a fact card or shareable Markdown/JSON of anyone’s notes.
3. **Voice integration + logging** – transcripts feed the database so you don’t type commands manually.
4. **Structured data** – normalized keys + timestamps plus tag metadata make it easy for other tools (cron, dashboards) to consume the memory store.

## Next steps / nice-to-haves
- Add optional confirmation responses “Noted, saved for Alex.” via the runtime `api.message` helper.
- Integrate with reminders/cron so tagged notes like `birthday` trigger alerts.
- Build a simple watch UI (web or terminal) that previews the latest people cards.

Let me know which direction to automate next (priority filters, notifications, cross-agent sync, etc.)."}

Overview

This skill captures short personal notes about people you mention, stores them in a lightweight local DB, and recalls those details on demand. It is designed for quick, searchable memory of preferences, reminders, and context so follow-ups feel natural. The data is stored with normalized keys, timestamps, and tags for fast lookup and easy export.

How this skill works

When you issue a remember command or speak a voice phrase like “remember Alex likes cats,” the skill logs a timestamped note with source and tags into a JSON-backed store. An index maps keywords and tags to people for instant search. CLI commands let you add, recall, summarize, search, list, export, and generate reminders; voice transcripts can auto-trigger remembers silently.

When to use it

  • When you want to keep brief profiles or fact cards for people you interact with.
  • To capture preferences, short reminders, or context without digging through past chats.
  • Before follow-ups so the assistant can recall names, tags, and last interactions.
  • To generate periodic reminders for birthdays or anniversaries.
  • When you need shareable exports (Markdown/JSON) of someone’s fact card.

Best practices

  • Use concise, single-topic notes (e.g., “prefers chai, allergic to peanuts”) so indexing works well.
  • Tag notes with clear keywords (pets, music, birthday) to improve search and reminder accuracy.
  • Normalize display names when adding people; the system stores lowercase keys but preserves display names.
  • Run periodic exports or backups if you need longer-term archival than the short-lived vault.
  • Limit auto-capture scope in noisy environments to avoid spurious remembers.

Example use cases

  • Quickly save a colleague’s meeting preference: remember --person Sam --note "prefers 30-minute meetings" --tags meetings,preferences
  • Auto-capture from voice: say “remember Jamie’s birthday is May 9” and the skill tags it for reminders.
  • Search teammates by interest: search --query photography to find people tagged with related notes.
  • Produce a shareable fact card: summarize --person Alex or export --person Alex --format md --out ~/Desktop/alex.md
  • Daily reminder digest: cron runs reminders --days 0 --window 7 to send upcoming birthdays/anniversaries over Telegram.

FAQ

How is data stored and where?

Notes are stored in a local JSON file with normalized person keys, display names, notes array, and an index for keyword lookups.

Can voice transcripts automatically create notes?

Yes. The extension can listen to voice-chat transcripts and auto-run the remember command when you say trigger phrases like “remember …,” with quiet confirmations by default.

How do reminders work?

The tool attaches event metadata when a note mentions date-based events (birthdays/anniversaries). A scheduled cron job can run the reminders command to produce a digest for delivery via Telegram or another channel.