--- name: remnic-memory-workflow description: Shared memory workflow for Remnic-connected agents — recall before acting, observe during work, remember at the end. Trigger phrases include "what do you remember about", "save this for later", "any context from last time". disable-model-invocation: false allowed-tools: - remnic_recall - remnic_memory_store - remnic_lcm_search - remnic_entity_get - remnic_observe --- ## When to use Use this skill as the default playbook whenever an agent picks up a task that could benefit from prior context, or when the user explicitly asks the agent to remember or recall something. It is the umbrella workflow — individual skills (`remnic-recall`, `remnic-remember`, `remnic-search`, `remnic-entities`, `remnic-status`) implement the detailed steps. Triggers: - The user opens a new task, ticket, or branch. - The user says "what do you know about X", "have we talked about Y before", "remind me of Z". - The user asks the agent to save a preference, decision, or fact. - A long-running turn produces a durable outcome worth capturing. ## Inputs - Current user request (natural language). - Optional: active project path, ticket number, branch name. - Optional: topic keywords surfaced earlier in the session. ## Procedure 1. **Recall first.** Call `remnic_recall` with a concise natural-language query derived from the user's request. Pull 3–8 results. Skim them for anything relevant. 2. **Mention relevant memories briefly** to the user if they materially change the plan, otherwise quietly use them as context. 3. **Observe during work.** For significant tool outputs (file edits, command exits, test results) call `remnic_observe` so Remnic can keep its ambient context fresh. 4. **Deep search when needed.** If `remnic_recall` misses something the user insists exists, call `remnic_lcm_search` with a more literal phrase. 5. **Browse entities.** When the user references a specific project, person, or concept by name, call `remnic_entity_get` to pull its facts and relationships. 6. **Remember at the end.** Before ending the turn, store any durable decision, preference, or finding with `remnic_memory_store`. Keep each entry under ~300 tokens. ## Efficiency plan - Batch recalls. One broad query is usually cheaper than several narrow ones. - Skip recall for trivially local requests (e.g., "format this JSON"). - Reuse the current turn's recall results instead of re-querying within the same turn. - Store each memory once. If you are about to store something you just recalled, update instead of duplicating. ## Pitfalls and fixes - **Pitfall:** Storing transient task state ("user is running tests now"). **Fix:** Only store facts with durable value — decisions, preferences, conclusions, long-lived context. - **Pitfall:** Leaking secrets into memories. **Fix:** Redact API keys, tokens, and credentials before calling `remnic_memory_store`. - **Pitfall:** Drowning the user in recalled context. **Fix:** Summarize in 1–3 bullet points; offer to expand on request. - **Pitfall:** Forgetting the write. **Fix:** Make "remember the decision" the last step of any non-trivial turn. ## Verification checklist - [ ] Recall was attempted before the agent committed to a plan. - [ ] Any user-facing mention of recalled context was concise and attributed. - [ ] Durable decisions, preferences, and findings were stored via `remnic_memory_store`. - [ ] No secrets, credentials, or transient state were written. - [ ] Legacy `engram_*` aliases were NOT preferred over canonical `remnic_*` tool names. > Tool names: this skill uses the canonical `remnic_*` MCP tools. Legacy `engram_*` aliases (`engram_recall`, `engram_memory_store`, `engram_lcm_search`, `engram_entity_get`, `engram_observe`) remain accepted during v1.x for backward compatibility.