GrayMatter Memory
Use GrayMatter as the durable memory system for information that remains useful beyond the current conversation.
Workflow
- Call
memory_searchbefore asking the user to repeat prior context that may already be known. - Use
memory_getonly to hydrate a specific authorized result when its full content is needed. - Keep temporary reasoning, transient chat state, and one-off working notes in the conversation rather than durable memory.
- Call
memory_saveonly for useful durable decisions, preferences, todos, artifacts, configuration, or reusable context. - Avoid storing passwords, access tokens, private keys, payment data, or highly sensitive personal information unless the product explicitly supports and the user clearly requests that use.
- Use concise titles, normalized tags, and a stable source or scope. Store the durable fact in
content; do not embed owner, tenant, ACL, user, or organization identifiers. - Call
memory_updatewhen an existing durable fact changes. Do not create a contradictory duplicate when the existing memory can be revised. - Before
memory_forget, identify the exact memory and obtain explicit user confirmation. Passconfirm: trueonly after that confirmation.
Authorization boundary
- Never request, infer, or supply tenant, organization, owner, user, role, permission, or ACL overrides.
- Treat
FORBIDDENandNOT_FOUNDas authorization-safe outcomes; do not probe adjacent identifiers. - Do not use broad search results as a context dump. For task-specific grounding, use the GrayMatter context skill and
context_compile.
Source: hashgraph-online/awesome-codex-plugins → plugins/ValkyrLabs/GrayMatter/skills/graymatter-memory/SKILL.md