React Native 升级助手
通过模板差异、依赖迁移和原生配置调整,帮助 React Native 应用安全升级。
文档要求先确认目标应用、在依赖迁移存在歧义时征得用户确认,并记录手工偏差;但包含sudo、网络下载、依赖安装和原生构建等外部影响,未充分说明数据流、凭据处理、权限边界或回滚方案,因此扣9分。
流程分层清晰,包含版本对、停止条件、安装和验证门槛,静态上可复现性较好;但存在硬编码App scheme、部分命令缺少失败控制,且未提供针对关键路径的测试或异常反馈模板,按静态上限扣分。
触发场景、Expo条件、单仓库/monorepo边界和APP_DIR约束较明确;但未声明更多非适用范围,中文支持未说明,并依赖npm、GitHub、Upgrade Helper及Apple/Android工具链,国内网络可达性存在不确定性,扣4分。
主文档采用路由、参考文件和问题映射的渐进式结构,含MIT许可证、示例和限制性停止条件;但缺少技能版本、变更记录、明确维护责任与更新路径,作者信息也不足以证明治理完整,扣5分。
覆盖依赖、React、Expo、iOS、Android及验证流程,核心升级任务的操作价值较高;但升级结果仍需项目特定合并、人工判断和双平台验证,静态审查无法证明可直接完成任务,因此按上限7分评分。
提供rn-diff-purge、Upgrade Helper、Expo和React Native等可审计来源,并要求记录验证证据;但当前材料没有技能专属测试、CI覆盖或已执行结果,无法超过静态上限5分。
- 执行前应确认APP_DIR、版本对、包管理器和目标平台,避免误改workspace根目录或错误应用。
- sudo xcode-select和xcodebuild命令具有系统级影响,应由用户明确授权并准备可恢复的环境。
- curl、npm view、Expo命令及外部参考依赖网络;中国大陆网络可达性和第三方内容稳定性未被文档保证。
- 不要把示例中的App scheme、路径或版本号直接套用到项目;升级完成必须由项目方执行并记录iOS、Android、测试和关键用户流程验证。
这个 Skill 能做什么,适合哪些场景?
该技能面向需要升级 React Native 或 Expo SDK 的开发者。它将升级流程拆分为版本路径选择、Upgrade Helper 模板差异、第三方依赖评估、React 对齐、Expo 适配和升级后验证。内容覆盖 package.json、iOS CocoaPods、Android Gradle 及常见破坏性 API 变更。它适合希望按步骤处理原生配置和依赖风险的 React Native 项目,但源材料没有提供测试套件或已验证的平台清单。
读取项目中的 React Native 版本,查询最新版本,下载 rn-diff-purge 的版本模板差异,列出差异文件,指导更新 package.json 依赖、应用 iOS 和 Android 原生配置变更、运行 npm install 与 pod install,并使用 Android 构建和 xcodebuild 命令进行验证。
- 负责维护 React Native 应用、需要从一个 0.x 版本升级到更高版本的开发者。
- 需要根据 Upgrade Helper 模板差异调整 iOS 和 Android 原生配置的团队。
- 升级 React Native 后需要评估第三方依赖兼容性和迁移风险的项目。
- 同时迁移 Expo SDK 与 React Native 版本的 Expo 项目维护者。
这个 Skill 有哪些优点和局限?
- 覆盖从版本路由到构建验证的完整升级流程。
- 明确包含第三方依赖、React、Expo SDK、CocoaPods 和 Gradle 等常见升级环节。
- 提供可复制的版本查询、差异下载和构建验证命令。
- 源材料未展示自动修改文件的脚本或测试套件。
- 示例依赖 Node.js/npm、网络访问、CocoaPods、Xcode 和 Android 构建环境。
- 源材料没有给出已验证的操作系统、React Native 版本范围或成功率数据。
如何安装这个 Skill?
仓库 README 记录了手动安装方式:先执行 git clone https://github.com/callstackincubator/agent-skills.git,再将 agent-skills/skills/* 复制到项目的 .codex/skills/,或复制到用户级 ~/.codex/skills/。重启 Codex 后识别新技能。该仓库也提供 Codex 插件市场元数据。
如何使用这个 Skill?
在已安装技能的 React Native 项目中,用类似“将此应用从 React Native 0.76.9 升级到 0.78.2,并检查 iOS、Android、依赖和 Expo 影响”的请求触发。技能给出的示例流程包括查询当前版本、下载 Upgrade Helper 差异、审查变更、安装依赖、运行 pod install,以及分别验证 Android 和 iOS 构建。