Tägliches Meeting-Update
Erstellen Sie ein tägliches Standup-/Meeting-Update durch ein interaktives Interview. Gehen Sie niemals davon aus, dass Tools konfiguriert sind – fragen Sie zuerst.
Workflow
START
│
▼
┌─────────────────────────────────────────────────────┐
│ Phase 1: INTEGRATIONEN ERKENNEN & ANBIETEN │
│ • Prüfen: Claude Code-Verlauf? gh CLI? jira CLI? │
│ • Claude Code → Zusammenfassung der gestrigen Sitzung holen│
│ → Benutzer wählt relevante Elemente per multiSelect│
│ • GitHub/Jira → Benutzer fragen, bei Zustimmung holen│
│ • Daten JETZT holen (vor dem Interview) │
├─────────────────────────────────────────────────────┤
│ Phase 2: INTERVIEW (mit Einblicken) │
│ • Geholte Daten als Kontext anzeigen │
│ • Gestern: „Ich sehe, Sie haben PR #123 gemergt, was noch?“│
│ • Heute: Woran werden Sie heute arbeiten? │
│ • Blocker: Gibt es etwas, das Sie blockiert? │
│ • Themen: Gibt es etwas, das am Ende des Meetings besprochen werden soll?│
├─────────────────────────────────────────────────────┤
│ Phase 3: UPDATE GENERIEREN │
│ • Interview-Antworten + Tool-Daten kombinieren │
│ • Als sauberes Markdown formatieren │
│ • Dem Benutzer präsentieren │
└─────────────────────────────────────────────────────┘
Phase 1: Integrationen Erkennen & Anbieten
Schritt 1: Stille Erkennung
Prüfen Sie verfügbare Integrationen still (Fehler unterdrücken, Benutzer nicht zeigen):
| Integration | Erkennung |
|---|---|
| Claude Code-Verlauf | Verzeichnis ~/.claude/projects existiert mit .jsonl-Dateien |
| GitHub CLI | gh auth status ist erfolgreich |
| Jira CLI | Befehl jira existiert |
| Atlassian MCP | mcp__atlassian__*-Tools verfügbar |
| Git | Innerhalb eines Git-Repositorys |
Schritt 2: GitHub/Jira-Integrationen anbieten (falls verfügbar)
Claude Code-Benutzer: Verwenden Sie das
AskUserQuestionTool-Tool für alle Fragen in dieser Phase.
GitHub/Git:
Wenn HAS_GH oder HAS_GIT:
"Ich habe erkannt, dass GitHub/Git konfiguriert ist. Möchten Sie, dass ich Ihre letzten Aktivitäten (Commits, PRs, Reviews) abrufe?"
Optionen:
- "Ja, die Informationen abrufen"
- "Nein, ich gebe alles manuell an"
Wenn ja:
"Welche Repositorys/Projekte soll ich überprüfen?"
Optionen:
- "Nur das aktuelle Verzeichnis" (wenn in einem Git-Repo)
- "Ich liste die Repos auf" → Benutzer gibt Liste an
Jira:
Wenn HAS_JIRA_CLI oder HAS_ATLASSIAN_MCP:
"Ich habe erkannt, dass Jira konfiguriert ist. Möchten Sie, dass ich Ihre Tickets abrufe?"
Optionen:
- "Ja, meine Tickets abrufen"
- "Nein, ich gebe alles manuell an"
Schritt 3: GitHub/Jira-Daten abrufen (wenn genehmigt)
GitHub/Git — Für jedes genehmigte Repo:
- Commits des Benutzers seit gestern
- Vom Benutzer geöffnete/gemergte PRs
- Vom Benutzer durchgeführte Reviews
Jira — Dem Benutzer zugewiesene Tickets, die in den letzten 24h aktualisiert wurden
Wichtiger Hinweis: Ergebnisse speichern, um sie in Phase 2 als Kontext zu verwenden.
Schritt 4: Claude Code-Verlauf anbieten
Diese Integration erfasst alles, was Sie mit Claude Code gearbeitet haben – nützlich, um Arbeiten zu rekonstruieren, die nicht in Git oder Jira sind.
Erkennung:
ls ~/.claude/projects/*/*.jsonl 2>/dev/null | head -1
Wenn Claude Code-Verlauf existiert, fragen:
"Ich kann auch Ihren gestrigen Claude Code-Sitzungsverlauf abrufen. Das kann helfen, Arbeiten zu rekonstruieren, die nicht in Git/Jira sind (Recherche, Debugging, Planung). Möchten Sie, dass ich nachsehe?"
Optionen:
- "Ja, meine Claude Code-Sitzungen abrufen"
- "Nein, ich habe alles, was ich brauche"
Wenn ja, das Digest-Skript ausführen:
python3 ~/.claude/skills/daily-meeting-update/scripts/claude_digest.py --format json
Dann Sitzungen mit multiSelect präsentieren:
Verwenden Sie AskUserQuestionTool mit multiSelect: true, damit der Benutzer relevante Elemente auswählen kann:
"Hier sind Ihre gestrigen Claude Code-Sitzungen. Wählen Sie diejenigen aus, die für Ihr Standup relevant sind:"
Optionen (multiSelect):
- „Authentifizierungs-Bug beheben (backend-api)"
- „OAuth-Flow implementieren (backend-api)"
- „Startseiten-Styles aktualisieren (frontend-app)"
- „Zahlungsanbieter recherchieren (docs)"
Wichtiger Hinweis: Der Benutzer wählt aus, welche Sitzungen arbeitsbezogen sind. Persönliche Projekte oder Experimente können ausgeschlossen werden.
Führen Sie das Digest-Skript NICHT aus, wenn:
- Der Benutzer explizit „Nein" zum Claude Code-Verlauf sagt
- Der Benutzer sagt, dass er alles manuell angeben wird
- Das Verzeichnis
~/.claude/projectsnicht existiert
Wenn das Digest-Skript fehlschlägt:
- Fallback: Claude Code-Integration still überspringen, mit Interview fortfahren
- Häufige Probleme: Python nicht installiert, keine Sitzungen von gestern, Berechtigungsfehler
- Den Standup-Fluss NICHT blockieren – das Skript ist ergänzend, nicht erforderlich
Phase 2: Interview (mit Einblicken)
Claude Code-Benutzer: Verwenden Sie das
AskUserQuestionTool-Tool, um das Interview durchzuführen. Dies bietet eine bessere UX mit strukturierten Optionen.
Geholte Daten als Kontext verwenden, um Fragen intelligenter zu machen.
Frage 1: Gestern
Wenn Daten geholt wurden, diese zuerst anzeigen:
"Hier ist, was ich in Ihrer Aktivität gefunden habe:
- PR #123 gemergt: Login-Timeout beheben
- 3 Commits in backend-api
- PR #456 reviewed (genehmigt)
Haben Sie gestern noch etwas anderes gearbeitet, das ich übersehen habe?"
Wenn keine Daten geholt wurden:
"Woran haben Sie gestern/seit dem letzten Standup gearbeitet?"
Wenn die Antwort des Benutzers vage ist, nachfragen:
- „Können Sie mehr Details zu X geben?"
- „Haben Sie etwas Bestimmtes abgeschlossen?"
Frage 2: Heute
"Woran werden Sie heute arbeiten?"
Optionen:
- [Texteingabe – Benutzer gibt frei ein]
Wenn Jira-Daten geholt wurden, können Sie vorschlagen:
"Ich sehe, Sie haben diese Tickets zugewiesen:
- PROJ-123: OAuth-Flow implementieren (In Bearbeitung)
- PROJ-456: Zahlungs-Bug beheben (Zu erledigen)
Werden Sie heute an einem davon arbeiten?"
Frage 3: Blocker
"Haben Sie Blocker oder Hindernisse?"
Optionen:
- „Keine Blocker"
- „Ja, ich habe Blocker" → Nachfrage nach Details
Frage 4: Diskussionsthemen
"Gibt es ein Thema, das Sie am Ende des Tages besprechen möchten?"
Optionen:
- „Nein, nichts zu besprechen"
- „Ja" → Nachfrage nach Details
Beispiele für Themen:
- Technische Entscheidung, die Input erfordert
- Abstimmung mit einem anderen Team
- Frage zur Priorisierung
- Ankündigung oder Info für das Team
Phase 3: Update Generieren
Alle Informationen in sauberes Markdown kombinieren:
# Tägliches Update - [DATUM]
## Gestern
- [Elemente aus dem Interview]
- [Elemente aus GitHub/Jira, falls geholt]
## Heute
- [Elemente aus dem Interview]
## Blocker
- [Blocker oder „Keine Blocker"]
## PRs & Reviews (falls von GitHub geholt)
- [Geöffnete PRs]
- [Gemergte PRs]
- [Durchgeführte Reviews]
## Jira (falls von Jira geholt)
- [Aktualisierte Tickets]
## Diskussionsthemen
- [Themen oder „Keine"]
---
*Links:*
- [PR-Links]
- [Ticket-Links]
Kernprinzipien
- Interview ist primär — Tools ergänzen, sie ersetzen nicht den menschlichen Kontext
- Einwilligung vor Zugriff — Immer fragen, bevor Daten aus einer Integration geholt werden
- Kontextbezogene Fragen — Geholte Daten während des Interviews anzeigen, um das Gedächtnis anzuregen („Ich sehe, Sie haben PR #123 gemergt...")
Kurzreferenz
| Phase | Aktion | Tool |
|---|---|---|
| 1. Erkennen & Anbieten | gh/jira/claude-Verlauf prüfen, Benutzer fragen, Daten holen | Bash (still), AskUserQuestionTool* |
| 2. Interview | 4 Fragen mit Einblicken stellen | AskUserQuestionTool* |
| 3. Generieren | Markdown formatieren | Text ausgeben |
*Nur Claude Code: Verwenden Sie das AskUserQuestionTool-Tool für strukturierte Fragen.
Claude Code-Digest-Skript
# Gestrige Sitzungen als JSON abrufen
python3 ~/.claude/skills/daily-meeting-update/scripts/claude_digest.py --format json
# Heutige Sitzungen abrufen
python3 ~/.claude/skills/daily-meeting-update/scripts/claude_digest.py --date today --format json
# Auf bestimmtes Projekt filtern
python3 ~/.claude/skills/daily-meeting-update/scripts/claude_digest.py --project ~/my-app --format json
Beispielsitzung
Claude: „Lassen Sie uns Ihr Tagesupdate vorbereiten! Ich habe erkannt, dass GitHub konfiguriert ist. Möchten Sie, dass ich Ihre letzten Aktivitäten abrufe?"
Benutzer: „Ja"
Claude: „Welche Repos soll ich überprüfen?"
Benutzer: „backend-api und frontend-app"
[Claude ruft GitHub-Daten still ab]
Claude: „Ich kann auch Ihren gestrigen Claude Code-Sitzungsverlauf abrufen. Möchten Sie, dass ich nachsehe?"
Benutzer: „Ja"
[Claude führt Digest-Skript aus, erhält 5 Sitzungen]
Claude: „Hier sind Ihre gestrigen Claude Code-Sitzungen. Wählen Sie die für Ihr Standup relevanten aus:"
☑ Authentifizierungs-Timeout-Bug beheben (backend-api)
☑ OAuth-Flow implementieren (backend-api)
☐ Persönlichen Blog aktualisieren (blog) - [Benutzer deaktiviert persönliches Projekt]
☑ Zahlungsanbieter recherchieren (docs)
☐ Testfehler debuggen (experiments)
Benutzer: [wählt 3 relevante Elemente aus]
Claude: „Hier ist, was ich in Ihrer Aktivität gefunden habe:
- PR #120 gemergt: Login-Timeout beheben
- PR #125 geöffnet: Feature: OAuth-Flow hinzufügen
- PR #123 reviewed (genehmigt), PR #456 reviewed (Änderungen angefordert)
- 5 Commits in backend-api
- [Aus Claude Code] Authentifizierungs-Timeout-Bug beheben
- [Aus Claude Code] OAuth-Flow implementieren
- [Aus Claude Code] Zahlungsanbieter recherchieren
Haben Sie gestern noch etwas anderes gemacht, das ich übersehen habe?"
Benutzer: „Nein, das deckt alles ab"
Claude: „Woran werden Sie heute arbeiten?"
Benutzer: „Die OAuth-Funktion fortsetzen und auf Staging deployen"
Claude: „Gibt es Blocker?"
Benutzer: „Nein"
Claude: „Gibt es ein Thema, das Sie am Ende des Tages besprechen möchten?"
Benutzer: „Ja, ich möchte die Architektur des neuen Zahlungsmoduls besprechen"
[Claude generiert das Update]
Ausgabebeispiel
# Tägliches Update - 2026-01-22
## Gestern
- An der Authentifizierungsfunktion gearbeitet
- Recherche zu Zahlungsanbietern
- PR #120 gemergt (Fix: Login-Timeout)
- PR #125 geöffnet (Feature: OAuth-Flow)
## Heute
- OAuth-Funktion fortsetzen
- Auf Staging deployen
## Blocker
- Keine Blocker
## PRs & Reviews
- **Geöffnet:** PR #125 - Feature: OAuth-Flow hinzufügen
- **Gemergt:** PR #120 - Fix: Login-Timeout
- **Reviews:** PR #123 (genehmigt), PR #456 (Änderungen angefordert)
## Diskussionsthemen
- Architektur des neuen Zahlungsmoduls
---
*Links:*
- https://github.com/org/repo/pull/125
- https://github.com/org/repo/pull/120
Anti-Patterns
| Vermeiden | Warum (Expertenwissen) | Stattdessen |
|---|---|---|
| gh/jira ohne Frage ausführen | Benutzer haben möglicherweise private Repos sichtbar oder befinden sich in einem sensiblen Projektkontext, den sie nicht offenlegen möchten | Immer zuerst fragen, Benutzer Repos auswählen lassen |
| Aktuelles Verzeichnis als einziges Projekt annehmen | Entwickler arbeiten oft an 2-5 Repos gleichzeitig (Frontend, Backend, Infrastruktur) | Fragen „An welchen Projekten arbeiten Sie?" |
| Interview trotz Tool-Daten überspringen | Tools erfassen WAS passiert ist, aber nicht WARUM und den Kontext (Recherche, Meetings, Planung) | Interview ist primär, Tools ergänzen |
| Update generieren, bevor alle 4 Fragen gestellt wurden | Der Benutzer könnte einen kritischen Blocker oder ein Diskussionsthema haben, das die Erzählung ändert | Interview abschließen, dann generieren |
| Rohe Commit-Nachrichten einfügen | Commit-Nachrichten sind oft kryptisch („fix", „wip") und erzählen keine Geschichte | In menschenlesbare Ergebnisse zusammenfassen |
| Daten nach dem Interview anfordern | Das Anzeigen von Einblicken während des Interviews macht Fragen intelligenter („Ich sehe, Sie haben PR #123 gemergt, noch etwas?") | Daten zuerst holen, dann Interview mit Kontext |
NIE
- NIE davon ausgehen, dass Tools konfiguriert sind — Viele Entwickler haben gh installiert, aber nicht authentifiziert, oder die jira CLI zeigt auf die falsche Instanz
- NIE die Frage „Diskussionsthemen" überspringen — Dies ist oft der wertvollste Teil des Standups, den Tools nicht erfassen können
- NIE mehr als 15 Aufzählungspunkte generieren — Ein Standup sollte <2 Minuten zum Lesen sein; lange Updates verlieren die Zuhörer
- NIE Ticket-/PR-Nummern ohne Kontext einfügen — „PROJ-123" bedeutet nichts; immer Titel oder Zusammenfassung angeben
- NIE Daten aus Repos holen, die der Benutzer nicht explizit genehmigt hat — Auch wenn Sie andere Repos sehen können, respektieren Sie Grenzen