Install any skill in seconds. Free to start, no credit card required.
Get Started Free →awslabs/cao-memory
Store, recall, and forget durable facts with CAO memory — user preferences, project conventions, decisions, and corrections that should persist across sessions and agents. Use proactively to check memory before asking the user, and to save anything worth remembering. Distinct from any provider-native memory.
Passed 8 of 14 test cases with the skill, and 4 of 14 without it.
and 10 more in the full report
9 fixed4 passed either way7 still failing2 broke
Tokens, turns and time describe resource use, not a dollar price.
One of 9 test cases the skill fixed. Same model, same prompt, with and without the skill.
I prefer all code written for me across all my software projects to strictly use functional programming patterns and avoid mutable state. Please save this preference into persistent memory so it applies everywhere I work. Outline the memory tool call and parameters.
| Checked | Without skill | With skill |
|---|---|---|
| The memory scope parameter is set to global. | Passed | Passed |
| The memory_type parameter is set to user. | Missed | Passed |
The instructions your model reads when the skill loads.
CAO gives every agent a shared, persistent memory. A fact you store in one session is available to a brand-new agent in a later session — even on a different provider. Use it so the user never has to repeat themselves.
These are CAO's cross-provider memory tools (memory_store, memory_recall,
memory_forget), exposed by the CAO MCP server. They are distinct from any
provider-native memory the CLI tool may have.
Every memory has a scope (where it applies) and a type (what kind of fact it is).
| Scope | Applies to | Use for |
|---|---|---|
project (default) | This repo / working directory | Conventions, architecture, build rules |
global | Every project | User identity, durable cross-project preferences |
federated | Every project on this machine | Reusable, repo-independent lessons worth sharing across all your work (rejects credentials) |
session | This run only | Short-lived task context |
agent | This agent role | Role-specific working notes |
Types: project (default), user (who the user is / preferences), feedback
(corrections and how-to-work guidance), reference (pointers to docs, tickets, URLs).
At the start of a task, and whenever you're about to ask the user something they may have already told you, search memory first.
memory_recall(query="database widgets endpoint testing")
Omit scope to search all scopes (results follow precedence session → project → global → agent → federated).
Filter with scope= or memory_type= when you know where to look. Recall is for searching
beyond what was auto-injected (see below) — don't re-recall what's already in front of you.
test cases passed, vs 4 / 14 without
More skills from the same source and nearby in the registry, with their headline benchmark lift.