install
source · Clone the upstream repo
git clone https://github.com/NeverSight/learn-skills.dev
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/NeverSight/learn-skills.dev "$T" && mkdir -p ~/.claude/skills && cp -r "$T/data/skills-md/aaaaqwq/agi-super-skills/context-manager" ~/.claude/skills/neversight-learn-skills-dev-context-manager-13fbe0 && rm -rf "$T"
manifest:
data/skills-md/aaaaqwq/agi-super-skills/context-manager/SKILL.mdsource content
Context Manager Skill
AI-powered context management for OpenClaw sessions. Uses the agent itself to generate intelligent summaries, then resets the session with compressed context.
Quick Start
# List all sessions with usage stats ~/openclaw/skills/context-manager/compress.sh list # Check status of a specific session ~/openclaw/skills/context-manager/compress.sh status agent:main:main # Generate AI summary (read-only, safe) ~/openclaw/skills/context-manager/compress.sh summarize agent:main:main # Compress session: generate summary, reset, inject (DESTRUCTIVE) ~/openclaw/skills/context-manager/compress.sh summarize agent:main:main --replace
When to Use
- Context usage approaching 70-80%+
- Long sessions with extensive conversation history
- Before the session becomes slow or loses coherence
- Proactively to maintain fast, focused sessions
How It Works
- AI Summarization: Sends a prompt to the agent asking it to summarize its own context
- Backup: Saves the original JSONL session file to
memory/compressed/ - Reset: Deletes the JSONL file (official reset method)
- Inject: Sends the AI-generated summary as the first message in the fresh session
- Result: Same session key, new session ID, compressed context
Key insight: The agent has full visibility into its own context, so it generates the best possible summary.
Commands
Session Commands
| Command | Description |
|---|---|
| List all sessions with token usage |
| Show detailed status for a session |
| Generate AI summary (read-only) |
| Summarize AND reset session with compressed context |
| Legacy grep-based extraction (not recommended) |
| Check if session exceeds threshold |
| Check all sessions at once |
Configuration Commands
| Command | Description |
|---|---|
| Set compression threshold (50-99%, default: 80) |
| Set depth: brief/balanced/comprehensive |
| Set quiet hours (e.g., "23:00-07:00") |
| Show help and usage examples |
Examples
List All Sessions
$ ~/openclaw/skills/context-manager/compress.sh list 📋 Available Sessions (4 total) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ # SESSION KEY KIND TOKENS USAGE 1 agent:main:main direct 70188 70% 2 agent:main:slack:channel:c0aaruq2en9 group 20854 20% 3 agent:main:cron:0d02af4b-... direct 18718 18%
Check Session Status
$ ~/openclaw/skills/context-manager/compress.sh status agent:main:main 📊 Context Manager Status ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Session Key: agent:main:main Session ID: fc192a2d-091c-48c7-9fad-12bf34687454 Kind: direct Model: gemini-3-flash ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Threshold: 80% Tokens: 70188 / 100000 Usage: 70%
Generate AI Summary (Safe, Read-Only)
$ ~/openclaw/skills/context-manager/compress.sh summarize agent:main:main 🧠 Requesting AI summary for session: agent:main:main Session ID: fc192a2d-091c-48c7-9fad-12bf34687454 ✅ AI Summary generated! Saved to: memory/compressed/20260127-123146.ai-summary.md ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ### Session Summary: January 27, 2026 #### 1. What was accomplished - System audit completed - Essay generation with sub-agents ...
Full Compression (Summarize + Reset + Inject)
$ ~/openclaw/skills/context-manager/compress.sh summarize agent:main:main --replace 🧠 Requesting AI summary for session: agent:main:main Session ID: fc192a2d-091c-48c7-9fad-12bf34687454 Mode: REPLACE (will reset session after summary) ✅ AI Summary generated! ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ [AI-generated summary displayed] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 🔄 Resetting session and injecting compressed context... Backing up session file... Backup saved: memory/compressed/20260127-123146.session-backup.jsonl Deleting session JSONL to reset... Injecting compressed context into fresh session... ✅ Session compressed successfully! Old session ID: fc192a2d-091c-48c7-9fad-12bf34687454 New session ID: a1b2c3d4-... Session is ready to continue with compressed context
Result: 70k tokens → 16k tokens (77% reduction)
Output Files
When compression occurs, these files are created in
memory/compressed/:
| File | Description |
|---|---|
| AI-generated session summary |
| Full backup of original session (can restore if needed) |
| Raw transcript extraction (legacy) |
| Grep-based summary (legacy) |
Requirements
- openclaw - Gateway must be running
- jq - JSON parsing (
)brew install jq - Gateway access - Script uses
andopenclaw agentopenclaw sessions
Technical Details
Session Reset Method
The script uses JSONL deletion to reset sessions (official method):
- Backup JSONL to
memory/compressed/ - Delete
~/.openclaw/agents/{agent}/sessions/{sessionId}.jsonl - Send compressed context via
openclaw agent --to main - New session is created automatically with summary as first message
Why Not /reset?
The
/reset slash command only works in the chat interface. When sent via openclaw agent --session-id, it's treated as a regular message and the agent tries to interpret it as a task.
AI Summarization Prompt
The script asks the agent to provide:
- What was accomplished (key tasks)
- Key decisions made (with rationale)
- Current state (where we left off)
- Pending tasks (what still needs doing)
- Important context (critical info to remember)
Troubleshooting
Summary Text Empty
If the AI summary extraction fails, check stderr redirect:
# The script uses 2>/dev/null to avoid Node deprecation warnings breaking JSON openclaw agent --session-id $ID -m "..." --json 2>/dev/null
Session Not Resetting
Verify the JSONL file path:
ls ~/.openclaw/agents/main/sessions/
Restore From Backup
If something goes wrong:
cp memory/compressed/{timestamp}.session-backup.jsonl \ ~/.openclaw/agents/main/sessions/{sessionId}.jsonl
Check Logs
Use
openclaw logs to troubleshoot:
openclaw logs --limit 50 --json | grep -i "error\|fail"
Best Practices
- Backup first: The script auto-backs up, but you can also manually backup before testing
- Test on non-critical sessions first: Try on a Slack channel or cron session before main
- Check the summary: Run
withoutsummarize
first to verify the summary quality--replace - Monitor token count: Use
to verify compression workedstatus
See Also
openclaw sessions --helpopenclaw agent --help