Context Weight

Meça e reduza a carga de contexto que um agente carrega antes de começar o trabalho (CLAUDE.md, AGENTS.md, GEMINI.md, regras, @imports, listagens de skills) e o crescimento das sessões, usando logs locais do Claude Code e Codex; então reduza arquivos de instrução e prove que nenhuma linha foi perdida.

O que é Context Weight?

Esta skill, chamada Context Weight (cw.py), permite diagnosticar e otimizar o consumo de tokens em agentes de IA como Claude Code e Codex, analisando o conteúdo carregado na inicialização (arquivos de instrução, listagens de skills) e o crescimento das sessões ao longo do tempo. É especialmente útil quando as sessões ficam pesadas, limites de compactação ou uso são atingidos cedo, um arquivo de instrução continua crescendo, ou quando Claude Code e Codex se comportam de forma diferente no mesmo repositório. A skill funciona exclusivamente com logs locais, nunca modifica arquivos do usuário e pode gerar relatórios visuais (SVG). Ela orienta a redução de arquivos de instrução (como CLAUDE.md, AGENTS.md), sugere boas práticas de higiene de sessão (como usar `/clear` ou `/new`) e fornece verificações automatizadas para evitar o regrowth do contexto. Também diferencia entre estimativas (arquivos de instrução, listagens de skills) e medições reais (dados de sessão), ajudando a priorizar ações com base nos sinais mais críticos.

Funciona com✓Claude Code✓Codex CLI~Cursor✓Gemini CLI
npx skills add https://github.com/ohm41321/context-weight/tree/HEAD/skills/context-weight

Installed? Explore more Produtividade e Colaboração skills: steipete/gemini, steipete/gh-issues, steipete/skill-creator · View all 6 →

Perguntar na sua IA favorita

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

Documentação

O que Context Weight faz?

Tudo o que é carregado na inicialização é reenviado a cada requisição da sessão. Um CLAUDE.md de 150k tokens custa 150k tokens por requisição antes de qualquer trabalho começar. Esta skill mede essa carga, a reduz e prova a redução com números.

O script é scripts/cw.py no diretório desta skill. Resolva seu caminho absoluto a partir da localização deste arquivo. Ele precisa de Python 3.8+ e nada mais. Ele nunca altera os arquivos do usuário, imprime números, nunca o conteúdo da transcrição, e o único arquivo que escreve é a imagem solicitada com --svg ou --open.

Medidor em tempo real? Para "quão cheio está meu contexto agora", use o harness: Claude Code /context, Codex /status. Esta skill é sobre o repositório e o histórico.

1. Pesar (somente leitura)

python3 <skill-dir>/scripts/cw.py report <repo> --days 30 --svg

--svg também desenha o relatório como uma imagem na pasta temporária do sistema e imprime seu caminho na última linha (Picture: ...). Forneça ao usuário esse caminho para que ele possa ver os números rapidamente; adicione --open para abri-lo quando ele pedir para ver. Use --svg FILE para escolher o local, nunca um caminho dentro do repositório a menos que o usuário peça.

A saída de texto tem quatro partes:

  • os arquivos de instrução que cada harness carrega na inicialização, em tokens estimados;
  • a listagem de skills contra o orçamento de cada harness;
  • números medidos de sessão para este repositório;
  • descobertas classificadas.

Visões mais restritas: files <repo>, skills <repo>, sessions --top 20, sessions --project <name> --compare-at YYYY-MM-DD. Adicione --json a qualquer uma delas.

Ao relatar ao usuário, forneça:

  • tokens de inicialização por harness;
  • start (mediana de contexto da primeira requisição de uma sessão);
  • start% (participação de toda a entrada que é aquela carga de inicialização sendo reenviada);
  • a participação >threshold tok;
  • as descobertas.

Diga quais números são estimativas (files, skills) e quais são medidos (sessions). O orçamento de skills do Claude Code depende da janela de contexto do modelo, que os logs não registram: cw.py assume 200k e avisa. Se o usuário usar um modelo de contexto de 1M, execute novamente com --window 1000000.

2. Escolher a alavanca para a qual os números apontam

SinalAlavanca
Instruções do repositório acima de ~5k tokens, start% altoReduza os arquivos de instrução (etapa 3)
>threshold tok acima de 50%Higiene de sessão (etapa 4)
"Harnesses seguem regras diferentes"Um AGENTS.md canônico (etapa 3)
Aviso "Codex nunca vê"Reduza ou mova partes para arquivos AGENTS.md aninhados
Listagem de skills acima do orçamentoDesinstale skills ou plugins não usados. Pergunte primeiro: é a configuração do usuário

Comece com o maior número. Deixe de lado qualquer coisa para a qual os números não apontem.

3. Reduzir arquivos de instrução

O procedimento completo está em references/slimming.md. Leia-o antes de editar. Resumo:

  1. Faça backup do arquivo, depois registre cw.py files <repo>.
  2. Classifique cada seção em um dos cinco tipos: regra (mantenha-a, torne-a concisa), ponteiro, referência, log ou duplicado.
  3. Mova referências e logs para docs/agent-notes/. Deixe um ponteiro de uma linha com um caminho simples. Não use @: Claude Code expande @imports na inicialização, e Codex os ignora.
  4. Mantenha o núcleo com menos de 200 linhas e cerca de 5 mil tokens, dentro do limite de cadeia de 32 KiB do Codex.
  5. Faça do AGENTS.md o único arquivo canônico. CLAUDE.md conterá @AGENTS.md mais quaisquer linhas específicas do Claude.
  6. Prove: verify-split sai com 0, files mostra a redução, e o limite --max-tokens é aprovado.

Mover texto é seguro. Excluir conhecimento é decisão do usuário: pergunte antes de remover qualquer linha que não seja um duplicado comprovado.

4. Higiene de sessão

A maioria dos tokens de entrada vem de requisições tardias em sessões longas. Cada requisição reenvia tudo antes dela.

  • Use uma tarefa por sessão.
  • Quando o contexto passar de cerca de metade da janela, ou a tarefa mudar, escreva uma breve transição (objetivo, estado, próximo passo, arquivos tocados) e comece de novo. No Claude Code isso é /clear; no Codex é /new. Prefira isso à compactação repetida.
  • Mantenha a saída de ferramentas grande fora do contexto: filtre-a, pegue apenas o cabeçalho ou escreva-a em um arquivo e leia apenas o que você precisa.

5. Provar

  • Imediatamente: compare cw.py files <repo> antes e depois, e verifique se verify-split sai com 0.
  • Evitar recrescimento: adicione python3 <skill-dir>/scripts/cw.py files . --max-tokens 6000 ao CI ou pré-commit. Ele sai com 1 quando as instruções do repositório crescem além do limite ou quando Codex cortaria alguma delas, e 2 quando o caminho está errado, então um erro de digitação nunca passa.
  • Após alguns dias de uso real: execute cw.py sessions --project <name> --compare-at <data da mudança> e relate start e start% antes e depois.

Não reivindique economia realizada até que esse último comando tenha sido executado em sessões de após a mudança.

Códigos de saída

0 ok, 1 uma verificação falhou (--max-tokens, verify-split), 2 entrada inválida (caminho ausente, arquivo ilegível, data inválida). Erros vão para stderr.

Referência

  • references/harnesses.md: o que cada harness carrega e quando, limites de tamanho, pastas de skills, com fontes.
  • references/slimming.md: o procedimento de redução e verificação.

Habilidades Relacionadas