Communitygithub.com

config-gc

Nettoyage (garbage collection) pour votre configuration Claude Code. Analyse périodiquement ~/.claude (skills, mémoire, hooks, permissions, serveurs MCP, caches) à la recherche d'éléments redondants, obsolètes, orphelins ou de faible valeur, puis guide l'utilisateur dans un nettoyage avec confirmation de chaque suppression.

Qu'est-ce que config-gc ?

Config-GC est un outil de garbage collection conçu pour les configurations Claude Code. Il emprunte le concept de la collecte des déchets des langages runtime : analyser périodiquement les objets qui ne sont plus référencés, redondants, expirés ou de faible valeur, et récupérer l'espace. La différence cruciale est que la collecte nécessite une intervention humaine — aucune suppression autonome n'est permise. L'outil scanne huit canaux : les skills, la mémoire, les hooks, les permissions, les serveurs MCP, les rappels programmés, l'historique des projets et les caches d'exécution. Pour chaque candidat, il présente les preuves et demande une confirmation individuelle [y/n/skip]. Il applique une stratégie de suppression douce (renommage en .disabled ou déplacement vers _gc_trash) pour préserver une possibilité d'annulation, et enregistre chaque action dans ~/.claude/gc_log.md. Config-GC est idéal après l'installation de packs de skills volumineux ou lors de revues mensuelles de configuration.

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

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Config GC — Garbage Collection pour les configurations Claude Code

Emprunté au garbage collection des environnements d'exécution : analyser périodiquement les objets qui ne sont plus référencés, redondants, expirés ou de faible valeur, et récupérer l'espace. La différence cruciale : ici, la collecte nécessite un humain dans la boucle. Ne jamais supprimer de manière autonome.

Quand activer

  • L'utilisateur demande de nettoyer, auditer ou réduire la taille de sa configuration Claude Code
  • L'utilisateur se plaint d'un trop grand nombre de skills, de hooks bruyants, ou d'un démarrage de session lent
  • Une revue mensuelle/périodique de la configuration est due
  • Après l'installation d'un pack de skills volumineux (par exemple ce dépôt), pour réconcilier les chevauchements avec la configuration existante

Ne PAS activer pour : nettoyer le code source d'un projet (c'est du refactoring), effacer l'historique des conversations, ou désinstaller Claude Code lui-même.

Philosophie de conception

  1. Les configurations en mode ajout-seulement fuient. Les skills, fichiers mémoire, hooks et entrées de permissions ne font que s'ajouter. Sans revue périodique, ils pourrissent en silence.
  2. Les audits réguliers valent mieux qu'un nettoyage unique. Scanner tous les ~30 jours, proposer un petit lot de candidats à chaque fois.
  3. Stratégies par canal. Chaque type d'accumulation (skills, hooks, permissions, ...) a ses propres signaux d'obsolescence — ne pas appliquer une règle uniforme partout.
  4. Suppression douce d'abord. Renommer en .disabled > déplacer vers ~/.claude/_gc_trash/ > vraie suppression. Toujours garder un chemin d'annulation.
  5. Humain dans la boucle obligatoire. Chaque candidat reçoit sa propre confirmation [y/n/skip]. Pas de raccourci "oui à tout".
  6. Tenir un journal. Chaque exécution de GC ajoute à ~/.claude/gc_log.md : ce qui a été touché, pourquoi, et comment l'annuler.

Canaux d'analyse

#CanalCheminSignaux d'obsolescence / redondance
1Skills~/.claude/skills/*/Noms fortement redondants ; jamais déclenchés dans les transcriptions récentes ; décalage de domaine avec le travail réel de l'utilisateur ; SKILL.md cassé ou vide
2Mémoire~/.claude/**/memory/*.md + son indexPlusieurs entrées d'index pour un même sujet ; contenus contredisant des entrées plus récentes ; dates dépassées ; fichiers orphelins absents de l'index ; fragments de moins de 100 mots qui devraient être fusionnés
3Hooks~/.claude/hooks/ + paramètresScripts présents sur le disque mais référencés par aucune configuration de hook ; anciennes versions remplacées par des réécritures
4Permissionspermissions.allow dans settings.json / settings.local.jsonEntrées en double ; entrées spécifiques déjà couvertes par un joker (par ex. Bash(git push) quand Bash(*) est autorisé) ; autorisations ponctuelles d'expériences passées
5Serveurs MCP~/.claude.json ou .mcp.json du projetServeurs qui échouent à se connecter ; doublons fonctionnels ; inutilisés depuis longtemps
6Rappels programmés / tâcheslà où l'utilisateur les conserveÉvénements uniques datant de plus de 30 jours ; tâches dont les scripts cibles n'existent plus
7Historique des projets~/.claude/projects/*/Instantanés de transfert obsolètes ; enregistrements de session remplacés par un état plus récent
8Caches d'exécutioncache/, file-history/, logs/, shell-snapshots/Trier par taille et date de modification ; proposer les éléments de plus de 30 jours et volumineux

Flux de travail

  1. Analyser tous les canaux (ou le sous-ensemble nommé par l'utilisateur). Collecter les candidats avec : chemin, canal, signal qui l'a signalé, taille, dernière modification.
  2. Classer par confiance (cassé/orphelin = élevé ; simplement ancien = faible) et présenter sous forme de tableau numéroté. Limiter chaque exécution à ~20 candidats — GC est périodique, pas exhaustif.
  3. Confirmer un par un. Pour chaque candidat, montrer les preuves, puis demander [y/n/skip]. L'utilisateur peut s'arrêter à tout moment.
  4. Supprimer en douceur les éléments confirmés : préférer le renommage en .disabled pour les skills et hooks, et le déplacement vers _gc_trash/<date>/ pour les fichiers. Les entrées de permissions vivent dans du JSON (pas de commentaires possibles) : sauvegarder le fichier de paramètres, enregistrer chaque entrée supprimée textuellement dans gc_log.md, puis la retirer du tableau allow avec jq. Ne supprimer définitivement que si l'utilisateur le demande explicitement.
  5. Journaliser l'exécution dans ~/.claude/gc_log.md : horodatage, éléments traités, instructions d'annulation.
  6. Rapporter : taille récupérée, canaux encore sains, date de prochaine revue suggérée.

Exemples de commandes d'analyse

Scripts de hooks orphelins (canal 3) — scripts sur le disque qu'aucune configuration de hook ne référence :

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

Entrées de permissions redondantes (canal 4) — doublons, et autorisations spécifiques éclipsées par un joker :

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

Plus grands caches obsolètes (canal 8) — utiliser du -k au lieu de find -printf (spécifique à GNU) pour fonctionner sur macOS/BSD :

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

Suppression douce avec chemin d'annulation (capturer la date une fois pour que le journal ne puisse pas contredire le répertoire) :

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) déplacé skills/dead-skill -> _gc_trash/$gc_date/ (annulation : mv retour)" >> ~/.claude/gc_log.md

Supprimer une entrée de permission confirmée comme redondante (JSON n'a pas de commentaires — sauvegarder, journaliser, puis éditer) :

cp ~/.claude/settings.local.json ~/.claude/settings.local.json.bak
echo "$(date -Iseconds) entrée de permission supprimée : Bash(git push) (annulation : restaurer depuis .bak ou rajouter)" >> ~/.claude/gc_log.md
jq '.permissions.allow -= ["Bash(git push)"]' ~/.claude/settings.local.json.bak \
  > ~/.claude/settings.local.json

Anti-patrons

  • Approbation en bloc. Demander "supprimer les 15 ? [y/n]" va à l'encontre de la conception. Un élément, une décision.
  • Suppression définitive au premier passage. S'il n'y a pas de copie dans _gc_trash/ ou de renommage en .disabled, vous avez fait une erreur.
  • Considérer "vieux" comme "mort". Une skill non utilisée depuis 60 jours peut être saisonnière (saison des impôts, revues trimestrielles). L'âge est un signal, pas un verdict — c'est pourquoi un humain confirme.
  • Nettoyer la mémoire par troncature. Fusionner deux fichiers mémoire contradictoires nécessite de les lire et de conserver la vérité la plus récente, pas de supprimer le plus long.
  • Toucher à quoi que ce soit en dehors de ~/.claude (ou du .claude/ du projet). Config GC ne s'aventure jamais dans les arborescences source.

Bonnes pratiques

  • Exécuter après de gros ajouts, pas seulement selon un calendrier : l'installation d'un pack de 50 skills est précisément le moment où des chevauchements avec les skills existants apparaissent.
  • Lorsque deux skills se chevauchent, préférer désactiver celle dont la description de déclenchement est la plus faible — c'est celle qui ne se déclenchait probablement jamais de toute façon.
  • Le nettoyage des permissions est le canal au meilleur rapport qualité-prix par minute passée : les entrées allow redondantes rendent la revue de sécurité plus difficile.
  • Conserver gc_log.md indéfiniment. C'est minuscule, et "quand ai-je désactivé ce hook et pourquoi" revient plus souvent qu'on ne le pense.

Compétences associées

  • skill-stocktake — audite la qualité des skills ; config-gc audite l'existence des skills. Exécuter stocktake sur ce qui survit à GC.
  • workspace-surface-audit — le pendant additif : recommande ce qu'il faut installer. config-gc est la moitié soustractive du même cycle de vie.
  • configure-ecc — après avoir installé des skills avec, exécuter config-gc pour réconcilier les chevauchements avec votre configuration préexistante.
  • continuous-learning — produit les fichiers mémoire que cette skill audite ensuite.
  • security-review — se marie bien avec le canal des permissions.

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 associés