80 lines
3.3 KiB
Markdown
80 lines
3.3 KiB
Markdown
---
|
|
name: app-store-changelog
|
|
description: Generate user-facing App Store release notes from git history since the last tag.
|
|
risk: safe
|
|
source: "Dimillian/Skills (MIT)"
|
|
date_added: "2026-03-25"
|
|
---
|
|
|
|
# App Store Changelog
|
|
|
|
## Overview
|
|
Generate a comprehensive, user-facing changelog from git history since the last tag, then translate commits into clear App Store release notes.
|
|
|
|
## When to Use
|
|
- When the user asks for App Store "What's New" text or release notes from git history.
|
|
- When you need to turn raw commits into concise, user-facing release bullets.
|
|
|
|
## Workflow
|
|
|
|
### 1) Collect changes
|
|
- Run `scripts/collect_release_changes.sh` from the repo root to gather commits and touched files.
|
|
- If needed, pass a specific tag or ref: `scripts/collect_release_changes.sh v1.2.3 HEAD`.
|
|
- If no tags exist, the script falls back to full history.
|
|
|
|
### 2) Triage for user impact
|
|
- Scan commits and files to identify user-visible changes.
|
|
- Group changes by theme (New, Improved, Fixed) and deduplicate overlaps.
|
|
- Drop internal-only work (build scripts, refactors, dependency bumps, CI).
|
|
|
|
### 3) Draft App Store notes
|
|
- Write short, benefit-focused bullets for each user-facing change.
|
|
- Use clear verbs and plain language; avoid internal jargon.
|
|
- Prefer 5 to 10 bullets unless the user requests a different length.
|
|
|
|
### 4) Validate
|
|
- Ensure every bullet maps back to a real change in the range.
|
|
- Check for duplicates and overly technical wording.
|
|
- Ask for clarification if any change is ambiguous or possibly internal-only.
|
|
|
|
## Commit-to-Bullet Examples
|
|
|
|
The following shows how raw commits are translated into App Store bullets:
|
|
|
|
| Raw commit message | App Store bullet |
|
|
|---|---|
|
|
| `fix(auth): resolve token refresh race condition on iOS 17` | • Fixed a login issue that could leave some users unexpectedly signed out. |
|
|
| `feat(search): add voice input to search bar` | • Search your library hands-free with the new voice input option. |
|
|
| `perf(timeline): lazy-load images to reduce scroll jank` | • Scrolling through your timeline is now smoother and faster. |
|
|
|
|
Internal-only commits that are **dropped** (no user impact):
|
|
- `chore: upgrade fastlane to 2.219`
|
|
- `refactor(network): extract URLSession wrapper into module`
|
|
- `ci: add nightly build job`
|
|
|
|
## Example Output
|
|
|
|
```
|
|
What's New in Version 3.4
|
|
|
|
• Search your library hands-free with the new voice input option.
|
|
• Scrolling through your timeline is now smoother and faster.
|
|
• Fixed a login issue that could leave some users unexpectedly signed out.
|
|
• Added dark-mode support to the settings screen.
|
|
• Improved load times when opening large photo albums.
|
|
```
|
|
|
|
## Output Format
|
|
- Title (optional): "What's New" or product name + version.
|
|
- Bullet list only; one sentence per bullet.
|
|
- Stick to storefront limits if the user provides one.
|
|
|
|
## Resources
|
|
- `scripts/collect_release_changes.sh`: Collect commits and touched files since last tag.
|
|
- `references/release-notes-guidelines.md`: Language, filtering, and QA rules for App Store notes.
|
|
|
|
## Limitations
|
|
- Use this skill only when the task clearly matches the scope described above.
|
|
- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.
|
|
- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.
|