.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 RajAryanIITBHU/bny 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
Astro patterns with Clerk — middleware, SSR pages, island components, API routes, static vs SSR rendering. Triggers on: astro clerk, clerk astro middleware, astro protected page, clerk island component, astro API route auth, clerk astro SSR.
development
Clerk webhooks for real-time events and data syncing. Always output complete, copy-paste-ready webhook handlers with verifyWebhook(req) verification. Listen for user creation, updates, deletion, and organization events. Build event-driven features like database sync, notifications, integrations.
tools
Vue 3 patterns with Clerk — composables (useAuth, useUser, useClerk, useOrganization), Vue Router guards, Pinia auth store integration. Triggers on: vue clerk, useAuth vue, clerk composables, vue router clerk guard, pinia auth clerk. For Nuxt, use clerk-nuxt-patterns instead.
testing
E2E testing for Clerk apps. Use with Playwright or Cypress for auth flow tests.