New to Claude Skills? Learn how to install them →

Saffaan-m on GitHub

Strategic Compact

Free

Optimize context management during complex workflows.

by affaan-m239.3k stars on affaan-m/ecc
1 views
Updated Aug 10, 2026
Get this skill

Free · Opens the source repo

What Strategic Compact does

The Strategic Compact skill is designed to enhance workflow efficiency by suggesting manual context compaction at critical points in your tasks. Unlike automatic compaction, which can occur at arbitrary times and disrupt your workflow, this skill prompts you to compact context at logical transitions, ensuring that important information is preserved. This is particularly useful in multi-phase tasks such as research, planning, implementation, and testing, where context can become cluttered and lead to confusion or loss of coherence.

When you are working on long sessions that approach context limits or switching between unrelated tasks, the Strategic Compact skill can help maintain clarity and focus. It operates by monitoring both context size and tool-call counts, suggesting a compaction when certain thresholds are reached. For instance, it will remind you to compact after reaching 160,000 tokens in a 200,000 token window, or after a configurable number of tool calls, allowing you to manage your context proactively.

The skill is particularly beneficial in scenarios where maintaining context is crucial, such as after completing a significant milestone or before starting a new phase of work. By compacting context strategically, you can free up memory for new tasks while retaining essential details from previous phases. This approach minimizes the risk of losing valuable context and enhances your productivity by allowing you to focus on the task at hand without unnecessary interruptions.

Overall, the Strategic Compact skill is ideal for developers and designers who frequently navigate complex workflows and need a reliable way to manage context effectively. It provides a structured approach to context compaction that aligns with your workflow, ensuring you remain efficient and organized throughout your projects.

When to use it

Use this skill during long sessions or when transitioning between different phases of a project to maintain context.

When not to use it

Avoid using this skill if you are working on simple tasks that do not approach context limits, as the overhead may not be necessary.

What you can build with it

Long Research Sessions

During extensive research phases, use this skill to compact context after gathering information, ensuring clarity when transitioning to planning.

Multi-Phase Project Management

In projects with distinct phases, like planning and implementation, compact context at the end of each phase to maintain focus and organization.

Switching Tasks

When changing between unrelated tasks in the same session, compact context to clear previous information and avoid confusion.

How to install Strategic Compact

View source

1. Install with the skills CLI

npx skills add affaan-m/ecc/strategic-compact --agent claude-code

2. Or install it manually

Download the skill folder and drop it into ~/.claude/skills/ for all projects, or .claude/skills/ to scope it to one repo. Restart Claude Code so it picks up the new skill.

Anthropic's agentic coding CLI, and the reference implementation of Agent Skills. Drop a skill folder into ~/.claude/skills and Claude Code loads it automatically whenever a task matches the skill's description. Claude Code docs

Inside SKILL.md

Written by affaan-m

Strategic Compact Skill

Suggests manual /compact at strategic points in your workflow rather than relying on arbitrary auto-compaction.

When to Activate

  • Running long sessions that approach context limits (200K+ tokens)
  • Working on multi-phase tasks (research → plan → implement → test)
  • Switching between unrelated tasks within the same session
  • After completing a major milestone and starting new work
  • When responses slow down or become less coherent (context pressure)

Why Strategic Compaction?

Auto-compaction triggers at arbitrary points:

  • Often mid-task, losing important context
  • No awareness of logical task boundaries
  • Can interrupt complex multi-step operations

Strategic compaction at logical boundaries:

  • After exploration, before execution — Compact research context, keep implementation plan
  • After completing a milestone — Fresh start for next phase
  • Before major context shifts — Clear exploration context before different task

How It Works

The suggest-compact.js script runs on PreToolUse (Edit/Write) and combines two signals:

  1. Context size (primary) — Reads the latest usage record from the session transcript (transcript_path in the hook payload) and sums input_tokens + cache_read_input_tokens + cache_creation_input_tokens (the true context size of the turn). Suggests /compact at a window-scaled threshold — 160k tokens on a 200k window, 250k on a 1M window (detected from a [1m] model marker, or inferred when observed tokens already exceed 200k) — and re-reminds after every additional 60k tokens of context growth
  2. Tool-call count (secondary) — Counts tool invocations in session; suggests at a configurable threshold (default: 50 calls), then every 25 calls after

Hook Setup

Add to your ~/.claude/settings.json:

{
  "hooks": {
    "PreToolUse": [
      {
        "matcher": "Edit",
        "hooks": [{ "type": "command", "command": "node ~/.claude/skills/strategic-compact/suggest-compact.js" }]
      },
      {
        "matcher": "Write",
        "hooks": [{ "type": "command", "command": "node ~/.claude/skills/strategic-compact/suggest-compact.js" }]
      }
    ]
  }
}

Configuration

Environment variables:

  • COMPACT_THRESHOLD — Tool calls before first suggestion (default: 50)
  • COMPACT_CONTEXT_THRESHOLD — Context tokens before the context-size suggestion (default: 160000 on a 200k window, 250000 on a 1M window; 0 disables the context signal)
  • COMPACT_CONTEXT_INTERVAL — Additional context tokens before the suggestion repeats (default: 60000)
  • ECC_CONTEXT_WINDOW_TOKENS — Explicit context-window size, in tokens, overriding auto-detection. Set this for large-window models whose reported id lacks a [1m] marker (e.g. 400k Opus 4.x, or a new 1M-window model family) so the threshold scales to the real window instead of defaulting to 200k and overstating context usage.
  • CLAUDE_CODE_AUTO_COMPACT_WINDOW — Claude Code's native window-size override, in tokens; honored as a fallback when ECC_CONTEXT_WINDOW_TOKENS is unset.

The context window is otherwise auto-detected from a [1m] model marker or inferred when observed tokens already exceed 200k. On a large-window model that carries neither signal, set one of the overrides above so the /compact suggestion fires at the right point.

Compaction Decision Guide

Use this table to decide when to compact:

Phase TransitionCompact?Why
Research → PlanningYesResearch context is bulky; plan is the distilled output
Planning → ImplementationYesPlan is in TodoWrite or a file; free up context for code
Implementation → TestingMaybeKeep if tests reference recent code; compact if switching focus
Debugging → Next featureYesDebug traces pollute context for unrelated work
Mid-implementationNoLosing variable names, file paths, and partial state is costly
After a failed approachYesClear the dead-end reasoning before trying a new approach

What Survives Compaction

Understanding what persists helps you compact with confidence:

PersistsLost
CLAUDE.md instructionsIntermediate reasoning and analysis
TodoWrite task listFile contents you previously read
Memory files (~/.claude/memory/)Multi-step conversation context
Git state (commits, branches)Tool call history and counts
Files on diskNuanced user preferences stated verbally

Best Practices

  1. Compact after planning — Once plan is finalized in TodoWrite, compact to start fresh
  2. Compact after debugging — Clear error-resolution context before continuing
  3. Don't compact mid-implementation — Preserve context for related changes
  4. Read the suggestion — The hook tells you when, you decide if
  5. Write before compacting — Save important context to files or memory before compacting
  6. Use /compact with a summary — Add a custom message: /compact Focus on implementing auth middleware next

Related

  • The Longform Guide — Token optimization section
  • Memory persistence hooks — For state that survives compaction
  • continuous-learning skill — Extracts patterns before session ends

Frequently asked questions about Strategic Compact

Similar skills