What problem does it solve? Setting up Clerk authentication in a React single-page application involves many moving parts: provider setup, environment variables, hook guards, protected routes, and custom sign-in flows. This Skill provides tested patterns for @clerk/react so you avoid common mistakes like missing isLoaded guards or wrong Vite env prefixes. ## Core Features & Use Cases - Provider & Hook Setup: Configure ClerkProvider in main.tsx with VITE_CLERK_PUBLISHABLE_KEY and use useAuth, useUser, and useClerk hooks correctly with isLoaded guards. - Protected Routes: Build ProtectedRoute wrapper components for React Router v6/v7 that redirect unauthenticated users to a sign-in page. - Custom Auth Flows: Implement custom sign-in and sign-up forms with useSignIn and useSignUp, including email verification and session activation. - Use Case: You scaffold a new Vite + React app and need login, a protected /dashboard route, and a profile page showing the user's name and avatar. This Skill gives you the exact component code and router configuration. ## Quick Start Ask the AI to set up Clerk authentication in your Vite React app with a protected dashboard route using React Router.