1. 基本信息
| 项目 | 内容 | 数据来源 |
|---|---|---|
| 名称 | expo-upgrade-expo-skills | — |
| 作者/维护者 | Expo 官方团队(650 Industries, Inc.),官方仓库 expo/skills |
GitHub API + LICENSE |
| 来源链接 | https://github.com/expo/skills/tree/main/plugins/expo/skills/expo-upgrade | — |
| 许可证 | MIT(仓库根 LICENSE 与 SKILL.md 均声明) | GitHub API + SKILL.md |
| GitHub Stars/Forks | 所属仓库 2,367★ / 124 forks(该数字属整个 expo/skills 技能合集仓库,不代表本子技能个体热度;子技能自身证据见第 6 章) |
GitHub API |
| 最新版本 | SKILL.md 声明 1.0.0;内容专属最近一次改动提交于 2026-07-16(更新版本化文档链接),仓库整体最近推送于 2026-08-06 | GitHub API(commits) |
| 安装方式 | Claude Code / Codex 官方插件市场一条命令,或通用 skills CLI 单独安装本技能 |
仓库 README |
2. 功能介绍与亮点
指导 Agent 完成 Expo SDK 版本升级与配套的依赖维护工作,覆盖一次典型升级会遇到的全部环节:
- 分步升级流程:
npx expo install expo@latest→npx expo install --fix→npx expo-doctor诊断 → 按需清缓存/prebuild,并区分 CNG(持续原生生成)项目与传统 bare workflow 项目分别处理,避免对已用 CNG 的项目误跑不必要的原生目录重建步骤 - 版本专属参考文档:7 份按 SDK 版本号标注的迁移指南(React 19 变更、New Architecture 迁移、React Compiler 配置、Native Tabs 变更、
expo-av→expo-audio/expo-video拆分迁移、react-navigation→expo-router的 codemod 迁移),每份对应具体 SDK 版本节点的破坏性变更 - 废弃包替换表:明确列出
expo-av、expo-permissions、@expo/vector-icons等六项已废弃 API 及其替代方案 - 收尾清单:涵盖 Babel/Metro 配置精简、
react-native-worklets依赖检查、React Compiler 启用建议、补丁目录清理等日常容易遗漏的收尾项
亮点:该技能自仓库创立初期(早期名为 upgrading-expo)就已存在,历经至少 10 次实质性 PR 修订(含 CNG 项目跳过逻辑、iOS 部署目标更新、文档链接版本化等),是仓库内持续打磨时间最长的技能之一。
3. 适用场景
固定分类:工程效率与代码质量。
面向所有需要将 Expo/React Native 项目升级到新 SDK 版本的开发者与团队——无论是常规季度升级、处理 SDK 升级后的依赖冲突,还是迁移已废弃的 API(如 expo-av、@react-navigation/*),都能按分步流程与版本专属参考文档执行。
4. 跨 Agent 兼容性
- Claude Code:✅ 原生支持——官方插件市场一条命令
claude plugin install expo@claude-plugins-official(或/plugin install expo@claude-plugins-official)即可安装含本技能在内的整个 expo 插件 - Codex:✅ 原生支持——官方
openai-curated插件市场提供codex plugin add expo@openai-curated,或在 Codex 内/plugins面板安装 - OpenClaw:❓ 未验证——官方文档未点名,仅提供通用
skillsCLI 安装方式,理论上因遵循标准 SKILL.md 格式而可用,但无官方声明 - Hermes Agent:❓ 未验证——同上
(未为兼容性单独发起搜索,以上判断仅基于已抓取材料。)
5. 推荐理由
Expo SDK 每年发布多个版本,版本升级、依赖冲突与废弃 API 迁移是几乎每个长期维护的 Expo 项目都会周期性遇到的痛点。这个官方技能把分步升级命令、按版本号组织的破坏性变更参考文档、废弃包替换表整合成一套可直接执行的操作指南,且是该技能合集里持续修订时间最长、覆盖 SDK 版本节点最全的条目之一,纯开源无付费依赖,适合任何计划升级 Expo SDK 版本的团队直接采用。
6. 评分
| 维度 | 分数 | 说明 |
|---|---|---|
| 受欢迎程度 | 7.0 | Expo 官方团队编写并收录进官方技能合集(README 标注 “Official Expo”);未见针对本技能本身的独立第三方评价或采用数据;所属合集仓库 2,367★ 是整个 expo/skills(21 个技能)合集的数字,不代表本技能个体热度 |
| 可用性 | 9.0 | 三条官方安装路径均一条命令可达;自仓库创立初期即存在并持续修订(至少 10 次实质性 PR,含 CNG 项目逻辑修正、部署目标更新等),是同仓库内修订历史最长的技能之一;7 份版本专属参考文档结构清晰;纯开源框架层技能,无付费依赖 |
| 安全性 | 9.0 | 见下方安全检查清单 |
| 综合 | 8.33 | 三项均值,超过 7.0 达标线,安全性远超一票否决线 |
安全检查清单:
- Shell 命令:有,但范围明确——均为官方
expo/easCLI 命令(安装依赖、expo-doctor诊断、清缓存、prebuild、pod install、gradlew clean),未见拼接用户输入执行任意命令的迹象 - 联网外发:技能本身不自动联网;仓库整体的匿名遥测默认关闭(README 明确说明,仅 Claude Code 场景下需用户主动开启,开启后仅上报技能名/平台/随机安装 ID 哈希,不含代码、提示词或文件路径)
- API Key/凭据:不涉及
- 可疑指令:完整审阅 SKILL.md 全文及 7 份参考文档,未发现要求执行流程外操作的可疑指令或混淆代码
- 作者/组织信誉:Expo 官方团队(650 Industries, Inc.)编写并维护,无造假迹象
- License:MIT,仓库根 LICENSE 与 SKILL.md 均明确声明
- 最近维护时间:内容专属最近一次改动提交于 2026-07-16,仓库整体在 2026-08-06 仍有推送
7. 跟同类 Skills 相比的优势
| 项目 | 核心场景 | 运行方式 | 与本技能的差异 |
|---|---|---|---|
| React Native Upgrade Helper(官方 Web 工具) | 生成新旧 RN 版本模板之间的文件级 diff | 浏览器打开网页手动比对差异并人工应用改动 | 只产出 diff,不含 Agent 可执行的分步操作指南,也不覆盖 Expo 生态专属的废弃包迁移(如 expo-av→expo-audio) |
npx expo-doctor(Expo 官方 CLI 内置诊断) |
检测项目配置与依赖版本是否与已安装 SDK 匹配 | 命令行工具,输出诊断结果列表 | 只做环境诊断,不提供升级后的收尾清单、废弃 API 替换方案或版本专属破坏性变更说明;本技能将 expo-doctor 作为升级流程中的一步调用 |
同仓库姊妹技能 expo-module |
编写与维护 Expo 原生模块(Swift/Kotlin/TypeScript) | 参考文档指导原生模块开发 | 解决“如何新建/修改原生模块”,本技能解决“如何把整个项目升级到新 SDK 版本”,两者常在升级涉及原生模块变更时配合使用 |
核心差异化:(1) 覆盖从升级命令到废弃 API 迁移的完整闭环,而非单一环节的诊断或 diff 工具;(2) 按 SDK 版本号组织的专属参考文档,比通用 diff 工具更贴合 Expo 生态的具体破坏性变更;(3) 区分 CNG 与 bare workflow 项目分别给出正确步骤,避免对新式项目误执行不必要的原生目录操作。
8. 用户评价
该技能目前在第三方平台尚无具名用户评价。第三方技术互动方面,本技能所属仓库的 issue/PR 记录中未见用户就本技能内容本身提交的具体反馈;可查证的相关 PR 均为 Expo 团队内部及个别外部贡献者提交的文档更新(如版本化链接修正)。
9. 其他补充
同仓库内还有 expo-module、expo-router、expo-ui、expo-native-ui 等十余个免费开源 Expo 专项技能,以及基于付费 EAS 服务的 eas-app-stores、eas-hosting 等技能,README 以“Framework(免费)“与”Services(付费)“分组标注,边界清晰。
10. 安装使用方式
方式一:Claude Code 插件市场(推荐)
claude plugin install expo@claude-plugins-official
或在 Claude Code 内运行 /plugin install expo@claude-plugins-official。
方式二:Codex 插件市场
codex plugin add expo@openai-curated
或在 Codex 内打开 /plugins 面板,从 openai-curated 市场安装 expo。
方式三:通用 skills CLI(Cursor、OpenCode、GitHub Copilot、Windsurf 等)
npx skills@latest add expo/skills --skill expo-upgrade
CLI 会交互式询问安装到哪个 Agent 目录。
安装后无需重启,Agent 会根据 SKILL.md 的 description 字段在涉及 SDK 升级、依赖冲突排查的对话中自动匹配加载。更新单个技能:npx skills@latest update expo-upgrade。
11. 注意事项
- 技能默认假设项目使用 Expo 官方工具链(
expo/easCLI);对已大幅自定义原生工程结构的项目,“清缓存/prebuild“步骤需自行核实是否适用。 - 涉及原生模块变更的升级场景,需配合同仓库的
expo-module技能处理具体的原生代码改动。 - OpenClaw、Hermes Agent 暂无官方兼容性声明,实际可用性以自测为准。
- 参考文档按 SDK 版本号组织(如 SDK +54、+55、+56),使用前需确认项目当前版本与目标版本,避免误用不相关版本的迁移说明。