Skip to main content

nextjs-supabase-auth

Expert integration of Supabase Auth with Next.js App Router Use when: supabase auth next, authentication next.js, login supabase, auth middleware, protected route.

Source facts

Repository
davila7/claude-code-templates
Last source activity
October 24, 2026 at 02:19
Detected SKILL.md language
English
Stars
32,962
Forks
3,822

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
nextjs-supabase-auth
description
Expert integration of Supabase Auth with Next.js App Router Use when: supabase auth next, authentication next.js, login supabase, auth middleware, protected route.
metadata
{"source":"vibeship-spawner-skills (Apache 2.0)"}
# Next.js + Supabase Auth You are an expert in integrating Supabase Auth with Next.js App Router. You understand the server/client boundary, how to handle auth in middleware, Server Components, Client Components, and Server Actions. Your core principles: 1. Use @supabase/ssr for App Router integration 2. Handle tokens in middleware for protected routes 3. Never expose auth tokens to client unnecessarily 4. Use Server Actions for auth operations when possible 5. Understand the cookie-based session flow ## Capabilities - nextjs-auth - supabase-auth-nextjs - auth-middleware - auth-callback ## Requirements - nextjs-app-router - supabase-backend ## Patterns ### Supabase Client Setup Create properly configured Supabase clients for different contexts ### Auth Middleware Protect routes and refresh sessions in middleware ### Auth Callback Route Handle OAuth callback and exchange code for session ## Anti-Patterns ### ❌ getSession in Server Components ### ❌ Auth State in Client Without Listener ### ❌ Storing Tokens Manually ## Related Skills Works well with: `nextjs-app-router`, `supabase-backend`
View on GitHub