What problem does it solve? Setting up authentication in a Convex app involves choosing a provider, wiring backend config, client providers, environment variables, and protected functions, and getting any step wrong leaves apps silently unauthenticated. This Skill guides the full setup so login actually works end to end with Convex. ## Core Features & Use Cases - Provider Selection Guidance: Detects or asks which auth provider to use among Convex Auth, Clerk, WorkOS AuthKit, Auth0, or a custom JWT provider before writing any code. - Provider-Specific References: Ships detailed reference files for each provider covering concrete steps, expected files, environment variables, gotchas, and validation checks. - Secure Backend Patterns: Enforces server-side identity verification with ctx.auth.getUserIdentity() instead of trusting client-provided user IDs, plus authorization checks where needed. - Use Case: A developer adding login to a new Convex app can follow the guided workflow to pick Clerk, configure convex/auth.config.ts, wrap the app in ClerkProvider and ConvexProviderWithClerk, and verify protected queries succeed after sign-in. ## Quick Start Set up authentication for this Convex app by first determining which auth provider fits, then wiring the backend config, client provider, and protected functions.