People Memories
@charbeld
npx machina-cli add skill @charbeld/people-memories --openclawPeople 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:
remembercues (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, andtags. - An
indexmap 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
- Smart indexing – Tags + keyword extraction keep the lookup index updated so searches find matching people even when you reuse adjectives.
- Summaries & exports – Quickly produce a fact card or shareable Markdown/JSON of anyone’s notes.
- Voice integration + logging – transcripts feed the database so you don’t type commands manually.
- 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.messagehelper. - Integrate with reminders/cron so tagged notes like
birthdaytrigger 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
People Memories lets you store short notes about individuals you mention and recall them later. It uses a lightweight JSON store at ~/.clawdbot/people-memory.json to keep notes with timestamps, sources, and tags, so context and preferences stay accessible. It supports remember cues, summaries, exports, and fast searches, reducing the need to dig through past chats.
How This Skill Works
It logs remember cues from text or voice, writes a per person record containing timestamp, note, source, and tags, and builds a keyword index for fast lookups. You can recall recent notes, generate a fact card, or export notes as Markdown or JSON. An optional voice transcript feature can auto log notes.
When to Use It
- Remember a person’s preferences or reminders, such as Alex liking chai.
- Track birthdays or anniversaries and receive a reminder digest.
- Prepare outreach with a tailored context for a person.
- Log context about someone during a chat so you don’t lose track.
- Quickly search notes about a person without digging through past chats.
Quick Start
- Step 1: Run the remember command to log a note for a person.
- Step 2: Use recall or summarize to fetch notes or generate a fact card.
- Step 3: Use search or export to retrieve notes or share a person card.
Best Practices
- Use clear remember cues and tag notes with keywords.
- Keep notes short, specific, and timestamped.
- Maintain the keyword index so searches stay fast.
- Enable the auto capture from transcripts to keep notes up to date.
- Regularly export or summarize a person’s notes into a fact card.
Example Use Cases
- Alex likes chai, cats, and late night music practice; logged with timestamp and tags.
- Taylor's birthday and preferred contact method recorded for reminders.
- Export Alex's fact card as Markdown for sharing with a teammate.
- Search notes mentioning coffee to identify colleagues who drink coffee.
- Auto log from voice transcripts to keep the memory store up to date.