.agents/skills/clerk/SKILL.md
Clerk authentication router. Use when user asks about adding authentication, setting up Clerk, custom sign-in flows, Swift or native iOS auth, native Android auth, Next.js patterns, React patterns, Vue patterns, Nuxt patterns, Astro patterns, TanStack Start patterns, Expo patterns, React Router patterns, Chrome Extension patterns, organizations, syncing users, or testing. Automatically routes to the specific skill based on their task.
npx skillsauth add Mohamedghaly140/sg-shop-web clerkInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Check package.json to determine the Clerk SDK version. This determines which patterns to use:
| Package | Core 2 (LTS until Jan 2027) | Current |
|---------|----------------------------|---------|
| @clerk/nextjs | v5–v6 | v7+ |
| @clerk/react or @clerk/clerk-react | v5–v6 | v7+ |
| @clerk/expo or @clerk/clerk-expo | v1–v2 | v3+ |
| @clerk/react-router | v1–v2 | v3+ |
| @clerk/tanstack-react-start | < v0.26.0 | v0.26.0+ |
Default to current if the version is unclear or the project is new. Core 2 packages use @clerk/clerk-react and @clerk/clerk-expo (with clerk- prefix); current packages use @clerk/react and @clerk/expo.
All skills are written for the current SDK. When something differs in Core 2, it's noted inline with > **Core 2 ONLY (skip if current SDK):** callouts. The exception is clerk-custom-ui, which has separate core-2/ and core-3/ directories for custom flow hooks since those APIs are entirely different between versions.
Adding Clerk to your project → Use clerk-setup
Custom sign-in/sign-up UI → Use clerk-custom-ui
useSignIn / useSignUp hooks<Show> component for conditional renderingAdvanced Next.js patterns → Use clerk-nextjs-patterns
React patterns → Use clerk-react-patterns
useAuth, useUser, useClerk)React Router patterns → Use clerk-react-router-patterns
Vue patterns → Use clerk-vue-patterns
useAuth, useUser, useClerk)Nuxt patterns → Use clerk-nuxt-patterns
Astro patterns → Use clerk-astro-patterns
TanStack Start patterns → Use clerk-tanstack-patterns
Expo patterns → Use clerk-expo-patterns
Chrome Extension patterns → Use clerk-chrome-extension-patterns
B2B / Organizations → Use clerk-orgs
Webhooks → Use clerk-webhooks
E2E Testing → Use clerk-testing
Swift / native iOS auth → Use clerk-swift
clerk-iosAndroid / native mobile auth → Use clerk-android
clerk-android-api and clerk-android-ui implementation guidanceclerk-androidBackend REST API → Use clerk-backend-api
If you know your task, you can directly access:
/clerk-setup - Framework setup/clerk-custom-ui - Custom flows & appearance/clerk-nextjs-patterns - Next.js patterns/clerk-react-patterns - React patterns/clerk-react-router-patterns - React Router patterns/clerk-vue-patterns - Vue patterns/clerk-nuxt-patterns - Nuxt patterns/clerk-astro-patterns - Astro patterns/clerk-tanstack-patterns - TanStack Start patterns/clerk-expo-patterns - Expo patterns/clerk-chrome-extension-patterns - Chrome Extension patterns/clerk-orgs - Organizations/clerk-webhooks - Webhooks/clerk-testing - Testing/clerk-swift - Swift/native iOS/clerk-android - Native Android/clerk-backend-api - Backend REST APIOr describe what you need and I'll recommend the right one.
development
Enforce web security and avoid security vulnerabilities
development
Build clean, scalable UIs with Tailwind CSS using modern utilities and variants
development
Utilize built-in browser APIs (like Popover API, View Transitions etc) instead of building features manually via JavaScript
development
Build clean, modern React components that apply common best practices and avoid common pitfalls like unnecessary state management or useEffect usage