Complete collection of AI agent skills including: - Frontend Development (Vue, React, Next.js, Three.js) - Backend Development (NestJS, FastAPI, Node.js) - Mobile Development (React Native, Expo) - Testing (E2E, frontend, webapp) - DevOps (GitHub Actions, CI/CD) - Marketing (SEO, copywriting, analytics) - Security (binary analysis, vulnerability scanning) - And many more... Synchronized from: https://skills.sh/ Co-Authored-By: Claude <noreply@anthropic.com>
57 lines
1.5 KiB
Markdown
57 lines
1.5 KiB
Markdown
---
|
|
name: clerk-auth
|
|
description: "Expert patterns for Clerk auth implementation, middleware, organizations, webhooks, and user sync Use when: adding authentication, clerk auth, user authentication, sign in, sign up."
|
|
source: vibeship-spawner-skills (Apache 2.0)
|
|
---
|
|
|
|
# Clerk Authentication
|
|
|
|
## Patterns
|
|
|
|
### Next.js App Router Setup
|
|
|
|
Complete Clerk setup for Next.js 14/15 App Router.
|
|
|
|
Includes ClerkProvider, environment variables, and basic
|
|
sign-in/sign-up components.
|
|
|
|
Key components:
|
|
- ClerkProvider: Wraps app for auth context
|
|
- <SignIn />, <SignUp />: Pre-built auth forms
|
|
- <UserButton />: User menu with session management
|
|
|
|
|
|
### Middleware Route Protection
|
|
|
|
Protect routes using clerkMiddleware and createRouteMatcher.
|
|
|
|
Best practices:
|
|
- Single middleware.ts file at project root
|
|
- Use createRouteMatcher for route groups
|
|
- auth.protect() for explicit protection
|
|
- Centralize all auth logic in middleware
|
|
|
|
|
|
### Server Component Authentication
|
|
|
|
Access auth state in Server Components using auth() and currentUser().
|
|
|
|
Key functions:
|
|
- auth(): Returns userId, sessionId, orgId, claims
|
|
- currentUser(): Returns full User object
|
|
- Both require clerkMiddleware to be configured
|
|
|
|
|
|
## ⚠️ Sharp Edges
|
|
|
|
| Issue | Severity | Solution |
|
|
|-------|----------|----------|
|
|
| Issue | critical | See docs |
|
|
| Issue | high | See docs |
|
|
| Issue | high | See docs |
|
|
| Issue | high | See docs |
|
|
| Issue | medium | See docs |
|
|
| Issue | medium | See docs |
|
|
| Issue | medium | See docs |
|
|
| Issue | medium | See docs |
|