Communitygithub.com

gc-config — Recolección de basura para configuraciones de Claud…

Recorre periódicamente ~/.claude (skills, memoria, hooks, permisos, servidores MCP, cachés) en busca de elementos redundantes, obsoletos, huérfanos o de bajo valor, y guía al usuario en una limpieza confirmando cada eliminación. Úsalo cuando el usuario diga «limpia mi configuración» o mencione lentitud.

¿Qué es gc-config — Recolección de basura para configuraciones de Claud…?

Config GC es una skill de Claude Code que implementa un proceso de recolección de basura (garbage collection) para la configuración del agente. Su objetivo es identificar y eliminar de forma segura skills, archivos de memoria, hooks, entradas de permisos, servidores MCP y cachés que ya no son útiles o que generan redundancia. A diferencia de la recolección automática en runtime, aquí cada eliminación requiere confirmación explícita del usuario (humano-in-the-loop). La skill escanea ocho canales diferentes (skills, memoria, hooks, permisos, servidores MCP, recordatorios programados, historial de proyectos y cachés de runtime), aplica señales de caducidad específicas para cada canal (duplicados, nunca activados, huérfanos, fechas pasadas, etc.), y presenta los candidatos ordenados por confianza. Para cada candidato se muestra la evidencia y se solicita confirmación individual `[y/n/skip]`. Las eliminaciones se realizan primero con soft-delete (renombrar a `.disabled` o mover a `_gc_trash/`) y se registran en un archivo `gc_log.md` con instrucciones para deshacer. La skill está diseñada para usarse periódicamente (cada ~30 días) o después de grandes instalaciones, y se complementa con otras skills como `skill-stocktake` y `workspace-surface-audit`.

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

Preguntar en tu IA favorita

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

Documentación

Config GC — Recolección de basura para configuraciones de Claude Code

Inspirado en la recolección de basura en tiempo de ejecución: escanea periódicamente objetos que ya no son referenciados, redundantes, caducados o de bajo valor, y recupera espacio. La diferencia crucial: aquí la recolección requiere un humano en el bucle. Nunca elimines de forma autónoma.

Cuándo activarla

  • El usuario pide limpiar, auditar o reducir su configuración de Claude Code
  • El usuario se queja de demasiados skills, hooks ruidosos o inicio lento de sesión
  • Se debe realizar una revisión periódica (mensual) de la configuración
  • Después de instalar un paquete grande de skills (por ejemplo, este repositorio), para conciliar superposiciones con la configuración existente

NO activar para: limpiar código fuente del proyecto (eso es refactorización), borrar el historial de chat o desinstalar Claude Code.

Filosofía de diseño

  1. Las configuraciones solo de añadido filtran. Los skills, archivos de memoria, hooks y entradas de permisos siempre se agregan. Sin revisión periódica se pudren en silencio.
  2. Las auditorías regulares superan a las purgas únicas. Escanea cada ~30 días y propone un lote pequeño de candidatos cada vez.
  3. Estrategias por canal. Cada tipo de acumulación (skills, hooks, permisos, ...) tiene sus propias señales de caducidad; no apliques una regla para todos.
  4. Primero, eliminación suave. Renombra a .disabled > mueve a ~/.claude/_gc_trash/ > eliminación real. Siempre mantén un camino para deshacer.
  5. Humano en el bucle forzoso. Cada candidato recibe su propia confirmación [y/n/skip]. No hay atajo de «sí a todo».
  6. Mantén un registro. Cada ejecución de GC añade a ~/.claude/gc_log.md: qué se tocó, por qué y cómo deshacerlo.

Canales de escaneo

#CanalRutaSeñales de caducidad / redundancia
1Skills~/.claude/skills/*/Nombres muy superpuestos; nunca activados en transcripciones recientes; desajuste de dominio con el trabajo real del usuario; SKILL.md roto o vacío
2Memoria~/.claude/**/memory/*.md + su índiceMúltiples entradas de índice para un mismo tema; contenido que contradice entradas más recientes; fechas ya pasadas; archivos huérfanos que faltan en el índice; fragmentos de menos de 100 palabras que deberían fusionarse
3Hooks~/.claude/hooks/ + configuracionesScripts en disco pero no referenciados por ninguna configuración de hook; versiones antiguas reemplazadas por reescrituras
4Permisospermissions.allow en settings.json / settings.local.jsonEntradas duplicadas; entradas específicas ya cubiertas por un comodín (ej. Bash(git push) cuando Bash(*) está permitido); concesiones únicas de experimentos pasados
5Servidores MCP~/.claude.json o .mcp.json del proyectoServidores que fallan al conectar; duplicados funcionales; no usados durante mucho tiempo
6Recordatorios / tareas programadasdonde el usuario los guardeDisparadores únicos de más de 30 días; tareas cuyos scripts de destino ya no existen
7Historial de proyectos~/.claude/projects/*/Instantáneas de transferencia obsoletas; registros de sesión reemplazados por estado más reciente
8Cachés de runtimecache/, file-history/, logs/, shell-snapshots/Ordena por tamaño y mtime; propón elementos de más de 30 días y grandes

Flujo de trabajo

  1. Escanea todos los canales (o el subconjunto que nombre el usuario). Recolecta candidatos con: ruta, canal, señal que lo marcó, tamaño, última modificación.
  2. Clasifica por confianza (roto/huérfano = alta; solo antiguo = baja) y preséntalos como una tabla numerada. Limita cada ejecución a ~20 candidatos — GC es periódico, no exhaustivo.
  3. Confirma uno por uno. Para cada candidato muestra la evidencia y luego pregunta [y/n/skip]. El usuario puede detenerse en cualquier momento.
  4. Eliminación suave de los confirmados: prefiere renombrar con .disabled para skills y hooks, y mover a _gc_trash/<fecha>/ para archivos. Las entradas de permisos viven en JSON (sin comentarios posibles): haz una copia de seguridad del archivo de configuración, registra cada entrada eliminada textualmente en gc_log.md y luego elimínala del arreglo allow con jq. Solo elimina de forma permanente cuando el usuario lo pida explícitamente.
  5. Registra la ejecución en ~/.claude/gc_log.md: marca de tiempo, elementos procesados, instrucciones para deshacer.
  6. Informa: tamaño recuperado, canales aún saludables, fecha sugerida para la próxima revisión.

Comandos de escaneo de ejemplo

Scripts de hook huérfanos (canal 3) — scripts en disco que ninguna configuración de hook referencia:

for f in ~/.claude/hooks/*; do
  name=$(basename "$f")
  grep -rq "$name" ~/.claude/settings.json ~/.claude/settings.local.json 2>/dev/null \
    || echo "HUÉRFANO: $f"
done

Entradas de permisos redundantes (canal 4) — duplicados y concesiones específicas eclipsadas por un comodín:

jq -r '.permissions.allow[]' ~/.claude/settings.local.json | sort | uniq -d
if jq -e '.permissions.allow | index("Bash(*)")' ~/.claude/settings.local.json >/dev/null; then
  jq -r '.permissions.allow[]' ~/.claude/settings.local.json \
    | grep '^Bash(' | grep -vF 'Bash(*)'
fi

Cachés obsoletas más grandes (canal 8) — du -k en lugar de find -printf (solo GNU), para que funcione en macOS/BSD:

find ~/.claude/file-history ~/.claude/shell-snapshots -type f -mtime +30 \
  -exec du -k {} + 2>/dev/null | sort -rn | head -20

Eliminación suave con ruta para deshacer (captura la fecha una vez para que el registro no pueda contradecir al directorio):

gc_date=$(date +%Y-%m-%d)
mkdir -p ~/.claude/_gc_trash/$gc_date
mv ~/.claude/skills/dead-skill ~/.claude/_gc_trash/$gc_date/
echo "$(date -Iseconds) movido skills/dead-skill -> _gc_trash/$gc_date/ (deshacer: mv de vuelta)" >> ~/.claude/gc_log.md

Eliminar una entrada de permiso confirmada como redundante (JSON no tiene comentarios — copia de seguridad, registra y luego edita):

cp ~/.claude/settings.local.json ~/.claude/settings.local.json.bak
echo "$(date -Iseconds) eliminada entrada de permiso: Bash(git push) (deshacer: restaurar desde .bak o volver a añadir)" >> ~/.claude/gc_log.md
jq '.permissions.allow -= ["Bash(git push)"]' ~/.claude/settings.local.json.bak \
  > ~/.claude/settings.local.json

Anti-patrones

  • Aprobación masiva. Preguntar «¿eliminar todos los 15? [s/n]» va contra el diseño. Un elemento, una decisión.
  • Eliminación definitiva en la primera pasada. Si no hay una copia en _gc_trash/ o un renombrado .disabled, lo hiciste mal.
  • Tratar «antiguo» como «muerto». Un skill no tocado durante 60 días puede ser estacional (temporada de impuestos, revisiones trimestrales). La antigüedad es una señal, no un veredicto — por eso un humano confirma.
  • Limpiar la memoria truncando. Fusionar dos archivos de memoria contradictorios requiere leer ambos y conservar la verdad más reciente, no eliminar el más largo.
  • Tocar cualquier cosa fuera de ~/.claude (o del .claude/ del proyecto). Config GC nunca se adentra en árboles de código fuente.

Mejores prácticas

  • Ejecútala después de grandes adiciones, no solo en el calendario: instalar un paquete de 50 skills es justo cuando aparecen superposiciones con los skills existentes.
  • Cuando dos skills se superponen, prefiere deshabilitar el que tiene la descripción de activación más débil — es el que probablemente nunca se disparaba.
  • La limpieza de permisos es el canal de mayor valor por minuto invertido: las entradas allow redundantes dificultan las revisiones de seguridad.
  • Conserva gc_log.md para siempre. Es pequeño, y «¿cuándo deshabilité ese hook y por qué?» aparece más a menudo de lo que piensas.

Skills relacionadas

  • skill-stocktake — audita la calidad de los skills; config-gc audita la existencia de los skills. Ejecuta stocktake sobre lo que sobrevive a GC.
  • workspace-surface-audit — la contraparte aditiva: recomienda qué instalar. config-gc es la mitad sustractiva del mismo ciclo de vida.
  • configure-ecc — después de instalar skills con ella, ejecuta config-gc para conciliar superposiciones con tu configuración preexistente.
  • continuous-learning — produce los archivos de memoria que esta skill audita posteriormente.
  • security-review — se complementa bien con el canal de permisos.

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

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

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