Communitygithub.com

compactación-estratégica

Sugiere compactación manual de contexto en intervalos lógicos para preservar el contexto a través de las fases de la tarea, en lugar de la compactación automática arbitraria. Úsalo cuando una sesión se acerque al límite de contexto y una fase de la tarea sea un punto natural para compactar.

¿Qué es compactación-estratégica?

Strategic Compact es un skill para agentes de IA como Claude Code y Cursor, diseñado para optimizar la gestión del contexto en sesiones largas o multi-fase. En lugar de depender de la compactación automática (que puede activarse en momentos inoportunos, perdiendo información valiosa), este skill implementa un script hook (`suggest-compact.js`) que monitorea el tamaño del contexto y la cantidad de llamadas a herramientas. Sugiere el comando `/compact` solo en puntos estratégicos: después de investigación, antes de implementación, o al completar un hito. El script se ejecuta en el hook `PreToolUse` (edición/escritura) y combina dos señales: el tamaño real del contexto (sumando tokens de entrada, caché y creación de caché) y, como secundaria, el número de invocaciones de herramientas. Las sugerencias se configuran mediante variables de entorno como `COMPACT_THRESHOLD`, `COMPACT_CONTEXT_THRESHOLD` y `COMPACT_CONTEXT_INTERVAL`. La decisión de compactar se basa en una guía de transición de fases (p. ej., compactar en investigación→planificación, pero no a mitad de implementación). El skill enfatiza que antes de compactar se debe guardar la información importante en archivos o memoria, ya que la lista de tareas puede no persistir (si no se tienen las herramientas `todo` habilitadas).

Compatible con✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/affaan-m/everything-claude-code/tree/main/skills/strategic-compact

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

Skill de Compactación Estratégica

Sugiere /compact manual en puntos estratégicos de tu flujo de trabajo en lugar de depender de la compactación automática arbitraria.

Cuándo activarlo

  • Sesiones largas que se acercan a los límites de contexto (200K+ tokens)
  • Trabajo en tareas multi-fase (investigación → planificación → implementación → prueba)
  • Cambio entre tareas no relacionadas dentro de la misma sesión
  • Después de completar un hito importante y comenzar un nuevo trabajo
  • Cuando las respuestas se vuelven lentas o menos coherentes (presión de contexto)

¿Por qué compactación estratégica?

La compactación automática se activa en puntos arbitrarios:

  • A menudo a mitad de una tarea, perdiendo contexto importante
  • Sin conciencia de los límites lógicos de la tarea
  • Puede interrumpir operaciones complejas de varios pasos

La compactación estratégica en límites lógicos:

  • Después de la exploración, antes de la ejecución — Compacta el contexto de investigación, conserva el plan de implementación
  • Después de completar un hito — Nuevo comienzo para la siguiente fase
  • Antes de cambios de contexto importantes — Limpia el contexto de exploración antes de una tarea diferente

Cómo funciona

El script suggest-compact.js se ejecuta en PreToolUse (Editar/Escribir) y combina dos señales:

  1. Tamaño del contexto (principal) — Lee el último registro de usage de la transcripción de la sesión (transcript_path en la carga útil del hook) y suma input_tokens + cache_read_input_tokens + cache_creation_input_tokens (el tamaño de contexto real del turno). Sugiere /compact en un umbral escalado a la ventana — 160k tokens en una ventana de 200k, 250k en una ventana de 1M (detectado a partir de un marcador de modelo [1m], o inferido cuando los tokens observados ya superan los 200k) — y vuelve a recordar después de cada 60k tokens adicionales de crecimiento del contexto
  2. Conteo de llamadas a herramientas (secundario) — Cuenta las invocaciones de herramientas en la sesión; sugiere en un umbral configurable (predeterminado: 50 llamadas), luego cada 25 llamadas después

El conteo de herramientas por sí solo es un proxy débil para la presión de la ventana: unas pocas lecturas grandes de archivos o respuestas de MCP pueden llenar la ventana en muy pocas llamadas, mientras que muchas llamadas pequeñas pueden superar 50 con una ventana casi vacía. La señal de tamaño de contexto se activa cuando realmente importa.

Configuración del Hook

¿Instalado como plugin? No se necesita configuración. El archivo hooks/hooks.json del plugin ya registra suggest-compact.js (id del hook pre:edit-write:suggest-compact, activo en los perfiles de hook standard y strict). No copies el bloque de abajo en ~/.claude/settings.json — ~/.claude/scripts/ no existe en las instalaciones de plugin, y duplicar un hook de plugin provoca doble ejecución.

Si se instala manualmente (./install.sh), agrégalo a tu ~/.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" }]
      }
    ]
  }
}

Configuración

Variables de entorno:

  • COMPACT_THRESHOLD — Llamadas a herramientas antes de la primera sugerencia (predeterminado: 50)
  • COMPACT_CONTEXT_THRESHOLD — Tokens de contexto antes de la sugerencia por tamaño de contexto (predeterminado: 160000 en una ventana de 200k, 250000 en una ventana de 1M; 0 desactiva la señal de contexto)
  • COMPACT_CONTEXT_INTERVAL — Tokens de contexto adicionales antes de que se repita la sugerencia (predeterminado: 60000)
  • COMPACT_STATE_TTL_DAYS — Días antes de que los archivos de estado por sesión obsoletos en el directorio temporal se eliminen (predeterminado: 14)
  • ECC_CONTEXT_WINDOW_TOKENS — Tamaño explícito de la ventana de contexto, en tokens, que anula la detección automática. Establécelo para modelos de ventana grande cuyo ID informado carece de un marcador [1m] (p. ej., Opus 4.x de 400k, o una nueva familia de modelos de ventana de 1M) para que el umbral se escale a la ventana real en lugar de usar 200k por defecto y exagerar el uso del contexto.
  • CLAUDE_CODE_AUTO_COMPACT_WINDOW — Anulación del tamaño de ventana nativa de Claude Code, en tokens; se respeta como alternativa cuando ECC_CONTEXT_WINDOW_TOKENS no está establecida.

La ventana de contexto se detecta automáticamente a partir de un marcador de modelo [1m] o se infiere cuando los tokens observados ya superan los 200k. En un modelo de ventana grande que no tenga ninguna de estas señales, establece una de las anulaciones anteriores para que la sugerencia de /compact se active en el punto correcto.

Guía de Decisión de Compactación

Usa esta tabla para decidir cuándo compactar:

Transición de Fase¿Compactar?Por qué
Investigación → PlanificaciónSíEl contexto de investigación es voluminoso; el plan es el resultado destilado
Planificación → ImplementaciónSíEl plan está escrito (un archivo, o la lista de tareas si la tienes); libera contexto para el código
Implementación → PruebasTal vezMantén si las pruebas hacen referencia al código reciente; compacta si cambias de enfoque
Depuración → Siguiente funciónSíLos rastros de depuración contaminan el contexto para trabajo no relacionado
A mitad de implementaciónNoPerder nombres de variables, rutas de archivos y estado parcial es costoso
Después de un enfoque fallidoSíLimpia el razonamiento sin salida antes de probar un nuevo enfoque

¿Qué sobrevive a la compactación?

Comprender qué persiste te ayuda a compactar con confianza:

PersisteSe pierde
Instrucciones CLAUDE.mdRazonamiento y análisis intermedios
Archivos en discoContenido de archivos que leíste previamente
Archivos de memoria (~/.claude/memory/)Contexto de conversación de varios pasos
Estado de Git (commits, ramas)Historial de llamadas a herramientas y conteos
La lista de tareas — solo si tienes las herramientas de tareas pendientes (ver más abajo)Preferencias de usuario matizadas indicadas verbalmente

No confíes en que la lista de tareas sobreviva — puede que no exista

Claude Code 2.1.233 eliminó las herramientas de tareas pendientes por defecto en Opus 4.8, Sonnet 5, Fable 5, Mythos 5 y modelos más recientes (TodoWrite, TaskCreate/Get/Update/List). CLAUDE_CODE_ENABLE_TODO_TOOLS=1 las recupera, pero esa es una configuración de entorno por máquina — no viaja con este skill, por lo que no se puede asumir que el lector la tenga.

Esto es importante porque "mi lista de tareas sobrevive a la compactación" es una razón por la que la gente compacta en lugar de escribir el estado. Si las herramientas están ausentes, no hay lista que sobreviva, y el plan simplemente desaparece. Escribe el plan en un archivo antes de compactar — un archivo persiste en todas las versiones y todos los modelos. Trata la lista de tareas como una conveniencia que puede faltar, nunca como tu registro duradero.

Mejores Prácticas

  1. Compacta después de planificar — Una vez que el plan esté finalizado y escrito en un archivo, compacta para empezar de nuevo
  2. Compacta después de depurar — Limpia el contexto de resolución de errores antes de continuar
  3. No compactes a mitad de implementación — Preserva el contexto para cambios relacionados
  4. Lee la sugerencia — El hook te dice cuándo, tú decides si
  5. Escribe antes de compactar — Guarda el contexto importante en archivos o memoria antes de compactar
  6. Usa /compact con un resumen — Agrega un mensaje personalizado: /compact Enfócate en implementar el middleware de autenticación a continuación

Patrones de Optimización de Tokens

Carga Perezosa de Tablas de Disparo

En lugar de cargar todo el contenido del skill al inicio de la sesión, usa una tabla de disparo que asigne palabras clave a rutas de skills. Los skills se cargan solo cuando se activan, reduciendo el contexto base en un 50%+:

DisparadorSkillCargar cuando
"test", "tdd", "coverage"tdd-workflowEl usuario menciona pruebas
"security", "auth", "xss"security-reviewTrabajo relacionado con seguridad
"deploy", "ci/cd"deployment-patternsContexto de despliegue

Conciencia de Composición del Contexto

Monitorea qué está consumiendo tu ventana de contexto:

  • Archivos CLAUDE.md — Siempre cargados, mantenlos ligeros
  • Skills cargados — Cada skill agrega 1-5K tokens
  • Historial de conversación — Crece con cada intercambio
  • Resultados de herramientas — Lecturas de archivos, resultados de búsqueda agregan volumen

Detección de Instrucciones Duplicadas

Fuentes comunes de contexto duplicado:

  • Mismas reglas en ~/.claude/rules/ y en el proyecto .claude/rules/
  • Skills que repiten instrucciones de CLAUDE.md
  • Múltiples skills que cubren dominios superpuestos

Herramientas de Optimización de Contexto

  • token-optimizer MCP — Reducción automatizada del 95%+ de tokens mediante deduplicación de contenido
  • context-mode — Virtualización de contexto (315KB a 5.4KB demostrado)

Relacionados

  • La Guía Longform — Sección de optimización de tokens
  • Hooks de persistencia de memoria — Para estado que sobrevive a la compactación
  • Skill continuous-learning — Extrae patrones antes de que finalice la sesión

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/claude-api

Anthropic Claude API patterns for Python and TypeScript. Covers Messages API, streaming, tool use, vision, extended thinking, batches, prompt caching, and Claude Agent SDK. Use when building applications with the Claude API or Anthropic SDKs.

affaan-m/everything-claude-code

End-to-end marketing campaign planning and execution. Covers audience research, positioning, campaign angle definition, landing page copy, email sequences, social posts, ad copy, short-form video scripts, and content calendars. Use as the orchestration layer for multi-channel product launches. Use when planning or executing a multi-channel product launch, or producing landing page, email, social, or ad copy.

affaan-m/everything-claude-code

Development conventions and patterns for everything-claude-code. JavaScript project with conventional commits.

affaan-m/everything-claude-code-conventions

Development conventions and patterns for everything-claude-code. JavaScript project with conventional commits.

affaan-m/frontend-design

Create distinctive, production-grade frontend interfaces with high design quality. Use when the user asks to build web components, pages, or applications and the visual direction matters as much as the code quality.

affaan-m/gget

gget CLI and Python workflow for quick genomic database queries, sequence lookup, BLAST-style searches, enrichment checks, and reproducible bioinformatics evidence logs.

affaan-m/literature-review

Systematic literature-review workflow for academic, biomedical, technical, and scientific topics, including search planning, source screening, synthesis, citation checks, and evidence logging.

affaan-m/motion-ui

Production-ready UI motion system for React/Next.js. Use when implementing animations, transitions, or motion patterns.

affaan-m/project-guidelines-example

Example project-specific skill template based on a real production application.

affaan-m/pubmed-database

Direct PubMed and NCBI E-utilities search workflows for biomedical literature, MeSH queries, PMID lookup, citation retrieval, and API-backed literature monitoring.

affaan-m/scholar-evaluation

Structured scholarly-work evaluation for papers, proposals, literature reviews, methods sections, evidence quality, citation support, and research-writing feedback.

affaan-m/uspto-database

USPTO patent and trademark data workflow for official record lookup, PatentSearch queries, TSDR checks, assignment data, and reproducible IP research logs.

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.

Skills relacionados