Android Distribute - NowStack Mobile

SkillDocs & knowledge

Release a NowStack Mobile Android app to Google Play production - listing, screenshots, Data safety, content rating, release notes, then promote the tested internal build to the production track with a staged rollout. Use for "release on Android", "publish to Play production", "promote to production", "ship the Android update". If no build is on a testing track yet, run ns-android-beta first.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the Android Distribute - NowStack Mobile skill

What this skill tells your AI

The instructions your AI receives, as published by melvynx/saveit.now in .agents/skills/ns-android-distribute/SKILL.md and read by ahel’s review.

Take a build that's already on the internal track all the way to the production track: store listing, screenshots, Data safety form, content rating, release notes, validate, then promote with a staged rollout. This is the Android counterpart of ns-ios-distribute. If nothing is on a testing track yet, run ns-android-beta first. The deep gpc command reference is .agents/skills/ns-deploy-android-app/SKILL.md.

Everything runs with repo tools and the gpc (Google Play Console) CLI:

  • gpc for all Play Console API calls (GPC_SERVICE_ACCOUNT / gpc auth login --service-account <json>).
  • mobile-app/scripts/store-screenshots.mjs + Maestro + emulator for captures.
  • Listing copy and product ids come from site-config.ts.

<state_variables>

VariableDescription
{package_name}from site-config.ts > androidPackage; permanent once the listing exists.
{aab_path}the build already uploaded to the internal track (do not rebuild to release).
{from_track} / {to_track}usually internalproduction (via closed/open if you stage testers).
{rollout_fraction}staged production rollout, e.g. 0.1 (10%) before 100%.
{release_notes}per-language "what's new" text (≤500 chars), from ns-release or written here.
</state_variables>

<critical_safety>

  • Never commit the service-account JSON, keystore, or any secret. Mask paths in summaries.
  • Do NOT run gpc releases promote, gpc publish, or gpc listings push without --validate-only/--dry-run first AND explicit user confirmation of: package name, Play account, service account, target track, prod Convex URLs, screenshots/listing, and release notes.
  • Promote to production only after the internal build is verified and the user explicitly confirms.
  • Android/web payments use Stripe; do not swap the iOS Apple-IAP product. </critical_safety>

<failure_modes>

  • "version already used" → you tried to upload a new AAB instead of promoting the internal build; promote, don't re-upload.
  • Release blocked by Data safety / content rating → those forms are incomplete in Play Console (phase D).
  • Rollout halted by vitals → crash/ANR breach; investigate before resuming, don't force 100%.
  • Purchases fail in review → Play managed product id ≠ payment.productIds.google, or not activated. </failure_modes>

<success_metrics>

  • The internal build is promoted to the production track (no rebuild) with a staged rollout.
  • Listing, screenshots, Data safety, and content rating are complete.
  • Release notes are set; promoted to 100% only after vitals look healthy and the user confirms. </success_metrics>

Signals

GitHub stars
31
Forks
5
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
ns-android-distribute
Source
github.com/melvynx/saveit.now