memory-compress

Never let your agent forget what matters. Compress verbose daily logs into structured summaries — 4-8x compression, zero information loss. Inspired by classical Chinese writing: strip redundancy, keep turning points, let structure carry meaning. Smart hybrid extraction finds key events, lessons, decisions and todos from any markdown format. No API keys, no vector DB, no dependencies. Just run it. Works with any OpenClaw agent, Cursor, Claude Code, or any markdown-based memory system.

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "memory-compress" with this command: npx skills add linglin6/memory-compress

Memory Compress

Your agent's memory is drowning in daily logs. This fixes it.

I built this because my agent's MEMORY.md hit 15,000 words and daily logs kept piling up at 2,500 words/day. Needed a way to compress without losing the important stuff.

The key insight came from classical Chinese writing — ancient scholars compressed entire dynasties into single sentences. Same principle here:

  1. Strip redundancy — mention it once, not three times
  2. Keep only turning points — what changed, not what continued
  3. Let structure carry meaning — bullet hierarchy > verbose paragraphs
  4. Drop the process, keep the result — "failed 3 times, then X worked" > 3 failure descriptions

Result: 4-8x compression ratio, zero loss on key events. Zero dependencies.

Before: 2,500 words of raw daily log
After:    400 words of structured insight

Architecture

┌────────────────────────────────────────────────┐
│           THREE-LAYER MEMORY SYSTEM            │
├────────────────────────────────────────────────┤
│                                                │
│  Layer 1: IDENTITY (SOUL.md)                   │
│           Ultra-compressed, stable             │
│           Who you are. What matters.           │
│                                                │
│  Layer 2: CURATED MEMORY (MEMORY.md)     ◄──┐ │
│           4:1 compressed summaries          │ │
│           Key events + lessons + todos      │ │
│                                             │ │
│  Layer 3: RAW LOGS (memory/YYYY-MM-DD.md)   │ │
│           Full detail, everything        ───┘ │
│           ~2,500 words/day                     │
│                                                │
│  memory-compress: Layer 3 ──► Layer 2          │
└────────────────────────────────────────────────┘

Quick Start

# Compress today's log
node scripts/memory-compress.js memory/2026-03-14.md

# Specify output
node scripts/memory-compress.js memory/2026-03-14.md /tmp/compressed.md

# Append to long-term memory
node scripts/memory-compress.js memory/2026-03-14.md /tmp/today.md
cat /tmp/today.md >> MEMORY.md

How It Works

Smart Hybrid Extraction

Most memory tools choke on unstructured logs. This one doesn't.

Step 1 — Keyword Matching: Scans headers for 40+ patterns across Chinese & English:

  • Events: 重大进展, breakthrough, milestone, decision…
  • Lessons: 教训, 反思, insight, takeaway…
  • Growth: 进化, evolution, improvement…
  • Action items: 待办, 🔴, 🟡, todo, next step…

Step 2 — Fallback Extraction: When no keywords match (e.g. time-based headers like ## 08:44 Standup), automatically extracts all sections with top items. No data loss, ever.

Step 3 — Hybrid Mode: For multi-day files, matched sections use keyword extraction while unmatched sections use fallback. Both coexist. Nothing gets dropped.

The Classical Chinese Compression Philosophy

This isn't just "summarize shorter." It's a deliberate compression methodology:

PrincipleWhat it meansExample
去重复 (Strip redundancy)Mentioned once = enoughDon't repeat "WebSocket reconnection" across 3 sections
留转折 (Keep turning points)Only what changed"Switched from nginx to direct Node.js WSS" > 5 paragraphs of debugging
去过程 (Drop process)Result > journey"3 failures → fixed with X" > 3 failure descriptions
留白 (Leave blanks)Let reader inferBullet hierarchy implies relationship
形式即内容 (Form is content)Structure carries meaningNested lists > flat paragraphs

Output Format

## 2026-03-14 Key Experiences

### Key Events
- **Event title**
  - Detail 1
  - Detail 2

### Core Lessons
- Lesson learned

### Pending/Remaining
- 🔴 Urgent items
- 🟡 Important items

Batch Compression

# Compress last 7 days
for file in memory/2026-03-{08..14}.md; do
    [ -f "$file" ] && node scripts/memory-compress.js "$file" "/tmp/$(basename $file)"
done

Heartbeat Integration

Add to your maintenance cycle:

## Memory Maintenance (every 2-3 days)
1. Run: node scripts/memory-compress.js memory/YYYY-MM-DD.md /tmp/compressed.md
2. Review for accuracy
3. Append: cat /tmp/compressed.md >> MEMORY.md
4. Timestamp: date +%s > .last-memory-maintenance

Edge Cases

ScenarioBehavior
Empty fileGraceful skip
BOM-encodedAuto-detected, stripped
Non-UTF-8Warning + continues
Missing output dirAuto-created
No markdown structureFriendly message
Multi-day concatenatedHybrid strategy, all days preserved

CLI

node scripts/memory-compress.js <log-file> [output-file]
node scripts/memory-compress.js --help

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Automation

NEXO Brain

Cognitive memory system for AI agents — Atkinson-Shiffrin memory model, semantic RAG, trust scoring, and metacognitive error prevention. Gives your agent per...

Registry SourceRecently Updated
Automation

Google Stitch Workflow

Use when working with Google Stitch through a disciplined MCP-first workflow. Prefer this skill for project inspection, controlled screen generation and edit...

Registry SourceRecently Updated
Automation

Podcast Automation

播客自动化全流程技能——支持播客抓取、Whisper转录、Sonos播放、飞书Wiki归档。Use when you need to scrape podcast episodes, transcribe audio, play on Sonos speakers, or archive to Feishu Wiki.

Registry SourceRecently Updated
Automation

Morning Wake-Up

Morning wake-up automation that fetches today's weather and matches a Sonos playback preset. Use when setting up daily alarm routines, weather-driven music w...

Registry SourceRecently Updated