Rn eas build submit update
A filesystem contract (.workflow/meta.json) + 37 agent skills that take a product from idea to production: web (Next.js 16) & mobile (Expo/RN), plus an eve agent engine and Linear/scrum. Runs on Claude Code, Codex, Copilot, Gemini, Cursor.
npx -y skills add lukedj78/dev-flow --skill rn-eas-build-submit-updateAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 4 stars4 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Use for cloud builds and OTA updates of an Expo + RN app via EAS: configuring eas.json profiles (development/preview/production), managing credentials (APNs key, Android keystore) without committing them to git, submitting builds to App Store Connect / Google Play via EAS Submit, shipping JS-only fixes via EAS Update with channels/branches, EAS Workflows for CI. Triggers on: "set up EAS Build", "OTA update", "EAS Submit", "configure eas.json", "deploy to Play Store / TestFlight". Not for: store metadata/screenshots/IAP (rn-publishing-payments), scaffolding (rn-bootstrap), or the end-to-end deploy orchestration (rn-eas-deploy).
SKILL.md
3.5 KB, 744 tokens by cl100k_base, as published. Nobody here has run it
rn-eas-build-submit-update — guardrail for EAS Build / Submit / Update / Workflows
The 5 rules (non-negotiable)
- 3 profiles in
eas.json:development(dev client, internal),preview(TestFlight / Play Internal — test on real devices),production(the store). NEVER ship from a profile not pre-tested in preview. - Credentials server-side via
eas credentials. NEVER commit.p12,.p8,*.keystore,*.jks, orgoogle-services.jsonfor production accounts. EAS holds them; local Apple/Google CLI never touches them. - OTA only for JS-only changes. If the diff touches
app.jsonconfig plugins, native modules, or anything that would changeprebuildoutput → it's a new build, not an Update. - Channels separate environments.
previewchannel for QA,productionchannel for end users. Ship updates topreviewfirst, promote toproductiononly after smoke-test. expo-updatesconfig inapp.jsonis the source of truth for runtime version (runtimeVersion: { policy: "appVersion" }or"sdkVersion"). Mismatched runtime versions = OTAs ignored.
Quick decision tree
- "Build, Submit, or Update — which do I need now?" →
references/decision-tree.md - "How do I write the eas.json profiles?" →
references/eas-json.md - "How do credentials work — where does the cert live?" →
references/credentials.md - "How do I set up EAS Workflows for CI?" →
references/workflows.md - "Did the build/OTA I just shipped actually land OK — do I need a hotfix or rollback?" →
rn-eas-deploy/references/observability.md(EAS Observe for build performance, EAS Update Insights for OTA rollout health)
Common anti-patterns (NEVER do)
- ❌ Committing certificates / keystores to git.
- ❌
eas build --profile productionwithout ever having built--profile previewfor that commit. - ❌
eas update --channel productionwithout--branch <name>and without testing onpreviewchannel first. - ❌ Updating
app.jsonconfig plugins and shipping via OTA — fails silently or crashes on user devices. - ❌ Bumping
versioninapp.jsonwithout also bumpingios.buildNumber/android.versionCode— store reject. - ❌
expo-updateswith defaultruntimeVersion(none) — OTA gets applied to incompatible native builds → crash. - ❌ Promoting an update to the
productionchannel and never checkingeas channel:insights/eas update:insightsafterwards — seern-eas-deploy/references/observability.md.
Sources
- Course: codewithbeto.dev/rnCourse — EAS Build/Submit/Update/Workflows modules (paid).
- Official: https://docs.expo.dev/eas/
- Official: https://docs.expo.dev/eas-update/introduction/
- Official: https://docs.expo.dev/eas-workflows/get-started/
- Observability (post-Update health):
rn-eas-deploy/references/observability.md, https://github.com/expo/skills (eas-update-insights)
What ships with it: 5 files
14.8 KB alongside SKILL.md
references/
- credentials.md3.3 KB
- decision-tree.md4.2 KB
- eas-json.md3.7 KB
- .gitkeep0 B
- workflows.md3.5 KB