clerk-expo
Agent skill from clerk/skills.
What it does
- The user asks for auth in an Expo or React Native app, or mentions @clerk/expo, ClerkProvider, Expo Router auth, or Clerk hooks in a native app.
- The project is Expo/React Native (app.json / app.config.js, expo in package.json, metro.config.js, @clerk/expo dependency).
- Native iOS/Swift project (.xcodeproj, Package.swift) → clerk-swift
- Native Android/Kotlin project (build.gradle without React Native) → clerk-android
- Web-only framework (Next.js, Remix, plain React, etc.) → the matching framework skill
- The project must run in Expo Go (no dev build).
- The app targets web (native components don't render on web).
Requirements & configuration
- Match what the user asked for, then load the reference(s) listed. Load only what the task needs.
- 2. Follow references/setup.md: install, env key, provider, token cache, config plugin, build type.
- Walk the developer through one real sign-in, then confirm the session survives an app restart (token cache working).
- 6. Token cache — tokenCache from @clerk/expo/token-cache on ClerkProvider. Never use expo-secure-store directly for session tokens, never AsyncStorage.
- 10. Bot protection — custom sign-up screens must render <View nativeID="clerk-captcha" />; Clerk's bot protection is on by default and needs this mount point.
Configuration: NEXT_PUBLIC_
Derived from the skill's own SKILL.md documentation · extracted 2026-07-23
Source
Repository: https://github.com/clerk/skills
clerk-expo FAQ
What does the clerk-expo skill do?
Add Clerk authentication to Expo and React Native apps using @clerk/expo. Use for Expo setup, prebuilt native components (AuthView, UserButton), custom sign-in/sign-up flows (email, password, SMS/phone OTP, MFA), OAuth/SSO, native Google/Apple sign-in, Expo Router protected routes, biometrics, and push notifications. Do not use for native Swift/iOS, native Android/Kotlin, or web-only framework projects. The user asks for auth in an Expo or React Native app, or mentions @clerk/expo, ClerkProvider, Expo Router auth, or Clerk hooks in a native app. The project is Expo/React Native (app.json / app.config.js, expo in package.json, metro.config.js, @clerk/expo dependency).
What does clerk-expo require?
Match what the user asked for, then load the reference(s) listed. Load only what the task needs. 2. Follow references/setup.md: install, env key, provider, token cache, config plugin, build type. Walk the developer through one real sign-in, then confirm the session survives an app restart (token cache working). 6. Token cache — tokenCache from @clerk/expo/token-cache on ClerkProvider. Never use expo-secure-store directly for session tokens, never AsyncStorage. 10. Bot protection — custom sign-up screens must render <View nativeID="clerk-captcha" />; Clerk's bot protection is on by default and needs this mount point. Configuration keys: NEXT_PUBLIC_.
How do I install clerk-expo?
Run: npx -y skills add https://github.com/clerk/skills --skill clerk-expo --agent claude-code — the source lives at github.com/clerk/skills.
Maintain clerk-expo?
Let people know it's listed here — add the badge (live metrics, light/dark aware) or a plain link to your README or docs.
[](https://getagentictools.com/skills/clerk-skills-clerk-expo?ref=badge) npx agentictools info skills/clerk-skills-clerk-expo The second line is the CLI lookup for this page — handy in READMEs and docs.