xiaohongshu
xiaohongshu
gmacko-release-deploy-mobile
Use when (1) building mobile app via EAS for distribution, (2) submitting to App Store or Google Play, (3) managing mobile release workflow. Handles Expo EAS build and submission process.
Full skill instructions
Build and submit mobile applications using Expo Application Services (EAS).
npm install -g eas-clieas whoamiapps/mobile/eas.jsondigraph deploy_mobile {
rankdir=TB;
node [shape=box];
start [label="Start Mobile Release" shape=ellipse];
confirm [label="1. Confirm Build Type"];
version [label="2. Update Version"];
credentials [label="3. Verify Credentials"];
build [label="4. Start EAS Build"];
monitor [label="5. Monitor Build"];
success [label="Build Success?" shape=diamond];
submit [label="6. Submit to Stores"];
wait [label="7. Wait for Review"];
document [label="8. Document Release"];
done [label="Mobile Release Complete" shape=ellipse];
failed [label="Build Failed" shape=ellipse];
start -> confirm -> version -> credentials -> build;
build -> monitor -> success;
success -> submit [label="yes"];
success -> failed [label="no"];
submit -> wait -> document -> done;
}
Defined in apps/mobile/eas.json:
| Profile | Purpose | Distribution |
|---|---|---|
development | Dev builds with Expo Go | Internal |
preview | TestFlight / Internal testing | Internal |
production | App Store / Play Store | Store |
Ask user:
I'm preparing a mobile build.
Options:
- Preview - Internal testing (TestFlight / Internal track)
- Production - Store release (App Store / Play Store)
Platforms:
- iOS
- Android
- Both
Which would you like to build?
Check and update version in apps/mobile/app.config.js:
// Current version
const version = "1.0.0"; // User-facing version
const buildNumber = "1"; // iOS: CFBundleVersion, Android: versionCode
Ask user:
Current version: 1.0.0 (build 1)
For this release:
- Version: [suggest next version]
- Build number: [suggest increment]
Confirm or specify new values.
Update config:
# In apps/mobile/app.config.js
# Update version and buildNumber constants
Check credentials are configured:
# Check iOS credentials
eas credentials --platform ios
# Check Android credentials
eas credentials --platform android
For iOS:
## iOS Credentials Check
- [ ] Apple Developer account connected
- [ ] Distribution certificate valid
- [ ] Provisioning profile valid
- [ ] Push notification key configured (if needed)
For Android:
## Android Credentials Check
- [ ] Keystore configured
- [ ] Service account key available (for Play Store)
- [ ] Bundle signing configured
Preview Build (internal testing):
# Build for both platforms
eas build --profile preview --platform all
# Build for specific platform
eas build --profile preview --platform ios
eas build --profile preview --platform android
Production Build (store release):
# Build for both platforms
eas build --profile production --platform all
# Build for specific platform
eas build --profile production --platform ios
eas build --profile production --platform android
Capture build IDs:
# Build URLs will be provided in output
# Example: https://expo.dev/accounts/gmacko/projects/my-app/builds/xxx
Monitor build progress:
# List recent builds
eas build:list --limit 5
# View specific build
eas build:view [build-id]
# Open in browser
eas build:view [build-id] --open
Report status:
Build Status
============
iOS Build: BUILDING / SUCCESS / FAILED
- Build ID: xxx
- Started: [time]
- Duration: [Xm Xs]
Android Build: BUILDING / SUCCESS / FAILED
- Build ID: yyy
- Started: [time]
- Duration: [Xm Ys]
Build times:
For Preview builds (internal testing):
iOS (TestFlight):
eas submit --platform ios --profile preview
Android (Internal track):
eas submit --platform android --profile preview
For Production builds (store release):
iOS (App Store):
eas submit --platform ios --profile production
Android (Play Store):
eas submit --platform android --profile production
iOS App Store:
Google Play:
Track status:
## Review Status
### iOS
- Submitted: [timestamp]
- Status: Waiting for Review / In Review / Ready for Sale
- Estimated: [X hours/days]
### Android
- Submitted: [timestamp]
- Status: Pending / In Review / Published
- Estimated: [X hours]
Update release summary:
## Mobile Deployment Record
### iOS
- **Version**: X.Y.Z (build N)
- **Build ID**: [eas-build-id]
- **Submitted**: [timestamp]
- **Status**: [current status]
- **TestFlight**: [available/pending]
- **App Store**: [available/pending/in-review]
### Android
- **Version**: X.Y.Z (versionCode N)
- **Build ID**: [eas-build-id]
- **Submitted**: [timestamp]
- **Status**: [current status]
- **Internal Track**: [available/pending]
- **Production**: [available/pending/in-review]
### Release Notes (for stores)
[Same as GitHub release notes, adapted for store format]
# Setup/update credentials
eas credentials --platform ios
# Renew expiring certificates
eas credentials --platform ios
# Select "Manage credentials" > "Renew"
# Setup/update credentials
eas credentials --platform android
# View keystore info
eas credentials --platform android
# Select "View credentials"
Check build logs:
eas build:view [build-id]
Common iOS issues:
Common Android issues:
iOS rejection reasons:
Android rejection reasons:
For minor updates without store release:
# Publish OTA update
eas update --branch production --message "Bug fixes"
# Check update status
eas update:list
Note: OTA updates are limited to JS/asset changes, not native code.
| Rationalization | Correction |
|---|---|
| "Skip version increment" | ALWAYS increment build number for new builds |
| "Credentials are fine, skip check" | Verify credentials before every release |
| "Submit to production directly" | Test via preview/TestFlight first |
| "Don't need to wait for review" | Document expected review time |
| "OTA can fix native issues" | Native changes require new build |
gmacko-release-close or monitor store statusxiaohongshu
technical spec
product ux expert
database patterns
Conduct multi-agent task orchestration and workflow coordination.
Initialize project with Conductor artifacts (product definition,
Expert in web animations, transitions, and motion design using Framer Motion and CSS
Creates Mermaid and ASCII diagrams for flowcharts, architecture, ERDs, state machines, mindmaps, and more. Use when user mentions diagram, flowchart, mermaid, ASCII diagram, text diagram, terminal diagram, visualize, C4, mindmap, architecture diagram, sequence diagram, ERD, or needs visual docume...
PostgreSQL bindings for H3 hexagonal grid system. Use when working with H3 cells in Postgres, including spatial indexing, geometry/geography integration, and raster analysis.
Context-Driven Development skill for projects using Conductor. Use this skill when you detect a `conductor/` directory in the project, when working on tasks defined in a `plan.md` file, or when the user asks about tracks, specs, or plans. Automatically applies TDD workflow, tracks task completion...
Display project status, active tracks, and next actions
Official Stakpak application containerization standard operating procedure, a step-by-step guidline to properly dockerize applications. This is a rule book curated by the Stakpak Team.
Generate, edit, and beat-sync AI video with leading models in one workspace.
The world's fastest calendar for remote work
Transform Your Design with AI Designer by ImgCreator.ai
Revolutionizing Video Production with AI-Powered Creativity
Extend an image past the frame and let AI fill the new aspect ratio.
Discover your celebrity doppelgänger with StarByFace!
ChainClarity explains 700+ crypto whitepapers in plain English, with layered summaries, comparisons, research tools, alerts, and a $4.99 Pro plan.
Opus.ai: Revolutionize Your Web Experience