| name | upgrade-app |
| description | Automates the process of upgrading the app version. Bumps versionCode and versionName in build.gradle.kts for changed modules, updates changelogs, verifies the build, commits, pushes, and creates a GitHub release. Use when the user says "upgrade app", "release new version", or "bump version". |
Upgrade App Workflow
This skill automates the end-to-end process of releasing a new version across all application modules (:app, :wearos, :tv).
Module Architecture & Version Code Bands
The project has three form factors sharing the same package name (app.pwhs.universalinstaller) on Google Play Store:
- Phone (
:app): versionCode band 1 - 999 (e.g. 36 -> 37)
- Wear OS (
:wearos): versionCode band 1000 - 1999 (e.g. 1036 -> 1037)
- Android TV (
:tv): versionCode band 2000 - 2999 (e.g. 2027 -> 2028)
Workflow Steps
1. Preparation
2. Diff Inspection & Selective Versioning
3. Update Files & Changelogs
4. User Confirmation
- MANDATORY: Present the detected module changes, version bump plan, and generated changelogs to the user.
- WAIT for the user to confirm or edit before proceeding to build and release.
5. Build Verification
6. Git & GitHub Operations (MUST BE SEQUENTIAL)
Guardrails
- Selective Bump: Never bump a module whose code has not changed since the last tag.
- Race Condition Prevention: Never separate
git commit and git tag into different tool calls without ensuring the commit succeeded.
- Validation: Always verify the build with
./gradlew assembleDebug before pushing.
- Confirmation: Always wait for user confirmation on the changelog and version bump plan.
- Changelog Limit: All changelogs MUST be strictly under 500 characters. Always verify with
wc -c.
- No Issue References: Never include GitHub issue numbers in user-facing changelogs.
- No Translation Commits: Never include routine i18n/translation commits in the changelog.