Communitygithub.com

compactacion-estrategica

Sugiere compactación manual de contexto en puntos 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 compactacion-estrategica?

Strategic Compact Skill es un hook para asistentes de IA como Claude Code que sugiere el comando `/compact` en momentos estratégicos del flujo de trabajo, en lugar de depender de la compactación automática que ocurre en momentos arbitrarios. Se activa durante sesiones largas que se acercan a los límites de contexto (200K+ tokens), al cambiar entre fases de tareas (investigación → planificación → implementación → pruebas), o cuando las respuestas se vuelven lentas o incoherentes. El hook analiza dos señales principales: el tamaño real del contexto (calculado a partir de los registros de uso) y el número de invocaciones de herramientas, sugiriendo `/compact` solo cuando es necesario y permitiendo al usuario decidir si compactar. Incluye una guía de decisión detallada para cada transición de fase, configuración mediante variables de entorno para umbrales personalizados, y mejores prácticas como escribir el plan en un archivo antes de compactar para preservar información crítica. Es compatible con Claude Code y otros asistentes que soporten hooks PreToolUse.

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

Preguntar en tu IA favorita

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

Documentación

Habilidad 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 activarla

  • Sesiones largas que se acercan a los límites de contexto (200K+ tokens)
  • Trabajar en tareas de múltiples fases (investigación → planificación → implementación → pruebas)
  • Cambiar 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 tarea, perdiendo contexto importante
  • No tiene conocimiento de los límites lógicos de las tareas
  • Puede interrumpir operaciones complejas de múltiples pasos

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, mantén el plan de implementación.
  • Después de completar un hito — Nuevo comienzo para la siguiente fase.
  • Ante cambios importantes de contexto — 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 real del contexto de la ronda). Sugiere /compact en un umbral escalado por 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 lo recuerda nuevamente después de cada 60k tokens adicionales de crecimiento del contexto.
  2. Recuento de llamadas a herramientas (secundario) — Cuenta las invocaciones de herramientas en la sesión; sugiere en un umbral configurable (por defecto: 50 llamadas), luego cada 25 llamadas después.

El recuento de herramientas por sí solo es un indicador débil de la presión de la ventana: unas pocas lecturas de archivos grandes o respuestas de MCP pueden llenar la ventana en muy pocas llamadas, mientras que muchas llamadas pequeñas pueden superar las 50 con la 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 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 plugins, y duplicar un hook de plugin causa doble ejecución.

Si se instaló 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 (por defecto: 50)
  • COMPACT_CONTEXT_THRESHOLD — Tokens de contexto antes de la sugerencia por tamaño de contexto (por defecto: 160000 en una ventana de 200k, 250000 en una ventana de 1M; 0 deshabilita la señal de contexto)
  • COMPACT_CONTEXT_INTERVAL — Tokens de contexto adicionales antes de que se repita la sugerencia (por defecto: 60000)
  • COMPACT_STATE_TTL_DAYS — Días antes de que se eliminen los archivos de estado por sesión obsoletos en el directorio temporal (por defecto: 14)
  • ECC_CONTEXT_WINDOW_TOKENS — Tamaño explícito de la ventana de contexto, en tokens, anulando la detección automática. Establécelo para modelos de ventana grande cuyo ID informado carece de un marcador [1m] (por ejemplo, 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 por defecto 200k y exagerar el uso del contexto.
  • CLAUDE_CODE_AUTO_COMPACT_WINDOW — Anulación nativa del tamaño de ventana de Claude Code, en tokens; se respeta como alternativa cuando ECC_CONTEXT_WINDOW_TOKENS no está configurada.

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 lleva ninguna de las dos señales, configura 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 funcionalidadSí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 del callejón 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 de CLAUDE.mdRazonamiento y análisis intermedios
Archivos en discoContenidos de archivos que leíste anteriormente
Archivos de memoria (~/.claude/memory/)Contexto de conversación de múltiples pasos
Estado de Git (commits, ramas)Historial y recuento de llamadas a herramientas
La lista de tareas — solo si tienes las herramientas de tareas (ver abajo)Preferencias matizadas del usuario expresadas 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 (todo/task) por defecto en Opus 4.8, Sonnet 5, Fable 5, Mythos 5 y modelos más nuevos (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 esta habilidad, por lo que no puedes 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 cada versión y en cada modelo. 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 — Añade 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 Tabla de Disparo

En lugar de cargar el contenido completo de la habilidad al inicio de la sesión, usa una tabla de disparo que asigna palabras clave a rutas de habilidades. Las habilidades se cargan solo cuando se activan, reduciendo el contexto base en más del 50%:

DisparadorHabilidadCargar 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.
  • Habilidades cargadas — Cada habilidad añade entre 1 y 5K tokens.
  • Historial de conversación — Crece con cada intercambio.
  • Resultados de herramientas — Las lecturas de archivos y los resultados de búsqueda añaden volumen.

Detección de Instrucciones Duplicadas

Fuentes comunes de contexto duplicado:

  • Mismas reglas tanto en ~/.claude/rules/ como en el proyecto .claude/rules/.
  • Habilidades que repiten instrucciones de CLAUDE.md.
  • Múltiples habilidades que cubren dominios superpuestos.

Herramientas de Optimización de Contexto

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

Relacionado

  • La guía larga — Sección de optimización de tokens.
  • Hooks de persistencia de memoria — Para estado que sobrevive a la compactación.
  • Habilidad 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/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.

Skills relacionados