[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-aws-labs-cao-memory":3,"mdc--6ee8ad-key":33,"related-org-aws-labs-cao-memory":680,"related-repo-aws-labs-cao-memory":862},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":12,"stars":23,"repoUrl":24,"updatedAt":25,"license":26,"forks":27,"topics":28,"repo":29,"sourceUrl":31,"mdContent":32},"cao-memory","manage durable agent memory and preferences","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.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},"aws-labs","AWS Labs","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Faws-labs.png","awslabs",[13,17,20],{"name":14,"slug":15,"type":16},"Productivity","productivity","tag",{"name":18,"slug":19,"type":16},"Memory","memory",{"name":21,"slug":22,"type":16},"Agents","agents",871,"https:\u002F\u002Fgithub.com\u002Fawslabs\u002Fcli-agent-orchestrator","2026-07-12T08:37:03.180421",null,164,[],{"repoUrl":24,"stars":23,"forks":27,"topics":30,"description":26},[],"https:\u002F\u002Fgithub.com\u002Fawslabs\u002Fcli-agent-orchestrator\u002Ftree\u002FHEAD\u002Fskills\u002Fcao-memory","---\nname: cao-memory\ndescription: Store, recall, and forget durable facts with CAO memory — user preferences,\n  project conventions, decisions, and corrections that should persist across sessions and\n  agents. Use proactively to check memory before asking the user, and to save anything\n  worth remembering. Distinct from any provider-native memory.\n---\n\n# CAO Memory\n\nCAO gives every agent a shared, persistent memory. A fact you store in one session is\navailable to a brand-new agent in a later session — even on a different provider. Use it so\nthe user never has to repeat themselves.\n\nThese are CAO's cross-provider memory tools (`memory_store`, `memory_recall`,\n`memory_forget`), exposed by the CAO MCP server. They are **distinct from any\nprovider-native memory** the CLI tool may have.\n\n## Scopes and types\n\nEvery memory has a **scope** (where it applies) and a **type** (what kind of fact it is).\n\n| Scope | Applies to | Use for |\n|-------|-----------|---------|\n| `project` (default) | This repo \u002F working directory | Conventions, architecture, build rules |\n| `global` | Every project | User identity, durable cross-project preferences |\n| `federated` | Every project on this machine | Reusable, repo-independent lessons worth sharing across all your work (rejects credentials) |\n| `session` | This run only | Short-lived task context |\n| `agent` | This agent role | Role-specific working notes |\n\n**Types:** `project` (default), `user` (who the user is \u002F preferences), `feedback`\n(corrections and how-to-work guidance), `reference` (pointers to docs, tickets, URLs).\n\n## Recall — check memory BEFORE asking the user\n\nAt the start of a task, and whenever you're about to ask the user something they may have\nalready told you, search memory first.\n\n```\nmemory_recall(query=\"database widgets endpoint testing\")\n```\n\nOmit `scope` to search all scopes (results follow precedence session → project → global → agent → federated).\nFilter with `scope=` or `memory_type=` when you know where to look. Recall is for searching\n*beyond* what was auto-injected (see below) — don't re-recall what's already in front of you.\n\n## Store — save anything worth remembering, immediately\n\nStore the moment you learn something durable. Don't wait until the end of the session.\n**Store conclusions, not transcript.** Keep each memory to 1–2 sentences.\n\nStore when you hit any of these:\n- **A correction** — \"No, we use DynamoDB here, not SQL.\" → store it so no agent makes that\n  mistake again.\n- **A decided convention** — \"Every endpoint must have a pytest test before merge.\"\n- **A user preference** — how they like work done, tools they prefer.\n- **A non-obvious project constraint** — something you couldn't infer from the code.\n\n```\nmemory_store(\n    content=\"Use DynamoDB for widgets-api; never SQL.\",\n    scope=\"project\",\n    memory_type=\"project\",\n    key=\"widgets-database\",          # optional; auto-slugged from content if omitted\n)\n```\n\nSame `key` + `scope` upserts (updates in place) rather than duplicating.\n\n### Share across all your projects — `scope=\"federated\"`\n\nWhen a lesson is durable **and not specific to this repo** — a reusable library gotcha, a\ndebugging trick, a tooling preference that holds everywhere — store it with\n`scope=\"federated\"` so it follows you into every project on this machine, not just this one.\n\n```\nmemory_store(\n    content=\"tmux paste-buffer needs `-p` or multi-line input loses bracketed-paste framing.\",\n    scope=\"federated\",\n    memory_type=\"reference\",\n)\n```\n\nFederated memories sit at the **lowest recall precedence** — a project-local fact with the\nsame key always wins — so federating is safe: it only adds a fallback, never overrides what's\ntrue here. To un-share, `memory_forget(key=..., scope=\"federated\")`.\n\n- **Never federate secrets.** Tokens, keys, and passwords are **rejected automatically** on a\n  federated write — and they'd be exposed to every project anyway. Keep credentials out of\n  memory entirely.\n- **When in doubt, use `project`.** Federate only what you're confident is reusable everywhere.\n\n## Forget — remove what's wrong or superseded\n\n```\nmemory_forget(key=\"widgets-database\", scope=\"project\")\n```\n\nUse this when a stored fact becomes outdated or was wrong. Prefer correcting (re-store with\nthe same key) over leaving stale facts in memory.\n\n## Auto-injection (already happening)\n\nOn launch, CAO writes the most relevant memories for this working directory into the file\nyour CLI reads on startup (Claude Code: `.claude\u002FCLAUDE.md`; Codex: `AGENTS.md`; Kiro:\n`.kiro\u002Fsteering\u002Fcao-memory.md`). So you usually begin a task already knowing the project's\nkey facts — `memory_recall` is for digging up anything that wasn't injected.\n\n## Habits\n\n1. **Recall before asking.** The answer may already be stored.\n2. **Store the instant you learn something durable** — corrections, conventions,\n   preferences, constraints.\n3. **One fact per memory, 1–2 sentences.** Conclusions, not conversation.\n4. **Pick the right scope:** user-wide → `global`; this repo → `project`.\n",{"data":34,"body":35},{"name":4,"description":6},{"type":36,"children":37},"root",[38,46,52,90,97,116,261,302,308,313,325,361,367,379,384,429,438,458,471,490,499,519,555,561,570,575,581,617,623],{"type":39,"tag":40,"props":41,"children":42},"element","h1",{"id":4},[43],{"type":44,"value":45},"text","CAO Memory",{"type":39,"tag":47,"props":48,"children":49},"p",{},[50],{"type":44,"value":51},"CAO gives every agent a shared, persistent memory. A fact you store in one session is\navailable to a brand-new agent in a later session — even on a different provider. Use it so\nthe user never has to repeat themselves.",{"type":39,"tag":47,"props":53,"children":54},{},[55,57,64,66,72,74,80,82,88],{"type":44,"value":56},"These are CAO's cross-provider memory tools (",{"type":39,"tag":58,"props":59,"children":61},"code",{"className":60},[],[62],{"type":44,"value":63},"memory_store",{"type":44,"value":65},", ",{"type":39,"tag":58,"props":67,"children":69},{"className":68},[],[70],{"type":44,"value":71},"memory_recall",{"type":44,"value":73},",\n",{"type":39,"tag":58,"props":75,"children":77},{"className":76},[],[78],{"type":44,"value":79},"memory_forget",{"type":44,"value":81},"), exposed by the CAO MCP server. They are ",{"type":39,"tag":83,"props":84,"children":85},"strong",{},[86],{"type":44,"value":87},"distinct from any\nprovider-native memory",{"type":44,"value":89}," the CLI tool may have.",{"type":39,"tag":91,"props":92,"children":94},"h2",{"id":93},"scopes-and-types",[95],{"type":44,"value":96},"Scopes and types",{"type":39,"tag":47,"props":98,"children":99},{},[100,102,107,109,114],{"type":44,"value":101},"Every memory has a ",{"type":39,"tag":83,"props":103,"children":104},{},[105],{"type":44,"value":106},"scope",{"type":44,"value":108}," (where it applies) and a ",{"type":39,"tag":83,"props":110,"children":111},{},[112],{"type":44,"value":113},"type",{"type":44,"value":115}," (what kind of fact it is).",{"type":39,"tag":117,"props":118,"children":119},"table",{},[120,144],{"type":39,"tag":121,"props":122,"children":123},"thead",{},[124],{"type":39,"tag":125,"props":126,"children":127},"tr",{},[128,134,139],{"type":39,"tag":129,"props":130,"children":131},"th",{},[132],{"type":44,"value":133},"Scope",{"type":39,"tag":129,"props":135,"children":136},{},[137],{"type":44,"value":138},"Applies to",{"type":39,"tag":129,"props":140,"children":141},{},[142],{"type":44,"value":143},"Use for",{"type":39,"tag":145,"props":146,"children":147},"tbody",{},[148,173,195,217,239],{"type":39,"tag":125,"props":149,"children":150},{},[151,163,168],{"type":39,"tag":152,"props":153,"children":154},"td",{},[155,161],{"type":39,"tag":58,"props":156,"children":158},{"className":157},[],[159],{"type":44,"value":160},"project",{"type":44,"value":162}," (default)",{"type":39,"tag":152,"props":164,"children":165},{},[166],{"type":44,"value":167},"This repo \u002F working directory",{"type":39,"tag":152,"props":169,"children":170},{},[171],{"type":44,"value":172},"Conventions, architecture, build rules",{"type":39,"tag":125,"props":174,"children":175},{},[176,185,190],{"type":39,"tag":152,"props":177,"children":178},{},[179],{"type":39,"tag":58,"props":180,"children":182},{"className":181},[],[183],{"type":44,"value":184},"global",{"type":39,"tag":152,"props":186,"children":187},{},[188],{"type":44,"value":189},"Every project",{"type":39,"tag":152,"props":191,"children":192},{},[193],{"type":44,"value":194},"User identity, durable cross-project preferences",{"type":39,"tag":125,"props":196,"children":197},{},[198,207,212],{"type":39,"tag":152,"props":199,"children":200},{},[201],{"type":39,"tag":58,"props":202,"children":204},{"className":203},[],[205],{"type":44,"value":206},"federated",{"type":39,"tag":152,"props":208,"children":209},{},[210],{"type":44,"value":211},"Every project on this machine",{"type":39,"tag":152,"props":213,"children":214},{},[215],{"type":44,"value":216},"Reusable, repo-independent lessons worth sharing across all your work (rejects credentials)",{"type":39,"tag":125,"props":218,"children":219},{},[220,229,234],{"type":39,"tag":152,"props":221,"children":222},{},[223],{"type":39,"tag":58,"props":224,"children":226},{"className":225},[],[227],{"type":44,"value":228},"session",{"type":39,"tag":152,"props":230,"children":231},{},[232],{"type":44,"value":233},"This run only",{"type":39,"tag":152,"props":235,"children":236},{},[237],{"type":44,"value":238},"Short-lived task context",{"type":39,"tag":125,"props":240,"children":241},{},[242,251,256],{"type":39,"tag":152,"props":243,"children":244},{},[245],{"type":39,"tag":58,"props":246,"children":248},{"className":247},[],[249],{"type":44,"value":250},"agent",{"type":39,"tag":152,"props":252,"children":253},{},[254],{"type":44,"value":255},"This agent role",{"type":39,"tag":152,"props":257,"children":258},{},[259],{"type":44,"value":260},"Role-specific working notes",{"type":39,"tag":47,"props":262,"children":263},{},[264,269,271,276,278,284,286,292,294,300],{"type":39,"tag":83,"props":265,"children":266},{},[267],{"type":44,"value":268},"Types:",{"type":44,"value":270}," ",{"type":39,"tag":58,"props":272,"children":274},{"className":273},[],[275],{"type":44,"value":160},{"type":44,"value":277}," (default), ",{"type":39,"tag":58,"props":279,"children":281},{"className":280},[],[282],{"type":44,"value":283},"user",{"type":44,"value":285}," (who the user is \u002F preferences), ",{"type":39,"tag":58,"props":287,"children":289},{"className":288},[],[290],{"type":44,"value":291},"feedback",{"type":44,"value":293},"\n(corrections and how-to-work guidance), ",{"type":39,"tag":58,"props":295,"children":297},{"className":296},[],[298],{"type":44,"value":299},"reference",{"type":44,"value":301}," (pointers to docs, tickets, URLs).",{"type":39,"tag":91,"props":303,"children":305},{"id":304},"recall-check-memory-before-asking-the-user",[306],{"type":44,"value":307},"Recall — check memory BEFORE asking the user",{"type":39,"tag":47,"props":309,"children":310},{},[311],{"type":44,"value":312},"At the start of a task, and whenever you're about to ask the user something they may have\nalready told you, search memory first.",{"type":39,"tag":314,"props":315,"children":319},"pre",{"className":316,"code":318,"language":44},[317],"language-text","memory_recall(query=\"database widgets endpoint testing\")\n",[320],{"type":39,"tag":58,"props":321,"children":323},{"__ignoreMap":322},"",[324],{"type":44,"value":318},{"type":39,"tag":47,"props":326,"children":327},{},[328,330,335,337,343,345,351,353,359],{"type":44,"value":329},"Omit ",{"type":39,"tag":58,"props":331,"children":333},{"className":332},[],[334],{"type":44,"value":106},{"type":44,"value":336}," to search all scopes (results follow precedence session → project → global → agent → federated).\nFilter with ",{"type":39,"tag":58,"props":338,"children":340},{"className":339},[],[341],{"type":44,"value":342},"scope=",{"type":44,"value":344}," or ",{"type":39,"tag":58,"props":346,"children":348},{"className":347},[],[349],{"type":44,"value":350},"memory_type=",{"type":44,"value":352}," when you know where to look. Recall is for searching\n",{"type":39,"tag":354,"props":355,"children":356},"em",{},[357],{"type":44,"value":358},"beyond",{"type":44,"value":360}," what was auto-injected (see below) — don't re-recall what's already in front of you.",{"type":39,"tag":91,"props":362,"children":364},{"id":363},"store-save-anything-worth-remembering-immediately",[365],{"type":44,"value":366},"Store — save anything worth remembering, immediately",{"type":39,"tag":47,"props":368,"children":369},{},[370,372,377],{"type":44,"value":371},"Store the moment you learn something durable. Don't wait until the end of the session.\n",{"type":39,"tag":83,"props":373,"children":374},{},[375],{"type":44,"value":376},"Store conclusions, not transcript.",{"type":44,"value":378}," Keep each memory to 1–2 sentences.",{"type":39,"tag":47,"props":380,"children":381},{},[382],{"type":44,"value":383},"Store when you hit any of these:",{"type":39,"tag":385,"props":386,"children":387},"ul",{},[388,399,409,419],{"type":39,"tag":389,"props":390,"children":391},"li",{},[392,397],{"type":39,"tag":83,"props":393,"children":394},{},[395],{"type":44,"value":396},"A correction",{"type":44,"value":398}," — \"No, we use DynamoDB here, not SQL.\" → store it so no agent makes that\nmistake again.",{"type":39,"tag":389,"props":400,"children":401},{},[402,407],{"type":39,"tag":83,"props":403,"children":404},{},[405],{"type":44,"value":406},"A decided convention",{"type":44,"value":408}," — \"Every endpoint must have a pytest test before merge.\"",{"type":39,"tag":389,"props":410,"children":411},{},[412,417],{"type":39,"tag":83,"props":413,"children":414},{},[415],{"type":44,"value":416},"A user preference",{"type":44,"value":418}," — how they like work done, tools they prefer.",{"type":39,"tag":389,"props":420,"children":421},{},[422,427],{"type":39,"tag":83,"props":423,"children":424},{},[425],{"type":44,"value":426},"A non-obvious project constraint",{"type":44,"value":428}," — something you couldn't infer from the code.",{"type":39,"tag":314,"props":430,"children":433},{"className":431,"code":432,"language":44},[317],"memory_store(\n    content=\"Use DynamoDB for widgets-api; never SQL.\",\n    scope=\"project\",\n    memory_type=\"project\",\n    key=\"widgets-database\",          # optional; auto-slugged from content if omitted\n)\n",[434],{"type":39,"tag":58,"props":435,"children":436},{"__ignoreMap":322},[437],{"type":44,"value":432},{"type":39,"tag":47,"props":439,"children":440},{},[441,443,449,451,456],{"type":44,"value":442},"Same ",{"type":39,"tag":58,"props":444,"children":446},{"className":445},[],[447],{"type":44,"value":448},"key",{"type":44,"value":450}," + ",{"type":39,"tag":58,"props":452,"children":454},{"className":453},[],[455],{"type":44,"value":106},{"type":44,"value":457}," upserts (updates in place) rather than duplicating.",{"type":39,"tag":459,"props":460,"children":462},"h3",{"id":461},"share-across-all-your-projects-scopefederated",[463,465],{"type":44,"value":464},"Share across all your projects — ",{"type":39,"tag":58,"props":466,"children":468},{"className":467},[],[469],{"type":44,"value":470},"scope=\"federated\"",{"type":39,"tag":47,"props":472,"children":473},{},[474,476,481,483,488],{"type":44,"value":475},"When a lesson is durable ",{"type":39,"tag":83,"props":477,"children":478},{},[479],{"type":44,"value":480},"and not specific to this repo",{"type":44,"value":482}," — a reusable library gotcha, a\ndebugging trick, a tooling preference that holds everywhere — store it with\n",{"type":39,"tag":58,"props":484,"children":486},{"className":485},[],[487],{"type":44,"value":470},{"type":44,"value":489}," so it follows you into every project on this machine, not just this one.",{"type":39,"tag":314,"props":491,"children":494},{"className":492,"code":493,"language":44},[317],"memory_store(\n    content=\"tmux paste-buffer needs `-p` or multi-line input loses bracketed-paste framing.\",\n    scope=\"federated\",\n    memory_type=\"reference\",\n)\n",[495],{"type":39,"tag":58,"props":496,"children":497},{"__ignoreMap":322},[498],{"type":44,"value":493},{"type":39,"tag":47,"props":500,"children":501},{},[502,504,509,511,517],{"type":44,"value":503},"Federated memories sit at the ",{"type":39,"tag":83,"props":505,"children":506},{},[507],{"type":44,"value":508},"lowest recall precedence",{"type":44,"value":510}," — a project-local fact with the\nsame key always wins — so federating is safe: it only adds a fallback, never overrides what's\ntrue here. To un-share, ",{"type":39,"tag":58,"props":512,"children":514},{"className":513},[],[515],{"type":44,"value":516},"memory_forget(key=..., scope=\"federated\")",{"type":44,"value":518},".",{"type":39,"tag":385,"props":520,"children":521},{},[522,539],{"type":39,"tag":389,"props":523,"children":524},{},[525,530,532,537],{"type":39,"tag":83,"props":526,"children":527},{},[528],{"type":44,"value":529},"Never federate secrets.",{"type":44,"value":531}," Tokens, keys, and passwords are ",{"type":39,"tag":83,"props":533,"children":534},{},[535],{"type":44,"value":536},"rejected automatically",{"type":44,"value":538}," on a\nfederated write — and they'd be exposed to every project anyway. Keep credentials out of\nmemory entirely.",{"type":39,"tag":389,"props":540,"children":541},{},[542,553],{"type":39,"tag":83,"props":543,"children":544},{},[545,547,552],{"type":44,"value":546},"When in doubt, use ",{"type":39,"tag":58,"props":548,"children":550},{"className":549},[],[551],{"type":44,"value":160},{"type":44,"value":518},{"type":44,"value":554}," Federate only what you're confident is reusable everywhere.",{"type":39,"tag":91,"props":556,"children":558},{"id":557},"forget-remove-whats-wrong-or-superseded",[559],{"type":44,"value":560},"Forget — remove what's wrong or superseded",{"type":39,"tag":314,"props":562,"children":565},{"className":563,"code":564,"language":44},[317],"memory_forget(key=\"widgets-database\", scope=\"project\")\n",[566],{"type":39,"tag":58,"props":567,"children":568},{"__ignoreMap":322},[569],{"type":44,"value":564},{"type":39,"tag":47,"props":571,"children":572},{},[573],{"type":44,"value":574},"Use this when a stored fact becomes outdated or was wrong. Prefer correcting (re-store with\nthe same key) over leaving stale facts in memory.",{"type":39,"tag":91,"props":576,"children":578},{"id":577},"auto-injection-already-happening",[579],{"type":44,"value":580},"Auto-injection (already happening)",{"type":39,"tag":47,"props":582,"children":583},{},[584,586,592,594,600,602,608,610,615],{"type":44,"value":585},"On launch, CAO writes the most relevant memories for this working directory into the file\nyour CLI reads on startup (Claude Code: ",{"type":39,"tag":58,"props":587,"children":589},{"className":588},[],[590],{"type":44,"value":591},".claude\u002FCLAUDE.md",{"type":44,"value":593},"; Codex: ",{"type":39,"tag":58,"props":595,"children":597},{"className":596},[],[598],{"type":44,"value":599},"AGENTS.md",{"type":44,"value":601},"; Kiro:\n",{"type":39,"tag":58,"props":603,"children":605},{"className":604},[],[606],{"type":44,"value":607},".kiro\u002Fsteering\u002Fcao-memory.md",{"type":44,"value":609},"). So you usually begin a task already knowing the project's\nkey facts — ",{"type":39,"tag":58,"props":611,"children":613},{"className":612},[],[614],{"type":44,"value":71},{"type":44,"value":616}," is for digging up anything that wasn't injected.",{"type":39,"tag":91,"props":618,"children":620},{"id":619},"habits",[621],{"type":44,"value":622},"Habits",{"type":39,"tag":624,"props":625,"children":626},"ol",{},[627,637,647,657],{"type":39,"tag":389,"props":628,"children":629},{},[630,635],{"type":39,"tag":83,"props":631,"children":632},{},[633],{"type":44,"value":634},"Recall before asking.",{"type":44,"value":636}," The answer may already be stored.",{"type":39,"tag":389,"props":638,"children":639},{},[640,645],{"type":39,"tag":83,"props":641,"children":642},{},[643],{"type":44,"value":644},"Store the instant you learn something durable",{"type":44,"value":646}," — corrections, conventions,\npreferences, constraints.",{"type":39,"tag":389,"props":648,"children":649},{},[650,655],{"type":39,"tag":83,"props":651,"children":652},{},[653],{"type":44,"value":654},"One fact per memory, 1–2 sentences.",{"type":44,"value":656}," Conclusions, not conversation.",{"type":39,"tag":389,"props":658,"children":659},{},[660,665,667,672,674,679],{"type":39,"tag":83,"props":661,"children":662},{},[663],{"type":44,"value":664},"Pick the right scope:",{"type":44,"value":666}," user-wide → ",{"type":39,"tag":58,"props":668,"children":670},{"className":669},[],[671],{"type":44,"value":184},{"type":44,"value":673},"; this repo → ",{"type":39,"tag":58,"props":675,"children":677},{"className":676},[],[678],{"type":44,"value":160},{"type":44,"value":518},{"items":681,"total":861},[682,703,724,734,747,760,770,780,801,816,831,846],{"slug":683,"name":683,"fn":684,"description":685,"org":686,"tags":687,"stars":700,"repoUrl":701,"updatedAt":702},"agentcore-investigation","investigate Bedrock AgentCore runtime sessions","Investigate Bedrock AgentCore runtime sessions via CloudWatch Logs Insights — resolve session\u002Ftrace IDs, query OTEL spans, filter noise, build timelines. Use when debugging AgentCore agent sessions, tracing tool calls, or analyzing latency.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[688,691,694,697],{"name":689,"slug":690,"type":16},"AWS","aws",{"name":692,"slug":693,"type":16},"Debugging","debugging",{"name":695,"slug":696,"type":16},"Logs","logs",{"name":698,"slug":699,"type":16},"Observability","observability",9427,"https:\u002F\u002Fgithub.com\u002Fawslabs\u002Fmcp","2026-07-12T08:37:22.601527",{"slug":704,"name":705,"fn":706,"description":707,"org":708,"tags":709,"stars":700,"repoUrl":701,"updatedAt":723},"amazon-aurora-dsql","amazon aurora dsql","build applications with Aurora DSQL","Build with Aurora DSQL — manage schemas, execute queries, handle migrations, diagnose query plans, load data, and develop applications with a serverless, distributed SQL database. Covers IAM auth, multi-tenant patterns, MySQL-to-DSQL and PostgreSQL-to-DSQL schema conversion, FK replacement code generation, OCC retry patterns, ORM migration (Django\u002FHibernate\u002FRails), DDL operations, query plan explainability, SQL compatibility validation, and bulk data loading. Triggers on phrases like: DSQL, Aurora DSQL, create DSQL table, DSQL schema, migrate to DSQL, distributed SQL database, serverless PostgreSQL-compatible database, DSQL query plan, DSQL EXPLAIN ANALYZE, why is my DSQL query slow, DSQL foreign key, DSQL OCC retry, DSQL multi-region, load into DSQL, load CSV into DSQL, bulk load DSQL, aurora-dsql-loader.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[710,713,714,717,720],{"name":711,"slug":712,"type":16},"Aurora","aurora",{"name":689,"slug":690,"type":16},{"name":715,"slug":716,"type":16},"Database","database",{"name":718,"slug":719,"type":16},"Serverless","serverless",{"name":721,"slug":722,"type":16},"SQL","sql","2026-07-12T08:36:45.053393",{"slug":725,"name":726,"fn":706,"description":707,"org":727,"tags":728,"stars":700,"repoUrl":701,"updatedAt":733},"aurora-dsql","aurora dsql",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[729,730,731,732],{"name":689,"slug":690,"type":16},{"name":715,"slug":716,"type":16},{"name":718,"slug":719,"type":16},{"name":721,"slug":722,"type":16},"2026-07-12T08:36:42.694299",{"slug":735,"name":736,"fn":706,"description":707,"org":737,"tags":738,"stars":700,"repoUrl":701,"updatedAt":746},"aws-dsql","aws dsql",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[739,740,741,744,745],{"name":689,"slug":690,"type":16},{"name":715,"slug":716,"type":16},{"name":742,"slug":743,"type":16},"Migration","migration",{"name":718,"slug":719,"type":16},{"name":721,"slug":722,"type":16},"2026-07-12T08:36:38.584057",{"slug":748,"name":749,"fn":706,"description":707,"org":750,"tags":751,"stars":700,"repoUrl":701,"updatedAt":759},"distributed-postgres","distributed postgres",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[752,753,754,757,758],{"name":689,"slug":690,"type":16},{"name":715,"slug":716,"type":16},{"name":755,"slug":756,"type":16},"PostgreSQL","postgresql",{"name":718,"slug":719,"type":16},{"name":721,"slug":722,"type":16},"2026-07-12T08:36:46.530743",{"slug":761,"name":762,"fn":706,"description":707,"org":763,"tags":764,"stars":700,"repoUrl":701,"updatedAt":769},"distributed-sql","distributed sql",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[765,766,767,768],{"name":689,"slug":690,"type":16},{"name":715,"slug":716,"type":16},{"name":718,"slug":719,"type":16},{"name":721,"slug":722,"type":16},"2026-07-12T08:36:48.104182",{"slug":771,"name":771,"fn":706,"description":707,"org":772,"tags":773,"stars":700,"repoUrl":701,"updatedAt":779},"dsql",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[774,775,776,777,778],{"name":689,"slug":690,"type":16},{"name":715,"slug":716,"type":16},{"name":742,"slug":743,"type":16},{"name":718,"slug":719,"type":16},{"name":721,"slug":722,"type":16},"2026-07-12T08:36:36.374512",{"slug":781,"name":781,"fn":782,"description":783,"org":784,"tags":785,"stars":798,"repoUrl":799,"updatedAt":800},"cost-efficiency-analyzer","analyze cost efficiency and expenses","Analyzes cost structure, cost efficiency, and expense management from P&L data. Use when the user asks about costs, expenses, COGS, operating expenses, cost ratios, cost control, spending efficiency, margin compression from cost side, or wants to understand where money is going. Also use for \"are we spending too much\", \"cost breakdown\", \"expense analysis\", or \"how efficient are our operations\". NOT for revenue or top-line analysis.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[786,789,792,795],{"name":787,"slug":788,"type":16},"Accounting","accounting",{"name":790,"slug":791,"type":16},"Analytics","analytics",{"name":793,"slug":794,"type":16},"Cost Optimization","cost-optimization",{"name":796,"slug":797,"type":16},"Finance","finance",3176,"https:\u002F\u002Fgithub.com\u002Fawslabs\u002Fagentcore-samples","2026-07-12T08:40:03.29555",{"slug":802,"name":802,"fn":803,"description":804,"org":805,"tags":806,"stars":798,"repoUrl":799,"updatedAt":815},"executive-financial-briefing","generate executive financial briefings","Generates a concise executive-level financial briefing or summary suitable for a CEO, CFO, or board presentation. Use when the user asks for a summary, briefing, executive summary, board update, financial overview, financial health check, or \"how is the business doing\". Covers the full P&L picture in one page. Also use for \"give me the highlights\", \"what do I need to know\", or \"quick financial update\".",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[807,808,809,812],{"name":689,"slug":690,"type":16},{"name":796,"slug":797,"type":16},{"name":810,"slug":811,"type":16},"Management","management",{"name":813,"slug":814,"type":16},"Reporting","reporting","2026-07-12T08:40:02.066471",{"slug":817,"name":817,"fn":818,"description":819,"org":820,"tags":821,"stars":798,"repoUrl":799,"updatedAt":830},"multi-quarter-trend-analysis","analyze multi-quarter financial trends","Analyzes financial trends across multiple quarters by comparing P&L metrics over time. Use when the user wants to see trends, patterns, trajectories, or directional movement across 3 or more quarters. Also use for \"how are we trending\", \"show me the trend\", \"track performance over time\", \"quarter over quarter comparison across all quarters\", or any multi-period longitudinal analysis.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[822,823,824,827],{"name":790,"slug":791,"type":16},{"name":796,"slug":797,"type":16},{"name":825,"slug":826,"type":16},"Financial Statements","financial-statements",{"name":828,"slug":829,"type":16},"Variance Analysis","variance-analysis","2026-07-12T08:40:00.79141",{"slug":832,"name":832,"fn":833,"description":834,"org":835,"tags":836,"stars":798,"repoUrl":799,"updatedAt":845},"pdf","process and manipulate PDF documents","Use this skill whenever the user wants to do anything with PDF files. This includes reading or extracting text\u002Ftables from PDFs, combining or merging multiple PDFs into one, splitting PDFs apart, rotating pages, adding watermarks, creating new PDFs, filling PDF forms, encrypting\u002Fdecrypting PDFs, extracting images, and OCR on scanned PDFs to make them searchable. If the user mentions a .pdf file or asks to produce one, use this skill.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[837,840,843],{"name":838,"slug":839,"type":16},"Automation","automation",{"name":841,"slug":842,"type":16},"Documents","documents",{"name":844,"slug":832,"type":16},"PDF","2026-07-12T08:41:44.135656",{"slug":847,"name":847,"fn":848,"description":849,"org":850,"tags":851,"stars":798,"repoUrl":799,"updatedAt":860},"quarterly-kpi-calculator","calculate quarterly financial KPIs","Calculates quarterly financial KPIs from P&L data. P&L figures can be provided directly by the user or fetched from the financial data MCP server. Use when the user wants KPI calculations such as Gross Margin %, EBITDA Margin %, Operating Expense Ratio, or Revenue Growth % QoQ. Also use for quarterly performance review, P&L analysis, or interpreting financial ratios against benchmarks.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[852,853,856,857],{"name":787,"slug":788,"type":16},{"name":854,"slug":855,"type":16},"Data Analysis","data-analysis",{"name":796,"slug":797,"type":16},{"name":858,"slug":859,"type":16},"KPI","kpi","2026-07-12T08:39:59.54971",150,{"items":863,"total":954},[864,883,896,908,924,937,943],{"slug":865,"name":865,"fn":866,"description":867,"org":868,"tags":869,"stars":23,"repoUrl":24,"updatedAt":882},"add-app-to-server","add interactive UI to MCP servers","This skill should be used when the user asks to \"add an app to my MCP server\", \"add UI to my MCP server\", \"add a view to my MCP tool\", \"enrich MCP tools with UI\", \"add interactive UI to existing server\", \"add MCP Apps to my server\", or needs to add interactive UI capabilities to an existing MCP server that already has tools. Provides guidance for analyzing existing tools and adding MCP Apps UI resources.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[870,873,876,879],{"name":871,"slug":872,"type":16},"Frontend","frontend",{"name":874,"slug":875,"type":16},"MCP","mcp",{"name":877,"slug":878,"type":16},"Plugin Development","plugin-development",{"name":880,"slug":881,"type":16},"UI Components","ui-components","2026-07-12T08:41:40.4008",{"slug":884,"name":884,"fn":885,"description":886,"org":887,"tags":888,"stars":23,"repoUrl":24,"updatedAt":895},"agui-author","emit interactive dashboard UI components","Author live dashboard UI from an agent via the `emit_ui` MCP tool. Emit one of six allow-listed components (approval_card, choice_prompt, diff_summary, progress, metric, agent_card) with JSON props and it renders in any AG-UI client watching the fleet. Use when you want the operator to see a decision, a diff, or a status readout instead of scrolling terminal text. Arbitrary HTML\u002Fmarkup is refused.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[889,890,893,894],{"name":21,"slug":22,"type":16},{"name":891,"slug":892,"type":16},"Dashboards","dashboards",{"name":874,"slug":875,"type":16},{"name":880,"slug":881,"type":16},"2026-07-22T05:35:50.851108",{"slug":897,"name":897,"fn":898,"description":899,"org":900,"tags":901,"stars":23,"repoUrl":24,"updatedAt":907},"cao-agent-routing","route tasks to appropriate CAO agents","Find and select the best installed CAO agent profile for a task before delegating with assign or handoff. Use when a supervisor needs to route coding, documentation, infrastructure, review, research, or other specialist work and the user has not already chosen an agent profile.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[902,903,904],{"name":21,"slug":22,"type":16},{"name":689,"slug":690,"type":16},{"name":905,"slug":906,"type":16},"Orchestration","orchestration","2026-07-25T05:56:34.255071",{"slug":909,"name":909,"fn":910,"description":911,"org":912,"tags":913,"stars":23,"repoUrl":24,"updatedAt":923},"cao-learning","report task outcomes and distill lessons","Report task outcomes and distill lessons so the team improves across runs — report_outcome after each unit of work, retrospector handoffs at natural boundaries, and applying injected lessons. Use in workflows that run repeatedly over similar work items. Requires memory.learning_enabled; degrade silently when the tools report disabled.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[914,917,920],{"name":915,"slug":916,"type":16},"Best Practices","best-practices",{"name":918,"slug":919,"type":16},"Engineering","engineering",{"name":921,"slug":922,"type":16},"Operations","operations","2026-07-29T06:00:28.147989",{"slug":925,"name":925,"fn":926,"description":927,"org":928,"tags":929,"stars":23,"repoUrl":24,"updatedAt":936},"cao-mcp-apps","operate CAO MCP application surfaces","Enable, operate, and extend CAO's MCP Apps surface — the host-rendered fleet dashboard visible inside MCP App hosts (Claude Desktop, ChatGPT, VS Code Copilot, Goose, Postman). Use when the user says \"enable MCP Apps in CAO\", \"the ui:\u002F\u002Fcao views aren't rendering\", \"rebuild MCP Apps bundles\", \"add a new ui:\u002F\u002Fcao\u002F* view\", or \"configure the MCP Apps OAuth scope layer\". Operates on the CAO_MCP_APPS_ENABLED surface and cao_mcp_apps\u002F build system. Not for the localhost:9889 browser dashboard, not for plugins, providers, or session management.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[930,931,934,935],{"name":21,"slug":22,"type":16},{"name":932,"slug":933,"type":16},"CLI","cli",{"name":874,"slug":875,"type":16},{"name":880,"slug":881,"type":16},"2026-07-22T05:35:52.952289",{"slug":4,"name":4,"fn":5,"description":6,"org":938,"tags":939,"stars":23,"repoUrl":24,"updatedAt":25},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[940,941,942],{"name":21,"slug":22,"type":16},{"name":18,"slug":19,"type":16},{"name":14,"slug":15,"type":16},{"slug":944,"name":944,"fn":945,"description":946,"org":947,"tags":948,"stars":23,"repoUrl":24,"updatedAt":953},"cao-plugin","scaffold CAO agent plugins","Create a new CAO (CLI Agent Orchestrator) plugin. Use this skill whenever the user wants to add a plugin that reacts to CAO lifecycle or messaging events, scaffold a plugin package, understand plugin requirements, or integrate an external system (Discord, Slack, dashboards, logging, metrics) with CAO. Also use when the user asks what plugin events are available, how plugin discovery works, or how to install a plugin into a CAO environment.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[949,950,951,952],{"name":21,"slug":22,"type":16},{"name":838,"slug":839,"type":16},{"name":932,"slug":933,"type":16},{"name":877,"slug":878,"type":16},"2026-07-12T08:36:49.784639",16]