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-registryoder/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:
- Prüfen, ob die Umgebungsvariablen
PR_API_BASE_URL/PR_API_KEY/PR_API_MODELgesetzt sind (printenv) - 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
- Nach der Konfiguration sofort wirksam (kein Neustart der Sitzung erforderlich)
Funktionsvergleichstabelle:
| Fähigkeit | Ohne Key | Mit 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):
- Lesen des CLAUDE.md des Projekts (falls vorhanden)
- Zusammenfassung des letzten Fortschritts: Bezugnahme auf „Aktueller Status / Letzte Fortschritte“, ggf. in Kombination mit den letzten git-Commits
- Auflisten der „Nächsten Aktionen“ (nach Priorität 1., 2., 3., …)
- 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
- Projekt anhand der Nummer oder des Keys lokalisieren → Vorhandensein des Verzeichnisses
~/projects/<key>/prüfen cdin das Projektverzeichnis- „🧭 Sitzungsstartablauf“ auslösen (Letzten Fortschritt überprüfen → Fortsetzung bestätigen)
- 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
- Nach Projektnamen + Hintergrundbeschreibung fragen, Key generieren:
<Englische_Abkürzung>_<YYYYMMDD> - PROJECTS.json sichern → Verzeichnis erstellen → README.md + CLAUDE.md +
.gitignoreschreiben (mitPROJECTS.json,backups/,*.bak,.memory/) - In PROJECTS.json registrieren (seq = nextSeq, danach nextSeq +1)
cdin das Projektverzeichnis,git init- 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
- Zustimmung → Drei Aktionen ausführen (nicht nur mündlich „bereits eingebunden“):
① In CLAUDE.md unter „Abhängigkeiten“-Tabelle eintragen:
- 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
- Projekt lokalisieren → JSON-Eintrag + Dateiliste des Verzeichnisses anzeigen → Auf irreversible Risiken hinweisen
- 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
- Backup von CLAUDE.md (in
<Skill-Verzeichnis>/backups/, also~/.claude/skills/project-registry/backups/) - 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)
- CLAUDE.md-Änderungen in git committen
- 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
- 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 ~:
- Backup von CLAUDE.md
- Aktuelle Konversation überprüfen und CLAUDE.md aktualisieren (einschließlich „Nächste Aktionen“ nach Priorität)
- Änderungen committen
- Nächstes Tool vorschlagen (wie beim Speichern)
- 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):
- 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.gitbefinden)
- 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 │ ✅ │ ✅ │ ✅ │ ✅ │
│ ... │ ... │ ... │ ... │ ... │ ... │ ... │
└─────┴─────────────────────────────┴─────────────────────┴──────────┴──────────┴──────────┴──────────┘
- 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
.gitfehlt →git initausführen
- Automatisch
cdin 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
| Aktion | cd | Automatische CLAUDE.md-Aktualisierung |
|---|---|---|
| Neu anlegen | In das Projektverzeichnis wechseln | ✅ Automatisch Initialvorlage erstellen |
| Prüfen/Ändern | In das Projektverzeichnis wechseln | ❌ Nicht automatisch aktualisieren |
| Protokoll aktualisieren | In das Projektverzeichnis wechseln | ✅ Manuell ausgelöste Aktualisierung |
| Speichern | In das Projektverzeichnis wechseln, nach dem Speichern nicht beenden, im Verzeichnis bleiben | ✅ Automatisch aktualisieren |
| Beenden/Zurückkehren | Zuerst 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)
| Hook | Aktion |
|---|---|
| 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_URLaufrufen (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)
| Typ | Zeitpunkt |
|---|---|
| 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 Entscheidungen | Beim 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
| Aktion | Regel |
|---|---|
| Neu anlegen | nextSeq als seq des neuen Projekts lesen, nach der Registrierung nextSeq +1 |
| Löschen | Nach dem Löschen die verbleibenden Projekte fortlaufend ab 1 neu nummerieren, nextSeq auf max(seq) + 1 setzen |
| seq | Immer fortlaufend, niemals Lücken |
🧠 Gedächtnisverwaltung (Dreistufiger Mechanismus)
Gedächtnis auf Projektebene (vom Skill verwaltet)
| Gedächtnisträger | Was wird gespeichert | Verwaltungsmechanismus |
|---|---|---|
| CLAUDE.md | Status / Entscheidungen mit Gründen / Aufgaben / Bekannte Probleme / Nächste Aktionen | Automatisches Laden bei jeder Sitzung + zwingende Aktualisierung beim Speichern + git-Commit + Backup-Rotation |
| PROJECTS.json | Projektregistrierungsliste (seq/key/name/status/created) | Backup vor Schreiboperationen |
| Git-Verlauf + backups/ | Historische Versions-Snapshots | Jederzeit 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.githat, den Grund mitteilen und fragen, obgit initausgefü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:
- Lokalisierung: Untersuchungsobjekt bestätigen (Projekt + Thema/Zeitpunkt)
- Beweissicherung: Das CLAUDE.md des Projekts unter „Architekturentscheidungsaufzeichnungen“ lesen +
docs/adr/(falls vorhanden) + letzte git-Commits + Fortschritte/Aufgaben - 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
- 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:
| # | Dimension | Prüflogik |
|---|---|---|
| 1 | Statuskonsistenz | Steht der status in PROJECTS.json im Widerspruch zu den letzten Fortschritten/Aufgaben in CLAUDE.md? |
| 2 | Projektstillstand | CLAUDE.md letzte Aktualisierung (git log Zeit) liegt > 14 Tage zurück → „Möglicherweise stillstehend“ |
| 3 | Aufgabestau | Unerledigte Aufgaben > 10 ODER lange Zeit keine Fortschritte |
| 4 | Entscheidung nicht umgesetzt | Entscheidungsaufzeichnung markiert ✅Ausgeführt, aber Fortschritte/Aufgaben zeigen keine Umsetzung |
| 5 | Fehlende nächste Aktionen | Kein 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):
- Zuerst die aktuelle Version sichern (das Rollback selbst kann rückgängig gemacht werden)
- Eine Zusammenfassung der Unterschiede anzeigen + AskUserQuestion-Karte zur Bestätigung (Rollback / Abbrechen) ist zwingend erforderlich
- Rollback erzeugt einen neuen Commit, überschreibt die Git-Historie nicht
① Rollback von CLAUDE.md (Entwicklungsprotokoll versehentlich geändert/gelöscht)
- Lokalisierung:
git log --onelinelistet die letzten Commits (oder die Backup-Dateienbackups/CLAUDE.md.*.bakanhand des Dateinamens-Zeitstempels) - Vergleich:
git show <commit>:CLAUDE.mdmit der aktuellen Version vergleichen (Schwerpunkt: Entscheidungen/Aufgaben/Nächste Aktionen) - Bestätigung: Zusammenfassung der Unterschiede anzeigen → Kartenbestätigung
- Ausführung: Aktuelle Version sichern →
git checkout <commit> -- CLAUDE.md→ Commit (mit dem Hinweis „Rollback auf “) - Bericht: Zusammenfassung des zurückgesetzten Inhalts
② Rollback von Projektdateien (README/docs/Code)
- Lokalisierung:
git logZielversion finden - Vergleich:
git diff <commit> -- <Datei> - Bestätigung: Zusammenfassung der Unterschiede → Kartenbestätigung
- Ausführung: Aktuelle Version sichern →
git checkout <commit> -- <Datei>→ Commit - Bericht
③ Rollback des Registers (PROJECTS.json versehentlich gelöscht/geändert)
- Lokalisierung:
backups/PROJECTS.json.<Zeitstempel>.bak(letzte 10, sortiert nach Zeitstempel am Ende) - Vergleich: diff zwischen aktuell und Backup (Hinzufügen/Entfernen von Projekten auflisten)
- Bestätigung: Zusammenfassung der Unterschiede → Kartenbestätigung
- Ausführung: Aktuelle Version sichern →
cp Backup → PROJECTS.json→ Validierung (Projektanzahl/seq-Kontinuität) - 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