Implementiert Session Context Workflow für Cross-Machine Tracking: - WORKLOG.md Template für Projekt-Zustandsdokumentation - Session-Start Hook erweitert: zeigt WORKLOG.md Kontext, Commits, Issues - /session-end Skill: strukturiertes Session-Ende mit Auto-Dokumentation - /session-start Skill: manueller Session-Start mit Planung - /new-project Skill: Projekt-Initialisierung mit Tracking Inspiriert von Boris Cherny's Claude Code Tipps: - Learnings dokumentieren für Fehler/Erkenntnisse - Verification Loops in Skills - Separate Checkouts für parallele Sessions Tea CLI (Gitea) separat installiert in ~/.local/bin Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
132 lines
2.9 KiB
Markdown
132 lines
2.9 KiB
Markdown
---
|
|
name: session-end
|
|
description: Use when ending a work session - documents progress, updates WORKLOG.md, commits changes, and optionally comments on Gitea issues
|
|
---
|
|
|
|
# Skill: Session End
|
|
|
|
Strukturiertes Beenden einer Arbeitssession mit automatischer Dokumentation.
|
|
|
|
## Workflow
|
|
|
|
### 1. Analyse der Session
|
|
|
|
Sammle aus der bisherigen Konversation:
|
|
- Was wurde gemacht? (Features, Bugfixes, Refactoring)
|
|
- Welche Commits wurden erstellt?
|
|
- Welche Entscheidungen wurden getroffen?
|
|
- Welche Fehler/Erkenntnisse gab es?
|
|
|
|
```bash
|
|
# Commits dieser Session ermitteln
|
|
git log --oneline --since="today" 2>/dev/null || git log --oneline -10
|
|
```
|
|
|
|
### 2. Benutzer-Input sammeln
|
|
|
|
Frage den Benutzer:
|
|
|
|
**"Was sind die nächsten Schritte für dieses Projekt?"**
|
|
- Akzeptiere kurze Stichpunkte
|
|
- Formatiere als Checkbox-Liste
|
|
|
|
**"Gab es wichtige Entscheidungen heute?"**
|
|
- Architektur-Entscheidungen
|
|
- Technologie-Wahlen
|
|
- Trade-offs
|
|
|
|
**"Learnings für zukünftige Sessions?"**
|
|
- Fehler die vermieden werden sollten
|
|
- Nicht-offensichtliches Verhalten
|
|
- Gotchas
|
|
|
|
### 3. WORKLOG.md aktualisieren
|
|
|
|
Aktualisiere die Datei mit:
|
|
|
|
#### Current State
|
|
```markdown
|
|
**Zuletzt:** [HEUTE] auf `[HOSTNAME]`
|
|
**Branch:** [aktueller Branch]
|
|
**Issue:** [falls verknüpft]
|
|
**Status:** [kurze Statusbeschreibung]
|
|
```
|
|
|
|
#### Next Steps
|
|
- Ersetze mit den neuen Schritten vom Benutzer
|
|
|
|
#### Key Decisions (falls neue)
|
|
- Füge neue Entscheidungen hinzu mit Datum
|
|
|
|
#### Learnings (falls neue)
|
|
- Füge neue Learnings hinzu mit Datum
|
|
|
|
#### Session History
|
|
Füge neuen Eintrag am ANFANG der History hinzu:
|
|
```markdown
|
|
### [DATUM] | [HOSTNAME] | Commits: `hash1`, `hash2`
|
|
- Punkt 1 was gemacht wurde
|
|
- Punkt 2 was gemacht wurde
|
|
```
|
|
|
|
### 4. Commit und Push
|
|
|
|
```bash
|
|
# Stage WORKLOG.md
|
|
git add WORKLOG.md
|
|
|
|
# Commit mit standardisierter Message
|
|
git commit -m "worklog: session $(date +%Y-%m-%d)"
|
|
|
|
# Push (optional, frage nach)
|
|
git push origin [branch]
|
|
```
|
|
|
|
### 5. Gitea Issue kommentieren (optional)
|
|
|
|
Wenn ein Issue in WORKLOG.md verknüpft ist:
|
|
|
|
```bash
|
|
# Issue-Nummer extrahieren
|
|
ISSUE=$(grep -oP '(?<=#)\d+' WORKLOG.md | head -1)
|
|
|
|
# Kommentar erstellen
|
|
tea comment $ISSUE "Progress update:
|
|
- [Was gemacht wurde]
|
|
- Next: [Nächste Schritte]"
|
|
```
|
|
|
|
## Checkliste
|
|
|
|
- [ ] Commits der Session identifiziert
|
|
- [ ] Nächste Schritte vom Benutzer erhalten
|
|
- [ ] Key Decisions dokumentiert (falls vorhanden)
|
|
- [ ] Learnings dokumentiert (falls vorhanden)
|
|
- [ ] WORKLOG.md aktualisiert
|
|
- [ ] WORKLOG.md committet
|
|
- [ ] Gitea Issue kommentiert (falls verknüpft)
|
|
|
|
## Beispiel-Output
|
|
|
|
```
|
|
Session beendet für: smart-home-mqtt
|
|
|
|
Dokumentiert:
|
|
- 3 Commits: a3f2b1c, e7d4a9f, f8g9h0i
|
|
- Nächste Schritte: 3 Items
|
|
- 1 neue Entscheidung: QoS Level 1
|
|
- 1 neues Learning: API-Prefix
|
|
|
|
WORKLOG.md aktualisiert und committet.
|
|
Issue #12 kommentiert.
|
|
|
|
Bis zur nächsten Session!
|
|
```
|
|
|
|
## Hinweise
|
|
|
|
- Hostname ermitteln: `hostname`
|
|
- Aktuelles Datum: `date +%Y-%m-%d`
|
|
- Branch ermitteln: `git branch --show-current`
|
|
- Tea CLI muss konfiguriert sein für Issue-Kommentare
|