Communitygithub.com

config-gc

Garbage Collection für die Claude Code-Konfiguration. Durchsucht regelmäßig ~/.claude (Skills, Memory, Hooks, Berechtigungen, MCP-Server, Caches) nach redundanten, veralteten, verwaisten oder minderwertigen Einträgen und führt den Benutzer durch eine bestätigungspflichtige Bereinigung.

Was ist config-gc?

Dieses Skill führt eine Garbage Collection für die Claude Code-Konfiguration durch. Es scannt regelmäßig verschiedene Kanäle wie Skills, Memory-Dateien, Hooks, Berechtigungen, MCP-Server und Laufzeit-Caches nach redundanten, veralteten, verwaisten oder minderwertigen Einträgen. Der entscheidende Unterschied zur Laufzeit-Garbage Collection: Hier ist immer ein Mensch im Loop – niemals wird automatisch gelöscht. Jeder Kandidat wird einzeln mit einer `[y/n/skip]`-Bestätigung vorgelegt. Das Skill unterstützt Soft-Deletes (umbenennen oder verschieben), führt ein ausführliches Log (`gc_log.md`) und priorisiert Berechtigungsbereinigung als höchste Wertschöpfung pro Minute. Es ist für Claude Code auf allen Plattformen (Linux, macOS, BSD) geeignet und enthält plattformunabhängige Shell-Befehle.

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

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Config GC – Garbage Collection für Claude Code-Installationen

Entlehnt aus der Laufzeit-Garbage Collection: Periodisch nach Objekten suchen, die nicht mehr referenziert, redundant, abgelaufen oder von geringem Wert sind, und den Speicherplatz zurückgewinnen. Der entscheidende Unterschied: Hier ist ein Mensch im Loop – niemals autonom löschen.

Wann aktivieren

  • Der Benutzer bittet um Bereinigung, Audit oder Verschlankung seiner Claude Code-Konfiguration
  • Der Benutzer beschwert sich über zu viele Skills, laute Hooks oder langsamen Sitzungsstart
  • Eine monatliche/periodische Konfigurationsüberprüfung steht an
  • Nach der Installation eines großen Skill-Pakets (z. B. dieses Repository), um Überschneidungen mit dem bestehenden Setup zu bereinigen

NICHT aktivieren für: Bereinigung von Projektquellcode (das ist Refactoring), Löschen des Chatverlaufs oder Deinstallation von Claude Code selbst.

Design-Philosophie

  1. Nur-Ergänzen-Konfigurationen lecken. Skills, Memory-Dateien, Hooks und Berechtigungseinträge werden nur hinzugefügt. Ohne regelmäßige Überprüfung vergammeln sie still.
  2. Regelmäßige Audits schlagen einmaligen Bereinigungen. Alle ~30 Tage scannen, jedes Mal eine kleine Liste von Kandidaten vorschlagen.
  3. Pro-Kanal-Strategien. Jeder Akkumulationstyp (Skills, Hooks, Berechtigungen, …) hat eigene Veraltungssignale – nicht überall die gleiche Regel anwenden.
  4. Soft-Deletes zuerst. Umbenennen in .disabled > Verschieben nach ~/.claude/_gc_trash/ > endgültiges Löschen. Immer einen Rückweg offen halten.
  5. Erzwungener Mensch-im-Loop. Jeder Kandidat erhält seine eigene [y/n/skip]-Bestätigung. Keine „Ja zu allen“-Abkürzung.
  6. Ein Log führen. Jeder GC-Lauf hängt an ~/.claude/gc_log.md an: Was wurde bearbeitet, warum und wie rückgängig zu machen.

Scan-Kanäle

#KanalPfadVeraltungs-/Redundanzsignale
1Skills~/.claude/skills/*/Stark überlappende Namen; nie in aktuellen Transkripten ausgelöst; Domänenkonflikt mit der tatsächlichen Arbeit des Benutzers; defekte oder leere SKILL.md
2Memory~/.claude/**/memory/*.md + sein IndexMehrere Indexeinträge für ein Thema; Inhalte widersprechen neueren Einträgen; abgelaufene Daten; verwaiste Dateien ohne Indexeintrag; unter-100-Wort-Fragmente, die zusammengeführt werden sollten
3Hooks~/.claude/hooks/ + EinstellungenSkripte auf der Festplatte, aber von keiner Hook-Konfiguration referenziert; alte Versionen, die durch Neuschreibungen ersetzt wurden
4Berechtigungenpermissions.allow in settings.json / settings.local.jsonDoppelte Einträge; spezifische Einträge, die bereits von einem Wildcard abgedeckt werden (z. B. Bash(git push) wenn Bash(*) erlaubt ist); einmalige Freigaben aus vergangenen Experimenten
5MCP-Server~/.claude.json oder Projekt .mcp.jsonServer, die keine Verbindung herstellen können; funktionale Duplikate; lange nicht genutzt
6Geplante Erinnerungen / Jobswo der Benutzer sie aufbewahrtBereits ausgelöste Einmalaktionen älter als 30 Tage; Jobs, deren Zielskripte nicht mehr existieren
7Projekthistorie~/.claude/projects/*/Veraltete Übergabe-Snapshots; Sitzungsaufzeichnungen, die durch neueren Zustand ersetzt wurden
8Laufzeit-Cachescache/, file-history/, logs/, shell-snapshots/Sortieren nach Größe und Änderungsdatum; Elemente älter als 30 Tage und groß vorschlagen

Arbeitsablauf

  1. Scannen aller Kanäle (oder der vom Benutzer genannten Teilmenge). Kandidaten sammeln mit: Pfad, Kanal, auslösendem Signal, Größe, letzter Änderung.
  2. Rangfolge nach Vertrauenswürdigkeit (defekt/verwaist = hoch; nur alt = niedrig) und als nummerierte Tabelle präsentieren. Auf ~20 Kandidaten pro Lauf begrenzen – GC ist periodisch, nicht erschöpfend.
  3. Eins nach dem anderen bestätigen. Für jeden Kandidaten die Evidenz zeigen, dann [y/n/skip] abfragen. Der Benutzer kann jederzeit abbrechen.
  4. Soft-Delete bestätigter Elemente: .disabled-Umbenennung für Skills/Hooks bevorzugen, _gc_trash/<datum>/-Verschiebung für Dateien. Berechtigungseinträge leben in JSON (keine Kommentare möglich): Einstellungsdatei sichern, jeden entfernten Eintrag wörtlich in gc_log.md notieren, dann mit jq aus dem allow-Array entfernen. Nur hart löschen, wenn der Benutzer es ausdrücklich verlangt.
  5. Log des Laufs nach ~/.claude/gc_log.md: Zeitstempel, bearbeitete Elemente, Rückgängig-Anweisungen.
  6. Bericht: freigegebene Größe, noch gesunde Kanäle, empfohlenes nächstes Prüfdatum.

Beispiel-Scan-Befehle

Verwaiste Hook-Skripte (Kanal 3) – Skripte auf der Festplatte, die keine Hook-Konfiguration referenziert:

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

Redundante Berechtigungseinträge (Kanal 4) – Duplikate und spezifische Freigaben, die von einem Wildcard überdeckt werden:

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

Größte veraltete Caches (Kanal 8) – du -k statt GNU-only find -printf, damit es auch auf macOS/BSD funktioniert:

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

Soft-Delete mit Rückweg (Datum einmal erfassen, damit das Log nicht mit dem Verzeichnis in Konflikt gerät):

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) verschoben skills/dead-skill -> _gc_trash/$gc_date/ (rückgängig: mv zurück)" >> ~/.claude/gc_log.md

Entfernen eines bestätigt redundanten Berechtigungseintrags (JSON hat keine Kommentare – sichern, loggen, dann bearbeiten):

cp ~/.claude/settings.local.json ~/.claude/settings.local.json.bak
echo "$(date -Iseconds) Berechtigungseintrag entfernt: Bash(git push) (rückgängig: .bak wiederherstellen oder neu hinzufügen)" >> ~/.claude/gc_log.md
jq '.permissions.allow -= ["Bash(git push)"]' ~/.claude/settings.local.json.bak \
  > ~/.claude/settings.local.json

Anti-Patterns

  • Massenfreigabe. Die Frage „Alle 15 löschen? [y/n]“ untergräbt das Design. Ein Element, eine Entscheidung.
  • Hartlöschen beim ersten Durchlauf. Wenn es keine _gc_trash/-Kopie oder .disabled-Umbenennung gibt, hast du es falsch gemacht.
  • „Alt“ mit „tot“ gleichsetzen. Ein Skill, der 60 Tage nicht angerührt wurde, kann saisonal sein (Steuerzeit, Quartalsüberprüfungen). Alter ist ein Signal, kein Urteil – deshalb bestätigt ein Mensch.
  • Memory durch Kürzen bereinigen. Das Zusammenführen zweier widersprüchlicher Memory-Dateien erfordert das Lesen beider und das Behalten der neueren Wahrheit, nicht das Löschen der längeren.
  • Irgendetwas außerhalb von ~/.claude (oder dem projektbezogenen .claude/) anfassen. Config GC wandert nie in Quellcode-Bäume.

Best Practices

  • Nach großen Ergänzungen ausführen, nicht nur nach Kalender: Die Installation eines 50-Skill-Pakets ist genau der Moment, in dem Überschneidungen mit bestehenden Skills auftauchen.
  • Wenn sich zwei Skills überschneiden, denjenigen deaktivieren, der die schwächere Trigger-Beschreibung hat – das ist der, der wahrscheinlich ohnehin nie gefeuert hat.
  • Berechtigungsbereinigung ist der Kanal mit dem höchsten Wert pro investierter Minute: Redundante Erlaubnis-Einträge erschweren das Sicherheits-Review.
  • gc_log.md für immer behalten. Es ist winzig, und „wann habe ich diesen Hook deaktiviert und warum“ taucht öfter auf, als man denkt.

Verwandte Skills

  • skill-stocktake – prüft die Skill-Qualität; config-gc prüft die Skill-Existenz. Stocktake auf dem ausführen, was GC überlebt hat.
  • workspace-surface-audit – das additive Gegenstück: empfiehlt, was installiert werden soll. config-gc ist der subtraktive Teil desselben Lebenszyklus.
  • configure-ecc – nach der Installation von Skills damit config-gc ausführen, um Überschneidungen mit dem bestehenden Setup zu bereinigen.
  • continuous-learning – erzeugt die Memory-Dateien, die dieses Skill später prüft.
  • security-review – harmoniert gut mit dem Berechtigungs-Kanal.

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.

Verwandte Skills