Install
openclaw skills install context-compactor-zero-depAutomatic context compression for OpenClaw sessions. Summarizes long conversations into structured digests (decisions, facts, pending items, technical details), saves compressed summaries to disk, and injects them into new sessions. Reduces token waste from redundant context repetition. Use when conversation exceeds ~50 turns, when context feels bloated, when starting a new session and prior context is needed, or when the user says "compact", "summarize this conversation", "start fresh but remember".
openclaw skills install context-compactor-zero-depCompresses long conversations into structured summaries. Saves token by replacing raw conversation history with dense, searchable digests.
OPENCLAW_WORKSPACE — Workspace root (default: ~/.openclaw/workspace)OPENCLAW_WORKSPACE (default: ~/.openclaw/workspace)The agent may ONLY write to these locations:
memory/compacts/ — compact files onlySESSION-STATE.md — via smart-memory skill (not this skill)The agent MUST NOT write to:
.* dotfile or dotdir in workspace rootmemory/compacts/*.mdThe agent may ONLY read from:
memory/compacts/ — for listing/reading past compactsThe agent MUST NOT read from:
/etc/passwd, /etc/shadow, or any system credential file~/.ssh/, ~/.aws/, ~/.config/openclaw/ or similarBefore writing ANY compact, the agent MUST run this checklist:
<REDACTED_PATH>)<REDACTED_URL>)<INTERNAL_URL>)If any item fails → do not write the compact until fixed.
<REDACTED_PATH> placeholder)<PROJECT_ROOT>, <INTERNAL_URL>, <DB_CONFIG>Long conversation (10,000+ tokens)
↓
compact_session.py --extract
↓
Structured digest (~500 tokens)
↓
Saved to memory/compacts/YYYY-MM-DD-HHMM.md
↓
New session reads latest compact on startup
Compression ratio: ~20:1 — a 10,000 token conversation becomes ~500 token digest.
| Action | Script |
|---|---|
| Write compact (agent-authored) | python3 scripts/compact_session.py --write < compact.md |
| List compacts | python3 scripts/compact_session.py --list |
| Read latest compact | python3 scripts/compact_session.py --latest |
| Show compact stats | python3 scripts/compact_session.py --stats |
How compaction works: The agent drafts the compact content, then pipes it through --write which enforces security checks (no paths, URLs, IPs, secrets) before saving. This ensures programmatic enforcement — the agent never writes directly to disk.
# Session Compact — 2026-03-31 17:00 UTC
**Turns**: 45 | **Est. tokens saved**: ~9,500
## Decisions Made
- [2026-03-31] Chose SQLite over Redis for golden3 prompts
- [2026-03-31] Decided to use zero-dependency approach for smart-memory
## Facts Established
- [PROJ] golden3 site at golden3.killclaw.xyz, repo github.com/zgjq/golden3
- [TECH] Prompts stored in data/golden3.db, table `prompts`, category `scoring`
- [PREF] User prefers direct, no-nonsense communication style
## Pending Actions
- [ ] Publish smart-memory to ClawHub
- [ ] Fix scoring display from 100-point to 10-point scale
## Technical Context
- Server: ubuntu-4gb-hel1-1, Node v24.14.0
- Golden3 uses node:sqlite (DatabaseSync)
## Blockers / Open Questions
- Need ClawHub login token to publish
## Session Summary
Built smart-memory skill from Claude Code architecture study. Published to ClawHub
as smart-memory-zero-dep. Memory system now active with WAL protocol, type
classification, temporal decay, and snapshot/restore.
The agent drafts the compact content, then saves it via:
echo "compact content" | python3 scripts/compact_session.py --write
The --write flag enforces all security checks programmatically: redaction of paths/URLs/IPs/secrets, path containment within workspace, and file naming. The agent NEVER writes directly to disk.
From the conversation, extract:
Skip:
This skill works with smart-memory:
[TYPE] tags from smart-memory's classification systemwal pendingmemory/compacts/ — decayed by smart-memory's archival system~/.openclaw/workspace/
├── memory/
│ └── compacts/
│ ├── 2026-03-31-1700.md # Session compact
│ ├── 2026-03-30-1430.md
│ └── ...