1. 基本信息
| 项目 | 内容 |
|---|---|
| 名称 | clerk-expo(clerk/skills 合集仓库子技能) |
| 作者/维护者 | Clerk 官方组织(clerk/skills),子技能主要贡献者 Mike Pitre、Chris Canin、Sean Perez |
| 来源链接 | https://github.com/clerk/skills/tree/main/skills/mobile/clerk-expo |
| 许可证 | MIT(声明于 SKILL.md frontmatter,来自 GitHub API) |
| GitHub Stars | 64(合集仓库整体,来自 GitHub API;该数字属整个 clerk/skills 合集,不代表本技能自身热度) |
| Forks | 4(合集仓库整体,来自 GitHub API) |
| 最新版本 | 技能自身版本 2.0.0;文档标注针对 @clerk/expo 3.6.x(2026年7月)验证(来自 SKILL.md frontmatter) |
| 安装方式 | npx skills add 单技能安装 / Claude Code 插件市场 / 手动复制目录(详见第 10 章) |
2. 功能介绍与亮点
clerk-expo 面向 Expo / React Native 项目,指导 Agent 在移动端正确接入 Clerk 认证。核心能力包括:
- 预制原生组件与自定义流程双路径:默认使用
AuthView/UserButton等预制组件快速搭建登录界面,也支持邮箱密码、短信/手机验证码、多因素认证等自定义流程,并给出何时该切换路径的判断规则。 - 移动端专属场景覆盖:OAuth/SSO、原生 Google/Apple 登录、Expo Router 路由保护、生物识别(Face ID)、推送通知等 Web 端技能不会涉及的移动特有集成点。
- 12 项“执行关卡”(Execution Gates):从环境变量读取方式、Dashboard 开关、当前 API 版本判定,到 Token 缓存实现,每一项都给出必须遵守的具体规则,避免生成过时或不安全的代码模式。
- 分级常见错误速查表:将典型错误按 CRITICAL/HIGH/MEDIUM 标注严重程度并给出对应修正方法,例如误用已废弃的
useOAuth()、原生组件与自定义流程混用等。 - 版本新鲜度机制:技能明确声明验证过的 SDK 版本区间,并要求 Agent 在使用前核对本地安装的
@clerk/expo版本,版本不符时改为查阅官方文档或源码而非直接套用技能内容。 - 配套 6 篇独立参考文档(安装配置、自定义流程、预制组件、SSO/原生登录、路由保护、常见场景食谱)与一份自动化评测用例集(
evals.json),供开发者或维护者验证技能输出质量。
3. 适用场景
所属分类:集成与工作流自动化
适合任何使用 Expo 或 React Native 开发移动应用、且选择 Clerk 作为认证服务的团队与个人开发者。典型场景包括:从零搭建新 Expo 应用的登录/注册流程、为已有应用接入短信验证码或社交登录、实现 Expo Router 下的路由保护、为原生构建(非 Expo Go)添加生物识别登录等。技能内建路由规则:若项目实为原生 iOS/Swift 或 Android/Kotlin 项目,会自动指向姊妹技能而非在移动端场景下误用 Web 框架方案。
4. 跨 Agent 兼容性
- Claude Code:原生支持。可通过
npx skills add或手动复制到~/.claude/skills/使用,clerk/skills 仓库同时提供.claude-plugin插件清单。 - Codex:原生支持。仓库提供
.codex-plugin清单,可通过 Codex 插件市场安装整个 clerk-skills 插件包后启用该子技能。 - OpenClaw:未验证。SKILL.md 与仓库文档均未提及 OpenClaw 相关声明。
- Hermes Agent:未验证。SKILL.md 与仓库文档均未提及 Hermes Agent 相关声明。
补充说明:Agent Skills 格式本身(SKILL.md + YAML frontmatter)是多 Agent 通用规范,clerk/skills 仓库遵循该规范分发;npx skills add 是该规范官方推荐的通用安装 CLI,理论上可用于任何遵循此规范的宿主,但本技能未就 OpenClaw / Hermes Agent 做过专门声明或测试,以上结论仅基于已抓取材料。
5. 推荐理由
Clerk 是主流的第三方认证服务之一,而 clerk-expo 是其官方技能集中唯一专门覆盖 React Native / Expo 移动端的技能,填补了“Web 框架技能覆盖齐全、移动端却容易被通用方案带偏”的空白。技能内建的 12 项执行关卡与分级错误表把移动端认证里最容易踩的坑(Token 存储方式、API 版本切换、原生组件与自定义流程混用等)直接写成规则,配合版本新鲜度自检机制,能有效降低 Agent 生成过时或不安全认证代码的概率,对首次在移动端集成第三方认证的初中级开发者尤其有价值。
6. 评分
| 维度 | 分数 | 说明 |
|---|---|---|
| 受欢迎程度 | 7 | 子目录自身 6 次提交,3 位独立贡献者(Mike Pitre / Chris Canin / Sean Perez)跨 2026-05~07 月协作,且经历过一次针对新 SDK 的完整重写(原始版本由 Chris Canin 创建,后由 Mike Pitre 重建以适配当前 SDK),反映真实使用驱动的持续迭代;合集仓库整体 64 星不计入本技能个体评分 |
| 可用性 | 9 | 支持单技能一条命令安装;11KB 的 SKILL.md 配 6 篇共约 34KB 的参考文档与一份自动化评测用例集,结构清晰、示例完整;明确声明验证过的 SDK 版本区间并给出版本漂移时的应对方法;最近一次提交为近 1 个月内,无付费依赖(Clerk 提供免费额度) |
| 安全性 | 9 | allowed-tools 仅声明 WebFetch,不执行 Shell 命令、不联网外发数据;仅要求配置可公开暴露的 Publishable Key(非 Secret Key),未见任何可疑指令或混淆代码;License 明确(MIT);作者为 Clerk 官方组织,无造假迹象 |
安全检查清单:① Shell 执行——无,allowed-tools 仅 WebFetch;② 联网外发——无,WebFetch 仅用于查阅官方文档,不上传用户数据;③ API Key/凭据——仅要求 Publishable Key(设计上可公开),无 Secret Key 存储需求;④ 可疑指令——通读 SKILL.md 全文未发现提示词注入或隐蔽指令;⑤ 作者信誉——Clerk 官方组织出品;⑥ License——MIT,明确;⑦ 最近维护——近 1 个月内有提交,非弃置项目。综合三项均值 = 8.3。
7. 跟同类 Skills 相比的优势
| 项目 | 定位 | 与 clerk-expo 的差异 |
|---|---|---|
auth0/agent-skills(auth0 技能,40★,Apache-2.0,官方已上架 Claude Code 插件市场) |
单一通用技能覆盖 React、Next.js、Vue、Angular、React Native、Expo、Ionic、Flutter 等十余种平台,按需加载对应参考文档 | 广度优先:一个技能通吃全平台,元数据中显式声明支持 OpenClaw;但移动端只是众多参考文档之一,深度不及专为 Expo/RN 定制的执行关卡与陷阱表 |
| Firebase Authentication(React Native / Expo 官方 SDK 文档) | Google 提供的通用移动认证后端,覆盖邮箱密码、手机号、第三方登录 | 是 SDK 官方文档而非结构化 Agent 技能包,需要开发者或 Agent 自行摸索最佳实践,无内建的版本新鲜度自检或错误速查表 |
| Supabase Auth(Expo 官方集成指南) | 开源 BaaS 的认证模块,与 Postgres 数据库深度绑定 | 定位为通用后端服务的一部分而非独立认证专家技能,同样以文档指南形式存在,未见结构化技能包 |
clerk-expo 的差异化在于“窄而深”:不追求覆盖所有认证服务或所有平台,而是把 Clerk 在 Expo/React Native 场景下的实现细节(尤其是新旧 API 切换、Token 缓存、原生组件边界)打磨到可直接执行的规则粒度。
8. 用户评价
该技能目前在第三方平台尚无经核实的具名用户评价;已知的第三方收录站点(如 mcpservers.org 的技能目录页)仅提供技术文档转载,未见真实用户反馈或评分数据。
9. 其他补充
clerk/skills 仓库同时提供 .claude-plugin、.codex-plugin 两套插件清单,并遵循 Agent Skills 开放规范分发;仓库设有“Request a Skill”入口,接受社区提出新技能需求。
10. 安装使用方式
方式一:单技能安装(推荐)
npx skills add https://github.com/clerk/skills --skill clerk-expo
方式二:Claude Code 插件市场(安装整个 Clerk 技能包)
git clone https://github.com/clerk/skills ~/.claude/skills/clerk
安装后无需重启,在 React Native / Expo 项目目录下向 Agent 提出“给我的 Expo 应用加 Clerk 认证”之类的需求即可触发。
方式三:Codex
codex plugin marketplace add clerk/skills
添加市场后重启 Codex,在 /plugins 中选择 Clerk Skills 安装并启用。
注意事项:使用前需在 Clerk Dashboard 获取 Publishable Key 并配置为 EXPO_PUBLIC_CLERK_PUBLISHABLE_KEY 环境变量;若需要原生组件(AuthView/UserButton)或原生 Google/Apple 登录,必须使用 Development Build(expo run:ios / run:android),Expo Go 环境不支持这些特性。
11. 注意事项
- 技能声明针对
@clerk/expo3.4 及以上版本编写,若项目安装的 SDK 版本更旧,部分基于 Hooks 的自定义流程 API 可能不存在,需先升级 SDK。 - 原生预制组件(
AuthView、UserButton)要求 Development Build,无法在 Expo Go 或 Web 端渲染,Web 端需改用对应的 Web 组件或自定义流程。 - 自定义注册页面必须挂载验证码占位组件(
<View nativeID="clerk-captcha" />),否则 Clerk 默认开启的机器人防护会失效。 - 该技能仅覆盖 Expo / React Native;纯原生 iOS/Swift 或 Android/Kotlin 项目需改用同一仓库内的姊妹技能。
- OpenClaw、Hermes Agent 兼容性未经验证,如在这两类 Agent 中使用建议先行小范围测试。