MCPInstall

memory-curator

Manage agent memory through daily logs, session preservation, and knowledge extraction. Use when (1) logging work at end of day, (2) preserving context before /new or /reset, (3) extracting patterns from daily logs to MEMORY.md, (4) searching past decisions and learnings, (5) organizing knowledge for long-term retention. Essential for continuous improvement and avoiding repeated mistakes.

Installs
205
Last 24h
—
Trending rank
—
Security
Not audited

Install

Works with every agent the skills CLI supports.

npx skills add https://github.com/irangareddy/openclaw-essentials --skill memory-curator
  1. 01

    Install

    Run the command in your project. The CLI asks which agents to install for.

  2. 02

    Describe the task

    Ask your agent for something this skill covers. It loads memory-curator automatically when relevant.

  3. 03

    Review the result

    The agent follows the SKILL.md steps, scripts and references bundled with the skill.

SKILL.md

The instructions your agent reads when the skill is triggered.

Memory Curator

Systematic memory management for agents through daily logging, session preservation, and knowledge extraction.

Quick Start

Log Today's Work

# Append to today's log
python scripts/daily_log.py \
  --workspace ~/.openclaw/workspace \
  --entry "Implemented user authentication with JWT" \
  --category "Key Activities"

# Show today's log
python scripts/daily_log.py --workspace ~/.openclaw/workspace --show

Search Memory

# Search all memory files
python scripts/search_memory.py \
  --workspace ~/.openclaw/workspace \
  --query "GraphQL"

# Search recent logs only (last 7 days)
python scripts/search_memory.py \
  --workspace ~/.openclaw/workspace \
  --query "authentication" \
  --days 7

# Show recent logs
python scripts/search_memory.py \
  --workspace ~/.openclaw/workspace \
  --recent 5

Extract Session Summary

# Generate summary from current session
python scripts/extract_session.py \
  --session ~/.openclaw/agents/<agent-id>/sessions/<session-id>.jsonl \
  --output session-summary.md

Core Workflows

End of Day: Log Activities

When: Before ending work session or switching contexts

Steps:

  1. Review what was accomplished:

    • Features implemented
    • Bugs fixed
    • Decisions made
    • Learnings discovered
  2. Append to daily log:

    python scripts/daily_log.py \
      --workspace ~/.openclaw/workspace \
      --entry "Fixed race condition in payment processing - added mutex lock"
    
  3. Add structured entries for important work:

    ## Key Activities
    
    - [14:30] Implemented user profile dashboard with GraphQL
    - [16:00] Fixed infinite re-render in UserContext - memoized provider value
    
    ## Decisions Made
    
    - Chose Apollo Client over React Query - better caching + type generation
    - Decided to use JWT in httpOnly cookies instead of localStorage
    
    ## Learnings
    
    - Apollo requires `__typename` field for cache normalization
    - React.memo doesn't prevent re-renders from context changes
    

See: patterns.md for what to log in different scenarios

Before Context Switch: Preserve Session

When: Before running /new, /reset, or ending conversation

Steps:

  1. Extract session summary:

    # Get current session ID from system prompt or openclaw status
    python scripts/extract_session.py \
      --session ~/.openclaw/agents/<agent-id>/sessions/<session-id>.jsonl \
      --output ~/session-summary.md
    
  2. Review summary and edit Key Learnings section

  3. Save to daily log:

    # Append key points to today's log
    cat ~/session-summary.md >> ~/.openclaw/workspace/memory/$(date +%Y-%m-%d).md
    
  4. Extract critical context to MEMORY.md if needed:

    • Non-obvious solutions
    • Important decisions
    • Patterns worth remembering

Weekly Review: Extract Knowledge

When: End of week (Friday/Sunday) or monthly

Steps:

  1. Search for patterns in recent logs:

    python scripts/search_memory.py \
      --workspace ~/.openclaw/workspace \
      --recent 7
    
  2. Look for extraction signals:

    • Repeated issues (3+ occurrences)
    • High-cost learnings (>1 hour to solve)
    • Non-obvious solutions
    • Successful patterns worth reusing
  3. Extract to MEMORY.md:

    • Add new sections or update existing ones
    • Use problem-solution format
    • Include code examples
    • Add context for when to use
  4. Clean up MEMORY.md:

    • Remove outdated information
    • Consolidate duplicate entries
    • Update code examples
    • Improve organization if needed

See: extraction.md for detailed extraction patterns

Daily: Quick Logging

For rapid context capture during work:

# Quick note
python scripts/daily_log.py \
  --workspace ~/.openclaw/workspace \
  --entry "TIL: DataLoader batches requests into single query"

# Decision
python scripts/daily_log.py \
  --workspace ~/.openclaw/workspace \
  --entry "Using Zustand for client state - simpler than Redux" \
  --category "Decisions Made"

# Problem solved
python scripts/daily_log.py \
  --workspace ~/.openclaw/workspace \
  --entry "CORS + cookies: Enable credentials on client + server, Allow-Origin can't be *"

Memory Structure

Daily Logs (memory/YYYY-MM-DD.md)

Purpose: Chronological activity tracking

Content:

  • What was done (timestamped)
  • Decisions made
  • Problems solved
  • Learnings discovered

Retention: Keep recent logs accessible, optionally archive logs >90 days

When to use:

  • "What did I do on [date]?"
  • "When did I implement X?"
  • Session history
  • Activity tracking

MEMORY.md

Purpose: Curated long-term knowledge

Content:

  • Patterns and best practices
  • Common solutions
  • Mistakes to avoid
  • Useful references

Organization: Topic-based, not chronological

When to use:

  • "How do I solve X?"
  • "What's the pattern for Y?"
  • Best practices
  • Reusable solutions

See: organization.md for structure patterns

Memory Logging Patterns

What to Log

Always log:

  • Key implementation decisions (why approach X over Y)
  • Non-obvious solutions
  • Root causes of bugs
  • Architecture decisions with rationale
  • Patterns discovered
  • Mistakes and how they were fixed

Don't log:

  • Every file changed (git has this)
  • Obvious implementation details
  • Routine commits
  • Project-specific hacks

See: patterns.md for comprehensive logging guidance

When to Log

During work:

  • Quick notes with daily_log.py --entry
  • Capture decisions as made
  • Log problems when solved

End of day:

  • Review what was accomplished
  • Structure important entries
  • Add context for tomorrow

End of week:

  • Extract patterns to MEMORY.md
  • Consolidate learnings
  • Clean up outdated info

Knowledge Extraction

Extraction Criteria

Extract to MEMORY.md when:

  • Pattern appears 3+ times
  • Solution took >1 hour to find
  • Solution is non-obvious
  • Will save significant time in future
  • Applies across multiple projects
  • Mistake was costly to debug

Don't extract:

  • One-off fixes
  • Project-specific hacks
  • Obvious solutions
  • Rapidly changing APIs

Extraction Format

Problem-Solution Structure:

## [Technology/Domain]

### [Problem Title]

**Problem:** [Clear description]
**Cause:** [Root cause]
**Solution:** [How to fix]

**Code:**
```js
// Example implementation

Prevention: [How to avoid] Context: [When this applies]


**See:** [extraction.md](references/extraction.md) for detailed extraction workflow

## Scripts Reference

### daily_log.py

Create or append to today's daily log.

```bash
# Append entry
python scripts/daily_log.py \
  --workspace ~/.openclaw/workspace \
  --entry "Your log entry" \
  [--category "Section Name"]

# Create from template
python scripts/daily_log.py \
  --workspace ~/.openclaw/workspace \
  --template

# Show today's log
python scripts/daily_log.py \
  --workspace ~/.openclaw/workspace \
  --show

extract_session.py

Extract summary from session JSONL.

python scripts/extract_session.py \
  --session ~/.openclaw/agents/<id>/sessions/<session>.jsonl \
  [--output summary.md]

Outputs:

  • User requests summary
  • Tools used
  • Files touched
  • Template for key learnings

search_memory.py

Search across all memory files.

# Search with query
python scripts/search_memory.py \
  --workspace ~/.openclaw/workspace \
  --query "search term" \
  [--days 30]

# Show recent logs
python scripts/search_memory.py \
  --workspace ~/.openclaw/workspace \
  --recent 5

Best Practices

Daily Discipline

  1. Start of day: Review yesterday's log, plan today
  2. During work: Quick notes for decisions and learnings
  3. End of day: Structure important entries, add context
  4. End of week: Extract patterns, clean up MEMORY.md

Context Preservation

Before /new or /reset:

  1. Extract session summary
  2. Add to daily log
  3. Preserve critical context in MEMORY.md

After major work:

  1. Document what was accomplished
  2. Note key learnings
  3. Record next steps

Knowledge Organization

  1. Topic-based structure - Group by domain, not date
  2. Problem-first titles - Lead with the problem being solved
  3. Searchable language - Use specific, findable terms
  4. Flat hierarchy - Maximum 2 levels deep
  5. Code examples - Include working examples

See: organization.md for detailed structure guidance

Troubleshooting

Can't find past decision

  1. Search daily logs first:

    python scripts/search_memory.py --workspace ~/.openclaw/workspace --query "decision keyword"
    
  2. Search MEMORY.md:

    grep -i "keyword" ~/.openclaw/workspace/MEMORY.md
    
  3. Search session logs:

    rg "keyword" ~/.openclaw/agents/<id>/sessions/*.jsonl
    

Memory files getting too large

  1. Archive old daily logs (>90 days):

    mkdir -p memory/archive/2025-Q1
    mv memory/2025-01-*.md memory/archive/2025-Q1/
    
  2. Split MEMORY.md by domain if >1000 lines:

    memory/domains/
    ├── react.md
    ├── graphql.md
    └── database.md
    
  3. Link from main MEMORY.md:

    ## Domain Knowledge
    - [React Patterns](memory/domains/react.md)
    - [GraphQL Patterns](memory/domains/graphql.md)
    

Not sure what to log

See: patterns.md for comprehensive logging patterns

Quick rule: If you spent >15 minutes on it or learned something non-obvious, log it.

Templates

Daily Log Template

Located at: assets/templates/daily-log.md

Structure:

  • Key Activities
  • Decisions Made
  • Learnings
  • Challenges & Solutions
  • Context for Tomorrow
  • References

MEMORY.md Template

Located at: assets/templates/MEMORY-template.md

Structure:

  • Patterns & Best Practices
  • Common Solutions
  • Learnings
  • Mistakes to Avoid
  • Useful References

Tips

  1. Be consistent - Log every day, extract every week
  2. Be concise - Future you needs facts, not stories
  3. Be specific - "Apollo cache normalization" > "cache issue"
  4. Use code - Examples > explanations
  5. Search first - Before asking, search your memory
  6. Extract ruthlessly - If it repeats 3x, extract it
  7. Clean regularly - Remove outdated info monthly
  8. Version control - Git commit MEMORY.md changes

Integration with OpenClaw

Auto-logging with Hooks

Create a hook to auto-log major events:

// ~/.openclaw/hooks/memory-logger/index.js
export default {
  name: 'memory-logger',
  async onToolCall({ tool, agent }) {
    if (tool === 'write' || tool === 'edit') {
      // Log file modifications
      await exec(`python scripts/daily_log.py --workspace ${agent.workspace} --entry "Modified ${tool.input.file_path}"`)
    }
  }
}

Session Preservation

Add to AGENTS.md:

## Before /new or /reset

Always preserve context:
1. Extract session summary
2. Add to daily log
3. Save critical decisions to MEMORY.md

Weekly Review Cron

openclaw cron add \
  --name "weekly-memory-review" \
  --at "Sunday 18:00" \
  --system-event "Time for weekly memory review and knowledge extraction"

FAQ

What does the memory-curator skill do?

Manage agent memory through daily logs, session preservation, and knowledge extraction. Use when (1) logging work at end of day, (2) preserving context before /new or /reset, (3) extracting patterns from daily logs to MEMORY.md, (4) searching past decisions and learnings, (5) organizing knowledge for long-term retention. Essential for continuous improvement and avoiding repeated mistakes.

How do I install memory-curator?

Run npx skills add https://github.com/irangareddy/openclaw-essentials --skill memory-curator in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/memory-curator/ (personal) or .claude/skills/memory-curator/ (project).

Which AI agents can use memory-curator?

Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.

Is memory-curator safe to install?

No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.

Who maintains memory-curator?

It is published by irangareddy in irangareddy/openclaw-essentials. It has 205 recorded installs.

More from irangareddy/openclaw-essentials

View all →

openclaw-cli

irangareddy/openclaw-essentials

Master the OpenClaw CLI - gateway, agents, channels, skills, hooks, and automation

openclaw-agent-builder

irangareddy/openclaw-essentials

Open the skill to read its SKILL.md instructions.

93 installs

Popular devops & cloud skills

View category →

microsoft-foundry

microsoft/azure-skills

Build, deploy, evaluate, optimize, fine-tune, and manage Microsoft Foundry agents, models, and resources end to end. USE FOR: foundry, azd ai agent, azd provision/deploy, hosted agent scaffold/develop/run/deploy/troubleshoot, prompt agent create, managed harness agent create, GitHub Copilot harness agent, create agent, update agent, add tool to agent, invoke agent, agent insights, evaluate agent, batch eval, continuous eval, continuous monitoring, agent CI/CD, optimize prompt, improve prompt, optimize agent instructions, Agent Optimizer scaffold, dataset curation from traces, deploy model, model fine-tuning (SFT/DPO/RFT), Foundry project, RBAC, role assignment, permissions, quota, capacity, region, deployment failure, AI Services, create Foundry resource, knowledge index, customize deployment, onboard, availability, training-data, grader, distillation, large file upload. DO NOT USE FOR: Azure Functions, App Service, general Azure deploy (use azure-deploy), general Azure prep (use azure

OfficialDevOps & Cloud579.1K installs

azure-diagnostics

microsoft/azure-skills

Debug Azure production issues on Azure using AppLens, Azure Monitor, resource health, and safe triage. WHEN: debug production issues, troubleshoot app service, app service high CPU, app service deployment failure, troubleshoot container apps, container app 503 or target port mismatch, troubleshoot functions, function telemetry missing or stopped after a config/connection-string change, troubleshoot AKS, VM RDP, Linux SSH, VM black screen, can't connect to VM, reset VM password, NSG or firewall blocking, kubectl cannot connect, kube-system/CoreDNS failures, pod pending, crashloop, node not ready, upgrade failures, analyze logs, KQL, insights, image pull failures, cold start issues, health probe failures, resource health, root cause of errors, troubleshoot event hubs, troubleshoot service bus, messaging SDK error, AMQP connection failure, message lock lost, lock renewal during long-running processing, service bus dead letter.

OfficialDevOps & Cloud569.8K installs

azure-prepare

microsoft/azure-skills

Prepare azd-based Azure projects for deployment: generates azure.yaml, infrastructure (Bicep/Terraform), and Dockerfiles for the Azure Developer CLI (azd) workflow. USE ONLY when the user explicitly wants to use azd as the deployment tool, or the project already has an azure.yaml file. DO NOT USE FOR: non-azd deployments, Python App Service code-only deploys (use python-appservice-deploy), or cross-cloud migration (use azure-cloud-migrate). WHEN: prepare app for azd, create azure.yaml, set up azd infrastructure, modernize app for Azure with azd, deploy with azd, function app, timer trigger, service bus trigger, event-driven function, managed identity, generate Bicep, generate Terraform, create and deploy to Azure.

OfficialDevOps & Cloud569K installs

azure-ai

microsoft/azure-skills

Use for Azure AI: Search, Speech, OpenAI, Document Intelligence. Helps with search, vector/hybrid search, speech-to-text, text-to-speech, transcription, OCR. WHEN: AI Search, query search, vector search, hybrid search, semantic search, speech-to-text, text-to-speech, transcribe, OCR, convert text to speech.

OfficialDevOps & Cloud568.8K installs

azure-deploy

microsoft/azure-skills

Execute Azure deployments for ALREADY-PREPARED applications that have existing .azure/deployment-plan.md and infrastructure files. DO NOT use this skill when the user asks to CREATE a new application — use azure-prepare instead. This skill runs azd up, azd deploy, terraform apply, and az deployment commands with built-in error recovery. Requires .azure/deployment-plan.md from azure-prepare and validated status from azure-validate. WHEN: "run azd up", "run azd deploy", "execute deployment", "push to production", "push to cloud", "go live", "ship it", "bicep deploy", "terraform apply", "publish to Azure", "launch on Azure". DO NOT USE WHEN: "create and deploy", "build and deploy", "create a new app", "set up infrastructure", "create and deploy to Azure using Terraform" — use azure-prepare for these.

OfficialDevOps & Cloud568.6K installs

azure-validate

microsoft/azure-skills

Pre-deployment validation for Azure readiness. Run deep checks on configuration, infrastructure (Bicep or Terraform), RBAC role assignments, managed identity permissions, and prerequisites before deploying. WHEN: validate my app, check deployment readiness, run preflight checks, verify configuration, check if ready to deploy, validate azure.yaml, validate Bicep, test before deploying, troubleshoot deployment errors, validate Azure Functions, validate function app, validate serverless deployment, verify RBAC roles, check role assignments, review managed identity permissions, what-if analysis, validate Container Apps deployment.

OfficialDevOps & Cloud568K installs