Communitygithub.com

戦略的コンパクト

セッションがコンテキスト制限に近づいたとき、任意の自動圧縮ではなく、タスクフェーズの論理的な区切りで手動コンパクトを提案します。コンテキスト制限が近づき、タスクフェーズが自然な区切りとなるタイミングで使用します。

戦略的コンパクト とは?

戦略的コンパクトスキルは、任意の自動圧縮に頼るのではなく、ワークフローの戦略的なポイントで手動の `/compact` を提案することで、AIエージェントセッションのコンテキストウィンドウを効率的に管理するためのスキルです。主にClaude Codeを対象としており、200Kトークン以上の長期セッション、複数フェーズにわたるタスク(調査→計画→実装→テスト)、セッション内での無関係なタスクの切り替え時などにアクティブになります。自動圧縮がタスクの途中で重要なコンテキストを失う問題を解決するために、タスクの論理的な境界(例:調査完了後、マイルストーン達成後)での圧縮を推奨します。このスキルは、PreToolUseフックとして動作し、現在のターンの実際のコンテキストサイズ(入力トークン + キャッシュ読み取りトークン + キャッシュ作成トークン)とツール呼び出し回数の2つのシグナルを監視し、設定可能なしきい値を超えたときにユーザーに `/compact` を提案します。インストールはプラグイン形式で行うか、手動で設定ファイルにフックを追加します。また、圧縮前には重要な情報をファイルに保存するなど、ベストプラクティスも提供します。

対応✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/affaan-m/ECC/tree/main/skills/strategic-compact

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

Strategic Compact Skill(戦略的コンパクトスキル)

任意の自動圧縮に頼るのではなく、ワークフローの戦略的なポイントで手動の /compact を提案します。

アクティブ化するタイミング

  • コンテキスト制限に近づく長時間のセッション(200Kトークン以上)
  • マルチフェーズのタスク(調査 → 計画 → 実装 → テスト)に取り組んでいる場合
  • 同じセッション内で無関係なタスクを切り替える場合
  • 主要なマイルストーンを完了し、新しい作業を開始した後
  • 応答が遅くなったり、首尾一貫性が低下した場合(コンテキストプレッシャー)

なぜ戦略的圧縮なのか?

自動圧縮は任意のタイミングでトリガーされます:

  • タスクの途中でトリガーされることが多く、重要なコンテキストが失われる
  • 論理的なタスク境界を認識しない
  • 複雑なマルチステップ操作を中断する可能性がある

論理的な境界での戦略的圧縮:

  • 探索後、実行前 — 調査コンテキストを圧縮し、実装計画を保持
  • マイルストーン完了後 — 次のフェーズのための新鮮なスタート
  • 主要なコンテキストシフト前 — 異なるタスクの前に探索コンテキストをクリア

動作の仕組み

suggest-compact.js スクリプトは PreToolUse(編集/書き込み)時に実行され、2つのシグナルを組み合わせます:

  1. コンテキストサイズ(プライマリ) — セッショントランスクリプト(フックペイロードの transcript_path)から最新の usage レコードを読み取り、input_tokens + cache_read_input_tokens + cache_creation_input_tokens(ターンの実際のコンテキストサイズ)を合計します。ウィンドウスケーリングされたしきい値(200kウィンドウでは160kトークン、1Mウィンドウでは250kトークン。[1m] モデルマーカーから検出、または観測されたトークンが200kを超えると推論)で /compact を提案し、その後コンテキストが60kトークン増加するごとに再リマインダーを表示します
  2. ツール呼び出し回数(セカンダリ) — セッション内のツール呼び出しをカウントし、設定可能なしきい値(デフォルト:50コール)、その後25コールごとに提案します

ツール呼び出し回数だけではウィンドウプレッシャーの弱いプロキシです。数回の大きなファイル読み取りやMCP応答でウィンドウが埋まることがある一方、多数の小さな呼び出しでウィンドウがほぼ空でも50回を超える可能性があります。コンテキストサイズシグナルは実際に問題があるときに発火します。

フックのセットアップ

プラグインとしてインストールされますか? セットアップは不要です。プラグインの hooks/hooks.json が既に suggest-compact.js を登録しています(フックID pre:edit-write:suggest-compact、standard および strict フックプロファイルでアクティブ)。以下のブロックを ~/.claude/settings.json にコピーしないでください — プラグインインストールでは ~/.claude/scripts/ は存在せず、プラグインフックを重複させると二重実行を引き起こします。

手動でインストールする場合(./install.sh)、~/.claude/settings.json に以下を追加します:

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

設定

環境変数:

  • COMPACT_THRESHOLD — 最初の提案前のツール呼び出し回数(デフォルト:50)
  • COMPACT_CONTEXT_THRESHOLD — コンテキストサイズ提案の前のコンテキストトークン数(デフォルト:200kウィンドウで160000、1Mウィンドウで250000。0 でコンテキストシグナルを無効化)
  • COMPACT_CONTEXT_INTERVAL — 提案が繰り返されるまでの追加コンテキストトークン数(デフォルト:60000)
  • COMPACT_STATE_TTL_DAYS — テンポラリディレクトリ内の古いセッションごとの状態ファイルが削除されるまでの日数(デフォルト:14)
  • ECC_CONTEXT_WINDOW_TOKENS — 自動検出をオーバーライドする明示的なコンテキストウィンドウサイズ(トークン単位)。報告されたIDに [1m] マーカーがない大規模ウィンドウモデル(例:400k Opus 4.x、新しい1Mウィンドウモデルファミリー)にこれを設定することで、しきい値が実際のウィンドウにスケーリングされ、デフォルトの200kにフォールバックしてコンテキスト使用率を過大評価するのを防ぎます。
  • CLAUDE_CODE_AUTO_COMPACT_WINDOW — Claude Codeのネイティブウィンドウサイズオーバーライド(トークン単位)。ECC_CONTEXT_WINDOW_TOKENS が設定されていない場合のフォールバックとして使用されます。

コンテキストウィンドウは、それ以外の場合は [1m] モデルマーカーから自動検出されるか、観測されたトークンが200kを超えた場合に推論されます。どちらのシグナルも持たない大規模ウィンドウモデルでは、適切なタイミングで /compact 提案が発火するように、上記のオーバーライドのいずれかを設定してください。

圧縮判断ガイド

以下の表を使用して、圧縮するタイミングを判断します:

フェーズ遷移圧縮?理由
調査 → 計画はい調査コンテキストはかさばります。計画はその蒸留された出力です
計画 → 実装はい計画は書き留められています(ファイル、またはタスクリストがあればそれ)。コードのためにコンテキストを解放します
実装 → テストたぶんテストが最近のコードを参照している場合は保持。フォーカスを切り替える場合は圧縮
デバッグ → 次の機能はいデバッグトレースは無関係な作業のコンテキストを汚染します
実装途中いいえ変数名、ファイルパス、部分的な状態を失うことはコストが高いです
失敗したアプローチの後はい新しいアプローチを試す前に、行き詰まった推論をクリアします

圧縮後も保持されるもの

何が保持されるかを理解することで、自信を持って圧縮できます:

保持される失われる
CLAUDE.md の指示中間の推論と分析
ディスク上のファイル以前に読み取ったファイルの内容
メモリファイル(~/.claude/memory/)マルチステップの会話コンテキスト
Git の状態(コミット、ブランチ)ツール呼び出し履歴とカウント
タスクリスト — todo ツールがある場合のみ(以下参照)口頭で述べられた微妙なユーザー設定

タスクリストの保持に依存しないでください — 存在しない可能性があります

Claude Code 2.1.233 では、Opus 4.8、Sonnet 5、Fable 5、Mythos 5 以降のモデルで todo/task ツールがデフォルトで削除されました(TodoWrite、TaskCreate/Get/Update/List)。 CLAUDE_CODE_ENABLE_TODO_TOOLS=1 で復元できますが、これはマシンごとの環境設定であり、このスキルとともに移動するものではないため、読者がそれを持っていると想定できません。

これは、「todo リストは圧縮後も保持される」という理由で、状態を書き留める代わりに圧縮する人がいるため重要です。ツールがない場合、保持されるリストはなく、計画は単に失われます。圧縮する前に計画をファイルに書き留めてください — ファイルはすべてのバージョンとすべてのモデルで保持されます。タスクリストは、存在しない可能性がある便利なものとして扱い、決して永続的な記録として扱わないでください。

ベストプラクティス

  1. 計画後に圧縮する — 計画が確定し ファイルに書き込まれたら、新鮮な状態で開始するために圧縮します
  2. デバッグ後に圧縮する — エラー解決のコンテキストをクリアしてから続行します
  3. 実装途中で圧縮しない — 関連する変更のためにコンテキストを保持します
  4. 提案を読む — フックは いつ を伝え、あなたは 圧縮するかどうか を決定します
  5. 圧縮前に書き込む — 重要なコンテキストをファイルやメモリに保存してから圧縮します
  6. 要約とともに /compact を使用する — カスタムメッセージを追加:/compact 次に認証ミドルウェアの実装に集中

トークン最適化パターン

トリガーテーブル遅延ロード

セッション開始時にすべてのスキルコンテンツをロードする代わりに、キーワードをスキルパスにマッピングするトリガーテーブルを使用します。トリガーされたときのみスキルがロードされ、ベースラインコンテキストを50%以上削減します:

トリガースキルロードタイミング
"test", "tdd", "coverage"tdd-workflowユーザーがテストについて言及したとき
"security", "auth", "xss"security-reviewセキュリティ関連の作業時
"deploy", "ci/cd"deployment-patternsデプロイコンテキスト時

コンテキスト構成の認識

コンテキストウィンドウを何が消費しているかを監視します:

  • CLAUDE.md ファイル — 常にロードされる、簡潔に保つ
  • ロードされたスキル — 各スキルは1〜5Kトークンを追加します
  • 会話履歴 — 交換ごとに増加します
  • ツール結果 — ファイル読み取り、検索結果はかさばります

重複指示の検出

重複コンテキストの一般的な原因:

  • ~/.claude/rules/ とプロジェクト .claude/rules/ の両方にある同じルール
  • CLAUDE.md の指示を繰り返すスキル
  • 重複するドメインをカバーする複数のスキル

コンテキスト最適化ツール

  • token-optimizer MCP — コンテンツの重複排除による自動95%以上のトークン削減
  • context-mode — コンテキスト仮想化(315KBから5.4KBへの削減実績)

関連情報

  • The Longform Guide — トークン最適化セクション
  • メモリ永続化フック — 圧縮後も保持される状態用
  • continuous-learning スキル — セッション終了前にパターンを抽出します

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

accessibility

Design, implement, and audit inclusive digital products using WCAG 2.2 Level AA. Use when building or auditing UI that must meet WCAG 2.2 Level AA, or when reviewing a change for keyboard, contrast, or screen-reader support.

affaan-m/content-engine

Create platform-native content systems for X, LinkedIn, TikTok, YouTube, newsletters, and repurposed multi-platform campaigns. Use when the user wants social posts, threads, scripts, content calendars, or one source asset adapted cleanly across platforms.

affaan-m/ECC

Multi-platform content distribution across X, LinkedIn, Threads, and Bluesky. Adapts content per platform using content-engine patterns. Never posts identical content cross-platform. Use when the user wants to distribute content across social platforms.

affaan-m/fal-ai-media

Unified media generation via fal.ai MCP — image, video, and audio. Covers text-to-image (Nano Banana), text/image-to-video (Seedance, Kling, Veo 3), text-to-speech (CSM-1B), and video-to-audio (ThinkSound). Use when the user wants to generate images, videos, or audio with AI.

affaan-m/manim-video

日本語翻訳:このファイルは manim-video 用の日本語翻訳が必要です

affaan-m/remotion-video-creation

Remotion のベストプラクティス - React で動画を作成する。3D、アニメーション、音声、字幕、チャート、トランジションなどをカバーするドメイン固有の29のルール。

affaan-m/video-editing

AI-assisted video editing workflows for cutting, structuring, and augmenting real footage. Covers the full pipeline from raw capture through FFmpeg, Remotion, ElevenLabs, fal.ai, and final polish in Descript or CapCut. Use when the user wants to edit video, cut footage, create vlogs, or build video content.

agent-architecture-audit

Full-stack diagnostic for agent and LLM applications. Audits the 12-layer agent stack for wrapper regression, memory pollution, tool discipline failures, hidden repair loops, and rendering corruption. Produces severity-ranked findings with code-first fixes. Essential for developers building agent applications, autonomous loops, or any LLM-powered feature. Use when an agent or LLM feature misbehaves and the failing layer is unknown, or before shipping an agent stack.

agent-eval

Head-to-head comparison of coding agents (Claude Code, Aider, Codex, etc.) on custom tasks with pass rate, cost, time, and consistency metrics. Use when choosing between coding agents, or when a change to an agent setup needs measured pass rate, cost, and time rather than an impression.

agent-harness-construction

Design and optimize AI agent action spaces, tool definitions, and observation formatting for higher completion rates. Use when defining or revising an agent

agentic-engineering

Operate as an agentic engineer using eval-first execution, decomposition, and cost-aware model routing. Use when planning or executing engineering work that agents will carry out end to end.

agentic-os

Build persistent multi-agent operating systems on Claude Code. Covers kernel architecture, specialist agents, slash commands, file-based memory, scheduled automation, and state management without external databases. Use when building a persistent multi-agent system on Claude Code with its own memory, commands, and scheduling.

agent-introspection-debugging

Structured self-debugging workflow for AI agent failures using capture, diagnosis, contained recovery, and introspection reports. Use when an agent run fails and you need a reproducible diagnosis instead of a retry.

agent-payment-x402

Add x402 payment execution to AI agents with per-task budgets, spending controls, and non-custodial wallets. Supports Base through agentwallet-sdk and X Layer through OKX Payments / OKX Agent Payments Protocol. Use when an agent must pay for something itself and needs per-task budgets, spending controls, and a non-custodial wallet.

agent-self-evaluation

Use after completing any non-trivial task. The agent self-rates its output on 5 axes — accuracy, completeness, clarity, actionability, conciseness — with concrete evidence per criterion. Produces a structured 1-5 scorecard with specific improvement suggestions.

agent-sort

Build an evidence-backed ECC install plan for a specific repo by sorting skills, commands, rules, hooks, and extras into DAILY vs LIBRARY buckets using parallel repo-aware review passes. Use when ECC should be trimmed to what a project actually needs instead of loading the full bundle.

ai-first-engineering

Engineering operating model for teams where AI agents generate a large share of implementation output. Use when setting team process, review gates, or ownership rules for a codebase largely written by agents.

ai-regression-testing

Regression testing strategies for AI-assisted development. Sandbox-mode API testing without database dependencies, automated bug-check workflows, and patterns to catch AI blind spots where the same model writes and reviews code. Use when adding regression coverage to AI-assisted code, or when the same model both wrote and reviewed a change.

android-clean-architecture

Clean Architecture patterns for Android and Kotlin Multiplatform projects — module structure, dependency rules, UseCases, Repositories, and data layer patterns. Use when structuring modules, layers, or data flow in an Android or KMP project.

angular-developer

Generates Angular code and provides architectural guidance. Trigger when creating projects, components, or services, or for best practices on reactivity (signals, linkedSignal, resource), forms, dependency injection, routing, SSR, accessibility (ARIA), animations, styling (component styles, Tailwind CSS), testing, or CLI tooling.

関連スキル