开发与工程

Expo 原生模块开发指南

帮助 Expo 开发者使用 Swift、Kotlin 和 TypeScript 构建原生模块与原生视图。

51/ 100
谨慎使用

价值存在,但可靠性、证据或控制措施仍有明显缺口。

查看评分依据 ↓
可直接使用于
Codex · Claude Code
Star 数
★ 2.9k
最近更新
21 天前
License
MIT
expo-modules-apinative-modulesswiftkotlin
+3typescriptconfig-pluginsautolinking

这个 Skill 能做什么,适合哪些场景?

这是 expo/skills 仓库中的一个开放源代码 Agent Skill,专门指导 Expo 原生模块和原生视图的开发。内容覆盖 Expo Modules API、模块定义 DSL、共享对象、配置插件、生命周期钩子、自动链接和类型系统。它适合创建新模块、包装平台 SDK,或为现有模块增加平台支持。它不用于将旧 Swift 模块从定义 DSL 迁移到 Expo Modules API 2.0 宏。

指导代理选择本地模块或独立模块,使用 create-expo-module 进行脚手架搭建,并根据 Constant、Function、AsyncFunction、Event、View、ViewEvent 和 SharedObject 等特性选择示例代码。它还指导编写 Swift、Kotlin 和 TypeScript 模块代码,配置 expo-module.config.json,添加配置插件和生命周期钩子,并处理自动链接及多平台支持。

适合
  • 需要为 Expo 应用创建相机、传感器或其他系统 API 原生功能的开发者。
  • 需要使用 Swift 和 Kotlin 包装平台 SDK,并向 React Native 暴露接口的团队。
  • 需要创建包含原生视图、属性、事件或基于 ref 的函数的 Expo 模块开发者。
  • 需要编写配置插件以修改 Info.plist 或 AndroidManifest.xml 的开发者。
  • 需要为现有 Expo 模块增加 Android、Apple 或 Web 支持的维护者。

如何安装这个 Skill?

使用前请注意
  • 本评估仅基于静态源文件,未执行脚手架、编译、预构建或原生运行验证。
  • config-plugin 示例中的 apiKey 可能进入可分发的原生配置,使用真实凭据前应确认安全存储和暴露范围。
  • npx create-expo-module@latest 依赖外部网络和动态版本,建议锁定版本并审查依赖来源。
  • 文档未明确中文支持及中国大陆网络可达性,相关环境可能需要镜像、代理或离线流程。
开始前你需要
Agent 需要具备
  • Shell / 命令行
  • 本地文件系统
需要预先安装
  • create-expo-module
  • Expo Modules API
  • Swift
  • Kotlin
  • TypeScript

该仓库是包含 23 个技能的集合。使用 Skills CLI 安装 Expo 技能集合:npx skills@latest add expo/skills --skill '*'. 也可以在 Claude Code 中运行 claude plugin install expo@claude-plugins-official,或在 Codex 中运行 codex plugin add expo@openai-curated。源材料没有提供仅安装 expo-module 的独立命令。

通用方式:手动安装到 Claude Code(macOS / Linux)
tmp="$(mktemp -d)"
git clone --depth 1 https://github.com/expo/skills.git "$tmp"
mkdir -p ~/.claude/skills
cp -R "$tmp/plugins/expo/skills/expo-module" ~/.claude/skills/
rm -rf "$tmp"

根据源仓库地址和 Skill 路径自动生成,只复制这个 Skill 的文件夹。如果上文有作者提供的安装方式,请优先按作者说明操作;想只在当前项目中使用,把 ~/.claude/skills 换成项目里的 .claude/skills。

如何使用这个 Skill?

试试这样说

安装后,把下面任意一句发给 Agent 即可触发:

  • 为我的 Expo 应用创建一个原生模块,提供 Swift、Kotlin 和 TypeScript 接口,并包含一个原生视图。

在已安装技能的代理中提出具体任务,例如:“为我的 Expo 应用创建一个原生模块,提供 Swift、Kotlin 和 TypeScript 接口,并包含一个原生视图。”创建或扩展模块前,应先查阅 references/create-expo-module.md;如果只是增加平台支持,应请求使用 create-expo-module add-platform-support。

这个 Skill 有哪些优点和局限?

优点
  • 覆盖 Expo 原生模块从脚手架到自动链接和配置插件的主要流程。
  • 同时提供 Swift、Kotlin 和 TypeScript 的开发指导。
  • 明确区分本地模块与可复用的独立模块。
  • 明确列出不适用的 Expo Modules API 2.0 宏迁移场景。
局限
  • 它是开发指导,不是原生模块运行库或实时文档服务。
  • 源材料未提供各个 references 文件的完整内容,因此无法评估其示例和边界情况的详细程度。
  • 仅凭该 Skill 文本无法确认具体 Expo SDK 版本或目标平台组合的实际测试情况。

这个 Skill 与同类方案有什么区别?

与相关 Skills 并排比较;分数均按同一 FSRS 标准得出。

Skill FS 评分 Star 数 最近更新 License
Expo 原生模块开发指南 本页 51 · 谨慎使用 ★ 2.9k 21 天前 MIT
Expo 原生模块迁移助手 60 · 推荐 ★ 2.9k 21 天前 MIT
Vibeyard:npm 依赖添加指南 Skill 55 · 谨慎使用 ★ 1.4k 1 个月前 MIT
Expo 集成示例助手 51 · 谨慎使用 ★ 2.9k 21 天前 MIT
Expo 项目结构指南 57 · 谨慎使用 ★ 2.9k 21 天前 MIT

如果任务是将现有 Swift 模块从定义 DSL 迁移到 Expo Modules API 2.0 宏,应使用 expo-migrate-module,而不是本技能。

FollowSkills 如何评估这个 Skill?

FollowSkills 评估 · FSRS-2.0
谨慎使用
51/ 100 五分制 2.6 / 5
上游仓库在本次评估后已有新提交;当前评分仍对应所示审查版本,可能尚未覆盖最新改动。
1信任安全14 / 25 · 2.8/5

文档明确了模块类型、平台和配置范围,并提供 MIT 许可与部分数据流示例;但没有系统说明最小权限、用户确认、回滚或外部副作用。config-plugin 示例直接把 apiKey 写入 Info.plist/AndroidManifest,未警告其敏感信息暴露风险;npx 下载和遥测也未在该技能中充分披露,因此扣分。

2可靠稳定8 / 20 · 2.0/5

DSL、脚手架、自动链接和生命周期说明整体一致,包含若干非交互模式和异常行为提示;但本次仅静态阅读,未见覆盖关键路径的测试、CI 执行证据或统一的错误诊断流程,且部分 CLI/API 行为可能随版本变化,因此低于中高分。

3适用触发11 / 15 · 3.7/5

受众、适用场景及迁移场景的排除范围写得清楚,覆盖 Swift、Kotlin、TypeScript、iOS、Android 和 web;但触发边界仍不完整,中文支持没有说明,且关键脚手架流程依赖 npx/npm 与 Expo 工具,在中国大陆网络环境下可达性存在不确定性,因此扣分。

4规范维护9 / 15 · 3.0/5

技能具有清晰的主文档、分主题 references、快速开始、工作流和代码示例,版本号及 MIT 许可明确;但没有技能级 changelog、维护负责人、变更记录或明确的更新责任,已知限制和故障排查仍有限,故未满分。

5有效结果6 / 15 · 2.0/5

内容能够直接指导常见 Expo 原生模块、原生视图、配置插件和自动链接任务,示例具有较强可操作性;但没有静态可验证的代表性产出、测试结果或与手工操作的比较证据,关键实现仍需用户自行适配和验证,因此按静态上限保守扣分。

6证据核验3 / 10 · 1.5/5

提供了结构化参考文件、命令示例、代码样例以及“Expo 文档/CLI 为事实来源”的声明;但未提供可复现测试套件、第三方执行证据或多源交叉验证,CI 文件只验证技能限制和版本规则,不能证明本技能关键路径,故仅给有限分数。

1 2 3 4 5 6

点击维度查看打分理由

评估于 2026年7月20日 审查版本 8bd359f8a44d 评估证据[1][2][3][4][5][6][7][8][9][10][11][12][13]

证据充分度:低 — 主要依赖静态检查、作者材料或有限演示;适合发现线索,不适合做高风险决策。

查看完整评分方法 →

常见问题

这个技能是否适合创建可发布的独立模块?
适合。它区分独立模块与仅供单个应用使用的本地模块,并建议根据复用、monorepo 或发布需求选择独立模块。
它会自动执行原生模块构建或发布吗?
源材料只说明它指导脚手架、代码、配置插件、生命周期和自动链接工作;没有说明它会自动完成构建或发布。
它是否覆盖旧 Swift 模块迁移到 2.0 宏?
不覆盖。该场景应使用 expo-migrate-module。

同仓库的其他 Skills

均来自 expo/skills

开发与工程

Expo 原生模块迁移助手

将现有 Expo 原生模块从 1.0 DSL 迁移到 2.0 宏 API,同时保持 JavaScript 接口不变。

★ 2.9k FS 60 推荐 21 天前
开发与工程

Expo 集成示例助手

用 Expo 官方示例快速适配第三方库与服务。

★ 2.9k FS 51 谨慎使用 21 天前
开发与工程

Expo 项目结构指南

为全新的 Expo Router 应用建立清晰、可扩展的文件结构。

★ 2.9k FS 57 谨慎使用 21 天前
开发与工程

Expo 数据请求指南

为 Expo 应用提供从 API 请求到缓存、离线与身份验证的网络开发指导。

★ 2.9k FS 55 谨慎使用 21 天前
开发与工程

Expo 原生 UI 构建助手

用 @expo/ui 在 Expo 中构建跨平台原生界面。

★ 2.9k FS 59 推荐 21 天前
开发与工程

Expo 棕地集成助手

帮助团队将 Expo 和 React Native 增量集成到现有的原生 iOS 或 Android 应用中。

★ 2.9k FS 58 推荐 21 天前
自动化与运维

EAS Observe 性能观测助手

帮助 Expo 团队接入、查询并解读生产环境中的启动、导航和自定义事件性能指标。

★ 2.9k FS 55 谨慎使用 21 天前
开发与工程

Expo 技能反馈

帮助用户提交 Expo 技能或框架反馈,并管理匿名使用遥测。

★ 2.9k FS 54 谨慎使用 21 天前
开发与工程

Expo Router 导航助手

为 Expo 应用设计文件路由与原生导航结构。

★ 2.9k FS 53 谨慎使用 21 天前
开发与工程

Expo Web 转原生迁移指南

将现有 React 网站逐屏迁移为可发布的 Expo 原生应用。

★ 2.9k FS 52 谨慎使用 21 天前
设计与前端

Expo 原生界面设计指南

帮助 Expo 开发者构建符合 Apple 设计规范、具备原生体验的响应式界面。

★ 2.9k FS 51 谨慎使用 21 天前
开发与工程

Expo SDK 升级助手

帮助 Expo 团队升级 SDK、处理依赖冲突并完成兼容性清理。

★ 2.9k FS 50 谨慎使用 21 天前
开发与工程

Expo DOM 组件助手

让 Expo 原生应用渐进式复用 Web 代码与 Web 专属库。

★ 2.9k FS 49 谨慎使用 21 天前
开发与工程

Expo EAS 托管部署

帮助 Expo 项目部署网站与 API 路由,并配置密钥、域名和边缘运行时。

★ 2.9k FS 48 谨慎使用 21 天前
开发与工程

Expo 技能评测器

端到端验证 Expo 技能是否触发、产出可用代码并正确渲染。

★ 2.9k FS 48 谨慎使用 21 天前
开发与工程

Expo Tailwind 样式配置助手

为 Expo 应用配置 Tailwind CSS v4、NativeWind v5 与跨平台样式支持。

★ 2.9k FS 43 不推荐 21 天前
开发与工程

EAS 云端模拟器助手

让无法本地运行模拟器的团队在 EAS 云端运行、操控并截图 Expo 应用。

★ 2.9k FS 60 推荐 21 天前
自动化与运维

EAS 更新健康洞察

用 CLI 检查 EAS Update 的崩溃率、采用情况与发布健康度。

★ 2.9k FS 55 谨慎使用 21 天前
开发与工程

Expo App Clip 助手

为 Expo 应用配置可由网址唤起的 iOS App Clip。

★ 2.9k FS 55 谨慎使用 21 天前
开发与工程

Expo 开发客户端构建助手

为 Expo 原生代码测试构建并分发开发客户端。

★ 2.9k FS 54 谨慎使用 21 天前

相关 Skills