clerk-expo

Agent skill from clerk/skills.

clerk ↓ 6k
Claude Code
View source ↗

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

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.

clerk-expo on getagentictools
[![clerk-expo on getagentictools](https://getagentictools.com/badge/skills/clerk-skills-clerk-expo.svg)](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.