Strategic Compact Skill

SkillProductivity

Suggests manual context compaction at logical intervals to preserve context through task phases rather than arbitrary auto-compaction.

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 Strategic Compact Skill skill

What this skill tells your AI

The instructions your AI receives, as published by fmarzochi/egc in .agents/skills/strategic-compact/SKILL.md and read by ahel’s review.

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:

  1. Tracks tool calls: Counts tool invocations in session
  2. Threshold detection: Suggests at configurable threshold (default: 50 calls)
  3. Periodic reminders: Reminds every 25 calls after threshold

Hook Setup

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

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

Configuration

Environment variables:

  • COMPACT_THRESHOLD: Tool calls before first suggestion (default: 50)

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
GEMINI.md instructionsIntermediate reasoning and analysis
TodoWrite task listFile contents you previously read
Memory files (~/.gemini/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

Signals

GitHub stars
52
Forks
43
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
strategic-compact
Source
github.com/fmarzochi/egc