CCO Config — tune how aggressive the optimizer is

SkillAI & models

View and tune CCO's behavior thresholds, re-read warnings, cache staleness, prompt-coach length bands, and the /cco-pack budget cap

Use CCO Config — tune how aggressive the optimizer is in Claude, ChatGPT or Ahel Desktop

Free. Sign in, add CCO Config — tune how aggressive the optimizer is and connect your AI. About a minute.

Also: Claude Code · Cursor · Codex

Then ask your AI: use the CCO Config skill

Details

Instructions available. Your AI can read the instructions. Execution depends on the setup they require.

Add Ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.

CCO Config — tune how aggressive the optimizer isStart free

What this skill tells your AI

The instructions your AI receives, as published by egorfedorov/claude-context-optimizer in skills/cco-config/SKILL.md and read by Ahel’s review.

CCO's behavior knobs used to be magic numbers spread across four modules. This surfaces them, range-validated, in ~/.claude-context-optimizer/config.json under thresholds.

The plugin root is the directory containing src/config.js. Run everything from there.

Parse $ARGUMENTS:

show (or no arguments)

node ${CLAUDE_PLUGIN_ROOT}/src/config.js

Print the table as-is. * marks values the user set; ! marks a stored value that failed validation and is being ignored in favour of the default. If any ! rows appear, point them out — a typo there means a knob silently isn't doing what the user thinks.

get <key>

node ${CLAUDE_PLUGIN_ROOT}/src/config.js get <key>

set <key> <value>

node ${CLAUDE_PLUGIN_ROOT}/src/config.js set <key> <value>

Exits non-zero with the valid range on a bad value or unknown key — relay that message rather than guessing a correction. After a successful set, say which behavior it changes (see the table below), because the effect is not obvious from the key name alone.

reset [key]

node ${CLAUDE_PLUGIN_ROOT}/src/config.js reset <key>    # one key
node ${CLAUDE_PLUGIN_ROOT}/src/config.js reset          # everything back to defaults

Resetting everything discards all the user's tuning — confirm first unless they were explicit ("reset all", "вернуть всё по умолчанию").

The keys

KeyDefaultWhat it changes
rereadWarnAt3reads of an unedited file before the first re-read warning
rereadEscalateAt5reads before the "put it in CLAUDE.md" escalation
bigFileLines500full-read line count that triggers the offset/limit warning
mediumFileLines200full-read line count that triggers the soft hint
staleTokenRatio0.10share of budget loaded after a file before Read Cache re-allows it
staleFiles8other files loaded after a file before it counts as evicted (at 200K)
staleTimeMs600000ms since last read before a cached file counts as stale
promptMinWords8word count below which the coach calls a prompt too vague
promptIdealMaxWords200upper bound of the coach's "ideal length" band
promptTooLongWords500word count above which the ask is considered buried
packBudgetPercent25max share of the budget /cco-pack may consume

Tuning guidance

  • Too many re-read warnings? Raise rereadWarnAt to 4–5.
  • Read Cache blocking files you still need? Lower staleTimeMs (e.g. 300000 = 5 min) or staleTokenRatio so cached entries go stale sooner.
  • Read Cache not saving much? Raise them — entries stay fresh longer and more repeat reads get blocked.
  • Working on a 1M-context model with long prompts? Raise promptTooLongWords; the default band is tuned for shorter asks.
  • CCO_STALE_TIME_MS in the environment still overrides staleTimeMs, for a one-off experiment without changing config.

Signals

GitHub stars
114
Forks
9
Last commit
Sep 2026
Advanced
Item type
skill
Key
cco-config
Source
github.com/egorfedorov/claude-context-optimizer