Communitygithub.com

SUNQSHENG/project-registry

Claude-Code-Skill: Persönliche Projektregistrierung mit KI-lesbaren Entwicklungslogs, Sitzungswiederaufnahme, Entscheidungszuordnung, Projektzustandsprüfung und Versionsrücksetzung.

Was ist project-registry?

Das Skill `project-registry` verwaltet eine persönliche Projektregistrierung in der Datei `~/projects/PROJECTS.json` und projektspezifische, KI-lesbare Entwicklungslogs (`CLAUDE.md`). Es ermöglicht dem Benutzer, Projekte aufzulisten, anzulegen, zu löschen, zu speichern, Sitzungen nahtlos fortzusetzen, Entscheidungen zu dokumentieren und zurückzuverfolgen, den Gesundheitszustand aller Projekte zu prüfen und Versionen von Registern oder Logs zurückzusetzen. Die Benutzeroberfläche ist primär auf Chinesisch, alle Funktionen sind jedoch vollständig sprachunabhängig nutzbar (die KI versteht Chinesisch und Englisch). Besonders hervorzuheben ist die intelligente Kontextwiederherstellung: Beim Öffnen eines Projekts analysiert das Skill automatisch das `CLAUDE.md`, fasst den letzten Fortschritt zusammen und präsentiert die nächsten Aktionen als Auswahlkarte, sodass lange Projekte ohne Informationsverlust weitergeführt werden können.

Funktioniert mit✓Claude Code✓Codex CLI~Cursor
npx skills add SUNQSHENG/project-registry

In Ihrer bevorzugten KI fragen

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

Dokumentation

Was macht project-registry?

EN — Ein Claude Code Skill, das eine persönliche Projektregistrierung (~/projects/PROJECTS.json) mit projektspezifischen, KI-lesbaren Entwicklungslogs (CLAUDE.md) verwaltet: Auflisten, Anlegen, Löschen, Speichern, Sitzungswiederaufnahme, Entscheidungszuordnung, Gesundheitsprüfung und Versionsrücksetzung über ein einziges Menü. Der UI-Text ist primär auf Chinesisch, aber Trigger funktionieren sowohl auf Chinesisch als auch auf Englisch, und jede Funktion ist unabhängig von der Sprache voll funktionsfähig (die KI versteht beide). Installation: npx skills add SUNQSHENG/project-registry oder /plugin marketplace add SUNQSHENG/project-registry.

Übersicht

Verwaltet die in ~/projects/PROJECTS.json registrierte Projektliste und bietet Funktionen zum Hinzufügen, Löschen, Ändern, Abfragen und zur Statistik. Projekte werden als <key>/-Unterverzeichnisse in ~/projects/ abgelegt. Jedes Projekt enthält eine README.md, die Hintergrund und Umfang dokumentiert.

Beim Arbeiten mit einem Projekt wird automatisch cd in das entsprechende Projektverzeichnis ausgeführt.

Datenquellen

~/projects/
  PROJECTS.json    # Projektregistrierungsliste (einzige autoritative Quelle)
  <key>/           # Projektverzeichnis
    README.md      # Projekthintergrund und -umfang (für Menschen)
    CLAUDE.md      # Projektentwicklungsprotokoll (für KI, wird bei jeder Sitzung automatisch geladen)

Alle Projekte müssen im Verzeichnis ~/projects/ abgelegt werden.

Unterschied: README.md gibt Entwicklern/Mitarbeitern einen Projektüberblick; CLAUDE.md ist für die KI, protokolliert Entscheidungen, Status und Kontext während der Entwicklung und stellt sicher, dass bei langen Projekten keine Informationen verloren gehen.

PROJECTS.json Struktur

{
  "description": "Projektliste — Alle Projekte werden hier registriert",
  "updated": "2026-03-01",
  "nextSeq": 3,
  "projects": [
    {
      "seq": 1,
      "key": "pet_hospital_crm_20260301",
      "name": "Tierklinik CRM",
      "status": "Abgeschlossen",
      "created": "2026-03-01"
    }
  ]
}

Einstieg / Aktionen

Bei jedem Betreten des Skills wechselt es zuerst mit cd ~ in das Benutzer-Stammverzeichnis, liest dann die PROJECTS.json und zeigt die Liste mit einem kompakten Menü an (ohne Verzeichnisprüfung):

📋 Aktuelle Projektliste (insgesamt N)
┌─────┬──────────────────────────────┬──────────────────────┬──────────────────┬──────────────┬────────────┐
│ Nr. │ key                         │ Name                 │ Status           │ Erstellungsdatum │
├─────┼──────────────────────────────┼──────────────────────┼──────────────────┼──────────────┼────────────┤
│ 1   │ pet_hospital_crm_20260301    │ Tierklinik CRM      │ ✅ Abgeschlossen  │ 2026-03-01       │
│ 2   │ gym_members_app_20260315     │ Fitnessstudio-Mitglieder-App │ 🔄 In Bearbeitung │ 2026-03-15       │
└─────┴──────────────────────────────┴──────────────────────┴──────────────────┴──────────────┴────────────┘

> Die anfängliche Anzeige führt keine Verzeichnisprüfung durch, sondern liest nur die JSON. Der Verzeichnisstatus wird bei der MD-Prüfung (MD check) stapelweise überprüft.

Bitte wählen Sie eine Aktion (oder sagen Sie direkt, was Sie brauchen):
 - Geben Sie die **Projektnummer** (1-99) ein → Öffnet das entsprechende Projekt (z.B. 12)
 - 🆕 N. Neues Projekt anlegen
 - 🗑️ D. Projekt löschen
 - 🔍 C. MD-Prüfung (Stapelprüfung aller Projekte)

> Andere Anforderungen (Ändern/Suchen/Statistiken/Protokoll aktualisieren/Speichern/Beenden/**Projekt prüfen**/**Warum XX**) können Sie direkt im Gespräch äußern
> ⚠️ **Beim Speichern/Beenden wird CLAUDE.md automatisch aktualisiert** (zwingende Regel)

⚙️ Ersteinrichtungsanleitung (API-Key optional)

Beim ersten Betreten des Skills:

  1. Prüfen, ob die Umgebungsvariablen PR_API_BASE_URL / PR_API_KEY / PR_API_MODEL gesetzt sind (printenv)
  2. Nicht gesetzt → AskUserQuestion-Karte mit der Frage: „API-Key konfigurieren, um automatische Zusammenfassungen zu aktivieren?“
    • Konfigurieren (empfohlen) → Anleitung zum Setzen der drei Umgebungsvariablen (README enthält Beispiele für verschiedene Anbieter: DeepSeek / OpenAI / Tongyi Qianwen / Ollama lokal)
    • Überspringen → Schreibe in <Skill-Verzeichnis>/config.json („Übersprungen“ vermerken, zukünftig nicht mehr fragen)
    • Mehr erfahren → Funktionsvergleichstabelle anzeigen
  3. Nach der Konfiguration sofort wirksam (kein Neustart der Sitzung erforderlich)

Funktionsvergleichstabelle:

FähigkeitOhne KeyMit Key
Datensicherheit (sekundenschnelle Backups + automatischer Commit bei Sitzungsende)✅✅
Alle Kernfunktionen (Register/Sitzungswiederaufnahme/Zuordnung/Rollback/Prüfung)✅✅
Automatische Zusammenfassung (Gespräch automatisch destillieren → CLAUDE.md in Echtzeit aktualisieren)❌✅

Sie können jederzeit „API konfigurieren“ sagen, um die Einrichtung erneut zu starten.

🔍 Automatische Erkennung des aktuellen Projekts

Bei jedem Betreten des Skills wird automatisch cd ~ ausgeführt. Aktionen, die ein Projekt benötigen (Prüfen/Ändern/Speichern/Protokoll aktualisieren usw.), erkennen das aktuelle Verzeichnis automatisch:

1. pwd prüft, ob es mit ~/projects/<key>/ übereinstimmt
2. Bei Übereinstimmung → Dieses Projekt wird automatisch ausgewählt
3. Bei keiner Übereinstimmung → Manuelle Auswahl (nach Nummer oder key)

🧭 Sitzungsstartablauf (Kontextwiederherstellung)

Wird nur für „In Projekt arbeiten“-Aktionen ausgelöst: Projekt öffnen / Prüfen / Ändern / Protokoll aktualisieren / Speichern / Beenden. Leichte Aktionen wie Details anzeigen, Suchen, Statistiken werden nicht ausgelöst.

Nach dem Betreten eines Projekts und vor der Ausführung einer Aktion wird zuerst der Kontext überprüft und dann fortgesetzt (um zu verhindern, dass bei langen Projekten Informationen verloren gehen und man nach einer Unterbrechung nicht weiß, wo man weitermachen soll):

  1. Lesen des CLAUDE.md des Projekts (falls vorhanden)
  2. Zusammenfassung des letzten Fortschritts: Bezugnahme auf „Aktueller Status / Letzte Fortschritte“, ggf. in Kombination mit den letzten git-Commits
  3. Auflisten der „Nächsten Aktionen“ (nach Priorität 1., 2., 3., …)
  4. Den Benutzer fragen, bei welcher er fortfahren möchte (AskUserQuestion-Karte mit den Optionen für die nächsten Aktionen anzeigen), dann nach Bestätigung mit der Arbeit beginnen

Beispielhafter Wortlaut (Anmerkung unter der Karte):

📌 Zusammenfassung des letzten Fortschritts: Projektinitialisierung abgeschlossen, Register erstellt
➡️ Nächste Aktionen (nach Priorität):
  1. Anforderungsdokument fertigstellen
  2. Aufgabenliste ergänzen
Bei welcher Aktion möchten Sie fortfahren?

Bei neuen Projekten (CLAUDE.md gerade erst erstellt) kann die Überprüfung übersprungen werden; direkt mit den Aktionen fortfahren.

📂 Projekt öffnen

  1. Projekt anhand der Nummer oder des Keys lokalisieren → Vorhandensein des Verzeichnisses ~/projects/<key>/ prüfen
  2. cd in das Projektverzeichnis
  3. „🧭 Sitzungsstartablauf“ auslösen (Letzten Fortschritt überprüfen → Fortsetzung bestätigen)
  4. Nachdem der Benutzer im Projekt zu arbeiten begonnen hat, je nach Bedarf Aktionen ausführen (Ändern/Protokoll aktualisieren/Speichern/Beenden)

Aktionsdetails

📌 Interaktionsregel (zwingend): Bei allen Anfragen, die ein „Ja/Nein“ oder eine „Multiple-Choice“-Auswahl vom Benutzer erfordern, muss das AskUserQuestion-Tool verwendet werden, um die Optionen als Karte darzustellen (zwei oder mehr Optionsschaltflächen). Es ist verboten, als reinen Text zu fragen. Anwendungsfälle: Soll grill-with-docs eingebunden werden? Soll ein optionales Dokumentengerüst erstellt werden? Projekttypbestätigung, Key/Hintergrundbestätigung (gemäß Vorschlag oder Änderung), Löschbestätigung, Sitzungsfortsetzungsauswahl (bei welcher Aktion fortfahren?) usw.

🆕 Neues Projekt anlegen

  1. Nach Projektnamen + Hintergrundbeschreibung fragen, Key generieren: <Englische_Abkürzung>_<YYYYMMDD>
  2. PROJECTS.json sichern → Verzeichnis erstellen → README.md + CLAUDE.md + .gitignore schreiben (mit PROJECTS.json, backups/, *.bak, .memory/)
  3. In PROJECTS.json registrieren (seq = nextSeq, danach nextSeq +1)
  4. cd in das Projektverzeichnis, git init
  5. Muss fragen, ob das grill-with-docs Skill eingebunden werden soll (AskUserQuestion-Karte: Einbinden / Nicht einbinden):
    • Zustimmung → Drei Aktionen ausführen (nicht nur mündlich „bereits eingebunden“): ① In CLAUDE.md unter „Abhängigkeiten“-Tabelle eintragen: | grill-with-docs | Eingebunden | Design-Review-Prozess (Benutzer muss manuell /grill-with-docs aufrufen) | ② Ganz oben in den Aufgaben eine Erinnerung hinzufügen (als „manuell“ markiert, keine ausführbare Aufgabe): - [ ] 📌 Erinnerung (manuell): Geben Sie beim Design/der Planung /grill-with-docs ein, um den Review zu starten (dieses Skill kann nur vom Benutzer manuell aufgerufen werden, die KI kann es nicht aktivieren) ③ Dem Benutzer klar die Aufrufmethode mitteilen: „Geben Sie beim ersten Design/der Planung manuell /grill-with-docs ein“
    • Ablehnung → Nicht protokollieren, nicht in die Aufgaben aufnehmen, normal fortfahren
  6. Code-/Engineering-Projekte: Fragen, ob ein optionales Dokumentengerüst erstellt werden soll (AskUserQuestion-Karte: Erstellen / Überspringen; siehe „📁 Optionales Dokumentengerüst“); Business-/Dokumentationsprojekte überspringen

Die Initialvorlage für CLAUDE.md befindet sich am Ende.

🗑️ Projekt löschen

  1. Projekt lokalisieren → JSON-Eintrag + Dateiliste des Verzeichnisses anzeigen → Auf irreversible Risiken hinweisen
  2. Nach Bestätigung des Benutzers: PROJECTS.json sichern → JSON-Eintrag löschen → Projektverzeichnis löschen → Verbleibende Projekte fortlaufend ab 1 neu nummerieren → nextSeq = max(seq) + 1

💾 Projekt speichern

  1. Backup von CLAUDE.md (in <Skill-Verzeichnis>/backups/, also ~/.claude/skills/project-registry/backups/)
  2. Aktuelle Konversation überprüfen und Folgendes an CLAUDE.md anhängen oder aktualisieren:
    • Letzte Fortschritte und erledigte Aufgaben
    • Neue Architekturentscheidungen (alltägliche Entscheidungen gemäß dem Format „📜 Entscheidungsprotokoll-Disziplin“ nachtragen, Gründe sind obligatorisch)
    • Aufgabenliste aktualisieren (erledigte Aufgaben mit ✅ markieren, neue hinzufügen)
    • Bekannte Probleme aktualisieren
    • ⚠️ „Nächste Aktionen“ müssen nach Priorität aufgelistet werden (1., 2., 3.) und dürfen nicht fehlen (die nächste Sitzung wird hier fortgesetzt)
  3. CLAUDE.md-Änderungen in git committen
  4. Nächstes Tool vorschlagen: Basierend auf Projektinhalt und Aufgaben auf möglicherweise nützliche Skills hinweisen (z. B. ppt-master / docx / xlsx / pdf usw.), damit der Benutzer entscheiden kann
  5. Nach dem Speichern nicht beenden, im aktuellen Verzeichnis bleiben

⚠️ Die automatische Aktualisierung von CLAUDE.md ist eine zwingende Regel und kann nicht übersprungen werden.

🚪 Projekt beenden / Verlassen

Gleiche Aktion wie Speichern, aber der letzte Schritt ist die Rückkehr zu ~:

  1. Backup von CLAUDE.md
  2. Aktuelle Konversation überprüfen und CLAUDE.md aktualisieren (einschließlich „Nächste Aktionen“ nach Priorität)
  3. Änderungen committen
  4. Nächstes Tool vorschlagen (wie beim Speichern)
  5. Nach dem Beenden direkt zu ~ zurückkehren

🔍 MD-Prüfung (Stapelprüfung des CLAUDE.md-Status aller Projekte)

Führt eine Stapelprüfung des CLAUDE.md-Status für alle registrierten Projekte durch (keine manuelle Auswahl erforderlich):

  1. Alle Projektverzeichnisse durchlaufen und die folgenden 3 Punkte prüfen:
    • Existiert das Verzeichnis?
    • Existiert CLAUDE.md?
    • Existiert .git? (Voraussetzung für die Wirksamkeit von CLAUDE.md: muss sich auf derselben Ebene wie .git befinden)
  2. Zusammenfassungstabelle ausgeben:
🔍 MD-Zustandsprüfung (insgesamt N Projekte)
┌─────┬─────────────────────────────┬─────────────────────┬──────────┬──────────┬──────────┬──────────┐
│ Nr. │ key                         │ Projektname         │ Verzeichnis existiert │ CLAUDE.md │ .git     │ Gültig? │
├─────┼─────────────────────────────┼─────────────────────┼──────────┼──────────┼──────────┼──────────┤
│ 1   │ pet_hospital_crm_20260301   │ Tierklinik CRM      │ ✅       │ ✅       │ ✅       │ ✅      │
│ 2   │ gym_members_app_20260315    │ Fitnessstudio-Mitglieder-App │ ✅       │ ✅       │ ✅       │ ✅      │
│ ... │ ...                         │ ...                 │ ...      │ ...      │ ...      │ ...      │
└─────┴─────────────────────────────┴─────────────────────┴──────────┴──────────┴──────────┴──────────┘
  1. Für Projekte mit ❌ bei „Gültig?“ das Problem einzeln lokalisieren:
    • Verzeichnis existiert nicht → Prüfen, ob noch JSON-Registrierungsreste vorhanden sind
    • CLAUDE.md fehlt → Mit Vorlage neu erstellen
    • .git fehlt → git init ausführen
  2. Automatisch cd in das Benutzer-Stammverzeichnis (nicht in ein bestimmtes Projekt wechseln)

📁 Optionales Dokumentengerüst (für Code-/Engineering-Projekte)

Wird beim Anlegen von Code-Projekten gefragt, ob es erstellt werden soll (Business-/Dokumentationsprojekte überspringen). Nach der Erstellung teilt es sich die Aufgaben mit CLAUDE.md: CLAUDE.md protokolliert Status und Entscheidungen, das Gerüst speichert Designdetails:

<Projektverzeichnis>/
├── CLAUDE.md              # Entwicklungsprotokoll (Status/Entscheidungen/Aufgaben)
└── docs/
    ├── ARCHITECTURE.md    # Gesamtarchitektur (optional)
    │ adr/               # Architekturentscheidungsaufzeichnungen (optional, Schnittstelle zur ADR-Ausgabe von grill-with-docs/domain-modeling)
    └── dev/
        ├── README.md      # Funktionsindex
        └── <feature>/
            ├── SPEC.md    # Funktionsspezifikation
            └── DESIGN.md  # Implementierungsdesign

Leichtgewichtsprinzip: Nur auf Bestätigung des Benutzers erstellen, nicht erzwingen, nicht standardmäßig. Schnittstelle zu grill-with-docs: grill-with-docs (Review + Terminologie + ADR) ist der Design-Prozess, das Gerüst ist die Ablagestruktur – zuerst klären, dann gemäß Gerüst speichern. Aufgabenverteilung: Leichte Entscheidungen werden in CLAUDE.md unter „Architekturentscheidungsaufzeichnungen“ (einzeilig) festgehalten; schwer rückgängig zu machende Entscheidungen mit echten Abwägungen werden in docs/adr/ abgelegt; das Glossar CONTEXT.md wird exklusiv von domain-modeling verwaltet, das Gerüst erstellt es nicht neu.

Automatisches cd + automatische CLAUDE.md-Aktualisierung

AktioncdAutomatische CLAUDE.md-Aktualisierung
Neu anlegenIn das Projektverzeichnis wechseln✅ Automatisch Initialvorlage erstellen
Prüfen/ÄndernIn das Projektverzeichnis wechseln❌ Nicht automatisch aktualisieren
Protokoll aktualisierenIn das Projektverzeichnis wechseln✅ Manuell ausgelöste Aktualisierung
SpeichernIn das Projektverzeichnis wechseln, nach dem Speichern nicht beenden, im Verzeichnis bleiben✅ Automatisch aktualisieren
Beenden/ZurückkehrenZuerst CLAUDE.md aktualisieren, dann zu ~ zurückkehren✅ Automatisch aktualisieren

Sicherheitsmechanismen

PROJECTS.json-Schreiboperationen (Anlegen, Ändern, Löschen) müssen zuerst gesichert werden:

Backup-Pfad: <Skill-Verzeichnis>/backups/ (d.h. ~/.claude/skills/<skill-name>/backups/)
Backup-Datei: PROJECTS.json.<YYYYMMDD_HHMMSS>.bak

CLAUDE.md-Schreiboperationen (Protokoll aktualisieren, automatische Aktualisierung beim Speichern) müssen zuerst gesichert werden:

Backup-Pfad: <Skill-Verzeichnis>/backups/
Backup-Datei: CLAUDE.md.<YYYYMMDD_HHMMSS>.bak

Wenn das Backup-Verzeichnis nicht existiert, wird es automatisch erstellt.

Automatische Backup-Rotation:

Nach jedem neuen Backup werden alte Backups nach Dateityp bereinigt, wobei pro Typ die letzten 10 Versionen behalten werden:

Backup-Typ-Prefixe:
  PROJECTS.json.*.bak    # Projektlistensicherungen, behalte 10
  CLAUDE.md.*.bak        # Entwicklungsprotokollsicherungen, behalte 10
  SKILL.md.*.bak         # Sicherungen dieses Skills selbst, behalte 10

Bereinigungsregel: Sortierung nach Zeitstempel am Ende des Dateinamens (YYYYMMDD_HHMMSS). Hinweis: Bei Backups mit speziellen Namen wie CLAUDE.md.<Projektname>.<Zeitstempel>.bak befindet sich der Zeitstempel am Ende, daher darf nicht der gesamte Dateiname zum Sortieren verwendet werden. Die neuesten 10 werden behalten, der Rest gelöscht.

🔁 Automatische Speicherung (Hooks, stillschweigende Ausführung)

Zweistufiger Mechanismus, vollständig im Hintergrund stillschweigend ausgeführt, mit stillschweigenden Wiederholungen bei Fehlern, nur in ~/projects/-Projektverzeichnissen wirksam.

Ebene 1: Mechanische Snapshots (keine Abhängigkeiten, standardmäßig aktiviert)

HookAktion
Stop (nach jeder Antwort)Transkript synchronisieren nach <Projekt>/.memory/transcript-latest.jsonl (sekundenschnell)
SessionEnd (Sitzungsende)CLAUDE.md sichern (10er-Rotation) + git commit (nur bei Änderungen)
  • ⚠️ Datenschutz: .memory/ enthält den Gesprächsrohtext – muss in .gitignore ausgeschlossen werden (bei neuen Projekten wird automatisch eine .gitignore mit .memory/ erstellt), niemals in das Repository aufnehmen
  • Bei hartem Beenden des Terminals wird SessionEnd nicht ausgelöst, aber die sekundenschnelle Synchronisation von Stop läuft trotzdem – Daten gehen nicht verloren

Ebene 3: Automatische Zusammenfassung (optional, nach API-Konfiguration aktiviert)

  • Auslösung: Ratenbegrenzung (≥10 neue Nachrichten ODER ≥10 Minuten) – nicht bei jeder Antwort die API aufrufen
  • Ablauf: .memory/ inkrementell lesen → PR_API_BASE_URL aufrufen (beliebiger OpenAI-kompatibler Anbieter) → Fortschritte/Entscheidungen/Aufgaben/Nächste Schritte extrahieren → Zusammenführen und CLAUDE.md aktualisieren (Entscheidungen anhängen/Fortschritte aktualisieren/Aufgaben aktualisieren/Nächste Schritte aktualisieren)
  • Konfiguration (Umgebungsvariablen): PR_API_BASE_URL / PR_API_KEY / PR_API_MODEL (wenn nicht konfiguriert, automatisch überspringen)
  • Datenschutz: Gespräche werden nur an den vom Benutzer konfigurierten Endpunkt gesendet; der Schlüssel wird aus Umgebungsvariablen gelesen, niemals fest codiert

Verhältnis zur manuellen Speicherung

Automatische Zusammenfassung = Aktualität in Echtzeit (inkrementelle Zusammenführung); manuelle Speicherung = Autoritative Aufbereitung (umfassende Überprüfung) – beide kompatibel und ergänzend.

📜 Entscheidungsprotokoll-Disziplin (Nachfragen müssen belegbar sein)

Alle Entscheidungen müssen rückverfolgbar sein: „Warum wurde es so gemacht?“ ist immer nachvollziehbar, Gründe dürfen nicht fehlen.

Format für leichte Entscheidungen

- [Status] YYYY-MM-DD — <Entscheidung> (Grund: <Begründung>) (Erwartung: <Auswirkung>)
  • Statusmarkierung: ✅Ausgeführt / 🔄In Bearbeitung / ⛔Verworfen / ⏸️Zurückgestellt
  • Grund zwingend: Ohne Grund wird nichts protokolliert
  • Erwartung optional: Wenn zum Zeitpunkt der Protokollierung die erwartete Auswirkung bekannt ist, wird sie hinzugefügt (dient bei der Zuordnung zur Überprüfung der Auswirkung)

Zeitpunkte der Protokollierung (abgestuft)

TypZeitpunkt
Wichtige Entscheidungen (richtungsweisend / schwer rückgängig zu machen / ressourcenintensiv)Sofort im Gespräch bestätigen: Claude fragt aktiv „Soll diese Entscheidung protokolliert werden?“
Alltägliche EntscheidungenBeim Speichern/Beenden einheitlich überprüfen und nachtragen (zwingend)

Schwere Entscheidungen → ADR

Schwer rückgängig zu machende Entscheidungen mit echten Abwägungen werden in docs/adr/ abgelegt, CLAUDE.md behält eine einzeilige Referenz:

- 2026-08-08 — ADR-0001 <Entscheidungstitel> (Status: ✅Ausgeführt)

ADR-Struktur: # ADR-000N <Titel> + Status / Date / Context / Decision / Consequences.

CLAUDE.md Initialvorlage

# <Projektname>

## Projektziel
<Zusammenfassung des Hintergrunds>

## Technologie-Stack
(Noch zu ergänzen — Sprache/Framework/Datenbank/Deployment usw.)

## Aktueller Status
state: active
- Phase: Anforderungsanalyse / In Entwicklung / Abgeschlossen
- Letzter Fortschritt: Projektinitialisierung

## Architekturentscheidungsaufzeichnungen
Protokolliert alle wichtigen Entscheidungen, Format:
- [Status] YYYY-MM-DD — <Entscheidung> (Grund: <Begründung>) (Erwartung: <Auswirkung>)
(Status: ✅Ausgeführt / 🔄In Bearbeitung / ⛔Verworfen / ⏸️Zurückgestellt; Grund darf nicht fehlen, Erwartung optional)

## Projektumfang und -funktionen
(Kernfunktionsliste, kann auch als Tabelle dargestellt werden)

## Abhängigkeiten
| Abhängiges Projekt | Beziehung | Beschreibung |
|:---|---:|:---|
| <Projektname> | Abhängigkeit/Wird benötigt von | <Konkrete Beschreibung> |

## Aufgaben
- [ ] Aufgabe 1 (auf ausführbare Granularität heruntergebrochen)

## Bekannte Probleme
- (Noch keine – nach Entdeckung ergänzen, mit Auswirkungsbereich)

## Nächste Aktionen
- Nach Priorität auflisten (1., 2., 3.), beim Speichern/Beenden zwingend aktualisieren

Beim Anlegen mindestens ausfüllen: Projektziel, Technologie-Stack, Aktueller Status, die ersten drei Aufgaben. Der Rest wird nach und nach während der Entwicklung ergänzt.

Namenskonvention für Keys

<Englische/Pinyin-Abkürzung>_<YYYYMMDD>

Beispiele:
  Tierklinik CRM      → pet_hospital_crm_20260301
  Fitnessstudio-Mitglieder-App → gym_members_app_20260315
  • Englisch bevorzugen, Pinyin als Alternative
  • Vollständig kleingeschrieben, mit Unterstrich getrennt
  • Datum am Ende anhängen

Nummernverwaltungsregeln

AktionRegel
Neu anlegennextSeq als seq des neuen Projekts lesen, nach der Registrierung nextSeq +1
LöschenNach dem Löschen die verbleibenden Projekte fortlaufend ab 1 neu nummerieren, nextSeq auf max(seq) + 1 setzen
seqImmer fortlaufend, niemals Lücken

🧠 Gedächtnisverwaltung (Dreistufiger Mechanismus)

Gedächtnis auf Projektebene (vom Skill verwaltet)

GedächtnisträgerWas wird gespeichertVerwaltungsmechanismus
CLAUDE.mdStatus / Entscheidungen mit Gründen / Aufgaben / Bekannte Probleme / Nächste AktionenAutomatisches Laden bei jeder Sitzung + zwingende Aktualisierung beim Speichern + git-Commit + Backup-Rotation
PROJECTS.jsonProjektregistrierungsliste (seq/key/name/status/created)Backup vor Schreiboperationen
Git-Verlauf + backups/Historische Versions-SnapshotsJederzeit rückverfolgbar (git show / Backup-Dateien)

Lebenszyklus des Gedächtnisses

Schreiben (zwingende Aktualisierung beim Speichern/Beenden)
  → Automatisches Laden (Claude Code injectiert CLAUDE.md bei jeder Sitzung automatisch)
  → Backup (10er-Rotation + git-Commit)
  → Abrufen (Lesen von CLAUDE.md / Zuordnungsuntersuchung „Warum X“ / Git-Verlauf-Rückverfolgung)

Grenzen des Gedächtnisses

Aufgezeichnet werden: Architekturentscheidungen mit Gründen | Konventionen und Standards | Domänenbegriffe | Aufgaben und bekannte Probleme | Aktueller Status und Abhängigkeiten | Nächste Aktionen

Nicht aufgezeichnet werden: Detaillierte Code-Implementierung | Änderungen, die über git rückverfolgbar sind | Vorübergehende Diskussionen (Gesprächsrohtext wird nicht archiviert – für „Was wurde damals konkret besprochen?“ wird das integrierte Sitzungsarchiv von Claude Code --resume verwendet, das nicht in den Zuständigkeitsbereich dieses Skills fällt)

Abgrenzung zum globalen Gedächtnis

  • Projektbezogenes (Fortschritte/Entscheidungen/Warum so festgelegt) → Gedächtnis dieses Skills (CLAUDE.md, folgt dem Projekt)
  • Benutzerpräferenzen/Projektübergreifende Fakten (z. B. „Bei PPT bevorzugt ppt-master verwenden“) → Globales Gedächtnis von Claude Code (~/.claude/.../memory/, vom System verwaltet, vom Skill nicht beschrieben)

CLAUDE.md Wartung

CLAUDE.md ist die Projektkontextdatei, die von Claude bei jeder Sitzung automatisch geladen wird, und zeichnet Entscheidungen und Fortschritte auf.

Aktualisierungszeitpunkte (zwingende Regeln): Automatisch beim Anlegen generieren | Bei jedem Gesprächsende „Protokoll aktualisieren“ aufrufen | Bei wichtigen Entscheidungen anhängen | Bei Anforderungsänderungen synchronisieren | ⚠️ Beim Beenden oder Speichern automatisch aktualisieren (muss ausgeführt werden, kann nicht übersprungen werden), und „Nächste Aktionen“ müssen nach Priorität aufgeschrieben werden

Was wird aufgezeichnet: Architekturentscheidungen mit Gründen | Konventionen und Standards | Domänenbegriffe | Aufgaben und bekannte Probleme | Aktueller Status und Abhängigkeiten | Nächste Aktionen

Was wird nicht aufgezeichnet: Detaillierte Code-Implementierung | Änderungen, die über git rückverfolgbar sind | Vorübergehende Diskussionen

Wirksamkeitsbedingung: Muss sich auf derselben Ebene wie .git befinden, Dateiname CLAUDE.md (Großschreibung)

Bei neuen Projekten automatisch git init. Wenn ein vorhandenes Verzeichnis kein .git hat, den Grund mitteilen und fragen, ob git init ausgeführt werden soll.

🔎 Zuordnungsuntersuchung (Warum X)

Wird ausgelöst, wenn der Benutzer sagt: „Warum X / Hintergrund dieser Entscheidung / Warum wurde damals so gehandelt / Zuordnung X“.

Ablauf:

  1. Lokalisierung: Untersuchungsobjekt bestätigen (Projekt + Thema/Zeitpunkt)
  2. Beweissicherung: Das CLAUDE.md des Projekts unter „Architekturentscheidungsaufzeichnungen“ lesen + docs/adr/ (falls vorhanden) + letzte git-Commits + Fortschritte/Aufgaben
  3. Zuordnungsbericht ausgeben:
    • Entscheidungszeitstrahl: Relevante Entscheidungen chronologisch anordnen
    • Ursachenkette: Begründung jeder Entscheidung + Zusammenhänge zwischen Entscheidungen (welche Entscheidung basiert auf welcher)
    • Status: ✅Ausgeführt / 🔄In Bearbeitung / ⛔Verworfen / ⏸️Zurückgestellt
    • Folgeauswirkungen: In Kombination mit den letzten Fortschritten prüfen, ob die Erwartungen erfüllt wurden
  4. Schlussfolgerung: „Warum wurde damals so gehandelt?“ beantworten, ggf. darauf hinweisen, ob die Erwartungen bestätigt wurden

Ausgabe innerhalb des Gesprächs; bei Archivierungsanforderung außerhalb des Repositorys speichern (~/project-audit-logs/) – Prüf-/Zuordnungsinhalte enthalten Projekt-Datenschutz und dürfen nicht in das Projekt-Repository geschrieben werden.

📋 Projektprüfung (natürlichsprachlich ausgelöst, nicht im Menü)

Wird ausgelöst, wenn der Benutzer sagt: „Projekt prüfen / Gesundheitscheck / Audit“. Es wird kein neuer Menüpunkt hinzugefügt.

Vollständige Überprüfung („Alle Projekte prüfen“)

Strukturprüfung (wie bei der MD-Prüfung C) + 5 inhaltliche Punkte:

#DimensionPrüflogik
1StatuskonsistenzSteht der status in PROJECTS.json im Widerspruch zu den letzten Fortschritten/Aufgaben in CLAUDE.md?
2ProjektstillstandCLAUDE.md letzte Aktualisierung (git log Zeit) liegt > 14 Tage zurück → „Möglicherweise stillstehend“
3AufgabestauUnerledigte Aufgaben > 10 ODER lange Zeit keine Fortschritte
4Entscheidung nicht umgesetztEntscheidungsaufzeichnung markiert ✅Ausgeführt, aber Fortschritte/Aufgaben zeigen keine Umsetzung
5Fehlende nächste AktionenKein Abschnitt „Nächste Aktionen“ (Faulheit beim Speichern)

Auffällige Elemente erhalten automatisch Zuordnungshinweise: Rückverfolgung der letzten N Entscheidungen, Aufzeigen, welche Entscheidungen möglicherweise relevant sind.

Einzelprojekt-Tiefenprüfung („Projekt XX prüfen“)

Inhaltliche 5 Punkte, nur das angegebene Projekt prüfen.

Der Bericht wird nur innerhalb des Gesprächs ausgegeben; bei Anforderung zur Speicherung in ~/project-audit-logs/ (außerhalb des Repositorys) ablegen.

↩️ Version-Rollback

Wird ausgelöst, wenn der Benutzer sagt: „Zurücksetzen / Version wiederherstellen / Zurückkehren / Speicherung rückgängig machen“. Zwei Kanäle: Git-Verlauf (Projektdateien) + Backup-Snapshots (Register/Entwicklungsprotokoll).

Allgemeine Sicherheitsregeln (für alle Rollbacks verbindlich):

  1. Zuerst die aktuelle Version sichern (das Rollback selbst kann rückgängig gemacht werden)
  2. Eine Zusammenfassung der Unterschiede anzeigen + AskUserQuestion-Karte zur Bestätigung (Rollback / Abbrechen) ist zwingend erforderlich
  3. Rollback erzeugt einen neuen Commit, überschreibt die Git-Historie nicht

① Rollback von CLAUDE.md (Entwicklungsprotokoll versehentlich geändert/gelöscht)

  1. Lokalisierung: git log --oneline listet die letzten Commits (oder die Backup-Dateien backups/CLAUDE.md.*.bak anhand des Dateinamens-Zeitstempels)
  2. Vergleich: git show <commit>:CLAUDE.md mit der aktuellen Version vergleichen (Schwerpunkt: Entscheidungen/Aufgaben/Nächste Aktionen)
  3. Bestätigung: Zusammenfassung der Unterschiede anzeigen → Kartenbestätigung
  4. Ausführung: Aktuelle Version sichern → git checkout <commit> -- CLAUDE.md → Commit (mit dem Hinweis „Rollback auf “)
  5. Bericht: Zusammenfassung des zurückgesetzten Inhalts

② Rollback von Projektdateien (README/docs/Code)

  1. Lokalisierung: git log Zielversion finden
  2. Vergleich: git diff <commit> -- <Datei>
  3. Bestätigung: Zusammenfassung der Unterschiede → Kartenbestätigung
  4. Ausführung: Aktuelle Version sichern → git checkout <commit> -- <Datei> → Commit
  5. Bericht

③ Rollback des Registers (PROJECTS.json versehentlich gelöscht/geändert)

  1. Lokalisierung: backups/PROJECTS.json.<Zeitstempel>.bak (letzte 10, sortiert nach Zeitstempel am Ende)
  2. Vergleich: diff zwischen aktuell und Backup (Hinzufügen/Entfernen von Projekten auflisten)
  3. Bestätigung: Zusammenfassung der Unterschiede → Kartenbestätigung
  4. Ausführung: Aktuelle Version sichern → cp Backup → PROJECTS.json → Validierung (Projektanzahl/seq-Kontinuität)
  5. Bericht

Hinweis: Rollback in Kombination mit „🔎 Zuordnungsuntersuchung“ – zuerst prüfen „Warum wurde es so?“, dann entscheiden, auf welche Version zurückgesetzt werden soll.

Häufig gestellte Fragen

  • PROJECTS.json existiert nicht: Mit Standardvorlage eine leere Liste erstellen
  • Verzeichnis existiert bereits: Vorhandenes Verzeichnis wiederverwenden, nur in JSON registrieren
  • Projekt beim Löschen nicht gefunden: Zuerst die Liste anzeigen und den Benutzer bestätigen lassen

Verwandte Skills