← Back to Skills Marketplace
zgjq

Context Compactor (Zero Dep)

by zgjq · GitHub ↗ · v1.1.3 · MIT-0
cross-platform ✓ Security Clean
195
Downloads
0
Stars
0
Active Installs
8
Versions
Install in OpenClaw
/install context-compactor-zero-dep
Description
Automatic context compression for OpenClaw sessions. Summarizes long conversations into structured digests (decisions, facts, pending items, technical detail...
README (SKILL.md)

Context Compactor

Compresses long conversations into structured summaries. Saves token by replacing raw conversation history with dense, searchable digests.

Requirements

  • Runtime: Python 3.10+ (standard library only)
  • OS: Linux, macOS
  • Environment variables:
    • OPENCLAW_WORKSPACE — Workspace root (default: ~/.openclaw/workspace)
  • Environment: OPENCLAW_WORKSPACE (default: ~/.openclaw/workspace)

Security

Write Restrictions (Hard Rules)

The agent may ONLY write to these locations:

  • memory/compacts/ — compact files only
  • SESSION-STATE.md — via smart-memory skill (not this skill)

The agent MUST NOT write to:

  • Any directory outside the workspace
  • System directories (/etc, /usr, /var, /tmp except session cache)
  • User home directory root (~/.ssh, ~/.config, ~/.aws, etc.)
  • Any .* dotfile or dotdir in workspace root
  • Any file not matching memory/compacts/*.md

Read Restrictions

The agent may ONLY read from:

  • The current conversation context (already available)
  • memory/compacts/ — for listing/reading past compacts

The agent MUST NOT read from:

  • /etc/passwd, /etc/shadow, or any system credential file
  • ~/.ssh/, ~/.aws/, ~/.config/openclaw/ or similar
  • Any file outside the workspace unless explicitly asked by the user

Redaction Enforcement

Before writing ANY compact, the agent MUST run this checklist:

  1. ✅ No file paths (replace with \x3CREDACTED_PATH>)
  2. ✅ No URLs (replace with \x3CREDACTED_URL>)
  3. ✅ No internal IPs (replace with \x3CINTERNAL_URL>)
  4. ✅ No passwords, tokens, API keys (delete entirely)
  5. ✅ No personal info beyond work context

If any item fails → do not write the compact until fixed.

Privacy Boundaries

What Compacts May Contain

  • Decisions, facts, pending actions, blockers
  • Project names and feature descriptions

What Compacts Must NOT Contain

  • File system paths (use \x3CREDACTED_PATH> placeholder)
  • Internal URLs, endpoints, or infrastructure details
  • API keys, tokens, passwords, secrets (script-level regex filter)
  • Private keys or certificates
  • User personal information beyond work context

Agent Rules

  • Before saving a compact, strip or redact all paths, internal URLs, and credentials
  • Use placeholders: \x3CPROJECT_ROOT>, \x3CINTERNAL_URL>, \x3CDB_CONFIG>
  • If unsure whether something is sensitive, redact it
  • Compacts are for "what was decided" not "where things live"

Data Isolation

  • Keyword extraction: Fully local — no network calls, no external transmission
  • LLM extraction (opt-in): Sends conversation text to the agent's configured LLM provider. This is inherent to using any LLM-based compaction and is not controlled by this skill. The skill only provides the prompt template; the agent/platform handles the actual API call.
  • Maximum 30 compacts retained, oldest auto-deleted
  • Compacts are stored locally and read locally — the skill itself never makes network calls

How It Works

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.

Quick Reference

Action Script
Write compact (agent-authored) python3 scripts/compact_session.py --write \x3C 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.

Compact Format

# 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.

Agent Behavior

When to Compact

  • Conversation exceeds ~50 turns
  • Context window approaching limits (see AGENTS.md token discipline rules)
  • User says "compact", "summarize", "fresh start", "压缩"

How to Compact

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.

When to Inject Compact

  • New session startup — check for recent compact
  • User asks "what were we working on"
  • Context search returns nothing but a compact exists

Extraction Rules

From the conversation, extract:

  1. Decisions — anything with "chose X over Y", "decided to", "going with"
  2. Facts — URLs, file paths, configs, technical details, user preferences
  3. Pending — uncompleted tasks, "later", "TODO", "next step"
  4. Blockers — "need X first", "blocked by", "waiting for"
  5. Summary — 2-3 sentence overview of what happened

Skip:

  • Greetings, small talk, "ok", "嗯"
  • Repeated information already in MEMORY.md
  • Debugging noise (unless it led to a LESSON)
  • Sensitive data (tokens, passwords)

Integration with smart-memory

This skill works with smart-memory:

  • Compacts reference [TYPE] tags from smart-memory's classification system
  • Pending items from compacts can feed into wal pending
  • Facts from compacts can be promoted to MEMORY.md
  • Compacts live in memory/compacts/ — decayed by smart-memory's archival system

File Structure

~/.openclaw/workspace/
├── memory/
│   └── compacts/
│       ├── 2026-03-31-1700.md   # Session compact
│       ├── 2026-03-30-1430.md
│       └── ...
Usage Guidance
This skill appears to do what it says: locally summarize conversations and save redacted compacts under OPENCLAW_WORKSPACE/memory/compacts. Before installing: 1) Confirm OPENCLAW_WORKSPACE points to a directory you control (the default is ~/.openclaw/workspace). 2) Remember redaction is heuristic — avoid pasting secrets or private keys into conversations you plan to compact. 3) Verify your agent's LLM provider/network settings if you choose LLM-based compaction (the skill only supplies the prompt; the platform performs the API call). 4) Inspect the full script yourself if you need higher assurance (the included script enforces path containment and pattern redaction but no automated check is perfect). If those points are acceptable, the skill is internally consistent with its stated purpose.
Capability Analysis
Type: OpenClaw Skill Name: context-compactor-zero-dep Version: 1.1.3 The context-compactor skill is a utility for summarizing long conversation histories to reduce token usage. It includes proactive security measures such as regex-based redaction of API keys, passwords, internal IPs, and file paths, as well as strict path traversal checks in `scripts/compact_session.py` to ensure file operations remain within the designated workspace. The instructions in `SKILL.md` and `compaction_prompt.md` are defensive in nature, explicitly guiding the AI agent to avoid leaking sensitive information into the generated summaries.
Capability Assessment
Purpose & Capability
Name/description (conversation compaction) match the included script and SKILL.md: the script extracts summaries, redacts sensitive patterns, and writes compacts to a workspace 'memory/compacts' folder. The skill does not ask for unrelated cloud credentials or system privileges.
Instruction Scope
SKILL.md limits reads/writes to the workspace and memory/compacts and requires a redaction checklist; the script implements sanitization and path containment checks. This stays within the described scope. Note: SKILL.md and examples mention sending text to the agent's configured LLM provider when LLM-based compaction is chosen — that network call is performed by the platform/agent's LLM integration, not by this skill, and is called out in the docs.
Install Mechanism
No install spec and the script relies on Python 3.10+ standard library only. No external downloads or package installs are requested.
Credentials
Registry metadata lists no required env vars, but SKILL.md and the script reference OPENCLAW_WORKSPACE (default ~/.openclaw/workspace). This is a minor metadata mismatch — the script will fall back to a sane default. The skill does write local files under the workspace; ensure the workspace path does not contain unintended sensitive files and that you trust where compacts will be stored.
Persistence & Privilege
always:false and no special platform-wide privileges. The skill writes local compact files and enforces a 30-file retention policy; it does not modify other skills or system settings.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install context-compactor-zero-dep
  3. After installation, invoke the skill by name or use /context-compactor-zero-dep
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.1.3
Fix: --from-file now restricted to workspace paths (assert_safe_path check). Rejects reads outside workspace.
v1.1.2
Security: agent now writes via --write flag (programmatic enforcement), not directly to disk. Script rejects paths/URLs/IPs/secrets before saving. Declared OPENCLAW_WORKSPACE as required env var.
v1.1.1
Security hardening: write restricted to memory/compacts/ only (path assertion), read restricted to workspace, explicit 'must not' lists, pre-write redaction checklist
v1.1.0
Unified: all compaction done by agent (no script extraction). Scripts reduced to list/latest/stats. SKILL.md updated with clear agent workflow.
v1.0.3
Clarify: LLM extraction sends conversation to agent's LLM provider (external). Keyword extraction is fully local. Updated Data Isolation section.
v1.0.2
Fix: sanitize() now redacts file paths (<REDACTED_PATH>), URLs (<REDACTED_URL>), internal IPs (<INTERNAL_URL>). Removed URL/PATH from fact extraction entirely.
v1.0.1
Privacy: add explicit boundaries (no paths/URLs/infra in compacts), agent redaction rules, placeholder convention (<PROJECT_ROOT>/<INTERNAL_URL>). Updated prompt to strip locations.
v1.0.0
Initial release of context-compactor, an automatic context compression skill for OpenClaw. - Summarizes long conversations into structured markdown digests (decisions, facts, pending, technical details). - Saves compressed digests in the local workspace for reuse in new or ongoing sessions. - Triggers automatically when conversations get lengthy or bloat, or by user command (“compact”, “summarize”). - Reduces token usage by replacing raw conversation history with a dense summary. - Provides CLI tools to extract, list, and interact with compacts. - Zero third-party dependencies; pure Python 3.10+ (Linux/macOS only).
Metadata
Slug context-compactor-zero-dep
Version 1.1.3
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 8
Frequently Asked Questions

What is Context Compactor (Zero Dep)?

Automatic context compression for OpenClaw sessions. Summarizes long conversations into structured digests (decisions, facts, pending items, technical detail... It is an AI Agent Skill for Claude Code / OpenClaw, with 195 downloads so far.

How do I install Context Compactor (Zero Dep)?

Run "/install context-compactor-zero-dep" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Context Compactor (Zero Dep) free?

Yes, Context Compactor (Zero Dep) is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does Context Compactor (Zero Dep) support?

Context Compactor (Zero Dep) is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Context Compactor (Zero Dep)?

It is built and maintained by zgjq (@zgjq); the current version is v1.1.3.

💬 Comments