当移动开发终于有了自己的 AI 技能:Expo 官方出手了
来源: expo/skills — https://github.com/expo/skills 语言: Shell 今日 Stars: 216 协议: MIT 一句话: Expo 团队官方出品的 AI agent 技能集合,让 Claude Code/Cursor/Codex 真正理解 Expo 和 React N…
目录
当移动开发终于有了自己的 AI 技能:Expo 官方出手了
来源: expo/skills — https://github.com/expo/skills
语言: Shell | 今日 Stars: 216 | 协议: MIT
一句话: Expo 团队官方出品的 AI agent 技能集合,让 Claude Code/Cursor/Codex 真正理解 Expo 和 React Native 的约束
一个场景
你让 Claude Code 帮你写一个 Expo 应用的推送通知功能。Claude 给你一段代码,用了 react-native-push-notifications 库。
你运行。报错。因为 Expo 的推送通知不是这么做的——Expo 有自己的 expo-notifications 模块,配置方式完全不同。Claude 不知道,因为它的训练数据里混了 React Native 原生开发和 Expo 开发,两者看起来像但约束完全不同。
这个问题困扰了每一个用 AI 辅助开发 Expo 应用的开发者。AI 不知道:
- Expo 有自己的模块系统(
expo-*),不是所有 React Native 库都能用 - Expo Application Services (EAS) 的构建流程和原生构建完全不同
- Expo Router 的文件路由和 React Navigation 的 API 不一样
- Expo 的配置是
app.json/app.config.js,不是android/app/src/main/AndroidManifest.xml
Expo 团队决定自己解决这个问题。他们发布了一个官方的 AI agent 技能仓库:expo/skills。
官方出手的意义
市面上已经有很多 AI skills/rules 仓库。为什么 Expo 官方出手重要?
因为只有官方知道约束在哪里。
第三方技能的作者可以从文档里提取信息,但文档不会告诉你:
- 哪些 API 在 SDK 52 里被废弃了
- 哪些库和 Expo Go 不兼容
- EAS Build 的免费额度限制是什么
- expo-router 的哪些功能还在实验阶段
这就像法律咨询:你可以自己读法条,但只有律师知道判例和实务操作。Expo 团队出品的技能,包含了他们在维护 Expo 过程中积累的所有「不成文知识」。
技能内容:不只是代码模板
expo/skills 仓库包含多个技能文件夹,每个解决一个 Expo 开发的具体场景:
- Expo 应用开发:项目结构、模块使用、配置管理
- EAS 构建:构建配置、提交到应用商店、更新管理
- Expo Router:文件路由、导航、布局系统
- 原生模块:什么时候需要 native module,怎么写
这意味着 AI 不只是写代码,它还在正确的时机做正确的事,并遵守 Expo 的约束。
Skills CLI:一个通用安装器
expo/skills 使用了一个通用的安装方式:
npx skills@latest add expo/skills
这个 skills CLI 不是一个 Expo 专用的工具。它是一个通用的 AI skills 安装器,支持多个 AI 工具(Claude Code、Cursor、Codex 等)。
这意味着 Expo 的技能不是绑定在某个 AI 工具上的。你可以用 Claude Code 开发,也可以用 Cursor 开发,技能都能装。
这个设计决策的含义是:技能是源,工具是目标。 Expo 团队维护技能内容,skills CLI 负责适配到不同工具。如果未来出现了新的 AI 工具,只需要 skills CLI 支持它,Expo 的技能就能自动适配。
为什么这很重要:垂直技能层
expo/skills 代表了一个趋势:垂直领域的官方 AI 技能。
过去一年,AI skills 生态主要在两个方向: 1. 通用技能:Hallmark(设计)、Impeccable(设计词汇)、ai-design-skills(设计集合)——这些技能不限定领域 2. 工具技能:Claude Code 的 plugin、Cursor 的 rules——这些技能限定工具但不限定领域
expo/skills 开辟了第三个方向:垂直领域技能——限定领域但不限定工具。
这个方向的逻辑是:每个技术栈都有自己的约束、最佳实践、常见陷阱。通用 AI 不知道这些约束,因为训练数据里混了所有技术栈。垂直技能的作用就是告诉 AI:「在这个技术栈里,这样做不对,应该那样做。」
Expo 是第一个这么做的移动开发框架。但它不会是最后一个。想象一下:
nextjs/skills:Next.js 官方 AI 技能,告诉 AI App Router 和 Pages Router 的区别django/skills:Django 官方 AI 技能,告诉 AI ORM 的 N+1 问题怎么避免kubernetes/skills:K8s 官方 AI 技能,告诉 AI 哪些 API 版本被废弃了
216 颗星:被低估的信号
216 颗星看起来不多。但考虑到: 1. 这是 Expo 官方仓库,不是社区项目 2. 它面向的是 Expo 开发者,不是所有开发者 3. 它是 Shell 脚本和 Markdown,不是炫酷的代码
216 颗星说明 Expo 开发者社区里有 216 个人主动表达了「这正是我需要的」。
对于 Expo 这样的垂直技能仓库,star 数不是关键指标。关键指标是:有多少 Expo 项目的 AI 辅助开发真的在用这个技能? 这个数字无法从 GitHub 看到,但它才是这个技能真正价值的体现。
一个更深的洞察
expo/skills 的出现揭示了一个关于 AI 辅助开发的结构性问题:AI 的通用性是它的优势,也是它的盲区。
AI 能写任何语言的代码,但它不知道每个语言/框架的「不成文规则」。这些规则不是文档里的,而是社区实践中积累的。人类开发者通过踩坑学会这些规则,AI 也需要通过「技能」来学习。
技能不是 prompt engineering 的延伸。技能是把领域知识结构化注入 AI 的方式。prompt 是临时的,技能是持久的。prompt 需要每次输入,技能一次安装永久生效。
Expo 团队理解了这个区别。他们不是在写 prompt,他们在构建Expo 领域知识的结构化表示。
这就是为什么 expo/skills 值得关注。不是因为它的代码有多复杂,而是因为它代表了一种新的知识传递方式:从人类专家到 AI,通过结构化的技能文件。
GitHub: https://github.com/expo/skills
安装: npx skills@latest add expo/skills
协议: MIT