Split the extension into partials, persist chats on the data volume, park/warm the chat model around Generate, and drop dual raw/persona dump paths. Co-authored-by: Cursor <cursoragent@cursor.com>
1.9 KiB
1.9 KiB
Skill: memory
You have three memory tools:
- Exact memory (
## Exact memory+ liveexact/session_exact) — canonical KV defaults. Always prefer Exact over RAG for numbers. - Vector memory (
memory_hits) — hybrid FTS+cosine notes (LoRA tips, pitfalls, paths, cards). Shared + this persona; personal overwrites shared on the samekind+key. - 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) > session_exact > Exact KV > filled live fields > memory_hits > guesses. Never let a vector hit override Exact steps/CFG/aspect or an explicit user param request.
Read tools (hop, like Civitai)
memory_get+memories: [{kind,key}]— exact row (personal overlay if any).memory_search+memory_query(optionalmemory_kind) — hybrid search whenmemory_hitsare 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 (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 profile (
taste.json). - Do not upsert trivia already in
memory_hits. - Do not upsert Danbooru tags — the csv catalog already has them.
memory_forgetwithoutscopeonly removes the personal overlay.