eas-app-stores – skill Agent & Tự động hóa cho agent AI
Hướng dẫn upstream được tuyển chọn cho Eas App Stores; dùng khi quy trình phù hợp với mục tiêu của người dùng.
Cài skill eas-app-stores bằng một lệnh
Chọn công cụ bạn đang dùng, copy lệnh và dán vào terminal. Skill sẽ nằm trong thư mục skills của công cụ đó và sẵn sàng dùng ở phiên làm việc tiếp theo.
Claude Code
mkdir -p ~/.claude/skills && curl -fsSL https://skill.dn1nguoi.com/z/eas-app-stores-171a7.tgz | tar xz -C ~/.claude/skills
Gọi trong Claude Code: /eas-app-stores – rồi mô tả công việc bạn muốn làm.
Codex
mkdir -p ~/.codex/skills && curl -fsSL https://skill.dn1nguoi.com/z/eas-app-stores-171a7.tgz | tar xz -C ~/.codex/skills
Gọi trong Codex: $eas-app-stores – rồi mô tả công việc bạn muốn làm.
Hermes Agent
mkdir -p ~/.hermes/skills && curl -fsSL https://skill.dn1nguoi.com/z/eas-app-stores-171a7.tgz | tar xz -C ~/.hermes/skills
Gọi trong Hermes Agent: /eas-app-stores – rồi mô tả công việc bạn muốn làm.
DeepSeek
mkdir -p ~/.deepcode/skills && curl -fsSL https://skill.dn1nguoi.com/z/eas-app-stores-171a7.tgz | tar xz -C ~/.deepcode/skills
Gọi trong DeepSeek: /eas-app-stores – rồi mô tả công việc bạn muốn làm.
Nội dung SKILL.md
Nội dung SKILL.md gốc bằng tiếng Anh.
When to Use
- Use when this upstream workflow matches the user's stated goal.
- Use when the task requires the procedures documented in this skill.
App Store Deployment
> EAS service - costs apply. Cloud builds use EAS plan resources, and EAS services have free-tier and paid-plan limits. Apple Developer and Google Play memberships are separate. Check https://expo.dev/pricing for the requested service.
This skill covers building and releasing iOS and Android apps with EAS: Expo and other React Native projects, plus existing native apps. EAS is a delivery service; native apps can use it without adding Expo or React Native to their runtime. The native setup walkthrough currently covers SwiftUI/UIKit on iOS.
Authorization and artifact boundaries
Store uploads, metadata pushes, invitations, public releases, paid builds and OTA publications require the applicable user scope; drafting or inspection alone does not authorize them. Pin a reviewed CLI version and inspect upload archives/ignore rules for secrets before cloud builds. Never send project logs/feedback externally without explicit instruction; redact secrets and user data. Use exact build IDs, account/team and track; latest-selection shortcuts are unsuitable when multiple candidates exist. Current CLI/store schemas override historical examples and legacy statistics.
Choose the project path
- SwiftUI/UIKit app with no React Native runtime: read [references/native-ios.md] before changing its build configuration. Keep the Xcode project and Swift code as the app's source of truth. The Expo/React Native quick-start and development-client examples below do not apply to this path.
- Native Android app with no React Native runtime: preserve its existing native build setup. See [references/play-store.md] for submission; the Swift/iOS setup instructions do not apply. A dedicated native Android setup walkthrough is not yet included.
- Expo/React Native app: use the quick-start below, then the relevant store reference.
- Adding React Native screens to an existing native app: use
expo-brownfieldfor that integration; return here for distribution.
Use the archive and icon checks in [references/native-ios.md] during initial native iOS setup, after changing versioning, bundle IDs, or icons, or when diagnosing a rejected upload. Routine releases follow the EAS build/submit flow and the processing and availability checks in [references/testflight.md]. A successful EAS build or a queued submission does not establish Apple acceptance, tester access, or an App Store release.
References
Consult these resources as needed:
- ./references/workflows.md -- CI/CD workflows for automated store releases and PR previews
- ./references/testflight.md -- Submitting iOS builds to TestFlight for beta testing
- ./references/app-store-metadata.md -- Managing App Store metadata and ASO optimization
- ./references/play-store.md -- Submitting Android builds to Google Play Store
- ./references/ios-app-store.md -- iOS App Store submission and review process
- ./references/native-ios.md -- Native Swift/SwiftUI/UIKit setup, versioning, and archive verification without an Expo runtime
Expo / React Native Quick Start
Install EAS CLI
npm install -g eas-cli
eas loginInitialize EAS
npx eas-cli@latest initeas init links or creates the EAS project. Run eas build:configure to create build profiles in eas.json; preserve existing project and store identifiers when a release setup already exists.
Build Commands
Production Builds
# iOS App Store build
npx eas-cli@latest build -p ios --profile production
# Android Play Store build
npx eas-cli@latest build -p android --profile production
# Both platforms
npx eas-cli@latest build --profile productionSubmit to Stores
# iOS: Build and submit to App Store Connect
npx eas-cli@latest build -p ios --profile production --auto-submit
# Android: Build and submit to Play Store
npx eas-cli@latest build -p android --profile production --auto-submit
# Expo / React Native shortcut for iOS TestFlight
npx testflightWeb & API Route Hosting
Deploying an Expo website or Expo Router API routes to EAS Hosting (npx expo export -p web then eas deploy) is covered by the eas-hosting skill. This skill focuses on native app store releases.
EAS Configuration
Example for an Expo / React Native project (native Swift profiles are in references/native-ios.md):
{
"cli": {
"version": ">= 16.0.1",
"appVersionSource": "remote"
},
"build": {
"production": {
"autoIncrement": true,
"ios": {
"resourceClass": "m-medium"
}
},
"development": {
"developmentClient": true,
"distribution": "internal"
}
},
"submit": {
"production": {
"ios": {
"appleId": "[email protected]",
"ascAppId": "1234567890"
},
"android": {
"serviceAccountKeyPath": "./google-service-account.json",
"track": "internal"
}
}
}
}Platform-Specific Guides
iOS
- For native Swift apps, use the explicit build/submit flow in
references/native-ios.md - For Expo / React Native apps,
npx testflightprovides a quick TestFlight flow - Configure Apple credentials via
eas credentials - See ./references/testflight.md for credential setup
- See ./references/ios-app-store.md for App Store submission
Android
- Set up Google Play Console service account
- Configure tracks: internal → closed → open → production
- See ./references/play-store.md for detailed setup
Automated Releases
EAS Workflows automate the build → submit → update pipeline for CI/CD. See ./references/workflows.md for store-release examples. To author or validate workflow YAML, use the eas-workflows skill - it works from the live workflow schema.
Version Management
EAS manages version numbers automatically with appVersionSource: "remote":
# Check current versions
eas build:version:get
# Manually set version
eas build:version:set -p iosThe version-set command prompts for the value. When setting up or changing native iOS versioning, or diagnosing a duplicate build number, inspect the archived CFBundleVersion: the remote counter alone does not prove that Xcode used it.
Monitoring
# List recent builds
eas build:list
# Check build status
eas build:view BUILD_ID
# Inspect submissions (verified with EAS CLI 23.2.0)
eas submit:list -p ios --json
eas submit:view SUBMISSION_ID --jsonCheck the CLI version before interpreting a missing command: these submission commands are available in 23.2.0 but not in the tested 18.6.0 installation. A pinned npx [email protected] invocation can use them without changing the global installation. See references/testflight.md for live Apple status and retry guidance. Follow the returned log URLs when the JSON result omits the underlying failure. Report the exact build ID/version and the furthest verified release state.
Submitting Feedback
If you encounter errors, misleading or outdated information in this skill, report it so Expo can improve:
npx --yes submit-expo-feedback@latest --category skills --subject "eas-app-stores" "<actionable feedback>"Only submit after explicit user instruction to send feedback. Include minimum redacted context; do not upload workspace content, logs or credentials implicitly.
If an AI agent repeatedly failed or the user had to take over an Expo task, load the expo-skill-feedback skill and follow its eval-candidate flow instead of reusing the command above.
Examples
User: Apply this skill to my current task.
Assistant: Follow the workflow in this skill, cite limitations, and ask before risky steps.Limitations
- Imported upstream skill; verify credentials, permissions, and safety boundaries before execution.
- Does not replace environment-specific validation, testing, or maintainer review.
Skill liên quan
- eas-hosting – Hướng dẫn upstream được tuyển chọn cho Eas Hosting; dùng khi quy trình phù hợp với mục…
- eas-observe – Hướng dẫn upstream được tuyển chọn cho Eas Observe; dùng khi quy trình phù hợp với mục…
- eas-simulator – Hướng dẫn upstream được tuyển chọn cho Eas Simulator; dùng khi quy trình phù hợp với mục…
- prompt-governance – Dùng khi quản lý prompt trong production ở quy mô lớn: quản lý phiên bản prompt, chạy…
- ecl-harness-engineer – Tạo hoặc kiểm tra hạ tầng ECL Agent Harness: AGENTS.md, theo dõi thay đổi, hướng dẫn…
- effective-agent-skills – Soạn thảo và đánh giá skill cho agent chất lượng cao, với trigger, progressive…
- subagent-driven-development – Thực thi kế hoạch qua các subagent delegate_task (đánh giá 2 giai đoạn).
- ejentum-reasoning-harness – Máy chủ MCP cung cấp bốn chế độ harness nhận thức (suy luận, mã nguồn, chống lừa dối, bộ…