Automated summary
This skill walks through upgrading an Expo app to a newer SDK version, covering breaking changes, dependencies, and configuration updates.
Strengths
- Provides a five-step flow from pre-upgrade planning through post-upgrade testing
- Relies on official Expo tooling (expo install --fix, expo-doctor) instead of generic npm commands
- Explicitly addresses trouble spots: third-party packages, app.json, and native modules
- Encourages safe practice with a dedicated branch, backups, and iOS/Android verification
Limitations
- Contains no version-specific migration details or breaking-change matrix for particular SDK releases
- Guidance stays high level, with few before/after code examples for deprecated APIs
- Assumes prior Expo familiarity and does not detail debugging of native build failures
Use it when an existing Expo project needs to move to a higher SDK version with minimal regressions.
Avoid it for bootstrapping a new Expo project or for general debugging unrelated to an SDK upgrade.
Security analysis
SafeThe skill is a plain-text guide for upgrading Expo SDK versions. Its commands are standard Expo/npm tooling (npx expo install, expo-doctor, npm install -g expo-cli) that operate on the user's own project; there is no piping to shells, no credential access, no obfuscation, and no destructive file operations. The only mild note is a global npm install, which is a normal, reversible environment change.
No concerns found
How this analysis is madeExamples
Upgrade my Expo app from SDK 51 to SDK 53, handle the breaking changes, and run expo-doctor until it's clean.I just bumped expo to the latest SDK and now my third-party packages show peer dependency conflicts — resolve them and verify compatibility with expo install --fix.Migrate my app.json and deprecated API calls to match the new Expo SDK requirements, then list what I should test manually on iOS and Android.name: upgrading-expo description: "Upgrade Expo SDK versions" risk: safe source: "https://github.com/expo/skills/tree/main/plugins/upgrading-expo" date_added: "2026-02-27"
Upgrading Expo
Overview
Upgrade Expo SDK versions safely, handling breaking changes, dependencies, and configuration updates.
When to Use This Skill
Use this skill when you need to upgrade Expo SDK versions.
Use this skill when:
- Upgrading to a new Expo SDK version
- Handling breaking changes between SDK versions
- Updating dependencies for compatibility
- Migrating deprecated APIs to new versions
- Preparing apps for new Expo features
Instructions
This skill guides you through upgrading Expo SDK versions:
- Pre-Upgrade Planning: Review release notes and breaking changes
- Dependency Updates: Update packages for SDK compatibility
- Configuration Migration: Update app.json and configuration files
- Code Updates: Migrate deprecated APIs to new versions
- Testing: Verify app functionality after upgrade
Upgrade Process
1. Pre-Upgrade Checklist
- Review Expo SDK release notes
- Identify breaking changes affecting your app
- Check compatibility of third-party packages
- Backup current project state
- Create a feature branch for the upgrade
2. Update Expo SDK
# Update Expo CLI
npm install -g expo-cli@latest
# Upgrade Expo SDK
npx expo install expo@latest
# Update all Expo packages
npx expo install --fix
3. Handle Breaking Changes
- Review migration guides for breaking changes
- Update deprecated API calls
- Modify configuration files as needed
- Update native dependencies if required
- Test affected features thoroughly
4. Update Dependencies
# Check for outdated packages
npx expo-doctor
# Update packages to compatible versions
npx expo install --fix
# Verify compatibility
npx expo-doctor
5. Testing
- Test core app functionality
- Verify native modules work correctly
- Check for runtime errors
- Test on both iOS and Android
- Verify app store builds still work
Common Issues
Dependency Conflicts
- Use
expo installinstead ofnpm installfor Expo packages - Check package compatibility with new SDK version
- Resolve peer dependency warnings
Configuration Changes
- Update
app.jsonfor new SDK requirements - Migrate deprecated configuration options
- Update native configuration files if needed
Breaking API Changes
- Review API migration guides
- Update code to use new APIs
- Test affected features after changes
Best Practices
- Always upgrade in a feature branch
- Test thoroughly before merging
- Review release notes carefully
- Update dependencies incrementally
- Keep Expo CLI updated
- Use
expo-doctorto verify setup
Resources
For more information, see the source repository.
From the file to a first result
The download contains exactly the content displayed on this page. This copy may differ from the latest version in the source repository.
View the source and supporting filesThis download contains SKILL.md only. Any scripts, references, templates and dependencies are not included. Get the required files from the source, preserving their directory structure, before continuing.
1. Download the file
Download SKILL.mdFrom the root of a test project, save the file as .skill-downloads/upgrading-expo-sdk-ms1aw5l6/SKILL.md, or use the command below. This folder is for inspecting the skill before installation.
Command for macOS/Linux or WSL: requires a POSIX shell and curl. On Windows without WSL, use the download button and create the folder manually.
mkdir -p '.skill-downloads/upgrading-expo-sdk-ms1aw5l6' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/upgrading-expo-sdk-ms1aw5l6/download' --output '.skill-downloads/upgrading-expo-sdk-ms1aw5l6/SKILL.md.part' && mv '.skill-downloads/upgrading-expo-sdk-ms1aw5l6/SKILL.md.part' '.skill-downloads/upgrading-expo-sdk-ms1aw5l6/SKILL.md'2. Check prerequisites
Read SKILL.md before using it. If it references scripts or external services, inspect them and prepare the required access in your test environment.
No recognized prerequisites section in this file. This does not mean it is self-contained: libraries, tools and access requirements may be mentioned elsewhere in the content or source repository.
The platforms on this page are catalog indications. The paths below follow tool documentation; they do not prove this skill has been run in those tools. No minimum tool version is confirmed for this listing.
3. Load the skill
After inspection, copy the complete folder into your project using one of the commands below, then open a new tool session. The command stops if a folder with the same name already exists: compare the files before replacing it.
Claude Code
test -f '.skill-downloads/upgrading-expo-sdk-ms1aw5l6/SKILL.md' && test -s '.skill-downloads/upgrading-expo-sdk-ms1aw5l6/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/upgrading-expo' && cp -R '.skill-downloads/upgrading-expo-sdk-ms1aw5l6' '.claude/skills/upgrading-expo'OpenSkills
OpenSkills must already be installed. The local install/read procedure is checked with OpenSkills 1.5.0, which requires Node.js ≥ 20.6.0. Catalog slugs are not resolved automatically.
Official OpenSkills installationopenskills install './.skill-downloads/upgrading-expo-sdk-ms1aw5l6'openskills read 'upgrading-expo-sdk-ms1aw5l6'Reading should display the installed file content and its base directory. It does not run the skill or install its dependencies.
For an agent that reads AGENTS.md, then sync the index. This command changes AGENTS.md: review the diff before using it.
openskills syncManual method or another tool: attach SKILL.md to a conversation, or open it in an agent that can read files. Include any required supporting resources. No universal folder is recognized by every tool.
4. Try a first task
Use a short, synthetic input: an API endpoint, a small document or an interface brief. In a new conversation, attach the file or give the agent its path, then adapt this request:
Read .skill-downloads/upgrading-expo-sdk-ms1aw5l6/SKILL.md and apply its instructions to this example: [describe a test input]. Identify any missing files, dependencies or access. Produce the result requested by the skill without inventing data or running unreviewed scripts.Expected result: output matching the skill instructions, or a precise list of missing prerequisites. A read confirmation alone does not validate a first use. If an external resource is unavailable, that path remains untested.
React Hook Form Best Practices
Development
Master React Hook Form: avoid anti-patterns, manage subscriptions, and handle reset, dirty state, and controlled inputs correctly.
Emotion to Mantine Migration
Development
Migrate Emotion styled-components to Mantine components with style props and CSS modules. Use when converting .styled.tsx files or removing @emotion imports.
Scope Creep Detector
Development
Analyzes git diffs against a stated intent to detect scope creep, unrelated files, broad PRs, and oversized changes, then suggests keep, split, or justify actions.