Grundlagen
Release-Notes-Generator
Formatierte Release-Notes aus Git-Tags generieren, mit PR-Details, verknüpften Issues und Mitwirkenden-Credits.
Verwende den Dagu-Skill, um einen Workflow zur Generierung von Release-Notes zu erstellen. Beziehe dich auf die Schema-, Coding-Agent- und Fallstricke-Referenzen für die korrekte Syntax. Frage den Benutzer: - Welches Repository? (Standard: das aktuelle Repository, erkannt über gh repo view --json nameWithOwner) - Welche Tags sollen verglichen werden? (Standard: neuester Tag vs. vorheriger Tag, automatisch erkannt) Voraussetzungen: gh CLI authentifiziert (gh auth login), mindestens eine KI-Coding-Agent-CLI installiert. Der Workflow soll: 1. Die beiden zu vergleichenden Git-Tags auflösen. Falls nicht angegeben, die neuesten und vorherigen Tags automatisch über die GitHub-API erkennen. Als JSON ausgeben, damit nachfolgende Schritte einzelne Felder über JSON-Pfad referenzieren können (z.B. ${TAGS.to}). 2. Alle PR-Nummern aus Commits zwischen den beiden Tags mit der GitHub-Compare-API und --jq extrahieren (NICHT die jq-CLI verwenden). Eine PR-Nummer pro Zeile ausgeben. 3. Für jeden PR Details über gh api graphql abrufen: Nummer, Titel, Autor-Login, Body-Zusammenfassung (erste ~300 Zeichen), Labels und closingIssuesReferences (Nummer, Titel, Autor-Login). Ein JSON-Array aus den Ergebnissen erstellen. - KRITISCH: Beim Iterieren über die Ausgabe eines vorherigen Schritts NICHT "for X in $VAR" verwenden — Dagu erfasst mehrzeilige Ausgaben in einer einzelnen String-Variable, daher funktioniert Wort-Splitting nicht. Stattdessen die stdout-Datei des vorherigen Schritts Zeile für Zeile lesen: `while IFS= read -r line; do ... done < "${prev_step.stdout}"`. Nicht-numerische Zeichen mit `tr -dc '0-9'` aus jeder Zeile entfernen, bevor sie an die GraphQL-Abfrage übergeben werden. - Der gh-GraphQL-Abfragestring verwendet $-präfixierte Variablennamen ($owner, $name, $num). Diese sind in Dagu-Skripten sicher, da Dagu nur ${geklammerte} Variablen und bare $varname-Muster expandiert, die definierten Dagu-Variablen entsprechen — undefinierte bare $names werden unverändert für die Shell beibehalten. Ganzzahlige Variablen jedoch ohne Anführungszeichen an -F übergeben (z.B. -F num=$NUM, nicht -F num="$NUM"), damit gh sie als Ganzzahlen und nicht als Strings sendet. 4. Einen einzelnen KI-Agent-Schritt verwenden (automatisch erkennen, welche CLI verfügbar ist, das günstigste Modell verwenden), um jeden PR zu kategorisieren und die endgültigen Release-Notes zu formatieren. Die PR-Details als JSON, die Changelog-Vorlage und den Kontext (Repository, Tags, Datum, Repository-Besitzer zum Ausschluss aus den Mitwirkenden) übergeben. 5. Die Ausgabe in DAG_DOCS_DIR speichern. 6. defaults.retry_policy und timeout_sec: 300 für den KI-Agent-Schritt verwenden. Die Changelog-Formatvorlage MUSS als Top-Level-Umgebungsvariable mit YAML-Mehrzeilenformat (|) definiert werden, damit Benutzer die Ausgabe anpassen können, ohne die Schrittlogik zu bearbeiten.
Erste Schritte
1. Dagu installieren
curl -L https://raw.githubusercontent.com/dagu-org/dagu/main/scripts/installer.sh | bash2. Dagu-Skill installieren
claude mcp add dagu -- dagu mcp3. Dagu starten
dagu start-allWeitere Details finden Sie im Schnellstartanleitung
Ähnliche Rezepte
Tägliche Standup-Vorbereitung
GitHub-Aktivitäten aller Organisationen abrufen und mit einem KI-Coding-Agenten einen gesprochenen Standup-Entwurf pro Organisation erstellen.
KI-Text-Bereinigung
KI-Schreibmuster in Texten erkennen und entfernen, unter Verwendung der Wikipedia-Anzeichen für KI-Texte als Live-Referenz.