Expo SDK 升级助手
帮助 Expo 团队升级 SDK、处理依赖冲突并完成兼容性清理。
内容公开说明了升级、依赖、原生目录和缓存清理流程,并提示先检查 ios/android;但包含 `npx expo prebuild --clean`、`rm -rf node_modules .expo` 等可能造成不可逆或高成本影响的命令,未要求用户确认、备份或提供回滚方案,也未充分说明网络请求和依赖安装的数据流,因此扣分。仓库提供 MIT 许可证和来源链接,但发布者未通过 FollowSkills 验证。
步骤、参考文档和 openai.yaml 的目标基本一致,且覆盖 CNG、裸工作流、弃用包和异常迁移注意事项;但未提供针对关键升级路径的测试套件、版本锁定、环境前置条件或统一失败处理,部分验证仅描述应运行命令,静态证据不足,按静态校准不超过 10 分。
目标用户和主要场景明确,覆盖 SDK 升级、依赖修复、React 19、React Compiler、原生架构及弃用包迁移;但未明确输入项目形态、支持范围、非适用场景和触发边界,默认面向英文 Expo 文档与命令,未提供中文支持或中国大陆网络可达性说明,因此扣分。
SKILL.md、agents/openai.yaml 和按主题拆分的 references 结构清晰,元数据含名称、版本和 MIT 许可证,仓库有安装说明、版本检查 CI 和维护入口;但技能自身缺少变更日志、维护责任人、更新时间、依赖/权限说明、完整示例和系统化故障排查,且部分版本化链接与未来 SDK 断言可能变旧,因此未满分。
提供了可直接复制的升级命令、迁移映射、代码前后对照和完成条件,能够覆盖升级任务的核心工作;但没有提交真实项目输入输出、构建结果或测试证据,升级后仍需用户自行处理项目特有冲突、验证原生行为和回滚,静态校准最高为 7 分,故取 7 分。
存在具体命令、代码示例、参考文档链接以及仓库级版本检查和 skill limits CI,具备一定审计性;但没有针对该技能关键路径的提交测试、真实 CI 执行结果或独立复核材料,外部链接内容也未在本次静态材料中得到交叉验证,因此按静态校准取 4 分。
- 执行 `prebuild --clean` 或删除 node_modules/.expo 前应先确认项目状态、备份可恢复文件并说明影响;当前技能没有明确确认和回滚流程。
- 升级建议覆盖 SDK 53–56 及预览版,部分断言和文档链接可能随 Expo 版本变化;应以目标 SDK 的官方发布说明和当前 CLI 诊断结果复核。
- React 19、React Compiler、视频/音频、导航和原生架构迁移示例未覆盖所有 API、平台差异和失败情形,不能视为自动完成或已验证。
- 依赖安装、在线版本 API 和外部文档是关键前置条件;材料未说明离线环境或中国大陆网络不可达时的替代方案。
这个 Skill 能做什么,适合哪些场景?
这是 Expo 官方技能集合中的一个开源框架技能,专门指导 Expo SDK 升级。它覆盖依赖更新、诊断、缓存清理、原生项目重建以及弃用包迁移。内容还针对 React 19、新架构、React Compiler、原生标签页、音视频迁移和导航迁移提供参考。适合维护 Expo 应用且需要按 SDK 版本处理破坏性变更的开发者;它不是通用的 Expo 开发技能。
检查项目是否存在 ios/ 和 android/ 目录,读取并建议修改 package.json、app.json、Babel、Metro、PostCSS、patches/ 和 AGENTS.md 配置;运行或提供 npx expo install、npx expo-doctor、npx expo export、npx expo prebuild、Watchman、CocoaPods、Xcode 和 Gradle 缓存清理命令;检查 Expo 版本接口以识别 preview 版本;按照参考文档处理弃用包、依赖排除项、Metro 配置及新架构相关事项。
- 正在把 Expo 应用升级到最新 SDK 的开发者,需要一套分步骤的升级和诊断流程。
- 升级后出现依赖冲突或诊断问题的 React Native 团队,需要检查包版本、排除项和过时补丁。
- 从旧 SDK 迁移 expo-av 的团队,需要分别迁移音频和视频实现。
- 使用原生目录的 Expo 项目,需要判断何时执行 prebuild、CocoaPods、Xcode 或 Gradle 清理。
- 升级 SDK 53 或更高版本的团队,需要处理 PostCSS、Metro 和新架构默认值变化。
这个 Skill 有哪些优点和局限?
- 覆盖 SDK 升级、依赖修复、弃用包迁移和缓存清理等常见维护任务。
- 明确区分 Continuous Native Generation 项目与包含 ios/ 或 android/ 目录的项目。
- 提供 SDK 53、54、55、56 相关的具体迁移提示和参考文档。
- MIT 许可,并由 Expo 官方团队维护的技能集合发布。
- README 的安装命令面向整个 23 技能集合,未说明如何单独安装此技能。
- SKILL.md 没有测试套件、支持平台矩阵或成功率证据。
- 部分步骤依赖 Watchman、CocoaPods、Xcode 或 Gradle,且适用范围取决于项目工作流。
- 内容要求开发者根据项目实际状态判断是否执行清理或 prebuild,不能替代 Expo 文档、Expo CLI 和 EAS CLI。
如何安装这个 Skill?
仓库 README 记录的是整个 Expo Skills 集合的安装方式。Claude Code 使用 claude plugin install expo@claude-plugins-official;Codex 使用 codex plugin add expo@openai-curated;其他支持 skills CLI 的代理使用 npx skills@latest add expo/skills --skill '*'。源材料未记录单独安装 expo-upgrade 技能的 CLI 命令。
如何使用这个 Skill?
在已安装该技能的代理中提出明确的 Expo 升级请求,例如“Help me upgrade this app to the latest Expo SDK.” 代理应根据项目状态执行或建议 npx expo install expo@latest、npx expo install --fix 和 npx expo-doctor,再按是否存在 ios/ 或 android/ 目录选择原生变更和缓存清理步骤。
这个 Skill 与同类方案有什么区别?
源材料明确将 Expo 文档、Expo CLI 和 EAS CLI 作为事实来源;该技能负责帮助代理在项目升级流程中应用这些指导,而不是替代它们。