← 返回
未分类 中文

context-compression-claude-code

Use this skill whenever the conversation context is getting long, when a user asks to "compress", "summarize", or "clean up" the conversation, or when you de...
使用此技能:对话上下文过长、用户要求压缩、概括或清理对话,或在认为必要时。
lizlzzzz lizlzzzz 来源
未分类 clawhub v1.0.2 1 版本 100000 Key: 无需
★ 0
Stars
📥 445
下载
💾 1
安装
1
版本
#latest

概述

> Origin: This skill was extracted from Claude Code's internal implementation and rules. Claude Code openly exposes its safety mechanisms (hooks, system prompts, skill definitions) in the ~/.claude/ directory. The tiered compression strategy, layer classification system, and memory file structure were reverse-engineered from Claude Code's PreCompact/PostCompact hooks and session memory handling, then adapted for OpenClaw's multi-channel environment.

Context Compression

Why Tiered Compression Is Needed

A one-size-fits-all approach to dropping context either leaves the agent without memory or burns through context too quickly. The core principle of tiered strategy is: different information has different lifecycles. A user's statement "I prefer concise responses" is worth remembering forever; but a resolved error message from three days ago has no value today.


Before Compression: Identify the Scenario

Before starting compression, determine which conversation scenario you're in, as retention strategies differ:

ScenarioCharacteristicsCompression Tendency
--------------------------------------------------
Task-orientedClear goal, step-drivenKeep goal and incomplete steps, compress process details
Chat-orientedOpen topics, no clear taskKeep only user preference signals, discard aggressively
Research-orientedGathering information, continuous accumulationKeep conclusions and sources, compress procedural discussions
Group-chatMultiple people, high noiseDiscard aggressively, keep only directly relevant content

Three-Layer Compression Strategy

Layer 1: Must Preserve (Keep Original)

These contents remain in original or near-original form after compression:

  • User's explicitly stated goals, requirements, deadlines
  • Incomplete tasks (in-progress, interrupted)
  • Confirmed important decisions ("We decided to go with Plan B")
  • User-expressed explicit preferences ("I don't like X", "Always use Y format going forward")
  • Key credentials or config (accounts, paths, special settings)

Layer 2: Compress to Summary (Extract and Keep)

Keep conclusions, discard process:

  • Completed tasks → One-sentence conclusion ("Completed X, result was Y")
  • Long explanations → Core point in 1-2 sentences
  • Tool call outputs → Keep only final results, discard intermediate steps
  • Repeated topics → Merge into one record

Layer 3: Discard Directly

  • Small talk, thanks, acknowledgment messages ("ok", "thanks", "got it")
  • Rejected or obsolete proposals
  • Multiple attempts at the same question (keep only the final effective one)
  • Pure transitional content ("let me think", "hold on")
  • Resolved error messages that won't be needed again

Compression Execution Steps

Step 1: Scan All Conversation

Identify all Layer 1 content, make a checklist — this cannot be discarded.

Step 2: Process Layer 2

For each conversation segment, judge: Is there a conclusion worth keeping? If yes, distill into one sentence.

Step 3: Generate Compressed Summary

In chronological order, combine Layer 1 content + Layer 2 extractions into a compact context summary, typically no more than 600 characters.

Step 4: Update Memory File

Write high-persistence-value information (user preferences, long-term goals, important decisions) to the memory file. See memory-template.md for format.

Step 5: Inform the User

Briefly explain what was compressed and what key information was preserved, so the user knows the context has been updated.


OpenClaw Multi-Channel Supplementary Rules

OpenClaw runs across multiple messaging platforms, pay extra attention:

Group chat scenarios: Other members' messages default to Layer 3 (discard) unless the user explicitly responds to or quotes that message.

Cross-day conversations: Judge by topic unit, not time unit. An unfinished task from yesterday belongs to Layer 1; a completed topic from yesterday drops one level today.

Channel switching: If the user asks similar questions on different channels (WhatsApp vs Telegram), it indicates genuine concern — promote priority to Layer 1.


Optional: Auto-Trigger (Hook Configuration)

If you use Claude Code or an agent that supports PreCompact hooks, you can configure auto-trigger. See setup-hook.md for details.

Without hook configuration, you can trigger manually: just tell the agent "compress my context" or "context is getting long, clean it up".

版本历史

共 1 个版本

  • v1.0.2 当前
    2026-05-03 05:26 安全 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

dev-programming

Github

steipete
使用 `gh` CLI 与 GitHub 交互,通过 `gh issue`、`gh pr`、`gh run` 和 `gh api` 管理议题、PR、CI 运行及高级查询。
★ 676 📥 325,263
ai-agent

Skill Vetter

spclaudehome
AI智能体技能安全预审工具。安装ClawdHub、GitHub等来源技能前,检查风险信号、权限范围及可疑模式。
★ 1,225 📥 267,661
ai-agent

Self-Improving + Proactive Agent

ivangdavila
自我反思+自我批评+自我学习+自组织记忆。智能体评估自身工作、发现错误并持续改进。
★ 1,376 📥 320,195