Vollständige Qualitätsprüfung der Projektdokumentation: Guidelines, Skills, Agenten, CLAUDE.md und globale ~/.claude-Dateien. Analysiert Konsistenz, Progressive Disclosure, Verständlichkeit, Vollständigkeit und Minimalität mithilfe paralleler Sub-Agenten. Liefert priorisierte Verbesserungsvorschläge und arbeitet Findings interaktiv ab. Nur manuell aufrufen via /review-docs oder expliziter Erwähnung – nicht auto-triggern.
Ziel: Strukturierte, priorisierte Verbesserungsvorschläge für alle Dokumentations- und Konfigurationsdateien des Projekts. Phase 1: Nur analysieren, keine Änderungen vornehmen.
| Datei/Typ | Grenzwert | Art |
|---|---|---|
| CLAUDE.md | < 200 Zeilen empfohlen | Soft (Befolgungsrate sinkt darüber) |
| MEMORY.md | 200 Zeilen / 25 KB | Hard Truncation beim Session-Start |
| Diskrete Instruktionen | ~150–200 gesamt; ~50 davon verbraucht Claude Code selbst | Forschungsbasiert |
| CLAUDE.md Dateigröße | < 40 KB | Soft (claudelint warnt ab hier) |
Projekt-Level (Arbeitsverzeichnis):
CLAUDE.md (Projekt-Root)docs/AGENT_MEMORY.mddocs/ – alle Markdown-Dateien, außer docs/history/sessions/ (Session-Logs, keine Richtlinien)docs/history/decisions.md, docs/kaizen/lessons_learned.md, docs/kaizen/principles.md, docs/kaizen/countermeasures.md (explizit einschließen).claude/skills/ – alle Skill-Definitionen.claude/agents/ – alle Agenten-Definitionen (falls vorhanden).claude/settings.jsonGlobal (~/.claude/ – gesonderte Behandlung, siehe unten):
~/.claude/CLAUDE.md (falls vorhanden)~/.claude/skills/~/.claude/settings.jsonMesse die Zeilenzahl und Dateigröße der kritischen Dateien mit wc -l und wc -c. Vergleiche mit den Grenzwerten aus der Tabelle oben. Halte die Ergebnisse fest – sie fließen in Section 0 des Outputs ein.
Wichtig: Sub-Agenten nach Analyse-Dimension aufteilen, nicht nach Dateibereich. Jeder Agent liest alle relevanten Dateien, fokussiert aber auf eine andere Fragestellung. Nur so können Widersprüche zwischen Dokumenten erkannt werden.
Vor jedem Finding: Verifikationspflicht. Lies die relevante Stelle in der Zieldatei und zitiere sie – entweder als Beweis dass etwas fehlt ("Datei X hat keine Erwähnung von Y") oder als Widerlegung deines eigenen Verdachts ("Datei X Z.42 sagt bereits Y → kein Finding"). Verweise in der Zieldatei auf andere Dateien MÜSSEN verfolgt werden, bevor ein "fehlt"-Finding formuliert wird. Ein Finding ohne geprüfte Zielstelle ist ungültig.
Ein Finding ist nur valide wenn ALLE drei Punkte zutreffen:
Kein "könnte" ohne Szenario. "Könnte missverstanden werden" ohne konkretes Fehlverhaltensszenario ist kein Finding. Entweder: konkretes Szenario beschreiben → Finding. Oder: als Beobachtung ohne Impact vermerken (erscheint NICHT in der Finding-Liste).
Abstraktionsebenen unterscheiden. Vor dem Flaggen von Duplikation/Inkonsistenz prüfen: Beschreiben beide Stellen tatsächlich denselben Sachverhalt auf derselben Abstraktionsebene? Projekt-Visibility ≠ Typ-Sichtbarkeit. Konzept-Erklärung ≠ Implementierungsregel. Kurzer Verweis in CLAUDE.md ≠ vollständige Regeldefinition in einem Doc.
Sub-Agenten-Prompts: Füge den Validierungsstandard oben als ersten Abschnitt in den Prompt jedes Sub-Agenten ein, bevor du die agenten-spezifischen Anweisungen übergibst. Nur so ist gewährleistet, dass der Standard tatsächlich im Kontext der Sub-Agenten landet.
Ausgabeformat für Agenten 1–3: Jeder Agent gibt seine Findings im folgenden Format zurück. Dieses Format ebenfalls in den Prompt einfügen:
## FINDING: [prägnanter Titel]
**Dimension:** [Progressive Disclosure | Konsistenz | Verständlichkeit]
**Datei:** `pfad/zur/datei.md` Z.XX
**Zitat:** > exakter zitierter Text (oder: "Datei enthält keine Erwähnung von X")
**Problem:** Was genau ist falsch – und welches konkrete Fehlverhalten resultiert daraus?
**Vorschlag:** Direkte Empfehlung.
**Impact:** HOCH | MITTEL | NIEDRIG
Ein Finding pro Block. Mehrere Findings durch --- trennen. Keine Prosa außerhalb dieser Blöcke.
Falls ein Agent keine Findings zurückgibt (leere Antwort): In der Aggregation explizit als "(Agent X: keine Findings)" vermerken.
Starte alle vier Agenten gleichzeitig:
Frage: Werden Agenten mit mehr Kontext belastet als für ihre jeweilige Aufgabe nötig?
Lies alle Projekt- und globalen Docs. Suche nach:
Bewerte auch: Werden Skills/Agenten klar genug beschrieben, sodass der Hauptagent nur die wirklich relevanten lädt?
Frage: Widersprechen sich Dokumente? Fehlen Informationen, die Agenten für ihre Aufgabe brauchen?
Lies alle Projekt- und globalen Docs. Suche nach:
Frage: Sind die Anweisungen klar genug, dass ein Agent (oder Mensch) sie ohne Rückfragen befolgen kann?
Lies alle Projekt- und globalen Docs. Suche nach:
Frage: Widersprechen globale User-Settings dem Projekt, und was ist die richtige Lösung?
Lies alle Dateien in ~/.claude/ (Skills, Settings, CLAUDE.md falls vorhanden) UND alle Projekt-Level-Docs.
Für jeden gefundenen Konflikt/Widerspruch:
pfad/datei Z.XX: > exakter zitierter Textpfad/datei Z.XX: > exakter zitierter TextPrüfe auch: Sind globale Skills mit Projekt-Skills kompatibel? Gibt es Doppelabdeckung (gleiche Aufgabe, zwei verschiedene Skills)?
Warte bis alle vier Agenten abgeschlossen haben.
Gehe jedes gemeldete Finding durch und prüfe es gegen den Validierungsstandard aus Schritt 2:
Global-Zitat und Projekt-Zitat müssen vorhanden sein.)Verworfene Findings werden nicht ausgegeben. Es ist kein Fehler, wenn nach dem Pre-Filter weniger Findings übrig bleiben – das ist das Ziel.
Dedupliziere die verbleibenden Findings, die von mehreren Agenten identisch erkannt wurden. Wenn zwei Agenten dasselbe Problem aus verschiedenen Winkeln sehen, fasse es zu einem Finding zusammen.
Falls nach Pre-Filter und Deduplizierung keine Findings verbleiben: dem User mitteilen ("Keine validen Findings gefunden – Dokumentation ist konsistent und vollständig.") und Phase 2 überspringen.
Schreibe die vollständigen Findings in .claude/tmp/doc-review-YYYY-MM-DD.md (aktuelles Datum einsetzen). Diese Datei wird in Phase 2 zum Nachschlagen verwendet.
Format der gespeicherten Datei:
# Doc Review – YYYY-MM-DD
## Dateigrößen-Check
| Datei | Zeilen | Größe | Status |
## Globale Konflikte
| Was | Global sagt | Projekt sagt | Empfehlung | Begründung |
## Findings
### [#1 – HOCH] Titel der das Problem vollständig beschreibt
**`pfad/zur/datei.md` Z.42** *(Dimension)*
> exakter zitierter Text
**Kontext:** Was genau ist das Problem und warum ist es problematisch?
**Vorschlag:** Direkte Empfehlung.
[Optional bei komplexen Entscheidungen:]
**Optionen:**
- Option A: ...
- Option B: ...
Zeige dem User nur:
## CEO-Übersicht
| # | Impact | Was ist das Problem? | Wo? |
|---|--------|----------------------|-----|
| 1 | HOCH | [kurze, schnell scanbare Beschreibung – lieber 2 kurze Sätze als 1 langer] | Dateiname |
...
## Dateigrößen-Check
| Datei | Zeilen | Größe | Status |
...
## Globale Konflikte (~/.claude vs. Projekt)
| Was | Global sagt | Projekt sagt | Empfehlung |
... [oder: "Keine Konflikte gefunden."]
---
Vollständige Analyse: `.claude/tmp/doc-review-YYYY-MM-DD.md`
Hinweise zur CEO-Übersicht:
Priorisierung nach Impact:
Nach der Ausgabe der CEO-Übersicht:
Gruppierung prüfen: Bevor der User gefragt wird – prüfe, ob mehrere Findings denselben Ort, dieselbe Datei oder dasselbe Konzept betreffen und sinnvoll zusammen gelöst werden können. Fasse solche Findings zu benannten Gruppen zusammen. Das Ergebnis ist eine geordnete Arbeitsliste aus Einzelfindings und Gruppen.
Pausieren und den User fragen: mit welchem Eintrag soll begonnen werden, oder ob er eine andere Reihenfolge bevorzugt?
Den folgenden Loop durchlaufen bis alle Einträge abgearbeitet sind oder der User abbricht:
Pro Eintrag (Einzelfinding oder Gruppe):
Lies die betreffenden Findings aus .claude/tmp/doc-review-YYYY-MM-DD.md.
Zeige dem User:
Eintrag X von Y – [Titel / Gruppenname] (bei Gruppen: alle enthaltenen Finding-Titel in Kurzform auflisten)Warte für nicht-offensichliche Fixes auf die Reaktion des Users:
Vor dem Umsetzen den grill-me-Skill (via Skill-Tool) aufrufen wenn: (a) unklar ist ob die gewählte Lösung mit den Guidelines vereinbar ist, oder (b) das Zielbild des Users nicht vollständig verstanden wurde. Besonders bei (b) nicht voreilig umsetzen – lieber einmal zu viel nachfragen als in die falsche Richtung ändern.
Umsetzen der gewählten Lösung (Dateien bearbeiten).
Kurze Bestätigung was geändert wurde, dann automatisch weiter mit dem nächsten Eintrag.
Wenn alle Einträge abgearbeitet sind: "Alle Findings abgearbeitet – Review abgeschlossen." ausgeben und beenden.