Headroom — Context Compression Layer

SkillSearch

SmartCrusher + CCR context compression — crunch large JSON arrays, tool outputs, and search results to save tokens. Use when context is bloated or approaching token limits.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the Headroom — Context Compression Layer skill

What this skill tells your AI

The instructions your AI receives, as published by momori777/artemis in skills/headroom/SKILL.md and read by ahel’s review.

SmartCrusher + CCR (Compress-Cache-Retrieve) for token-saving context compression. Portable Python module — no external dependencies beyond stdlib.

When to Use

  • Large tool output (grep results, JSON arrays, file listings) approaching context limit
  • Before sending a long context to a model with token cap
  • Need to preserve essential items while dropping noise

Quick Start

from skills.headroom import SmartCrusher, CCRStore

# Compress a JSON array (keep most important items)
crusher = SmartCrusher()
result = crusher.crush(large_json, query="relevant keywords")
# result.compressed  → compressed JSON string
# result.items_kept / items_total → retention ratio
# result.compression_ratio → e.g. 0.3 means 70% tokens saved

SmartCrusher — 5-Dimensional Scoring

Keeps items by:

  1. First/Last items — pagination context + latest data (30% head + 15% tail)
  2. Error items — 100% preserved
  3. Statistical outliers — > 2 std from mean
  4. Query-relevant — BM25 match against user query
  5. Change points — significant transitions in data

Config overrides:

crusher = SmartCrusher(config={
    "max_items_after_crush": 15,
    "first_fraction": 0.3,
    "variance_threshold": 2.0,
})

CCR Store — Compress-Cache-Retrieve

store = CCRStore(max_entries=1000, ttl_seconds=3600)

# Cache original when crushing
store.put(hash_key, original_text)

# Retrieve if LLM needs more detail
full_text = store.get(hash_key)

Token Estimation

from skills.headroom import estimate_tokens
tokens = estimate_tokens("some text — CJK-aware counting")

Integration Notes

  • This module is already imported by skills/shared/context_trimming.py (SmartCrusher layer)
  • CCR background worker in skills/sakura/app/agent/memory_curator.py writes to Qdrant
  • For roleplay context trimming: the context_trimming module wraps SmartCrusher with 24msg/40K char cap

Signals

GitHub stars
324
Forks
19
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
headroom
Source
github.com/momori777/artemis