What a mobile SME Agent Skill contains and when to invoke it - ten examples for teams using AI assistants on Expo SDK 57 (expo ~57.0.4), React Native 0.86.0, and React 19.2.3. These pages document skills, not app code. A skill is a SKILL.md playbook your agent reads before acting.
An Agent Skill is a structured instruction file - typically SKILL.md - that tells an AI assistant what to do, what to ask for, and what not to do on a mobile task.
Skill artifact
Purpose
SKILL.md
Trigger phrases, inputs, outputs, guardrails
references/
Optional deep links to internal ADRs or runbooks
examples/
Invocation prompts that passed review
Skills are not feature tutorials - they are operational contracts for assisted development
Skills should be SDK-pinned - agents hallucinate older expo-router APIs without explicit version context
One skill = one decision domain (release, routing, native module review, incident triage)
Every mobile skill should open with the same skeleton:
# EAS Release Skill## What this skill doesGuides build → submit → OTA with guardrails for SDK 57.## When to invoke- Before first production `eas build`- When adding a new `eas.json` profile- When planning a JS-only hotfix vs store binary## Inputs (required)- `eas.json`, `app.config.ts`, target channel/branch- Last known-good `updateId` for rollback context## Outputs- Step checklist with commands- Risk callouts (credentials, runtimeVersion)- Verification commands (`eas channel:view`, `npx expo-doctor`)## Guardrails- Never OTA native-impacting changes without `eas build`- Never submit to production track without internal QA binary## Stack pinReact 19.2.3 · RN 0.86.0 · Expo SDK 57## Example promptsSee §10 below.
Inputs prevent the agent from guessing bundle IDs or missing runtimeVersion
Outputs must be verifiable - commands, not prose
Guardrails are the highest-value section - agents over-automate store actions without them
## Guardrails (SDK 57)1. Use `npx expo install` - never hand-pin Expo module versions.2. OTA (`eas update`) only when `runtimeVersion` matches live store binaries.3. Native module or permission changes require `eas build`, not OTA alone.4. Never commit secrets - EAS environments and CI secrets only.5. Run `npx expo-doctor` before merging skill-generated dependency changes.6. Do not edit generated `ios/` / `android/` under CNG - use config plugins.7. Pause phased/staged store rollout before hotfix binary when crash storm is live.
Guardrails convert agent enthusiasm into release-engineering discipline
Use the EAS Release skill. Stack: Expo SDK 57, RN 0.86.Inputs: eas.json attached, production channel, last good updateId abc123.Goal: JS hotfix for checkout copy - confirm OTA is safe, then give commands.Guardrails: no store submit unless doctor fails on native change.
Expo Router:
Use the Expo Router skill. Add /settings/notifications with typed params.Enable experiments.typedRoutes. Provide href builder + deep link scheme myapp://.Run tsc verification steps.
Mobile testing:
Use the Mobile Testing skill.Acceptance criteria:- Guest can add item to cart- Cart badge shows countDeliver: 3 Jest tests + 1 Maestro flow. SDK 57, appId com.example.shop.
SDK upgrade:
Use the SDK Upgrade skill. Upgrade expo 56 → 57.Produce ordered checklist with expo-doctor gates and breaking-change scan.Do not skip lockfile regen or prebuild --clean recommendation.
Incident triage:
Use the Incident Triage skill.Crash-free dropped 99.2% → 94% after production OTA 30 min ago.buildNumber 240012, iOS phased at 50%. Decision tree: OTA rollback vs pause vs hotfix binary.
No. Config plugins modify native projects at prebuild. Agent Skills instruct AI assistants how to perform team workflows safely. You may invoke the Native Module Skill to review a config plugin - different layers.
Should skills live in the app repo or a central registry?
App repo for project-specific eas.json and routing conventions. Central registry for org-wide release and incident playbooks. Always pin SDK version in both.
Can one SKILL.md cover the entire mobile stack?
Avoid it. Split by decision domain so guardrails stay sharp. A monolithic skill dilutes OTA vs native boundaries and produces unsafe automation.
Every SDK upgrade, every change to runtimeVersion policy, and after any postmortem that reveals a missed guardrail. Run npx expo-doctor in the skill's verification section.