About changelog
changelog is a skill for maintainers to create or update release notes from Git history. It categorizes commits and separates changes into development, Insiders, and Stable stages, with formats for users and developers.
Key features
- 01Generate changelogs from Git history
- 02Categorize commits by change type
- 03Separate development, Insiders, and Stable stages
- 04Format entries for users or developers
Use cases
- 01Summarize commits since the last release
- 02Create a complete changelog for a period
- 03Prepare user-facing notes and technical details
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ processcube-io/ processcube.agent.skills --skill changelogAfter installing, type/changelogin Claude Code to confirm it loaded.
Details
From the project READMESkill: changelog
Erstellt oder aktualisiert ein Changelog aus der Git-Historie, gruppiert nach Versionen und kategorisiert nach Feature-Typ.
Auslöser
/changelog- Changelog erstellen oder aktualisieren- "Erstelle ein Changelog", "Aktualisiere das Changelog", "Was hat sich geändert seit..."
Parameter
Frage den Benutzer nach folgenden Informationen, falls nicht angegeben:
-
Zielgruppe (bestimmt auch die Standarddatei)
- Anwender →
Changelog.md(vereinfacht, Nutzen beschreiben) - Entwickler →
Changelog-Dev.md(technisch, mit Commit-Details)
- Anwender →
-
Modus
- Aktualisieren (Standard): Nur neue Änderungen seit letztem Eintrag hinzufügen
- Neu erstellen: Komplettes Changelog ab einem Zeitpunkt erstellen
-
Zeitraum (nur bei "Neu erstellen")
- Beispiele: "seit März 2025", "seit v2.3.0"
Workflow
1. Bestehenden Changelog prüfen
# Prüfen ob Changelog existiert
ls Changelog.md Changelog-Dev.md 2>/dev/null
Falls Changelog existiert:
- Letzten dokumentierten Stand ermitteln (Version oder Commit)
- Nach dem Marker
## 🔮 In Entwicklungden letzten bekannten Commit suchen - Oder die letzte dokumentierte Insiders/Stable-Version als Referenz nehmen
2. Git-Daten sammeln
# Tags mit Datum abrufen
git for-each-ref --sort=-creatordate --format='%(refname:short) %(creatordate:short)' refs/tags
# Letzten Tag ermitteln
git describe --tags --abbrev=0
# Commits seit letztem Tag (für "In Entwicklung")
git log $(git describe --tags --abbrev=0)..HEAD --pretty=format:"%h %ad %s" --date=short
# Commits seit bestimmter Version
git log v2.3.0..HEAD --pretty=format:"%h %ad %s" --date=short
3. Commits kategorisieren
Analysiere die Commit-Messages und ordne sie zu:
| Kategorie | Schlüsselwörter |
|---|---|
| Neue Funktionen | Add, Feat, Feature, New, Implement |
| Fehlerbehebungen | Fix, Bugfix, Hotfix, Resolve |
| Performance | Performance, Optimize, Speed |
| Technisch | Bump, Update, Refactor, Chore, Deps |
Ignorieren:
- Merge-Commits ("Merge branch", "Merge pull request")
- Release-Commits ("Release v", "Bump version")
- WIP-Commits, Build-Fixes
4. Versionen zuordnen
Wichtig: Features durchlaufen die Phasen sequentiell:
🔮 In Entwicklung → 🧪 Insiders → ✅ Stable
(Ausblick) (Early Adopter) (Alle Nutzer)
- Ein Feature kann nur in einer Phase gelistet werden
- Wenn es in Stable ist, war es vorher in Insiders
- Wenn es in Insiders ist, war es vorher in Entwicklung
- Jeder Abschnitt zeigt nur neue Änderungen gegenüber der vorherigen Version
5. Changelog aktualisieren
Bei Aktualisierung:
- Bestehende Datei lesen
- Abschnitt "In Entwicklung" mit neuen Commits aktualisieren
- Bei neuem Release: "In Entwicklung" → "Insiders" oder "Insiders" → "Stable" verschieben
- Datei speichern
Bei Neuerstellung:
- Komplettes Template mit allen Versionen erstellen
Standard-Dateien
| Zielgruppe | Datei | Inhalt |
|---|---|---|
| Anwender | Changelog.md | Nutzen beschreiben, keine technischen Details, keine Commit-Hashes |
| Entwickler | Changelog-Dev.md | Technische Details, Commit-Hashes, PR-Nummern, Breaking Changes |
Ausgabe-Template (Anwender)
# Changelog [Projektname]
---
## 🔮 In Entwicklung (Ausblick auf nächstes Release)
*Diese Features sind nach [LETZTER_TAG] hinzugekommen und werden im nächsten Release enthalten sein.*
### Neue Funktionen
- Feature-Beschreibung aus Anwendersicht
### Fehlerbehebungen
- Fix-Beschreibung aus Anwendersicht
---
## 🧪 Insiders vX.Y.Z-insiders.N (DD.MM.YYYY)
*Vorschau-Version mit neuen Features gegenüber Stable vX.Y.Z.*
### Neue Funktionen (gegenüber vX.Y.Z)
- Feature-Beschreibung
---
## ✅ Stable vX.Y.Z (DD.MM.YYYY)
*Stabile Version - enthält alle Features aus vX.Y.Z-insiders.1 bis vX.Y.Z-insiders.N.*
### Neue Funktionen (gegenüber vX.Y-1.Z)
- Feature-Beschreibung *(seit insiders.N)*
### Fehlerbehebungen (gegenüber vX.Y-1.Z)
- Fix-Beschreibung *(seit insiders.M)*
---
## Release-Prozess
Features durchlaufen drei Phasen, bevor sie alle Nutzer erreichen:
🔮 In Entwicklung → 🧪 Insiders → ✅ Stable (Ausblick) (Early Adopter) (Alle Nutzer)
| Phase | Zielgruppe | Beschreibung |
|-------|------------|--------------|
| 🔮 **In Entwicklung** | Entwickler | Ausblick auf kommende Features. Noch in keinem Release enthalten. |
| 🧪 **Insiders** | Early Adopter | Vorschau-Versionen zum Testen neuer Features vor dem Stable-Release. |
| ✅ **Stable** | Alle Nutzer | Produktionsreife Version. Features sind vollständig getestet und freigegeben. |
**Hinweis:** Jeder Abschnitt listet nur die Änderungen, die **neu** in dieser Phase sind.
Ausgabe-Template (Entwickler)
# Changelog (Entwickler)
---
## 🔮 In Entwicklung
*Commits seit [LETZTER_TAG]*
### Neue Funktionen
- `abc1234` Feature X hinzugefügt (#123)
### Fehlerbehebungen
- `def5678` Bug Y behoben (#456)
### Technische Änderungen
- `ghi9012` Dependency Z aktualisiert
---
## 🧪 Insiders vX.Y.Z-insiders.N (DD.MM.YYYY)
### Breaking Changes
- Beschreibung der Breaking Changes
### Neue Funktionen
- `abc1234` Feature-Beschreibung (#123)
### Fehlerbehebungen
- `def5678` Fix-Beschreibung (#456)
---
## ✅ Stable vX.Y.Z (DD.MM.YYYY)
*Enthält Insiders .1 bis .N*
### Breaking Changes
- Beschreibung
### Commits
- Liste aller Commits seit letzter Stable
Beispiele
Beispiel 1: Changelog aktualisieren (Standard)
Benutzer: "Aktualisiere das Changelog"
Vorgehen:
- Prüfen ob
Changelog.mdexistiert - Letzten dokumentierten Stand ermitteln
git log [LETZTER_STAND]..HEAD --pretty=format:"%h %ad %s" --date=short- Neue Commits kategorisieren
- Abschnitt "In Entwicklung" aktualisieren
Beispiel 2: Changelog für Entwickler
Benutzer: "Erstelle ein Entwickler-Changelog"
Vorgehen:
- Prüfen ob
Changelog-Dev.mdexistiert - Git-Historie mit Commit-Hashes und PR-Nummern sammeln
- Technische Details und Breaking Changes dokumentieren
- In
Changelog-Dev.mdspeichern
Beispiel 3: Neues Release dokumentieren
Benutzer: "Wir haben v2.4.0-insiders.3 released"
Vorgehen:
- Changelog.md lesen
- Inhalte von "In Entwicklung" nach "Insiders v2.4.0-insiders.3" verschieben
- Neuen leeren "In Entwicklung"-Abschnitt erstellen
- Datum hinzufügen
Tipps
- Bei langen Commit-Messages den ersten Satz verwenden
- PR-Nummern (#123) nur im Entwickler-Changelog behalten
- Zusammengehörige Commits gruppieren (z.B. mehrere Commits für ein Feature)
- Bei vielen Commits den
head-Befehl verwenden, um die Ausgabe zu begrenzen - Beim Aktualisieren immer den bestehenden Changelog als Basis verwenden