
release-notes
by stillmoment-app
Privacy-first meditation app. Local playback, no tracking, no distractions
SKILL.md
name: release-notes description: Generiert Release Notes aus CHANGELOG.md fuer beide Plattformen, schlaegt Version vor, uebersetzt nach DE+EN, schreibt in Fastlane-Struktur. Aktiviere bei "Release Notes...", "Prepare release...", oder /release-notes.
Release Notes
Generiert user-facing Release Notes aus CHANGELOG.md fuer iOS und Android.
Kernprinzip
Nutzen, nicht Features. Release Notes beschreiben was der User davon hat - nicht was technisch geaendert wurde.
Wann dieser Skill aktiviert wird
- "Release Notes erstellen"
- "Prepare release 1.9.0"
- "Was kommt in den naechsten Release?"
/release-notes/release-notes 1.9.0/release-notes --dry-run/release-notes ios 1.8.1(Sonderfall: Hotfix)
Workflow
Schritt 1: Parameter parsen
Aus dem Aufruf extrahieren:
--dry-run→ Nur Vorschau, keine Dateien schreiben- Version (z.B.
1.9.0) → Ueberschreibt Vorschlag - Plattform (z.B.
ios) → Sonderfall: nur eine Plattform
Standardfall: Keine Parameter = beide Plattformen, automatischer Versionsvorschlag.
Schritt 2: Aktuelle Versionen lesen
iOS:
grep "MARKETING_VERSION" ios/StillMoment.xcodeproj/project.pbxproj | head -1
grep "CURRENT_PROJECT_VERSION" ios/StillMoment.xcodeproj/project.pbxproj | head -1
Extrahiere Version aus MARKETING_VERSION = X.Y.Z; und Build-Nummer aus CURRENT_PROJECT_VERSION = N;
Android:
grep "versionName" android/app/build.gradle.kts
grep "versionCode" android/app/build.gradle.kts
Extrahiere versionName = "X.Y.Z" und versionCode = N
Versions-Check:
- Wenn iOS und Android unterschiedliche Versionen haben → Warnung anzeigen
- Empfehlung: Versionen erst angleichen oder plattform-spezifischen Release machen
Schritt 3: CHANGELOG.md analysieren
- Lese
CHANGELOG.md - Extrahiere
## [Unreleased]Sektion (bis zum naechsten## [) - Parse Eintraege nach Kategorie:
### Added→ Features### Changed→ Aenderungen### Fixed→ Bugfixes
Filterlogik:
| Eintrag | Behandlung |
|---|---|
| Ohne Plattform-Tag | User-facing → Release Notes |
Mit (iOS) oder (Android) | Technisch → NICHT in Release Notes |
### Changed ohne Tag | Nachfragen ob user-relevant |
Beispiel:
### Added
- **Vorbereitungszeit** - Countdown vor MP3-Start ← Release Notes
- **Intervall-Gong-Lautstaerke** - Separate Lautstaerke ← Release Notes
### Fixed
- (iOS) Timer-Layout auf iPhone SE ← Technisch, ausschliessen
- (Android) Detekt Lint Issues ← Technisch, ausschliessen
Schritt 4: Version vorschlagen
Basierend auf [Unreleased] Inhalt:
- Nur
### Fixed→ Patch (1.8.0 → 1.8.1) ### Addedvorhanden → Minor (1.8.0 → 1.9.0)- Breaking Changes → Major (1.8.0 → 2.0.0) - selten bei Apps
Android: Berechne versionCode + 1
Schritt 5: Release Notes generieren
Formuliere user-facing Beschreibungen:
Aus CHANGELOG:
- **Vorbereitungszeit fuer gefuehrte Meditationen** - Countdown vor MP3-Start
Fuer Release Notes:
English: Preparation time before guided meditations
Deutsch: Vorbereitungszeit vor gefuehrten Meditationen
Regeln:
- Kurz und praegnant (eine Zeile pro Feature)
- Nutzen kommunizieren, nicht Technik
- Keine Ticket-Nummern, keine technischen Details
- Bullet Points, kein Fliesstext
Schritt 6: Zeichenlimits pruefen
| Plattform | Limit | Pruefung |
|---|---|---|
| Android | 500 Zeichen | Play Store Limit - strikt |
| iOS | 4000 Zeichen | App Store Limit - grosszuegig |
Zeige Zeichenzahl:
Characters: DE 89/500 ✓, EN 94/500 ✓
Bei Ueberschreitung:
Characters: DE 523/500 ⚠️ (23 over), EN 487/500 ✓
German text exceeds Android limit (500 chars).
→ Kuerzen oder mit Warnung fortfahren?
Schritt 7: Vorschau anzeigen
Reading CHANGELOG.md...
Current versions: iOS 1.8.0 (build 23), Android 1.8.0 (versionCode 11)
[Unreleased] contains:
✓ Added: Vorbereitungszeit fuer gefuehrte Meditationen
✓ Added: Intervall-Gong-Lautstaerkeregler
✗ Fixed (iOS): Timer-Layout - technical, excluding
✗ Fixed (Android): Detekt Issues - technical, excluding
Suggested version: 1.9.0 (minor - new features)
Android versionCode: 12
---
Release Notes for v1.9.0:
English:
- Preparation time before guided meditations
- Separate volume control for interval gongs
Deutsch:
- Vorbereitungszeit vor gefuehrten Meditationen
- Eigene Lautstaerke fuer Intervall-Gongs
Characters: DE 89/500 ✓, EN 94/500 ✓
---
CHANGELOG.md changes:
[Unreleased] → [1.9.0] - 2026-01-17 (4 entries moved)
---
Confirm to write files? (or type new version, or "adjust X")
Schritt 8: Interaktion
User kann:
- Bestaetigen (Enter/ja/yes) → Schritt 9
- Neue Version eingeben (z.B. "1.8.1") → Zurueck zu Schritt 7 mit neuer Version
- Anpassen ("mach kuerzer", "fuege X hinzu", "entferne zweiten Punkt") → Anpassen und Schritt 7
- Abbrechen ("abbrechen", "cancel") → Ende ohne Aenderungen
Schritt 9: Dateien schreiben
Bei --dry-run: Nur Vorschau, hier abbrechen.
Zielverzeichnisse:
| Plattform | Verzeichnis | Dateiname |
|---|---|---|
| iOS | ios/fastlane/metadata/{locale}/changelogs/ | {version}.txt |
| Android | android/fastlane/metadata/android/{locale}/changelogs/ | {versionCode}.txt |
Locales: de-DE, en-GB (iOS) / en-US (Android)
Inhalt: Nur Bullet Points, kein Header.
Ordner erstellen falls nicht vorhanden.
Schritt 10: CHANGELOG.md aktualisieren
- Finde
## [Unreleased]Zeile - Fuege nach der naechsten Leerzeile ein:
## [1.9.0] - 2026-01-17 - Verschiebe alle Eintraege von [Unreleased] in die neue Sektion
- [Unreleased] bleibt mit leerem Inhalt
Vorher:
## [Unreleased]
### Added
- **Feature A** - Beschreibung
### Fixed
- (iOS) Technischer Fix
## [1.8.0] - 2026-01-10
Nachher:
## [Unreleased]
## [1.9.0] - 2026-01-17
### Added
- **Feature A** - Beschreibung
### Fixed
- (iOS) Technischer Fix
## [1.8.0] - 2026-01-10
Schritt 11: Zusammenfassung
Written:
✓ ios/fastlane/metadata/de-DE/changelogs/1.9.0.txt
✓ ios/fastlane/metadata/en-GB/changelogs/1.9.0.txt
✓ android/fastlane/metadata/android/de-DE/changelogs/12.txt
✓ android/fastlane/metadata/android/en-US/changelogs/12.txt
✓ CHANGELOG.md ([Unreleased] → [1.9.0])
Next steps:
cd ios && make release-prepare VERSION=1.9.0
cd android && make release-prepare VERSION=1.9.0
Sonderfaelle
Leeres [Unreleased]
Reading CHANGELOG.md...
⚠️ [Unreleased] is empty. Nothing to release.
Add changes to CHANGELOG.md first, then run /release-notes again.
Versions-Mismatch
Reading versions...
iOS: 1.8.0
Android: 1.7.5
⚠️ Version mismatch between platforms.
Options:
1. Align versions first (recommended)
2. Use platform-specific release:
/release-notes ios 1.8.1
/release-notes android 1.8.0
Hotfix fuer eine Plattform
/release-notes ios 1.8.1
Reading CHANGELOG.md...
Current iOS version: 1.8.0
⚠️ Single-platform release (iOS only)
[Unreleased] iOS-specific entries:
✓ Fixed (iOS): Kritischer Bugfix
Release Notes for iOS v1.8.1:
English:
- Critical bug fix for timer
Deutsch:
- Kritischer Bugfix fuer Timer
---
Confirm? (Android stays at 1.8.0)
Schreibt nur iOS-Dateien. CHANGELOG erhaelt iOS-spezifische Sektion.
Nur technische Aenderungen
[Unreleased] contains:
✗ Fixed (iOS): Timer-Layout - technical
✗ Changed (Android): Refactoring - technical
⚠️ No user-facing changes found in [Unreleased].
Options:
1. Add user-facing description to CHANGELOG.md
2. Release with generic note: "Bug fixes and improvements"
3. Cancel
Referenzen
- Ticket:
dev-docs/tickets/shared/shared-030-release-notes-skill.md - Konzept:
dev-docs/concepts/release-prepare-workflow.md - CHANGELOG:
CHANGELOG.md - iOS Metadata:
ios/fastlane/metadata/ - Android Metadata:
android/fastlane/metadata/android/
Zeichenlimits Referenz
| Store | Feld | Limit |
|---|---|---|
| Play Store | Release Notes | 500 Zeichen |
| App Store | What's New | 4000 Zeichen |
スコア
総合スコア
リポジトリの品質指標に基づく評価
SKILL.mdファイルが含まれている
ライセンスが設定されている
100文字以上の説明がある
GitHub Stars 100以上
3ヶ月以内に更新がある
10回以上フォークされている
オープンIssueが50未満
プログラミング言語が設定されている
1つ以上のタグが設定されている
レビュー
レビュー機能は近日公開予定です