一键导入
release-notes-updater
Update the pt.json, en.json, and es.json release notes files with user-friendly descriptions of what changed in the new app version.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Update the pt.json, en.json, and es.json release notes files with user-friendly descriptions of what changed in the new app version.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Instrument analytics for a new or changed user action: classify each UiEvent's analytics decision, add the event to the catalog (docs/analytics), and add the name/param constants. Use whenever adding or modifying a feature, screen, dialog, or any user-facing action/interaction.
Create a pull request following all project conventions: Conventional Commits title, description template, assignee, and labels.
Find, verify and mute the known Google Play Billing ProxyBillingActivity crash in Firebase Crashlytics. Use when this billing crash reappears in Crashlytics (it gets a new issue id whenever the billing library version changes, so old mutes don't cover it).
| name | release-notes-updater |
| description | Update the pt.json, en.json, and es.json release notes files with user-friendly descriptions of what changed in the new app version. |
This skill updates the three release notes JSON files (pt.json, en.json, es.json) that are
displayed directly to users inside the app. The notes need to be clear and friendly — avoid jargon
and write as if explaining to someone who uses the app but knows nothing about software mainment.
The source files are always at:
feature/release_notes/src/commonMain/composeResources/files/release_notes/pt.json
feature/release_notes/src/commonMain/composeResources/files/release_notes/en.json
feature/release_notes/src/commonMain/composeResources/files/release_notes/es.json
Each file is a JSON object where:
"1.13.0", ordered from newest to oldest{
"1.13.0": [
"Fix extra whitespace below the search bar on the books screen."
],
"1.12.0": [
"Notifications about the download progress of Bible versions."
]
}
Run the following command in the project root to get the latest version tag:
git tag --sort=-version:refname | grep -E '^v?[0-9]+\.[0-9]+\.[0-9]+$' | head -1
This returns the highest semver tag (e.g. v1.12.0 or 1.12.0).
Strip the leading "v" if present to get a clean version like "1.12.0".
If the command fails or returns nothing (no tags yet), ask the user:
"No version tags found in the repository. What is the latest released version?"
Read all three JSON files. Parse the keys as semver versions and find the highest one across the files.
A version A is higher than version B if, comparing major.minor.patch numerically, any component
of A is greater at the first differing position.
Case A — The highest version in the JSONs is already greater than the latest git tag:
A "next version" slot already exists (e.g. "1.13.0" exists while the last tag is "1.12.0").
Use that version. If its notes array is empty or the user wants to add more items, proceed to step 4.
Case B — The highest version in the JSONs is equal to or less than the latest git tag: There is no next-version slot yet. Ask the user:
"What kind of update is this new version?"
Options:
Then compute the new version string by bumping the corresponding semver component of the latest tag (major → X+1.0.0, minor → X.Y+1.0, patch → X.Y.Z+1).
First, try to infer the changes automatically by running these commands in the project root:
# Sync remote refs
git remote update
# Committed changes not yet in origin/main
git log origin/main..HEAD --oneline
# Uncommitted changes (staged and unstaged)
git diff HEAD
Use the commit messages and diff output to figure out what changed from a user's perspective. If you can extract meaningful changes from this output, proceed directly to step 5 — do not ask the user.
Only ask the user if:
In that case, ask:
"What changed in this version? Describe it simply, as you would explain it to someone who just uses the app."
If the user already described the changes earlier in the conversation, use that — don't run the commands or ask again.
Transform the user's description into polished, user-facing sentences. The golden rules:
Write the notes in all three languages:
Read a few existing entries in each file to calibrate the style and tone before writing.
pt.json, en.json, es.json| Developer says (raw) | Written in the JSON |
|---|---|
| "removed extra whitespace below the search bar on the books screen" | "Fixed extra whitespace that appeared below the search bar on the books screen." |
| "added download progress notifications for bible versions" | "You now receive notifications about the download progress of Bible versions." |
| "refactored MoreScreen for better usability" | "The 'More' screen has been reorganized to be easier to use." |
| "fix null pointer on offline mode" | "Fixed an issue that could crash the app when used without an internet connection." |
| "migrated ViewModel from LiveData to StateFlow" | (omit — internal change with no visible user impact) |
en.json but not in pt.json or es.json, create it in the missing files too