release

Automates end-to-end Android release of an Expo app to Google Play.

Updated Aug 22, 2026
One-click install
npx skills add https://github.com/ohru131/si-unit-calculator --skill release-ohru131
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: release
Source: https://github.com/ohru131/si-unit-calculator/tree/main/.claude/skills/release
Command: npx skills add https://github.com/ohru131/si-unit-calculator --skill release-ohru131

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Releasing an Expo/React Native Android app involves many error-prone steps—version bumping across multiple files, signed AAB builds, Play Console uploads, release notes in seven locales, and store listing updates—where a single missed step (like forgetting to push the branch or bump versionCode) causes failed uploads or inconsistent releases. ## Core Features & Use Cases - Full release pipeline: Sync main, verify baselines (tsc/vitest/lint), test on a physical device via debug builds, determine the next versionCode by querying Play, bump versions in package.json/app.config.ts/CHANGELOG, build a signed AAB, and validate it. - Play upload with safety gates: Upload via scripts/release.mjs with a mandatory dry-run → --validate → --commit sequence, defaulting to the alpha track. - Release notes & store listing: Generate 7-locale release notes under the 500-character Play limit and push listing copy/screenshots via scripts/push-play-listing.mjs. - Use Case: Say "リリースして" (release it) and the Skill walks through device verification, AAB build, tagging with the AAB SHA-1, Play upload, and cleanup—while avoiding documented pitfalls like McAfee occupying port 8081 or pushing only the tag without the branch. ## Quick Start Ask the AI to release a new version of UnitCalc to Google Play, for example: "Bump the version and ship the release to the Play alpha track."

Frequently Asked Questions about release

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I release an Expo Android app to Google Play?▼

Bump version and versionCode in package.json and app.config.ts, run expo prebuild, build with gradlew bundleRelease, then upload the AAB via the Play Developer API. This Skill automates the full sequence with dry-run, validate, and commit stages.

How to determine the next Android versionCode for Play upload?▼

Query the Play Developer API edits.bundles.list to see used versionCodes, then pick the smallest unused value. Never guess, because Play only requires monotonic increase and records usage server-side.

Why does my Play AAB upload get rejected?▼

Rejections usually come from a forgotten versionCode bump in app.config.ts, a missing prebuild, or a debug-signed AAB when credentials.json is absent. The release check script cross-verifies build.gradle, the AAB manifest, and signing certificates.

Can I test a release build on a device that has the Play version installed?▼

Do not install a local release APK over the Play version, since signature mismatch forces an uninstall that wipes user data. Use the debug variant, whose applicationId gets a .debug suffix so it coexists with the Play build.

Why does Metro bundler fail to connect on port 8081?▼

On this machine McAfee's macmnsvc.exe occupies TCP 8081, so connections reset silently. Start Expo on port 8082 and set up two adb reverse mappings so the dev client can reach Metro.

What are the limits for Google Play release notes?▼

Play release notes are capped at 500 characters per locale, and Latin languages run 10-20% longer than English. This Skill generates notes for seven locales and measures each file's length to catch overflows.