MemLayer
Provides self-learning memory capabilities for the Gemini CLI, enabling logging of task episodes with importance scoring, extraction of patterns from past experiences, and contextual retrieval to avoid repeating mistakes across sessions.
Integrates with Codex CLI to provide persistent memory functionality, supporting logging of task executions, automatic pattern extraction from failures, skill promotion from proven strategies, and memory retrieval for improved task performance.
MemLayer Plugins
A self-learning memory system for Claude Code, the Gemini CLI, and Codex CLI that enables persistent learning across task executions. Must be used with MemLayer.
Overview
MemLayer provides your AI agents with episodic memory capabilities, allowing them to:
Log task executions as episodes with outcomes, errors, and context
Extract patterns from past experiences, especially failures
Promote proven strategies into reusable skills
Retrieve relevant context before starting new tasks
Learn from mistakes to avoid repeating them
Installation
One-Command Installers (curl)
Use these from the target project directory.
Gemini CLI
curl -fsSL https://raw.githubusercontent.com/shafty023/MemLayer-Plugin/main/install-gemini.sh | bashThis installs the Gemini plugin and configures memlayer MCP in .gemini/settings.json.
Then run /mcp auth memlayer in Gemini to complete MCP login.
By default, installer checkout ref is main (override with MEMLAYER_REPO_REF).
Claude Code
curl -fsSL https://raw.githubusercontent.com/shafty023/MemLayer-Plugin/main/install-claude.sh | bashThis adds the plugin marketplace, installs memory@ProcIQ, and configures the memlayer MCP server in Claude.
Codex CLI
curl -fsSL https://raw.githubusercontent.com/shafty023/MemLayer-Plugin/main/install-codex.sh | bashThis installs the memory-usage skill into ${CODEX_HOME:-~/.codex}/skills, updates the current repo's AGENTS.md, configures MCP, and prints the codex mcp login memlayer step for you to run explicitly.
By default, installer checkout ref is main (override with MEMLAYER_REPO_REF).
Claude Code
Add the marketplace to Claude Code:
/plugin marketplace add shafty023/MemLayer-PluginInstall the memory plugin:
/plugin install memory@ProcIQConfigure the prociq MCP server with your API key (see prociq.ai for setup)
For more details on plugin installation, see the official documentation.
Gemini CLI
See the Gemini Plugin Documentation for installation and setup instructions.
Codex CLI
See the Codex Plugin Documentation for installation and setup instructions.
Project Structure
MemLayer-Plugin/
├── .claude-plugin/ # Claude marketplace registration
├── codex/ # Codex CLI installer and policy template
│ ├── setup.sh
│ └── templates/
├── gemini/ # Gemini CLI installer and manifest
│ ├── manifest.json
│ └── setup.sh
└── plugins/
└── memory/ # Claude Code plugin and shared skill source
├── .claude-plugin/
│ └── plugin.json # Plugin manifest
├── commands/ # CLI commands
│ ├── audit.md # /memory:audit - inspect memory state
│ ├── teach.md # /memory:teach - inject knowledge manually
│ └── forget.md # /memory:forget - remove episodes
├── hooks/ # Integration hooks
│ ├── hooks.json
│ └── scripts/
│ ├── session-start.sh
│ └── user-prompt.sh
└── skills/
└── memory-usage/
└── SKILL.md # Canonical memory system usage guideCommands
/memory:audit [episodes|patterns|skills]
Inspect the current state of the memory system. Shows statistics, recent episodes, high-confidence patterns, and skill inventory.
/memory:teach <lesson>
Manually inject knowledge into the memory system without task execution.
/memory:teach When using Detox with animations, always add explicit waitFor timeouts of at least 5000ms/memory:forget <episode-id|query>
Remove specific episodes from memory. Can search by query or delete by ID.
Core Concepts
Episodes
Records of task execution containing:
Task goal and approach taken
Outcome (success/partial/failure)
Error details if applicable
Tools used and file patterns involved
Importance score (0.0–1.0)
Patterns
Derived learnings extracted from multiple episodes:
Root cause analysis
Recommended strategy
Trigger conditions (errors, keywords, tools)
Skills
Mature, high-confidence patterns promoted to reusable knowledge that gets surfaced when relevant tasks arise.
Notes
Persistent freeform knowledge entries that never decay (unlike episodes):
Recording important discoveries that shouldn't fade
Documenting project-specific knowledge
Manual teaching via
/memory:teachcommandReference material that should always be findable
Consolidation
Automatic processing that:
Clusters similar episodes
Extracts patterns from failures
Decays old/low-value episodes
Promotes patterns to skills
Memory Tools (MCP)
Episode Tools
Tool | Purpose |
| Record task execution (async, non-blocking) |
| Get relevant past experiences before a task |
| Search with filters (outcome, error_type, project) |
| Retrieve full episode by ID |
| Semantic search returning full episodes |
| Delete episodes permanently |
| Soft-delete episodes (reversible) |
Note Tools
Tool | Purpose |
| Store persistent freeform knowledge |
| Modify existing note |
| Retrieve note by ID |
| Search notes by content or tags |
| Remove note from storage |
Pattern & Skill Tools
Tool | Purpose |
| Search patterns with filters |
| List all available skills |
| Retrieve skill markdown by ID |
System Tools
Tool | Purpose |
| View memory health and statistics |
| Manually run memory maintenance |
Best Practices
When to Log
Do log:
Failures (always, before retrying)
Non-obvious solutions requiring investigation
First-time task types
Recurring problem categories (config, debugging, integration)
Don't log:
Trivial fixes (typos, missing imports)
Routine CRUD operations
Pure research/exploration tasks
Importance Scoring
Scenario | Score |
Normal success | 0.2–0.3 |
First-time task type | 0.5–0.6 |
Learned something new | 0.7–0.8 |
Critical discovery/failure | 0.9–1.0 |
Critical Rule: Log Failures First
Always log a failure before retrying. This captures the exact error context that would otherwise be lost after a successful retry.
How Hooks Work
SessionStart — Reminds Claude about available memory tools
UserPromptSubmit — Injects memory workflow into TodoWrite (check memory first, log outcome last)
Stop — Reminds Claude to log failures and suggests reflection
License
MIT License — see LICENSE for details.
Author
Daniel Ochoa (@shafty023)
Links
prociq.ai — Memory system backend
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/ProcIQ/MemLayer-Plugin'
If you have feedback or need assistance with the MCP directory API, please join our Discord server