Täglicher Rückblick
Startbanner
Beim Starten der Fähigkeit wird das folgende Banner ausgegeben:
═══════════════════════════════════════════════════════════════
▌ Täglicher Rückblick ▐
Erstellt einen strukturierten täglichen Arbeitsrückblick basierend auf lokalen Claude Code-Dialogen
═══════════════════════════════════════════════════════════════
Shu Lei │ WeChat: AIRay1015 │ github.com/akira82-ai
───────────────────────────────────────────────────────────────
- Unterstützt 4 Zeiträume: Heute / Gestern / Letzte 3 Tage / Letzte 7 Tage
- Extrahiert automatisch Dialoge, Tool-Nutzungsstatistiken und Git-Commit-Historien
- Erstellt strukturierten Bericht: Zusammenfassung / Arbeitsstatistiken / Erfolge und Fortschritte / Schwierigkeiten und Hindernisse / KI-Selbsteinschätzung
- Bericht wird automatisch im aktuellen Arbeitsverzeichnis gespeichert
═══════════════════════════════════════════════════════════════
Letztes Update: 2026-04-06
Parameterverarbeitung
Wenn der Benutzer keinen Zeitraum angibt, wird mit AskUserQuestion nachgefragt. Optionen sind:
- Heute
- Gestern
- Letzte 3 Tage
- Letzte 7 Tage
Es werden keine anderen Optionen angeboten. Basierend auf der Auswahl des Benutzers wird der entsprechende Datumsbereich (heute, vor 1 Tag, vor 3 Tagen, vor 7 Tagen) berechnet. Zeitstempel werden in der UTC-Zeitzone verwendet.
Datenextraktionsschritte
Schritt 1: Nachrichtenliste aus history.jsonl abrufen
Führe ein Python-Skript mit Bash aus, um ~/.claude/history.jsonl zu lesen und alle Einträge im angegebenen Datumsbereich anhand des Zeitstempels zu filtern. Jeder Eintrag enthält: display (Benutzereingabe), timestamp (Unix-Millisekunden), project (Projektpfad), sessionId. Zähle die genaue Anzahl der Nachrichten. Wenn mehrere Tage ausgewählt wurden (Letzte 3 Tage, Letzte 7 Tage), werden die Daten tageweise gezählt.
Schritt 2: Liste der beteiligten Sessions abrufen
Extrahiere aus Schritt 1 die eindeutigen sessionIds und die zugehörigen Projektpfade.
Hinweis zum Zeitstempelformat (wichtig)
Die beiden Datenquellen haben unterschiedliche Zeitstempelformate, die im Skript unbedingt vereinheitlicht werden müssen:
- Das timestamp-Feld in
history.jsonlist int (Unix-Millisekunden), z.B.1770288337219 - Das timestamp-Feld in Projekt-JSONL-Dateien ist ein ISO-8601-String, z.B.
"2026-03-31T04:24:20.514Z"
Definiere zu Beginn des Skripts eine einheitliche Parse-Funktion:
def to_ms(ts):
if isinstance(ts, (int, float)):
return ts
if isinstance(ts, str):
dt = datetime.datetime.fromisoformat(ts.replace('Z', '+00:00'))
return int(dt.timestamp() * 1000)
return 0
Alle nachfolgenden Zeitstempelvergleiche und Filterungen erfolgen nach der Umwandlung mit to_ms().
Schritt 3: Detaillierte Inhalte aus Projekt-JSONL-Dateien extrahieren
Verwende das mitgelieferte Skript extract.py, um die Daten zu extrahieren und eine stabile Zeitstempelverarbeitung sicherzustellen.
Skriptaufruf:
python ~/.claude/plugins/marketplaces/airay-skills/skills/airay-agent-review/scripts/extract.py --start_ms <start_ms> --end_ms <end_ms>
Vom Skript zurückgegebene Datenstruktur:
{
"sessions": [...],
"total_messages": N,
"tool_calls": {"Bash": 36, "Read": 2, "Write": 2, ...},
"tool_errors": {...},
"files_touched": ["path/to/file1", "path/to/file2", ...],
"projects": ["/path/to/project1", "/path/to/project2"],
"user_messages": [...]
}
Das Skript verarbeitet intern automatisch:
- Zeitstempelformatkonvertierung (vereinheitlichte Verarbeitung von int-Millisekunden / ISO-8601-Strings)
- Durchlaufen des content-Arrays (Prüfung auf tool_use und server_tool_use)
- Pfadkodierung (Ersetzung von / im Projektpfad durch -)
- Fehlerstatistik (is_error-Markierung)
Schritt 4: Git-Commit-Historie abrufen
Führe für die am aktuellen Tag beteiligten Projektverzeichnisse den Befehl git log --since="<Startdatum> 00:00:00" --until="<Enddatum+1 Tag> 00:00:00" --oneline aus, um die Commits abzurufen.
Berichtsformat
1. Zusammenfassung (maximal 100 Zeichen)
- Fasse in einem Absatz zusammen, welche Aufgaben im angegebenen Zeitraum erledigt wurden.
- Konzentriere dich auf die wichtigsten Punkte mit hoher Informationsdichte.
- Kann mit einem „Leitsatz“ beginnen.
2. Arbeitsstatistiken
- Präzise Zahlen, keine Schätzungen. Tabellenform: | Metrik | Wert | | Ihre Nachrichten | N | | Beteiligte Projekte | N | | Tool-Aufrufe | N (Fehler: N) | | Git-Commits | N |
3. Erfolge und Fortschritte
- Gruppiere nach Projekten, jedes Projekt mit einem Untertitel: ### [Projektname] Kurztitel
- Beschreibe, welche Aufgaben erledigt wurden, was entdeckt wurde und welche Prozesse reibungslos verliefen.
- Keine konkreten Zeitpunkte.
Vorlage kann wie folgt aussehen:
### [ Projektname ]
Beschreibung des Inhalts usw.
4. Schwierigkeiten und Hindernisse
- Liste die aufgetretenen Schwierigkeiten und Hindernisse auf, einschließlich: externe Einschränkungen (API-Drosselung usw.), Grenzen der Tool-Fähigkeiten, operative Strategiefehler usw.
- Keine konkreten Zeitpunkte.
5. KI-Selbsteinschätzung: Bewertung des Benutzers
Bewerte den Benutzer aus der Perspektive der KI. Anforderungen:
- Direkt, ohne Höflichkeiten, tiefgründig.
- Bewertung basierend auf konkretem Dialogverhalten mit Beispielen.
- Enthält: Stärken des Benutzers, Verbesserungsbereiche, bemerkenswerte Denkweisen.
- Tonfall offen, kann auf Mängel hinweisen.
Ausgabe
Nach der Berichterstellung:
- Vollständige Anzeige im Terminal.
- Speicherung im aktuellen Arbeitsverzeichnis mit dem Namen: YYYY-MM-DD.md (bei mehreren Tagen Dateiname: YYYY-MM-DD~YYYY-MM-DD.md).
- Vorhandene Datei wird überschrieben.
Formatregeln
- Alle statistischen Zahlen müssen präzise sein, „ungefähr“ oder „etwa“ ist nicht erlaubt.
- Keine konkreten Zeitpunkte (z.B. 02:35, morgens).
- Erfolge und Fortschritte werden nach Projekten gruppiert, nicht nach Zeit.
- Kein Abschnitt „Nächste Schritte“.
- Verwendung von Deutsch.
- Keine Emojis.