Complete guide for building beautiful apps with Expo Router. Covers fundamentals, styling, components, navigation, animations, patterns, and native tabs.
日本語の概要は準備中です。原文の説明を表示しています。
Finish NowStack Mobile Google Play setup and internal Android releases. Use for signed AAB upload, gpc/browser fallback, privacy/app-content gates, or gpc commit failures.
インストール方法を見るインストールする前に、エージェントに与えられる指示の中身を確認できます。
Use this skill for the practical NowStack Android Play Console path after the Play app/package exists: build a production AAB, validate it, upload it to the Play internal track, and finish the Play Console compliance gates that cannot be safely automated from the API.
gpc listings/apps mutations fail with rejected-update acknowledgement bugs even when --changes-not-sent-for-review is passed.Read the repo rules before mutations:
.agents/rules/store-release.md
.agents/rules/mobile-app.md
.agents/rules/auth-payments-storage.md
Confirm:
site-config.ts > androidPackage matches the Play app package.mobile-app/app.config.ts resolves the same Android package.mobile-app/google-play-service-account.json exists, is ignored, and works with the target Play app.Never print service-account private keys or commit credential files.
Detect the OS before choosing the build path:
uname -s || node -p "process.platform"
.agents/skills/ns-setup-expo/SKILL.md, verify eas-cli, eas whoami, linked easProjectId, and expo-doctor, then use EAS cloud for the signed AAB.macOS local EAS build:
cd mobile-app
eas build --platform android --profile production --local --non-interactive --output /tmp/nowstack-android-local-v<N>.aab
Windows/Linux EAS cloud build:
cd mobile-app
npx eas-cli@latest build --platform android --profile production --non-interactive
Verify generated Expo config before building:
cd mobile-app
npx expo config --type public
Expected success signals:
versionCode.:app:bundleRelease./tmp/...aab output path.Run local and server-side validation before mutation:
ls -lh /tmp/nowstack-android-local-v<N>.aab
shasum -a 256 /tmp/nowstack-android-local-v<N>.aab
gpc validate /tmp/nowstack-android-local-v<N>.aab --output json
gpc --app dev.melvynx.nowstack publish /tmp/nowstack-android-local-v<N>.aab --track internal --notes "Initial internal test release." --validate-only --changes-not-sent-for-review
gpc preflight is useful when it works, but do not treat a local CLI crash as a Play rejection. Record the crash and continue with stronger signals.
Try gpc first:
gpc --app dev.melvynx.nowstack --no-interactive --yes releases upload /tmp/nowstack-android-local-v<N>.aab \
--track internal \
--notes "Initial internal test release." \
--name "1.0.0 (<versionCode>)" \
--changes-not-sent-for-review \
--output json
If gpc publish or gpc releases upload validates but fails during real commit, use the bundled direct API fallback:
node .agents/skills/ns-android-play-console-release/scripts/upload-internal-release.cjs \
--app dev.melvynx.nowstack \
--aab /tmp/nowstack-android-local-v<N>.aab \
--service-account mobile-app/google-play-service-account.json \
--track internal \
--name "1.0.0 (<versionCode>)" \
--notes "Initial internal test release."
The script creates an Android Publisher edit, uploads the AAB, assigns the track, and commits with retry. It auto-recovers from both states observed in practice:
changesNotSentForReview required.changesNotSentForReview must not be set.Verify after upload:
gpc --app dev.melvynx.nowstack releases status --output json
Success looks like:
[
{
"track": "internal",
"status": "completed",
"versionCodes": ["6"]
}
]
Binary upload can be done via CLI/API. Play Console setup is only partly automatable.
Use browser UI for:
gpc apps/listings update hits rejected-update acknowledgement bugs.Known reviewer account pattern for this repo:
Email: appstoretest@email.com
OTP/code: 123456
Instructions:
Open the app, choose Continue with email, enter appstoretest@email.com, then use verification code 123456. If the onboarding paywall appears, continue with the available non-purchase path. No Google or Apple sign-in is required.
Do not claim premium/full paid access unless the account is actually granted it in production.
If Chrome automation is blocked by an extension popup such as 1Password, stop and ask the user to dismiss the popup. Do not switch to risky OS-level browser control for Play Console forms.
API_CHANGES_NOT_SENT_FOR_REVIEW even with the flag: use the direct API fallback script or browser UI.changesNotSentForReview must not be set: commit the same edit without that query parameter; the fallback script handles this.Some of the Android App Bundle uploads are not completed yet: retry commit on the same edit after waiting; the fallback script handles this.This Edit has been deleted: the failed CLI edit is gone; create a new edit and re-upload.gpc status releases but gpc releases status shows internal: trust the track-specific release status for binary proof.Include:
gpc releases status.まだレビューはありません。使ってみた感想をお寄せください。
概要と使いどころ
Complete guide for building beautiful apps with Expo Router. Covers fundamentals, styling, components, navigation, animations, patterns, and native tabs.
日本語の概要は準備中です。原文の説明を表示しています。
Routes general Convex requests to the right project skill. Use when the user asks which Convex skill to use or gives an underspecified Convex app task.
日本語の概要は準備中です。原文の説明を表示しています。
Use when optimizing Convex database read bandwidth, documents-read cost, query indexes, full-table scans, function-level usage dashboard findings, or code that uses .filter(), unbounded .collect(), N+1 reads, or expensive reactive Convex queries.
日本語の概要は準備中です。原文の説明を表示しています。
Build reusable Convex components with isolated tables and app-facing wrappers. Use for defineComponent, app.use, ComponentApi, or shared backend modules.
日本語の概要は準備中です。原文の説明を表示しています。
Plan safe Convex schema and data migrations. Use for widen-migrate-narrow rollouts, backfills, breaking field changes, table splits, or failed schema deploys.
日本語の概要は準備中です。原文の説明を表示しています。
Audit Convex performance for hot reads, write contention, subscriptions, function limits, OCC conflicts, latency, read amplification, and expensive reactive queries.
日本語の概要は準備中です。原文の説明を表示しています。