A 4-file memory system for OpenClaw agents without plugins

The problem with basic memory files
Basic memory fixes like structuring files and using /new work initially, but after a month of daily use, MEMORY.md can grow to 300 lines, causing agents to skim instead of read. The core issue: your agent doesn't know what it knows. It has no map of stored information, so it can't efficiently locate relevant context from previous conversations.
The 4-file system
This system uses four markdown files, each with a specific purpose, requiring no plugins, external tools, or databases.
- USER.md: Contains permanent facts about you that never change unless your life changes. Loaded every session. Includes identity information and hard rules. Example content:
# About me - Name: [name] - Partner: Sarah, birthday June 12 - Location: Jersey City, timezone ET - Job: [role] at [company] - Communication style: direct, no filler, no corporate speak # Hard rules - Never schedule meetings before 10am - Never send emails without my approval - Never auto-post to social media - CONTEXT.md: A short list (20-30 lines max) of what you're currently working on, thinking about, or waiting on. Updated weekly. Solves the "agent doesn't know what it knows" problem by providing immediate context at session start. Example content:
# Active right now (updated March 22) ## This week - Q2 presentation due March 28, needs sales data from Mike - Kitchen renovation: contractor Dave starting Monday, budget $15K - Tokyo trip April 1-5: flights booked, hotel not yet ## Waiting on - Tax docs from CPA (sent March 5, follow up if no response by March 25) - Mike's sales data for Q2 deck ## Patterns you've noticed about me - I check portfolio + news every morning, pre-generate briefing before 8am - I forget to follow up with people I meet at events, remind me after 2 weeks - Weekend = personal errands. Weekday = work. Don't mix them. - MEMORY.md: Stores ongoing context structured by topic, not as a wall of text. Sections by topic help the agent find information without reading everything. Should be pruned monthly. Example structure:
# People - Sarah (wife): works at [company], birthday June 12, prefers Italian restaurants - Mike (coworker): handles frontend, prefers slack over email, owes me sales data # Projects - Kitchen renovation: contractor Dave, $15K budget, timeline 4 weeks starting March 25 - Q2 presentation: due March 28, format same as Q1, Sarah reviewed last one # Decisions made - Switched from opus to sonnet March 5 (cost reasons, no quality difference for daily tasks) - Using brave search API instead of google (free tier is enough) - Jersey City apartment over Brooklyn (PATH access + $400/mo cheaper) # Recurring tasks - Daily briefing at 8am (calendar + email + weather + portfolio) - Weekly grocery list Sunday 6pm - Expense report auto-generate last day of month - ARCHIVE.md: Stores completed projects or old decisions that might matter later. The agent doesn't load this automatically, but can reference it when historical context is needed. Example content:
# Completed projects - Apartment search (Feb 2026): chose Jersey City, signed lease Feb 25 - Tax filing (March 2026): CPA handled, capital losses offset gains by ~$2K # Old decisions - Tried multi-agent setup Feb 10, reverted to single agent Feb 15 (token cost, routing issues)
Maintenance routine
Prune MEMORY.md monthly by moving completed projects to ARCHIVE.md or deleting them. Keep CONTEXT.md updated weekly. A 300-line MEMORY.md with finished projects from two months ago wastes tokens on every message.
📖 Read the full source: r/openclaw
👀 See Also

Practical Guide to Creating Claude Skills: Structure, Triggers, and Scripts
Claude Skills are instruction manuals that automate repetitive tasks, stored as folders with a SKILL.md file in ~/.claude/skills/. The guide explains YAML triggers, script integration, and multi-skill orchestration rules.

Understanding the .claude/ folder structure for Claude Code configuration
The .claude/ folder contains two directories: project-level for team configuration and global ~/.claude/ for personal preferences. CLAUDE.md files provide instructions that Claude follows throughout sessions, with CLAUDE.local.md for personal overrides.

Practical Framework for Choosing Between Claude's Haiku, Sonnet, and Opus Models
A developer tested Claude's three models on a 400-line Express.js refactoring task and found the key difference is reasoning depth, not intelligence. Haiku 4.5 handled straightforward parts but missed middleware ordering, Sonnet 4.6 caught the ordering issue and added TypeScript types, while Opus 4.6 identified a security flaw in auth middleware.

How to Import Your ChatGPT History Into Claude Using Projects
Export ChatGPT chats as Markdown files and load the relevant ones into Claude Projects to carry over years of context, ongoing projects, and style preferences.