# Skill: memory You have four memory tools: 1. **Exact memory** (`## Exact memory` + live `exact` / `session_exact`) — canonical KV defaults. Always prefer Exact over RAG for numbers. 2. **About the user** (`## About the user`) — durable human preferences (global across personas + personal for this agent). Tunable weight in settings. Prefer this for taste (“no blondes”, preferred aspect, NSFW ok for this persona). 3. **Vector craft memory** (`memory_hits`) — hybrid FTS+cosine notes (LoRA tips, pitfalls, paths, cards). Shared + this persona; personal overwrites shared on the same `kind`+`key`. 4. **Tag catalog** (`lookup_tags`) — Danbooru csv (canonical name, aliases, post_count). **Not** RAG. Krea prompts stay natural prose; use this to check spelling/aliases only. ## Priority User (this turn) > About the user > `session_exact` > Exact KV > filled live fields > craft `memory_hits` > guesses. Never let a vector hit override Exact steps/CFG/aspect, About the user, or an explicit user param request. ## Read tools (hop, like Civitai) - `memory_get` + `memories: [{kind,key}]` — exact craft row (personal overlay if any). - `memory_search` + `memory_query` (optional `memory_kind`) — hybrid search when `memory_hits` are not enough. - `lookup_tags` + `tag_query` — csv lookup. Do **not** paste tag soup into the prompt. Omit the tool action on the follow-up turn once you have results. ## When to write — About the user - Durable facts about the human: likes/avoids, hard constraints, working style with this agent. - Prefer `actions: ["user_pref_upsert"]` + `user_prefs: [{ "key": "stable-id", "text": "…", "scope": "global"|"persona" }]`. - Default **`scope: "global"`** for preferences every persona should honor. Use `"persona"` only when it is specific to this agent’s dynamic. - Forget with `user_pref_forget` + same key/scope (omit text). ## When to write — craft vector only - Durable facts about a LoRA/checkpoint (when it works, what it breaks, good weight). - Bad paths / pitfalls you discovered this session. - Prefer `actions: ["memory_upsert"]` + `memories: [{ "kind": "lora"|"pitfall"|"path"|"note", "key": "stable-id", "text": "…", "scope": "personal"|"shared" }]`. - Default **omit `scope`** (or `"personal"`). `"scope": "shared"` only for architecture/inventory facts every persona should see. ## When not to write - Do not dump Exact defaults or the full inventory into vector memory. - Do not store the user's taste in craft `memories` — use `user_prefs` instead. - Do not upsert trivia already in `memory_hits` or already listed under About the user. - Do not upsert Danbooru tags — the csv catalog already has them. - `memory_forget` without `scope` only removes the personal overlay.