Our review
Deploys JavaScript/UI changes via EAS Update without requiring a native rebuild.
Strengths
- Enables rapid updates without going through app stores
- Reduces deployment time for UI/business logic changes
- Simple integration with EAS (Expo Application Services)
- Non-destructive: native changes remain unaffected
Limitations
- Only works for JavaScript/pure UI code, not native modules
- Requires prior EAS setup (project and account)
- Update is only applied after the app is restarted
Use this skill when you have JavaScript, UI, or business logic changes to deploy quickly to a development branch.
Avoid using it for native changes (intents, permissions, native modules, icons); instead, use a native rebuild via /dist-dev-client.
Security analysis
CautionThe skill runs a legitimate Expo CLI command (npx eas update) for over-the-air deployment, which is a powerful network operation. While not inherently malicious, deploying changes to a remote service carries risk if misused or if the environment is misconfigured. No destructive, exfiltrating, or obfuscated commands are present.
No concerns found
Examples
I've fixed the button styling on the home screen. Deploy the OTA update to the dev branch.Update the API call logic and deploy it via OTA without rebuilding.Deploy the new onboarding screen layout as an OTA update using EAS.name: ota description: Deploy JavaScript/UI changes via EAS Update without native rebuild (OTA = Over-The-Air). Use for UI components, styling, screen layouts, navigation, business logic, API calls, text/strings, or pure JS dependencies. Use when the user mentions "ota", "EAS Update", "OTA deploy", "JS update", "UI update", or wants to deploy code changes without rebuilding. user-invocable: true
/ota - OTA Update Deployment
Run EAS Update to deploy JavaScript/UI changes without native rebuild (OTA = Over-The-Air).
Execution Requirements
IMPORTANT: Execute npx commands from the app root directory (APPNAME directory, not the .git root).
Command
cd APPNAME # Move to app directory from project root
npx eas update --branch dev --message "OTA update from Claude Code" --non-interactive
Use This For
JavaScript-only changes that don't require native rebuild:
- UI components, styling
- Screen layouts, navigation
- Business logic (TypeScript/JavaScript)
- API calls, text/strings
- Pure JS dependencies
When NOT to Use
For native changes, use /dist-dev-client instead:
- Intent handlers / deep links
- Permissions
- Native modules
- Package name changes
- App icon or splash screen
- Build configuration (app.json affecting native)
Instructions for Claude
When this skill is invoked:
- Verify current directory: Ensure you're in the app root (APPNAME directory)
- Run EAS Update:
cd APPNAME npx eas update --branch dev --message "OTA update from Claude Code" --non-interactive - Inform the user: Explain that the update was deployed and users need to restart the app to see changes
- Verify success: Check command output for successful deployment confirmation
Success Indicators
- "Published" message in output
- Update ID shown
- No error messages
Common Issues
- Not in app directory: Remind user that command must be run from APPNAME directory
- Not logged in: Run
eas loginfirst - No EAS project: Run
eas initfirst
Docker Compose Architect
DevOps
Designs optimized Docker Compose configurations.
Incident Postmortem Writer
DevOps
Writes structured and blameless incident postmortem reports.
Runbook Creator
DevOps
Creates clear operational runbooks for common DevOps procedures.