Communitygithub.com

compactação-estratégica

Sugere compactação manual de contexto em intervalos lógicos para preservar o contexto durante as fases da tarefa, em vez de uma compactação automática arbitrária. Use quando uma sessão estiver se aproximando do limite de contexto e uma fase da tarefa for um ponto natural para compactar.

O que é compactação-estratégica?

A habilidade de Compactação Estratégica ajuda desenvolvedores a gerenciar o contexto do assistente AI durante sessões longas ou complexas, sugerindo pontos ideais para usar o comando `/compact`. Diferente da compactação automática, que pode interromper tarefas no meio do caminho, essa skill monitora dois sinais principais: o tamanho real do contexto (calculado a partir dos tokens de entrada e cache) e a contagem de chamadas de ferramentas. Ela sugere compactação em transições lógicas, como após a conclusão de uma fase ou antes de uma mudança de contexto importante, preservando informações críticas como o plano de implementação e instruções do CLAUDE.md. Suporta Claude Code e configurações personalizadas via variáveis de ambiente. A skill é implementada como um hook que executa na pré-execução de edições/escritas, analisando o estado atual da sessão e fornecendo recomendações oportunas sem forçar a ação, deixando a decisão final para o desenvolvedor.

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

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

Habilidade de Compactação Estratégica

Sugere /compact manual em pontos estratégicos do seu fluxo de trabalho, em vez de depender de compactação automática arbitrária.

Quando Ativar

  • Sessões longas que se aproximam dos limites de contexto (200K+ tokens)
  • Trabalhando em tarefas multifásicas (pesquisa → planejamento → implementação → teste)
  • Alternando entre tarefas não relacionadas dentro da mesma sessão
  • Após concluir um marco importante e iniciar um novo trabalho
  • Quando as respostas ficam mais lentas ou menos coerentes (pressão de contexto)

Por que Compactação Estratégica?

A compactação automática é acionada em pontos arbitrários:

  • Frequentemente no meio da tarefa, perdendo contexto importante
  • Sem conhecimento dos limites lógicos da tarefa
  • Pode interromper operações complexas de múltiplas etapas

A compactação estratégica em limites lógicos:

  • Após exploração, antes da execução — Compacta contexto de pesquisa, mantém o plano de implementação
  • Após concluir um marco — Novo começo para a próxima fase
  • Antes de grandes mudanças de contexto — Limpa contexto de exploração antes de uma tarefa diferente

Como Funciona

O script suggest-compact.js é executado no PreToolUse (Editar/Escrever) e combina dois sinais:

  1. Tamanho do contexto (principal) — Lê o registro de usage mais recente da transcrição da sessão (transcript_path no payload do hook) e soma input_tokens + cache_read_input_tokens + cache_creation_input_tokens (o tamanho real do contexto da rodada). Sugere /compact em um limite ajustado à janela — 160k tokens em uma janela de 200k, 250k em uma janela de 1M (detectado a partir de um marcador de modelo [1m], ou inferido quando os tokens observados já excedem 200k) — e relembra a cada 60k tokens adicionais de crescimento de contexto
  2. Contagem de chamadas de ferramenta (secundário) — Conta invocações de ferramentas na sessão; sugere em um limite configurável (padrão: 50 chamadas), depois a cada 25 chamadas

A contagem de ferramentas sozinha é um proxy fraco para pressão na janela: algumas leituras grandes de arquivo ou respostas MCP podem preencher a janela em muito poucas chamadas, enquanto muitas chamadas minúsculas podem ultrapassar 50 com uma janela quase vazia. O sinal de tamanho de contexto dispara quando realmente importa.

Configuração do Hook

Instalado como plugin? Nenhuma configuração é necessária. O arquivo hooks/hooks.json do plugin já registra suggest-compact.js (id do hook pre:edit-write:suggest-compact, ativo nos perfis de hook standard e strict). Não copie o bloco abaixo para ~/.claude/settings.json — ~/.claude/scripts/ não existe em instalações de plugin, e duplicar um hook de plugin causa execução dupla.

Se instalado manualmente (./install.sh), adicione ao seu ~/.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" }]
      }
    ]
  }
}

Configuração

Variáveis de ambiente:

  • COMPACT_THRESHOLD — Chamadas de ferramenta antes da primeira sugestão (padrão: 50)
  • COMPACT_CONTEXT_THRESHOLD — Tokens de contexto antes da sugestão de tamanho de contexto (padrão: 160000 em janela de 200k, 250000 em janela de 1M; 0 desabilita o sinal de contexto)
  • COMPACT_CONTEXT_INTERVAL — Tokens de contexto adicionais antes da sugestão se repetir (padrão: 60000)
  • COMPACT_STATE_TTL_DAYS — Dias antes que arquivos de estado por sessão obsoletos no diretório temporário sejam limpos (padrão: 14)
  • ECC_CONTEXT_WINDOW_TOKENS — Tamanho explícito da janela de contexto, em tokens, substituindo a detecção automática. Defina isso para modelos de janela grande cujo ID relatado não possui um marcador [1m] (por exemplo, Opus 4.x de 400k ou uma nova família de modelo de janela de 1M) para que o limite seja dimensionado para a janela real, em vez de usar o padrão de 200k e superestimar o uso do contexto.
  • CLAUDE_CODE_AUTO_COMPACT_WINDOW — Substituição nativa do tamanho da janela do Claude Code, em tokens; respeitado como fallback quando ECC_CONTEXT_WINDOW_TOKENS não está definido.

A janela de contexto é, de outra forma, detectada automaticamente a partir de um marcador de modelo [1m] ou inferida quando os tokens observados já excedem 200k. Em um modelo de janela grande que não carrega nenhum dos sinais, defina uma das substituições acima para que a sugestão /compact seja acionada no ponto certo.

Guia de Decisão de Compactação

Use esta tabela para decidir quando compactar:

Transição de FaseCompactar?Por quê?
Pesquisa → PlanejamentoSimContexto de pesquisa é volumoso; o plano é a saída destilada
Planejamento → ImplementaçãoSimO plano está escrito (um arquivo ou a lista de tarefas, se você tiver uma); libere contexto para o código
Implementação → TesteTalvezMantenha se os testes referenciarem código recente; compacte se mudar o foco
Depuração → Próximo recursoSimRastros de depuração poluem o contexto para trabalho não relacionado
Meio da implementaçãoNãoPerder nomes de variáveis, caminhos de arquivos e estado parcial é custoso
Após uma abordagem falhaSimLimpe o raciocínio sem saída antes de tentar uma nova abordagem

O que Sobrevive à Compactação

Entender o que persiste ajuda a compactar com confiança:

PersistePerde-se
Instruções CLAUDE.mdRaciocínio e análise intermediários
Arquivos no discoConteúdos de arquivo que você leu anteriormente
Arquivos de memória (~/.claude/memory/)Contexto de conversa de várias etapas
Estado do Git (commits, branches)Histórico e contagens de chamadas de ferramenta
A lista de tarefas — apenas se você tiver as ferramentas de todo (veja abaixo)Preferências de usuário ditas verbalmente

Não confie na lista de tarefas sobreviver — ela pode não existir

O Claude Code 2.1.233 removeu as ferramentas todo/task por padrão no Opus 4.8, Sonnet 5, Fable 5, Mythos 5 e modelos mais novos (TodoWrite, TaskCreate/Get/Update/List). CLAUDE_CODE_ENABLE_TODO_TOOLS=1 as traz de volta, mas essa é uma configuração de ambiente por máquina — ela não viaja com esta habilidade, então você não pode assumir que o leitor a possui.

Isso importa porque "minha lista de tarefas sobrevive à compactação" é uma razão pela qual as pessoas compactam em vez de escrever o estado. Se as ferramentas estão ausentes, não há lista para sobreviver, e o plano simplesmente desaparece. Escreva o plano em um arquivo antes de compactar — um arquivo persiste em todas as versões e todos os modelos. Trate a lista de tarefas como uma conveniência que pode estar ausente, nunca como seu registro durável.

Melhores Práticas

  1. Compacte após o planejamento — Assim que o plano estiver finalizado e escrito em um arquivo, compacte para começar de novo
  2. Compacte após depuração — Limpe o contexto de resolução de erros antes de continuar
  3. Não compacte no meio da implementação — Preserve o contexto para alterações relacionadas
  4. Leia a sugestão — O hook informa quando, você decide se
  5. Escreva antes de compactar — Salve contexto importante em arquivos ou memória antes de compactar
  6. Use /compact com um resumo — Adicione uma mensagem personalizada: /compact Foco em implementar middleware de autenticação em seguida

Padrões de Otimização de Tokens

Carregamento Preguiçoso da Tabela de Gatilho

Em vez de carregar todo o conteúdo da habilidade no início da sessão, use uma tabela de gatilho que mapeia palavras-chave para caminhos de habilidades. As habilidades carregam apenas quando acionadas, reduzindo o contexto base em 50%+:

GatilhoHabilidadeCarregar Quando
"test", "tdd", "cobertura"fluxo-tddUsuário menciona teste
"segurança", "auth", "xss"revisão-segurançaTrabalho relacionado a segurança
"deploy", "ci/cd"padrões-implantaçãoContexto de implantação

Consciência de Composição de Contexto

Monitore o que está consumindo sua janela de contexto:

  • Arquivos CLAUDE.md — Sempre carregados, mantenha enxutos
  • Habilidades carregadas — Cada habilidade adiciona 1-5K tokens
  • Histórico da conversa — Cresce a cada troca
  • Resultados de ferramentas — Leituras de arquivos, resultados de busca adicionam volume

Detecção de Instruções Duplicadas

Fontes comuns de contexto duplicado:

  • Mesmas regras tanto em ~/.claude/rules/ quanto no projeto .claude/rules/
  • Habilidades que repetem instruções do CLAUDE.md
  • Várias habilidades cobrindo domínios sobrepostos

Ferramentas de Otimização de Contexto

  • token-optimizer MCP — Redução automática de 95%+ de tokens via desduplicação de conteúdo
  • context-mode — Virtualização de contexto (315KB para 5.4KB demonstrado)

Relacionados

  • The Longform Guide — Seção de otimização de tokens
  • Hooks de persistência de memória — Para estado que sobrevive à compactação
  • Habilidade continuous-learning — Extrai padrões antes do fim da sessão

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.

Habilidades Relacionadas