aboutsummaryrefslogtreecommitdiff
path: root/skills/memory.md
blob: d3b46fe426e52ab0cee70c2187080ea2470c86ea (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
---
name: memory
description: Manage user profiles, session memory, and persistent memory map for cross-session context.
tags: [memory, profile, session, persistence, context, map]
category: system
---

## User Profile (localStorage — user_get/user_set)

| Command | Purpose |
|---------|---------|
| `user_get(key)` | Read profile field (e.g. "preferredModel") |
| `user_set(key, value)` | Write to profile, auto-persists |
| `user_list` | Show all stored profile keys |
| `user_forget(key)` | Delete a profile key |

Dot notation supported: `user_set knownFacts.name "Alex"`

## Session Memory (VFS-based daily logs)

| Command | Purpose |
|---------|---------|
| `session_save(summary)` | Save session summary |
| `session_load(date)` | Read day's log (YYYY-MM-DD) |
| `session_recent(count)` | Last N session summaries |
| `session_stats` | Aggregate totals |

Recent sessions auto-load into context on first message.

## Persistent Memory Map (/memory/map.json)

An index of projects, preferences, issues, and session history so the AI never asks to repeat itself.

**Location:** `/memory/map.json` — primary map; `/memory/index.json` — auto-generated session index

**Read Before Acting:**
```
read_file("memory/map.json")
```

**Update After Significant Work:**
- Read current map, modify relevant section, write back
- Append to `recent_sessions` (keep last 10)

**Map Structure:**
- `projects` — WebX11, clients, personal builds
- `infrastructure` — security stack, backups, constraints
- `preferences` — communication style, UI needs
- `active_issues` — open tasks, blockers, manual steps
- `recent_sessions` — quick links to session logs

**Rules:**
- NEVER ask for info already in the map
- If info is stale, update immediately
- Use `session_save()` after complex tasks
- Keep `active_issues` accurate — remove resolved items

## Conversation Patterns
- Pattern tracking runs automatically — frequent topics surface as hints
- `my-set`, `my-get`, `my-list` store additional personal data
- AI conversation context persists within a session (use `ai-clear` to reset)

## When to Use
- Session start: call `session_recent(3)`, then `read_file("memory/map.json")`
- After identifying user preferences: `user_set` to store them
- After complex tasks: `session_save` with a brief summary, update map