К основному содержанию
скилл CX Codex GP ChatGPT официальный · OpenAI

upgrading-expo — скилл для Codex: обновление Expo SDK

Ведёт агента по шагам при апгрейде Expo SDK: команды установки, диагностика, чистка кэшей и разбор сломанных зависимостей.

Установить в Codex · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add openai/plugins --skill upgrading-expo -a codex
Открыть на GitHub

Что делает upgrading-expo

Скилл задаёт агенту порядок действий при переходе на новую версию Expo SDK. Он ставит npx expo install expo@latest, затем npx expo install --fix, прогоняет npx expo-doctor и чистит кэши через npx expo export -p ios --clear с удалением node_modules и .expo. Дальше агент сверяется с чеклистом ломающих изменений: удалённые API, переехавшие модули, нативные правки.

Внутри лежат справочники по конкретным версиям: миграция на новую архитектуру, переход на React 19, настройка React Compiler, изменения нативных табов, перенос аудио и видео с expo-av на expo-audio и expo-video. Есть таблица устаревших пакетов с заменами и отдельный раздел про бета-версии с суффиксом .preview под тегом @next.

Перед npx expo prebuild --clean скилл требует проверить, есть ли в проекте каталоги ios/ и android/. Если их нет, проект собирается через Continuous Native Generation, и этот шаг вместе с чисткой кэшей bare-воркфлоу пропускается. Для SDK 54 и новее нужен react-native-worklets, иначе react-native-reanimated не заработает. Это повод проверить package.json до начала обновления, а не после.

Какие задачи решает

  • обновить Expo SDK и не утонуть в сломанных зависимостях
  • найти удалённые API и переехавшие импорты после апгрейда
  • перенести аудио и видео с expo-av на expo-audio и expo-video
  • почистить кэши CocoaPods, Xcode и Gradle после смены версии
  • вычистить устаревшие патчи и лишние записи в конфигах Metro и PostCSS

Примеры запросов агенту

  • Обнови проект до последней версии Expo SDK и почини зависимости
  • Прогони expo-doctor и разберись, что он ругает
  • Проверь, какие пакеты устарели, и предложи замены

Как установить upgrading-expo

1Через Skills CLI (Vercel)

npx skills add openai/plugins --skill upgrading-expo -a codex

2Вручную: положить файлы

.agents/skills/upgrading-expo/SKILL.md

Для всех проектов — ~/.agents/skills/

По шагам, с командами для каждой платформы: Скиллы Codex: как установить, где лежат и как вызвать

Вопросы о upgrading-expo

Как установить upgrading-expo в Codex?

Выполни npx skills add openai/plugins --skill upgrading-expo, затем npx skills add openai/plugins --skill upgrading-expo -a codex. После этого скилл лежит в .agents/skills/upgrading-expo/SKILL.md.

Что делает upgrading-expo?

Проводит агента по шагам обновления Expo SDK: установка пакетов, диагностика, чистка кэшей, разбор ломающих изменений и миграция устаревших пакетов.

Что нужно для работы скилла?

Проект на Expo. Для SDK 54 и новее понадобится установленный react-native-worklets — без него не работает react-native-reanimated. Перед npx expo prebuild --clean убедись, что проект не собирается через Continuous Native Generation.

Исходный текст

SKILL.md · MIT
---
name: upgrading-expo
description: Guidelines for upgrading Expo SDK versions and fixing dependency issues
version: 1.0.0
license: MIT
---

## References

- ./references/new-architecture.md -- SDK +53: New Architecture migration guide
- ./references/react-19.md -- SDK +54: React 19 changes (useContext → use, Context.Provider → Context, forwardRef removal)
- ./references/react-compiler.md -- SDK +54: React Compiler setup and migration guide
- ./references/native-tabs.md -- SDK +55: Native tabs changes (Icon/Label/Badge now accessed via NativeTabs.Trigger.\*)
- ./references/expo-av-to-audio.md -- Migrate audio playback and recording from expo-av to expo-audio
- ./references/expo-av-to-video.md -- Migrate video playback from expo-av to expo-video

## Beta/Preview Releases

Beta versions use `.preview` suffix (e.g., `55.0.0-preview.2`), published under `@next` tag.

Check if latest is beta: https://exp.host/--/api/v2/versions (look for `-preview` in `expoVersion`)

```bash
npx expo install expo@next --fix  # install beta
```

## Step-by-Step Upgrade Process

1. Upgrade Expo and dependencies

```bash
npx expo install expo@latest
npx expo install --fix
```

2. Run diagnostics: `npx expo-doctor`

3. Clear caches and reinstall

```bash
npx expo export -p ios --clear
rm -rf node_modules .expo
watchman watch-del-all
```

## Breaking Changes Checklist

- Check for removed APIs in release notes
- Update import paths for moved modules
- Review native module changes requiring prebuild
- Test all camera, audio, and video features
- Verify navigation still works correctly

## Prebuild for Native Changes

**First check if `ios/` and `android/` directories exist in the project.** If neither directory exists, the project uses Continuous Native Generation (CNG) and native projects are regenerated at build time — skip this section and "Clear caches for bare workflow" entirely.

If upgrading requires native changes:

```bash
npx expo prebuild --clean
```

This regenerates the `ios` and `android` directories. Ensure the project is not a bare workflow app before running this command.

## Clear caches for bare workflow

These steps only apply when `ios/` and/or `android/` directories exist in the project:

- Clear the cocoapods cache for iOS: `cd ios && pod install --repo-update`
- Clear derived data for Xcode: `npx expo run:ios --no-build-cache`
- Clear the Gradle cache for Android: `cd android && ./gradlew clean`

## Housekeeping

- Review release notes for the target SDK version at https://expo.dev/changelog
- If using Expo SDK 54 or later, ensure react-native-worklets is installed — this is required for react-native-reanimated to work.
- Enable React Compiler in SDK 54+ by adding `"experiments": { "reactCompiler": true }` to app.json — it's stable and recommended
- Delete sdkVersion from `app.json` to let Expo manage it automatically
- Remove implicit packages from `package.json`: `@babel/core`, `babel-preset-expo`, `expo-constants`.
- If the babel.config.js only contains 'babel-preset-expo', delete the file
- If the metro.config.js only contains expo defaults, delete the file

## Deprecated Packages

| Old Package          | Replacement                                          |
| -------------------- | ---------------------------------------------------- |
| `expo-av`            | `expo-audio` and `expo-video`                        |
| `expo-permissions`   | Individual package permission APIs                   |
| `@expo/vector-icons` | `expo-symbols` (for SF Symbols)                      |
| `AsyncStorage`       | `expo-sqlite/localStorage/install`                   |
| `expo-app-loading`   | `expo-splash-screen`                                 |
| expo-linear-gradient | experimental_backgroundImage + CSS gradients in View |

When migrating deprecated packages, update all code usage before removing the old package. For expo-av, consult the migration references to convert Audio.Sound to useAudioPlayer, Audio.Recording to useAudioRecorder, and Video components to VideoView with useVideoPlayer.

## expo.install.exclude

Check if package.json has excluded packages:

```json
{
  "expo": { "install": { "exclude": ["react-native-reanimated"] } }
}
```

Exclusions are often workarounds that may no longer be needed after upgrading. Review each one.
## Removing patches

Check if there are any outdated patches in the `patches/` directory. Remove them if they are no longer needed.

## Postcss

- `autoprefixer` isn't needed in SDK +53. Remove it from dependencies and check `postcss.config.js` or `postcss.config.mjs` to remove it from the plugins list.
- Use `postcss.config.mjs` in SDK +53.

## Metro

Remove redundant metro config options:

- resolver.unstable_enablePackageExports is enabled by default in SDK +53.
- `experimentalImportSupport` is enabled by default in SDK +54.
- `EXPO_USE_FAST_RESOLVER=1` is removed in SDK +54.
- cjs and mjs extensions are supported by default in SDK +50.
- Expo webpack is deprecated, migrate to [Expo Router and Metro web](https://docs.expo.dev/router/migrate/from-expo-webpack/).

## Hermes engine v1

Since SDK 55, users can opt-in to use Hermes engine v1 for improved runtime performance. This requires setting `useHermesV1: true` in the `expo-build-properties` config plugin, and may require a specific version of the `hermes-compiler` npm package. Hermes v1 will become a default in some future SDK release.

## New Architecture

The new architecture is enabled by default, the app.json field `"newArchEnabled": true` is no longer needed as it's the default. Expo Go only supports the new architecture as of SDK +53.

© Expo Team · MIT · openai/plugins

Похожие скиллы

Всё по теме «Мобильная разработка» →
expo-web-to-native expo Помогает перенести существующее React-приложение с веба в нативное iOS/Android-приложение на Expo. Нужен для поэтапной миграции экранов. CX Codex +1 19 600установок expo-react-native-coder pproenca Скилл с 50 правилами и шаблонами кода для разработки мобильных приложений на Expo и React Native. Пригодится при сборке экранов, навигации и авторизации. CX Codex +1 409установок expo-react-native-typescript Mindrally Скилл задаёт агенту правила разработки мобильных приложений на Expo, React Native и TypeScript: структура файлов, навигация, состояние, тесты. CX Codex +1 2 200установок react-native-expo-cursorrules-prompt-file PatrickJS Правило для Cursor, которое задаёт агенту стек и структуру проекта на React Native с Expo. Пригодится, когда нужно, чтобы код в проекте писался единообразно. ★ 41 011звёзд репо expo-module expo Справочник по разработке нативных модулей и view-компонентов на Swift, Kotlin и TypeScript для Expo приложений. Используй, когда пишешь новый модуль или добавляешь нативную функциональность — камеру, датчики, системные API. CX Codex +1 45 100установок limrun-expo-development limrun-inc Готовит и запускает Expo и React Native приложения на Limrun: dev-client сборка, туннель Metro, правки JS и TS без повторных нативных пересборок. CX Codex +1 43 100установок

Из того же набора304

Весь набор →
ngs-scrna-seq Скилл ведёт одноядерные и одноклеточные RNA-seq данные от FASTQ до матрицы подсчётов, а QC и кластеризацию передаёт встроенному скиллу. CX Codex GP ChatGPT 2установок ngs-bulk-rnaseq Диспетчер задач bulk RNA-seq: разводит обработку FASTQ в матрицу счётчиков и статистику по готовой матрице. Пригодится, когда нужно посчитать экспрессию и найти дифференциально экспрессированные гены. CX Codex GP ChatGPT 2установок ngs-bcl-to-fastq Проверяет папку прогона Illumina и sample sheet, планирует демультиплексирование и запускает конвертацию BCL в FASTQ. Нужен, когда на входе — папка прогона секвенатора. CX Codex GP ChatGPT 2установок hyperframes Скилл для сборки видео на HTML: композиции, титры, субтитры, озвучка и анимации под музыку. Пригодится, когда видео нужно собрать кодом, а не в редакторе. CX Codex GP ChatGPT 2установок building-mcp-server-on-cloudflare Скилл проводит агента через сборку удалённого MCP-сервера на Cloudflare Workers: инструменты, OAuth, деплой. Пригодится, когда нужно выставить свои функции наружу по MCP. CX Codex GP ChatGPT 2установок knowledge-update Подгружает в сессию актуальные сведения о платформе Vercel и правит устаревшие знания модели. Пригодится, если агент советует Edge Functions или старый vercel.json. CX Codex GP ChatGPT 1установок twilio-messaging-overview Скилл-навигатор по каналам Twilio Messaging: помогает выбрать SMS, WhatsApp, RCS или Messenger и провести настройку от первого сообщения до мониторинга. CX Codex GP ChatGPT 1установок twilio-account-setup Проведёт от регистрации в Twilio до первого отправленного сообщения: креды, номер, SDK, сабаккаунты. CX Codex GP ChatGPT 1установок

Спонсоры проекта

Компании, которые помогают держать аналитику открытой