1. 基本信息
| 项目 | 内容 | 数据来源 |
|---|---|---|
| 名称 | expo-module-expo-skills | — |
| 作者/维护者 | Expo 官方团队(expo/skills 官方仓库,核心作者 Kudo Chien) |
GitHub API |
| 来源链接 | https://github.com/expo/skills/tree/main/plugins/expo/skills/expo-module | — |
| 许可证 | MIT(仓库根 LICENSE 与 SKILL.md 均声明) | GitHub API + SKILL.md |
| GitHub Stars / Forks | 所属仓库 2,346★ / 122 forks(该数字属整个合集仓库,不代表本子技能个体热度;子技能自身证据见第 6 章) | GitHub API |
| 最新版本 | SKILL.md 声明 1.0.0;最近一次内容相关提交于 2026-07-22 | GitHub API(commits)+ SKILL.md |
| 安装方式 | Claude Code / Codex 官方插件市场一条命令,或通用 skills CLI |
仓库 README + docs.expo.dev |
2. 功能介绍与亮点
expo-module 是使用 Expo Modules API 编写原生模块与原生视图的完整参考手册,覆盖 Swift(iOS)、Kotlin(Android)、TypeScript 三端。核心内容:
- 模块定义 DSL 全覆盖:
Name、Function、AsyncFunction、Property、Constant、Events、View、ViewEvent、SharedObject等构建块逐一说明,并配 Swift/Kotlin/TypeScript 三语言对照示例。 - 脚手架优先原则:明确建议优先用官方
create-expo-moduleCLI 生成模块骨架(含--platform、--features、--barrel等参数说明),而非手写目录结构,降低出错概率。 - 6 份专题参考文档:分别覆盖脚手架流程、模块定义 DSL、原生视图、生命周期钩子、config plugin、
expo-module.config.json字段说明,按需查阅、避免一次性塞爆上下文。 - 本地模块 vs 独立模块决策指南:给出“单 App 用本地模块、多处复用/发布用独立模块”的明确判断标准。
- 官方反馈闭环:内置
submit-expo-feedback命令,供 Agent 在发现文档过时或有误时向 Expo 团队提交具体反馈。
亮点:技能由 Expo 核心工程师 Kudo Chien 创建并两次内容迭代(脚手架逻辑与措辞打磨),Expo Modules API 架构师 Tomasz Sapeta 后续新增了姊妹技能 expo-migrate-module 并在本技能中补充了交叉引用;技能同时被纳入仓库两次面向全部技能的功能升级(统一命名整理、自动反馈提交机制),说明它仍是官方持续维护清单中的一部分。
3. 适用场景
固定分类:工程效率与代码质量。
面向需要为 Expo / React Native 应用编写原生功能(相机、传感器、系统 API 封装)、构建可复用原生视图组件、或编写修改原生工程文件的 config plugin 的移动端开发者,帮助 Agent 按官方推荐路径搭建与实现原生模块,减少手写原生工程文件的出错概率。
4. 跨 Agent 兼容性
- Claude Code:✅ 原生支持——官方插件市场一条命令
/plugin install expo@claude-plugins-official即可安装含本技能在内的整个 expo 插件。 - Codex:✅ 原生支持——官方
openai-curated插件市场提供codex plugin add expo@openai-curated,技能目录内另附专属agents/openai.yaml展示配置。 - OpenClaw:❓ 未验证——官方文档未点名,仅提供通用
skillsCLI 安装方式,理论上因遵循标准 SKILL.md 格式而可用,但无官方声明。 - Hermes Agent:❓ 未验证——同上。
5. 推荐理由
Expo 官方出品的原生模块编写完整参考手册,把 Expo Modules API 的 DSL、原生视图、生命周期钩子、config plugin 拆成 6 份可按需查阅的专题文档,并给出脚手架优先与本地/独立模块选型的明确决策路径,适合任何要给 Expo 应用扩展原生功能的团队直接采用。
6. 评分
| 维度 | 分数 | 说明 |
|---|---|---|
| 受欢迎程度 | 7 | 所属合集仓库 2,346★ 不代表本子技能个体热度,改看子目录自身证据:核心作者 Kudo Chien(Expo 官方工程师)创建并两次内容迭代,Modules API 架构师 Tomasz Sapeta 后续补充交叉引用;该目录还被纳入仓库两次面向全部技能的功能升级(统一目录整理、自动反馈提交),显示官方仍在持续维护,但目前未见外部第三方专门针对本技能内容的深度讨论 |
| 可用性 | 9 | 官方插件市场(Claude Code / Codex)与通用 skills CLI 均一条命令可达;SKILL.md 结构清晰、含决策指南与可运行脚手架命令,配套 6 份分专题参考文档;最近一次内容相关提交为 2026-07-22,维护活跃;纯开源工具链,不依赖任何付费服务 |
| 安全性 | 9 | 检查清单详见下表 |
安全检查清单:
- ① 是否执行 shell 命令及权限范围:技能本身不含可执行脚本,仅指导 Agent 调用官方
npx create-expo-moduleCLI 脚手架命令(用途明确、参数透明),以及可选的npx submit-expo-feedback反馈提交命令 - ② 运行时是否联网外发数据:技能本身不自动联网;反馈提交命令需 Agent 主动调用,用途仅为向 Expo 提交技能改进意见,内容由使用者决定
- ③ 是否要求 API key/凭据及其存储方式:不涉及
- ④ SKILL.md 与附带文档中有无可疑指令:逐份审阅 SKILL.md、6 份参考文档与
agents/openai.yaml全文,未见混淆代码或 prompt injection 迹象 - ⑤ 作者/组织信誉:Expo 官方团队,React Native 生态知名工具厂商,仓库徽章标注 “Official Expo”
- ⑥ License 是否明确:明确,MIT
- ⑦ 最近维护时间:良好,最近一次内容相关提交在 2026-07-22,仓库整体在 2026-07-30 仍有推送
7. 跟同类 Skills 相比的优势
| 对比对象 | 定位 | 与本技能的差异 |
|---|---|---|
| react-native-expert(社区技能,Jeffallan/claude-skills) | React Native 全栈开发通用技能,涵盖导航、状态管理、原生模块配置等广泛主题 | 定位是“全科医生”式的 React Native 通用助手,原生模块只是其中一个小节;expo-module 是专精原生模块编写这一件事的深度手册,6 份专题参考文档细到 DSL 每个构建块与 config plugin 字段 |
| Callstack「React Native Best Practices for AI Agents」 | React Native 工程最佳实践合集,面向团队知识沉淀,可安装进 Opencode、Codex、Claude Code 等多种 Agent | 关注的是通用工程规范与代码风格;expo-module 聚焦 Expo Modules API 这一具体框架层能力,给出脚手架命令与本地/独立模块选型标准等可直接执行的操作指南 |
| expo-migrate-module(同仓库姊妹技能,expo-experiments 插件) | 把已有 Swift 模块从旧版 definition DSL 迁移到 Expo Modules API 2.0 宏语法(@ExpoModule、@JS、@Event) |
解决的是“存量模块升级”问题;expo-module 解决的是“从零编写或扩展模块”,两者在 SKILL.md 中互相交叉引用,按场景各自独立使用 |
8. 用户评价
该技能目前在第三方平台尚无具名用户评价。可查证的第三方技术互动来自 GitHub:外部开发者 lorenc-tomasz、erikpr1994 曾对 expo/skills 仓库的技能加载与目录结构提交过 issue,反馈内容涉及技能安装体验与上下文开销,但并非专门针对 expo-module 本身内容的评价。
9. 其他补充
同仓库 plugins/expo/skills/ 目录下还有 expo-router、expo-ui、expo-dom、expo-native-ui 等十余个免费开源技能,以及基于付费 EAS 服务的 eas-workflows、eas-app-stores 等技能;expo-experiments 插件另收录尚未定型的实验性技能(如上述的 expo-migrate-module)。
10. 安装使用方式
方式一: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 add expo/skills
CLI 会交互式询问安装到哪个 Agent 目录;也可按需只勾选 expo-module 单个技能。
安装后无需重启,Agent 会根据 SKILL.md 的 description 字段在涉及原生模块、原生视图、config plugin 开发的对话中自动匹配加载。
11. 注意事项
- 技能建议优先使用
create-expo-moduleCLI 脚手架而非手写目录结构,手动复制他人模块代码容易遗漏expo-module.config.json平台字段配置。 - 如果需求是“迁移已有 Swift 模块到 Expo Modules API 2.0 宏语法”而非“新建/扩展模块”,应改用同仓库的
expo-migrate-module技能。 - OpenClaw、Hermes Agent 暂无官方兼容性声明,实际可用性以自测为准。
- 技能覆盖的是原生模块编写本身;路由导航、UI 渲染、数据请求等需求需配合同仓库的 expo-router、expo-ui、expo-data-fetching 等其他技能使用。