Inherit Legacy Style
Verhindert Stilabweichungen von AI-Code in Legacy-Projekten, indem die Codebasis nach impliziten Konventionen in 4 meta-architektonischen Dimensionen durchsucht wird. Konflikte werden nacheinander mit dem Benutzer gelöst, und der Konsens wird in einer durchsetzbaren .ai-style-rules.md-Datei festgehalten. Vollständig sprach- und frameworkneutral.
Wann zu aktivieren
- Benutzer gibt
/inherit-legacy-styleein - Benutzer erwähnt die Einarbeitung von AI in ein handgeschriebenes Legacy-Projekt
- Benutzer befürchtet, dass AI-generierter Code von den bestehenden Projektkonventionen abweicht ("driftet")
- Benutzer möchte die impliziten Codierungsregeln des Projekts extrahieren und kodifizieren
Wann zu verwenden
Verwenden Sie dieses Skill, wenn Sie den Stil eines Legacy-Projekts bewahren und Stilabweichungen durch AI-generierten Code verhindern möchten. Siehe Wann zu aktivieren oben für die Auslösebedingungen.
Voraussetzungen
- Git (empfohlen; Projekte ohne Git greifen auf Dateizeitstempel für den inkrementellen Modus zurück)
- Lese-/Schreibzugriff auf das Projektverzeichnis (erzeugt
.ai-style-rules.mdund optionalCLAUDE.md)
Arbeitsablauf
Schritt 0 — Automatische Erkennung
Überprüfen Sie stillschweigend, ob .ai-style-rules.md im Projektverzeichnis vorhanden ist:
| Datei vorhanden? | Modus |
|---|---|
| Nein | Zweig A — Erstdurchlauf (Vollscan) |
| Ja | Zweig B — Inkrementelle Prüfung |
Geben Sie den Modus in einer Zeile bekannt und fahren Sie fort — fragen Sie den Benutzer nie, ob er einen Modus auswählen möchte.
Zweig A — Erstdurchlauf (Vollscan)
1. Maßstab messen, Scan-Stufe wählen
git ls-files | grep -cE '\.(js|ts|jsx|tsx|vue|py|go|rs|java|kt|rb|php|cs|swift|c|cpp|h)$'
| Stufe | Quelldateien | Strategie |
|---|---|---|
| Klein | ≲ 50 | Vollständiges Lesen jeder Quelldatei |
| Mittel | 50–500 | Infrastrukturschicht = vollständig lesen; Geschäftslogik = pro Dimension 2–3 Stichproben |
| Groß | ≳ 500 | Strenge Stichproben + Budgetbegrenzung; zuerst --stat-Zusammenfassung, dann gezielte Lesevorgänge |
2. Scan entlang 4 Dimensionen
- Dateianatomie — Deklarationsreihenfolge in Dateien (Importe → Typen → Hauptlogik → Hilfsfunktionen → Export)
- Zustand & Kontrollfluss — Namenskonventionen für asynchrone Zustände, Paginierung, Flags
- Infrastruktur — wo übergreifende Hilfsfunktionen leben (Interceptor, Formatierer, Middleware)
- Fehlerbehandlung — try/catch vs. globaler Interceptor vs. Result-Rückgabe; Gewohnheiten bei Null-Prüfungen
3. Rauschunterdrückung mittels Signalschwelle anwenden
Bevor der Benutzer unterbrochen wird, die Signalstärke bewerten:
- Schwaches Signal → automatisch unterdrücken: Minderheit <5% UND Anzahl <10 → Mehrheit gewinnt, Minderheit kommt zu DONTs
- Starkes Signal → vertiefte Befragung: fast ausgeglichene Verteilung oder semantische Gabelung bei einer Kerndimension
- Ausnahme bei kleinen Projekten: Quellen ≲50, "3 vs 2" ist KEINE Mehrheit → vertiefte Befragung
4. Konflikte nacheinander lösen (Befragungsprotokoll)
Präsentieren Sie für jeden starken Signalkonflikt GENAU EINE Frage mit 4 Optionen:
Beleg:
pathAverwendet Stil X,pathBverwendet Stil Y WARNUNG: Risiko: Vermischung beider Stile zerbricht den Projektstil Wählen:1Stil X folgen2Stil Y folgen3dies ist eine Weiterentwicklung, Regeln aktualisieren4Ich habe eine neue Regel
Warten Sie auf die Antwort des Benutzers, dann fahren Sie mit dem nächsten Konflikt fort. Stapeln Sie niemals Fragen.
5. .ai-style-rules.md erstellen mit drei obligatorischen Abschnitten:
- [Golden Files] — reale exemplarische Dateipfade mit Erläuterung, was sie demonstrieren
- [Naming- & State-Control-Regeln] — konkrete, überprüfbare Konventionen
- [DONTs] — Anti-Patterns, die nicht weitergetragen werden dürfen
6. Das dauerhafte Hook installieren
Fragen Sie den Benutzer nach der Durchsetzungsstärke (verwenden Sie AskUserQuestion):
| Option | Mechanismus |
|---|---|
| 1 Soft Hook (empfohlen) | Schreibe @.ai-style-rules.md-Referenz in die Projekt-CLAUDE.md |
| 2 Hard Hook | Soft Hook + `PreToolUse[Write |
| 3 Kein Hook | Behalte die Regeln-Datei; Benutzer referenziert sie manuell |
Zweig B — Inkrementelle Prüfung
- Vorhandene
.ai-style-rules.mdlesen; enthält sie einen Commit-Fingerabdruck,git diff <letzter_hash> HEAD --statausführen, um das Delta zu identifizieren - Aktuelle Git-Änderungen lesen (
git log -3 --stat→ verdächtige Dateien bei Bedarf prüfen) - Bei übermäßig großen Diffs (>hunderte Dateien): nur
--stat-Zusammenfassung + Stichproben der größten Änderungen - Neuen Code mit den aufgezeichneten Regeln abgleichen → Konflikte durchlaufen das Befragungsprotokoll
- Entwicklungslog am Ende von
.ai-style-rules.mdanhängen (niemals alte Regeln überschreiben)
Durchsetzung pro Durchlauf
Wenn .ai-style-rules.md im Kontext ist (geladen über CLAUDE.md), muss jede Code-Generierungsaufgabe mit einer Compliance-Erklärung in der Argumentationskette beginnen, die das befolgte Referenzbeispiel und die vermiedenen DONTs benennt.
Funktionsweise
Dieses Skill erkennt automatisch, ob es sich um einen Erstdurchlauf oder einen inkrementellen Durchlauf handelt, anhand der Existenz von .ai-style-rules.md:
- Erstdurchlauf (Zweig A) — Misst den Projektumfang, durchsucht die Codebasis entlang 4 meta-architektonischer Dimensionen (Dateianatomie, Zustands- & Kontrollfluss, Infrastruktur, Fehlerbehandlung), wendet Rauschunterdrückung an, löst starke Signalkonflikte nacheinander mit dem Benutzer, erstellt
.ai-style-rules.mdmit Golden Files / Naming-Regeln / DONTs und bietet optionale Durchsetzungs-Hooks an. - Inkrementell (Zweig B) — Liest vorhandene Regeln, prüft aktuelle Git-Diffs auf neue oder widersprüchliche Muster, führt das gleiche Einzelfall-Befragungsprotokoll für gefundene Konflikte durch und hängt Entwicklungslogs an, ohne vorhandene Regeln zu überschreiben.
- Durchsetzung pro Durchlauf — Wenn über
CLAUDE.mdeingehakt, beginnt jede Code-Generierungsaufgabe mit einer Compliance-Erklärung, die das befolgte Referenzbeispiel und die vermiedenen DONTs benennt.
Ausgabespezifikation
.ai-style-rules.mdim Projektverzeichnis (mit Commit-Fingerabdruck und Skalierungsstufe im Header)- Optional
CLAUDE.mdmit@.ai-style-rules.md-Referenz - Entwicklungslogs angehängt als
### [YYYY-MM-DD] Style Evolution Log-Einträge
Anti-Patterns
- FEHLER: Überspringen Sie NICHT den Schritt zur Maßstabsmessung — ein 30-Dateien-Projekt durch Stichproben zu "auszuhungern" schadet; ein 5.000-Dateien-Repo vollständig zu scannen sprengt den Rahmen
- FEHLER: Stapeln Sie NICHT mehrere Konfliktfragen gleichzeitig — die Befragung erfolgt streng nacheinander
- FEHLER: Überschreiben Sie NICHT alte Regeln im inkrementellen Modus — hängen Sie immer Entwicklungslogs an
- FEHLER: Standardmäßig den "Hard Hook" zu verwenden, ohne zu fragen, ist falsch — die Durchsetzungsstärke entscheidet der Benutzer
- FEHLER: Bewerten Sie NICHT die Syntax oder die Qualität des Tech-Stacks — dieses Skill richtet nur die Meta-Architektur aus
- FEHLER: Kopieren Sie NICHT Fehler aus exemplarischen Dateien — nutzen Sie die Struktur, markieren Sie Defekte
Best Practices
- Geben Sie den erkannten Modus (Erstdurchlauf vs. inkrementell) und die Skalierungsstufe in einer Zeile bekannt, bevor Sie mit dem Scannen beginnen
- Bei großen Projekten zuerst
--stat-Zusammenfassungen lesen, dann gezielteRead-Aufrufe auf verdächtige Dateien - Lassen Sie die Signalschwelle das Rauschen verarbeiten — eine 843-gegen-8-Namensaufteilung sollte automatisch aufgelöst werden, ohne den Benutzer zu unterbrechen
- Bei Unsicherheit über die Signalstärke lieber nachfragen
- Der CLAUDE.md Soft Hook (
@.ai-style-rules.md) ist normalerweise ausreichend; Hard Hook nur, wenn der Benutzer eine mechanische Durchsetzung wünscht
Verwandte Skills
init— initialisiert eine neue CLAUDE.md mit Codebasis-Dokumentationcode-review— überprüft Diffs auf Korrektheit und Stilproblemesimplify— überprüft Code auf Wiederverwendungs- und Vereinfachungsmöglichkeiten
Beispiele
-
Ersteinarbeitung
- Benutzer: "Hilf mir, AI in diese ältere Codebasis einzuarbeiten, ohne ihren Stil zu ändern."
- Aktion: Zweig A Vollscan ausführen → Maßstab messen → 4 Dimensionen scannen → Konflikte befragen →
.ai-style-rules.mderstellen → Hook-Stärke anbieten (soft/hard/kein).
-
Inkrementelles Update nach Teamänderungen
- Benutzer: "Wir haben ein neues Modul hinzugefügt; bestehende Stilregeln beibehalten."
- Aktion: Zweig B inkrementelle Prüfung ausführen → Git-Deltas mit aufgezeichneten Regeln abgleichen → neue Konflikte befragen → Entwicklungslog anhängen, ohne zu überschreiben.
-
Durchsetzung von DONTs über CLAUDE.md
- Benutzer: "Stelle sicher, dass aller neue Code konsistent mit den Projektregeln bleibt."
- Aktion: Soft Hook installiert →
.ai-style-rules.mdwird automatisch in jeder Sitzung geladen → jede Code-Generierungsaufgabe beginnt mit Compliance-Erklärung, verwendet Referenzmuster und vermeidet DONTs.