Cognee Session Memory and Improve
topoteretes/cognee
Explains how cognee stores session memory by session_id and bridges it into the permanent graph with improve(), including the stages, results and settings.
Adds structured long-term memory to OpenClaw agents, built automatically from sessions, with tools the agent calls to recall facts, summaries and decisions.
$ npx skills add MemoriLabs/Memori --skill memori -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install MemoriLabs/Memori memori --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/MemoriLabs/Memori.git skills-src && mkdir -p .claude/skills && cp -r skills-src/integrations/openclaw/skills/clawhub .claude/skills/memori && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "memori" agent skill from https://github.com/MemoriLabs/Memori/tree/main/integrations/openclaw/skills/clawhub into .claude/skills/memori/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "memori", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/MemoriLabs/Memori/tree/main/integrations/openclaw/skills/clawhubType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add MemoriLabs/Memori --skill memori -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install MemoriLabs/Memori memori --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/MemoriLabs/Memori.git skills-src && mkdir -p .agents/skills && cp -r skills-src/integrations/openclaw/skills/clawhub .agents/skills/memori && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "memori" agent skill from https://github.com/MemoriLabs/Memori/tree/main/integrations/openclaw/skills/clawhub into .agents/skills/memori/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "memori", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add MemoriLabs/Memori --skill memori -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install MemoriLabs/Memori memori --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/MemoriLabs/Memori.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/integrations/openclaw/skills/clawhub .cursor/skills/memori && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "memori" agent skill from https://github.com/MemoriLabs/Memori/tree/main/integrations/openclaw/skills/clawhub into .cursor/skills/memori/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "memori", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/MemoriLabs/Memori.git --path integrations/openclaw/skills/clawhub--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add MemoriLabs/Memori --skill memori -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install MemoriLabs/Memori memori --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/MemoriLabs/Memori.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/integrations/openclaw/skills/clawhub .gemini/skills/memori && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "memori" agent skill from https://github.com/MemoriLabs/Memori/tree/main/integrations/openclaw/skills/clawhub into .gemini/skills/memori/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "memori", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install MemoriLabs/Memori memoriInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add MemoriLabs/Memori --skill memori -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/MemoriLabs/Memori.git skills-src && mkdir -p .github/skills && cp -r skills-src/integrations/openclaw/skills/clawhub .github/skills/memori && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "memori" agent skill from https://github.com/MemoriLabs/Memori/tree/main/integrations/openclaw/skills/clawhub into .github/skills/memori/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "memori", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add MemoriLabs/Memori --skill memori -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install MemoriLabs/Memori memori --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/MemoriLabs/Memori.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/integrations/openclaw/skills/clawhub .opencode/skills/memori && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "memori" agent skill from https://github.com/MemoriLabs/Memori/tree/main/integrations/openclaw/skills/clawhub into .opencode/skills/memori/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "memori", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
memoriAdds structured long-term memory to OpenClaw agents, built automatically from sessions, with tools the agent calls to recall facts, summaries and decisions.
Memori runs through OpenClaw lifecycle hooks on two tracks. After each interaction it converts raw session data, such as the agent's actions, reasoning, tool usage, responses, corrections and failures, into structured memories in the background, generates embeddings for retrieval and updates a knowledge graph, without adding latency to the reply.
Recall is separate and controlled by the agent, which decides when to recall, from what scope and how much history to include. Four tools support it: memori_recall searches the memory graph for facts, constraints and prior decisions, memori_recall_summary returns daily briefs and rolling summaries, memori_compaction returns a brief for continuing after compaction, and memori_feedback reports memory quality. Installation uses openclaw plugins install, and configuration goes in ~/.openclaw/openclaw.json or through the openclaw memori init command with an API key.
2 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 574b1ea. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md (its code samples are bash and json).
From the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
api.memorilabs.aiAlso links to:
memorilabs.ainpmjs.comFrom URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
MEMORI_API_KEYFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
["openclaw"]
From compatibility in the SKILL.md frontmatter.
Memori Long-Term Memory loads about 2k tokens when it runs. Until then it costs about 46 tokens; SKILL.md has 813 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from MemoriLabs/Memori at commit 574b1ea, republished under its Apache-2.0 licence (© MemoriLabs). 813 words, ~1,998 tokens.
.claude/skills/memori/SKILL.md (or your agent's skills folder).Give your OpenClaw agents persistent, structured memory derived from agent execution, tool usage, workflow history, and conversations. Memori integrates seamlessly in the background via lifecycle hooks and provides agents with the tools to retrieve context when it is relevant.
Memori operates on two parallel tracks through standard OpenClaw lifecycle hooks:
After each interaction, Memori converts raw session data into structured, reusable memories asynchronously.
This is how structured memory is continuously built and updated over time. It runs after the agent responds and does not impact latency.
Recall is explicit and initiated by the agent.
Memori separates memory creation from memory recall:
Agents decide:
To maintain an efficient context window, Memori equips the agent with specific tools to retrieve history when required for the conversation:
memori_recall: Searches the structured memory graph for specific facts, constraints, and prior decisions.memori_recall_summary: Retrieves structured daily briefs and rolling summaries of prior sessions.memori_compaction: Retrieves structured post-compaction brief to continue task without interruption.memori_feedback: Reports on memory quality to improve extraction accuracy.openclaw plugins install @memorilabs/openclaw-memoriAdd to your ~/.openclaw/openclaw.json or use the openclaw memori init CLI command to set up your workspace:
openclaw memori init \
--api-key "YOUR_MEMORI_API_KEY" \
--entity-id "your-entity-id" \
--project-id "your-project-id"Alternatively, configure it directly via JSON:
{
"plugins": {
"entries": {
"openclaw-memori": {
"enabled": true,
"config": {
"apiKey": "${MEMORI_API_KEY}",
"entityId": "openclaw-user",
"projectId": "default-project"
}
}
}
}
}memori signupWhen this plugin is active, the agent is equipped with tools to manage long-term context. The agent should use its discretion to call these tools when helpful:
memori_recall search to retrieve relevant details if context is missing regarding user preferences.memori_recall_summary tool to construct a brief if a user requests a recap.memori_signup tool to initiate the process by asking for an email address. Keys are never returned in the chat. The system securely emails the credentials to the user, who must then manually configure them to activate the plugin.memori_quota tool to check the user's current memory usage and storage limits to communicate quota status or gracefully degrade behavior if limits are reached.Check that the plugin is working and securely connected:
# Verify plugin is securely connected to the API
openclaw memori status --check
# Check for Memori logs in gateway output
openclaw gateway logs --filter "[Memori]"Check your current API quota:
memori quotaExample output:
__ __ _
| \/ | ___ _ __ ___ ___ _ __(_)
| |\/| |/ _ \ '_ ` _ \ / _ \| '__| |
| | | | __/ | | | | | (_) | | | |
|_| |_|\___|_| |_| |_|\___/|_| |_|
perfectam memoriam
memorilabs.ai
+ Maximum # of Memories: 100
+ Current # of Memories: 0
+ You are not currently over quota.Use this to monitor usage and upgrade if needed.
Explicit Opt-In Required: Memori requires the user to explicitly configure an API key (MEMORI_API_KEY) and an entityId. No data is captured or transmitted unless these credentials are actively provided by the user.
https://api.memorilabs.ai) only when the plugin is fully configured by the user.projectId and entityId.For details: Memori Privacy Policy
Memories persist safely across:
All storage is handled by the Memori backend and is scoped safely alongside your local MEMORY.md file without overwriting it.
Plugin not loading:
enabled: true in openclaw.jsonecho $MEMORI_API_KEYopenclaw gateway restartNo memories captured:
[Memori] errorsmemori quotaMemories not recalled:
memori_recall tool execution. If it didn't use the tool, you can prompt it to search its memory.entityId and projectId are consistent across sessions.memori quota shows count > 0.Quota exceeded:
memori quota to check usageThis skill informs the agent about the Memori plugin. The plugin must be installed separately via npm. Once installed, memory capture happens in the background, and the agent is empowered to explicitly query its memories when needed.
© MemoriLabs, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in integrations/openclaw/skills/clawhub of MemoriLabs/Memori.
Open the folder on GitHubat commit 574b1ea
Memori Long-Term Memory next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Memori Long-Term Memory this skillMemoriLabs/Memori | 17k | — | ~2k | Automated safety check: Pass | Apache-2.0 | |
| Cognee Session Memory and Improvetopoteretes/cognee | 32k | — | ~3.2k | Automated safety check: Pass | Apache-2.0 | |
| Install and Run Cogneetopoteretes/cognee | 32k | — | ~1k | Automated safety check: Notes | Apache-2.0 | |
| Cognee CLI Memory Commandstopoteretes/cognee | 32k | — | ~2.2k | Automated safety check: Notes | Apache-2.0 | |
| MemPalace Recall for Planningopen-gsd/gsd-core | 10k | 1 repos | ~1.5k | Automated safety check: Notes | MIT | |
| Cognee Custom Pipelinestopoteretes/cognee | 32k | — | ~2.8k | Automated safety check: Pass | Apache-2.0 |
topoteretes/cognee
Explains how cognee stores session memory by session_id and bridges it into the permanent graph with improve(), including the stages, results and settings.
topoteretes/cognee
Installs the cognee AI memory library in a Python environment, sets the LLM key and gets a first remember and recall script running with the Python SDK.
topoteretes/cognee
Drives cognee from the terminal with remember, recall, forget and improve memory commands, dataset and config management and database migrations.
open-gsd/gsd-core
Recalls earlier decisions, patterns and surprises from MemPalace memory before planning, behind a config gate that never blocks the planning step.
topoteretes/cognee
Shows how to write custom cognee tasks, chain them into pipelines, store custom DataPoints and run enrichment over the existing graph.
OthmanAdi/planning-with-files
Keeps a task plan, findings and progress log in markdown files on disk so long agent tasks survive context resets, with Gemini hooks and helper scripts.
MemoriLabs/Memori
Connects Claude Code to Memori Cloud for long-term memory, recalling stored context before substantive replies and saving new context afterward.
MemoriLabs/Memori
Teaches an MCP-connected agent when and how to call Memori's recall, summary, compaction, augmentation, feedback and quota tools to keep context across sessions.
Categories
Adds structured long-term memory to OpenClaw agents, built automatically from sessions, with tools the agent calls to recall facts, summaries and decisions. Memori runs through OpenClaw lifecycle hooks on two tracks. After each interaction it converts raw session data, such as the agent's actions, reasoning, tool usage, responses, corrections and failures, into structured memories in the background, generates embeddings for retrieval and updates a knowledge graph, without adding latency to the reply.
Memori Long-Term Memory fits situations like: giving an OpenClaw agent memory that persists across sessions; recalling earlier decisions and constraints in a long-running project; resuming a task after context compaction without losing the thread.
Run `npx skills add MemoriLabs/Memori --skill memori -a claude-code`. Or copy the skill folder (integrations/openclaw/skills/clawhub in MemoriLabs/Memori) into .claude/skills/memori in your project. Claude Code loads it when a task matches its description.
Run `npx skills add MemoriLabs/Memori --skill memori -a codex`. Or copy the skill folder (integrations/openclaw/skills/clawhub in MemoriLabs/Memori) into .agents/skills/memori in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add MemoriLabs/Memori --skill memori -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/memori, .gemini/skills/memori, .github/skills/memori and .opencode/skills/memori in your project.
Going by SKILL.md and its folder, Memori Long-Term Memory needs credentials named MEMORI_API_KEY. Our summary lists: OpenClaw; A Memori API key, obtained with memori signup. Compatibility (from SKILL.md): ["openclaw"].
SKILL.md names 3 domains. In commands or code: api.memorilabs.ai; the agent is likely to contact it when it follows the instructions. As links in the text: memorilabs.ai and npmjs.com. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Memori Long-Term Memory is published under the Apache-2.0 licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 2k tokens (SKILL.md is roughly 8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Memori Long-Term Memory: Cognee Session Memory and Improve (topoteretes/cognee, 32k stars), Install and Run Cognee (topoteretes/cognee, 32k stars), Cognee CLI Memory Commands (topoteretes/cognee, 32k stars) and MemPalace Recall for Planning (open-gsd/gsd-core, 10k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
MemoriLabs (a GitHub organization) maintains it in MemoriLabs/Memori, which has 17,149 GitHub stars. The repository holds 3 skills in this directory. The repository was last updated on October 3, 2026.
Source: MemoriLabs/Memori on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.