agentleFS
mhyllemhylle/claude-skills-collection/skills/strategic-compact/SKILL.md

strategic-compact

Skill20 starsChanged 37 days agoMITView on GitHub

Suggest context compaction at optimal logical boundaries — between phases, after a research burst, after a debugging session ends — rather than waiting for the automatic compaction threshold to hit mid-task. Use when the user asks whether to compact, mentions context is getting long, wants to checkpoint before a big task, or when you notice the session is approaching a natural transition where compacting would preserve the next phase's context. Complements (doesn't replace) Claude Code's built-in auto-compaction. Triggers on "/strategic-compact", "should I compact", "when should I clear context", "getting long", or proactively at phase boundaries and session transitions.

68 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use configure-ecc, ralphinho-rfc-pipeline and 10 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • royaluniondesign-sysSkill

    configure-ecc

    Interactive installer for Everything Claude Code — guides users through selecting and installing skills and rules to user-level or project-level directories, verifies paths, and optionally optimizes installed files.

    Also in 11 projects that use this

  • junimnjwSkill

    ralphinho-rfc-pipeline

    RFC-driven multi-agent DAG execution pattern with quality gates, merge queues, and work unit orchestration.

    Also in 11 projects that use this

  • InfopibeSkill

    everything-claude-code

    Also in 11 projects that use this

  • TironFoxSkill

    openclaw-persona-forge

    为 OpenClaw AI Agent 锻造完整的龙虾灵魂方案。根据用户偏好或随机抽卡, 输出身份定位、灵魂描述(SOUL.md)、角色化底线规则、名字和头像生图提示词。 如当前环境提供已审核的生图 skill,可自动生成统一风格头像图片。 当用户需要创建、设计或定制 OpenClaw 龙虾灵魂时使用。 不适用于:微调已有 SOUL.md、非 OpenClaw 平台的角色设计、纯工具型无性格 Agent。 触发词:龙虾灵魂、虾魂、OpenClaw 灵魂、养虾灵魂、龙虾角色、龙虾定位、 龙虾剧本杀角色、龙虾游戏角色、龙虾 NPC、龙虾性格、龙虾背景故事、 lobster soul、lobster character、抽卡、随机龙虾、龙虾 SOUL、gacha。

    Also in 5 projects that use this

  • royaluniondesign-sysSkill

    content-hash-cache-pattern

    Cache expensive file processing results using SHA-256 content hashes — path-independent, auto-invalidating, with service layer separation.

    Also in 15 projects that use this

  • loulanyueSkill

    nuxt4-patterns

    Nuxt 4 app patterns for hydration safety, performance, route rules, lazy loading, and SSR-safe data fetching with useFetch and useAsyncData.

    Also in 9 projects that use this

The file

We split this skill into the rules it gives an agent

5 rules. 0 are common, 4 are distinctive, and 1 is very specific to this project.

  • 0

    Common

    Most of the 64 edited versions we read keep these.

  • 4

    Distinctive

    This author's own choices. Worth a look.

  • 1

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Default: 50 weighted tool calls between logical boundaries.

    line 95
  2. Distinctive:

    Read — 0.5 (inspection, lower cognitive load)

    line 100
  3. Very specific:

    When a suggestion is accepted, auto-invoke context-saver before compaction (via integrate_context_saver: true in hook config — default).

    line 110
  4. Distinctive:

    Keep suggestions informative but non-intrusive:

    line 122
  5. Distinctive:

    Always show why now — the specific boundary and conditions that triggered the suggestion.

    line 149

“Common” is measured: kept by at least 6 in 10 of the 64 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Strategic Compact

<!-- contents: generated by tests/skill_structure.py --write; edit headings, not this block -->

Contents

  • Why strategic > automatic
  • When to use
  • The core heuristic
    • Suggest when…
    • Don't suggest when…
  • Threshold
  • Preserve before compact
  • Suggestion format
  • Integration with other skills
  • Core principles (keep these in mind)
  • References (loaded on demand)

Reference files (open one when a step points to it):

  • references/boundary-rules.md: Boundary rules — when to suggest, when not to
  • references/hook-setup.md: Hook setup and configuration
<!-- /contents -->

Suggest context compaction at logical boundaries — not arbitrary token thresholds. Auto-compaction is a safety net; strategic compaction is a workflow optimization that makes compaction feel like a natural pause instead of an interruption.


Why strategic > automatic

Auto-compaction fires on simple thresholds (token count, time). That creates real problems:

  • Mid-task disruption — auto-compact might fire while you're debugging, losing the mental model built up over many interactions.
  • Context fragmentation — arbitrary cutoffs create artificial boundaries in session history.
  • Lost continuity — "why" decisions get compacted away at random points rather than preserved at meaningful boundaries.
  • Incomplete state — mid-implementation compaction can lose partially completed work.

Strategic compaction instead:

  • Monitors for logical boundaries (task completion, phase transitions, successful commits).
  • Considers semantic state (actively debugging vs. between tasks).
  • Provides suggestions — never forces compaction.
  • Integrates with context-saver to preserve critical state first.
  • Respects workflow rhythm rather than imposing arbitrary limits.

Goal: compaction that feels like a natural pause, not an interruption.


When to use

Passive monitoring — via PreToolUse hook that attaches to every tool call, tracks counters, and evaluates boundaries. Hook setup → references/hook-setup.md.

Direct invocation:

  • /strategic-compact — check current session state and get a recommendation.
  • /strategic-compact status — view tool counts and threshold proximity.
  • /strategic-compact now — force a suggestion (auto-invokes context-saver first).

Trigger phrases: "should I compact", "when should I clear context", "getting long", "checkpoint", "context is getting big".


The core heuristic

Two questions:

  1. Has enough work happened that compaction is worthwhile? (weighted tool-call count vs. threshold)
  2. Is this moment a good place to compact? (logical boundary vs. mid-task)

Both must be yes before suggesting. The full rule set is in references/boundary-rules.md. Summary:

Suggest when…

Signal strengthTrigger
StrongTask completion (TaskUpdate → completed), + ≥60% threshold, + >10min since last suggestion
StrongSuccessful git commit, + ≥70% threshold, + no pending tasks in this feature
MediumNew feature starting (TaskUpdate → in_progress after completing previous), + ≥50% threshold
Warning (high priority)Estimated context usage >80% + ≥90% threshold — prevent forced auto-compaction mid-task

Don't suggest when…

  • Active debugging — recent errors, investigation-pattern tool sequence, or task name contains "debug/fix/investigate".
  • Active implementation — uncommitted changes, recent edits, unresolved test failures.
  • User recently deferred — respect the last "not now".
  • Critical operation in progress — rollback, migration, destructive commands.
  • Last suggestion was <10 min ago — avoid nagging.

Threshold

Default: 50 weighted tool calls between logical boundaries.

"Significant" means the weighted count — raw tool calls multiplied by the weight table below. A tool call with weight 1.0 contributes 1 significant call; a Read with weight 0.5 contributes 0.5. Weights:

  • Edit / Write / Bash / NotebookEdit / TaskUpdate — weight 1.0 (state-modifying or complex)
  • Read — 0.5 (inspection, lower cognitive load)
  • Glob / Grep — 0.3 (searches, low cost)
  • WebFetch / WebSearch — 0.5 (external lookups)

Scenario-tuned thresholds (standard dev 50, debugging 75, quick fixes 30, large refactor 40, docs 60). Full config + dynamic adjustment rules → references/hook-setup.md.


Preserve before compact

When a suggestion is accepted, auto-invoke context-saver before compaction (via integrate_context_saver: true in hook config — default). This produces a handoff doc capturing:

  • What was being worked on
  • Files mid-edit with line numbers
  • Decisions made
  • Next steps

The compacted session can be resumed from that file. See context-saver/SKILL.md for the doc format.


Suggestion format

Keep suggestions informative but non-intrusive:

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 Context Compaction Suggested
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

 Session Metrics:
   Tool calls:     72 significant (threshold: 50)
   Session time:   45 minutes
   Last boundary:  Task completed 3 min ago

 Boundary Detected:
   Task "Add user authentication" marked complete
   Git commit: "feat: implement JWT auth flow"
   No pending changes or active debugging

 Recommendation: GOOD TIME TO COMPACT

 Options:
   [1] Compact now (will invoke context-saver first)
   [2] Defer for 15 minutes
   [3] Defer until next boundary
   [4] Dismiss (don't suggest again this session)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Always show why now — the specific boundary and conditions that triggered the suggestion. Users trust the heuristic faster when they can see its reasoning.

Minimal mode (for experienced users):

[Compact? 72/50 calls | Task done | Clean state] Y/n/defer

Integration with other skills

  • context-saver — auto-invoked before compact. Captures in-flight state as a handoff doc.
  • implement-phase — emits phase_complete boundary events.
  • create-plan — plan creation emits a boundary.
  • code-review — review completion emits a boundary.

Full integration specs → references/hook-setup.md.


Core principles (keep these in mind)

  1. Suggest, don't force — respect the user's workflow.
  2. Boundary-aware — align with natural pause points, not token counts.
  3. Context-preserving — always integrate with context-saver before compact.
  4. Configurable — adapt thresholds per project and scenario.
  5. Non-intrusive — clear but minimal suggestions; include the "why."

References (loaded on demand)

  • references/hook-setup.md — PreToolUse hook config, state tracking, tool weights, dynamic thresholds, per-project configuration, integration specs, troubleshooting
  • references/boundary-rules.md — Full suggest-when / suppress-when rule specifications with YAML patterns, plus accept/defer heuristics for users

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.