What problem does it solve? Adding authentication to a Convex app involves choosing between multiple providers (Convex Auth, Clerk, WorkOS AuthKit, Auth0, custom JWT), wiring auth.config.ts, protecting backend functions, and deciding whether a users table is needed. This Skill guides that entire setup so login, identity mapping, and authorization work correctly on both local and production deployments. ## Core Features & Use Cases - Provider Selection & Setup: Detects or asks which auth provider to use, then follows provider-specific reference guides for Convex Auth, Clerk, WorkOS AuthKit, or Auth0. - Backend Protection: Implements server-side identity checks with ctx.auth.getUserIdentity() instead of trusting client-provided user IDs, plus role- or ownership-based authorization where needed. - Validation & Production Readiness: Verifies sign-in flows, environment variables, callback URLs, and production configuration before declaring setup complete. - Use Case: A user says "add auth to my Convex app." The Skill identifies the repo already uses Clerk, reads the Clerk reference, configures auth.config.ts with the issuer domain, wraps the app in ClerkProvider and ConvexProviderWithClerk, and verifies protected queries return data after login. ## Quick Start Set up authentication for this Convex app, figure out the right provider, and protect my queries and mutations with login checks.