Claude_extensions compress
Manually compress session-progress entries, bypassing automatic threshold checks. Use when you want to force compression on demand.
install
source · Clone the upstream repo
git clone https://github.com/kimon1230/claude_extensions
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/kimon1230/claude_extensions "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/compress" ~/.claude/skills/kimon1230-claude-extensions-compress && rm -rf "$T"
manifest:
skills/compress/SKILL.mdsource content
Compress Session Progress
-
Determine the project name (used for file paths): a. If a
was written earlier this session, reuse that project name. b. Else if inside a git repo with a remote, use the~/.claude/status/*/session-progress.md
remote. Parse the last path component, stripping any trailingorigin
(e.g.,.git
frommy-lib
orgit@github.com:user/my-lib.git
). c. Else use the basename of the git root (https://github.com/user/my-lib.git
). d. Else use the basename of the current working directory. e. If still ambiguous, ask the user.git rev-parse --show-toplevel -
Run the compressor with force mode using the Bash tool:
.venv/bin/python -c " import sys, os sys.path.insert(0, os.path.expanduser('~/.claude/hooks')) from lib.compressor import compress print(compress(project_name='<PROJECT_NAME>', force=True)) "Replace
with the value determined in step 1.<PROJECT_NAME> -
Report the result to the user:
- If compression occurred, display the summary returned by the compressor (entries compressed, entries preserved, etc.).
- If the compressor reports nothing was eligible, display: "Nothing to compress — all N entries are active." (where N is the entry count from the summary).
- Do not treat "nothing to compress" as an error — it is a normal outcome.