Agent Memory

Persistent memory that survives across conversations

✨ The solution you've been looking for

Verified
Tested and verified by our team
21200 Stars

Use this skill when the user asks to save, remember, recall, or organize memories. Triggers on: 'remember this', 'save this', 'note this', 'what did we discuss about...', 'check your notes', 'clean up memories'. Also use proactively when discovering valuable findings worth preserving.

memory knowledge-management conversation-history note-taking project-context research documentation workflow
Repository

See It In Action

Interactive preview & real-world examples

Live Demo
Skill Demo Animation

AI Conversation Simulator

See how users interact with this skill

User Prompt

Remember this solution for the memory leak in worker threads - it was caused by unclosed file handles

Skill Processing

Analyzing request...

Agent Response

Research findings are saved with proper categorization and can be retrieved when working on similar issues

Quick Start (3 Steps)

Get up and running in minutes

1

Install

claude-code skill install agent-memory

claude-code skill install agent-memory
2

Config

3

First Trigger

@agent-memory help

Commands

CommandDescriptionRequired Args
@agent-memory research-preservationSave valuable research findings and solutions to complex problems for later referenceNone
@agent-memory project-context-continuityMaintain project state and decisions across conversation breaksNone
@agent-memory knowledge-retrievalQuickly find previously saved information using summaries and searchNone

Typical Use Cases

Research Preservation

Save valuable research findings and solutions to complex problems for later reference

Project Context Continuity

Maintain project state and decisions across conversation breaks

Knowledge Retrieval

Quickly find previously saved information using summaries and search

Overview

Agent Memory

A persistent memory space for storing knowledge that survives across conversations.

Location: .claude/skills/agent-memory/memories/

Proactive Usage

Save memories when you discover something worth preserving:

  • Research findings that took effort to uncover
  • Non-obvious patterns or gotchas in the codebase
  • Solutions to tricky problems
  • Architectural decisions and their rationale
  • In-progress work that may be resumed later

Check memories when starting related work:

  • Before investigating a problem area
  • When working on a feature you’ve touched before
  • When resuming work after a conversation break

Organize memories when needed:

  • Consolidate scattered memories on the same topic
  • Remove outdated or superseded information
  • Update status field when work completes, gets blocked, or is abandoned

Folder Structure

When possible, organize memories into category folders. No predefined structure - create categories that make sense for the content.

Guidelines:

  • Use kebab-case for folder and file names
  • Consolidate or reorganize as the knowledge base evolves

Example:

1memories/
2├── file-processing/
3│   └── large-file-memory-issue.md
4├── dependencies/
5│   └── iconv-esm-problem.md
6└── project-context/
7    └── december-2025-work.md

This is just an example. Structure freely based on actual content.

Frontmatter

All memories must include frontmatter with a summary field. The summary should be concise enough to determine whether to read the full content.

Summary is the decision point: Agents scan summaries via rg "^summary:" to decide which memories to read in full. Write summaries that contain enough context to make this decision - what the memory is about, the key problem or topic, and why it matters.

Required:

1---
2summary: "1-2 line description of what this memory contains"
3created: 2025-01-15  # YYYY-MM-DD format
4---

Optional:

1---
2summary: "Worker thread memory leak during large file processing - cause and solution"
3created: 2025-01-15
4updated: 2025-01-20
5status: in-progress  # in-progress | resolved | blocked | abandoned
6tags: [performance, worker, memory-leak]
7related: [src/core/file/fileProcessor.ts]
8---

Search Workflow

Use summary-first approach to efficiently find relevant memories:

 1# 1. List categories
 2ls .claude/skills/agent-memory/memories/
 3
 4# 2. View all summaries
 5rg "^summary:" .claude/skills/agent-memory/memories/ --no-ignore --hidden
 6
 7# 3. Search summaries for keyword
 8rg "^summary:.*keyword" .claude/skills/agent-memory/memories/ --no-ignore --hidden -i
 9
10# 4. Search by tag
11rg "^tags:.*keyword" .claude/skills/agent-memory/memories/ --no-ignore --hidden -i
12
13# 5. Full-text search (when summary search isn't enough)
14rg "keyword" .claude/skills/agent-memory/memories/ --no-ignore --hidden -i
15
16# 6. Read specific memory file if relevant

Note: Memory files are gitignored, so use --no-ignore and --hidden flags with ripgrep.

Operations

Save

  1. Determine appropriate category for the content
  2. Check if existing category fits, or create new one
  3. Write file with required frontmatter (use date +%Y-%m-%d for current date)
 1mkdir -p .claude/skills/agent-memory/memories/category-name/
 2# Note: Check if file exists before writing to avoid accidental overwrites
 3cat > .claude/skills/agent-memory/memories/category-name/filename.md << 'EOF'
 4---
 5summary: "Brief description of this memory"
 6created: 2025-01-15
 7---
 8
 9# Title
10
11Content here...
12EOF

Maintain

  • Update: When information changes, update the content and add updated field to frontmatter
  • Delete: Remove memories that are no longer relevant
    1trash .claude/skills/agent-memory/memories/category-name/filename.md
    2# Remove empty category folders
    3rmdir .claude/skills/agent-memory/memories/category-name/ 2>/dev/null || true
    
  • Consolidate: Merge related memories when they grow
  • Reorganize: Move memories to better-fitting categories as the knowledge base evolves

Guidelines

  1. Write for resumption: Memories exist to resume work later. Capture all key points needed to continue without losing context - decisions made, reasons why, current state, and next steps.
  2. Write self-contained notes: Include full context so the reader needs no prior knowledge to understand and act on the content
  3. Keep summaries decisive: Reading the summary should tell you if you need the details
  4. Stay current: Update or delete outdated information
  5. Be practical: Save what’s actually useful, not everything

Content Reference

When writing detailed memories, consider including:

  • Context: Goal, background, constraints
  • State: What’s done, in progress, or blocked
  • Details: Key files, commands, code snippets
  • Next steps: What to do next, open questions

Not all memories need all sections - use what’s relevant.

What Users Are Saying

Real feedback from the community

Environment Matrix

Dependencies

ripgrep (rg) for efficient memory searching

Context Window

Token Usage ~1K-3K tokens for typical memory operations, varies with memory collection size

Security & Privacy

Information

Author
yamadashy
Updated
2026-01-30
Category
productivity-tools