Module for integrating Better Auth into Nuxt applications.
Install
mkdir -p .claude/skills/nuxt-better-auth && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/7668" && unzip -o skill.zip -d .claude/skills/nuxt-better-auth && rm skill.zipInstalls to .claude/skills/nuxt-better-auth
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Use when implementing auth in Nuxt apps with @onmax/nuxt-better-auth - provides useUserSession composable, server auth helpers, route protection, and Better Auth plugins integration.Key capabilities
- →Configure Nuxt server auth helpers
- →Protect client-side and server-side routes
- →Integrate Better Auth plugins like 2FA
- →Manage session access in API routes
- →Sync database schemas with NuxtHub
How it works
It hooks into Nuxt's server engine and middleware lifecycle to inject session-checking logic and authentication helpers.
Inputs & outputs
When to use nuxt-better-auth
- →Adding login and signup flows to Nuxt
- →Protecting private routes
- →Accessing user sessions in API routes
About this skill
Nuxt Better Auth
Authentication module for Nuxt 4+ built on Better Auth. Provides composables, server utilities, and route protection.
Alpha Status: This module is currently in alpha (v0.0.2-alpha.19) and not recommended for production use. APIs may change.
When to Use
- Installing/configuring
@onmax/nuxt-better-auth - Implementing login/signup/signout flows
- Protecting routes (client and server)
- Accessing user session in API routes
- Integrating Better Auth plugins (admin, passkey, 2FA)
- Setting up database with NuxtHub
- Using clientOnly mode for external auth backends
- Adding i18n support with
@nuxtjs/i18n
For Nuxt patterns: use nuxt skill
For NuxtHub database: use nuxthub skill
Available Guidance
| File | Topics |
|---|---|
| references/installation.md | Module setup, env vars, config files |
| references/client-auth.md | useUserSession, signIn/signUp/signOut, BetterAuthState, safe redirects |
| references/server-auth.md | serverAuth, getUserSession, requireUserSession |
| references/route-protection.md | routeRules, definePageMeta, middleware |
| references/plugins.md | Better Auth plugins (admin, passkey, 2FA) |
| references/database.md | NuxtHub integration, Drizzle schema, custom tables with FKs |
| references/client-only.md | External auth backend, clientOnly mode, CORS |
| references/types.md | AuthUser, AuthSession, type augmentation |
Loading Files
Consider loading these reference files based on your task:
- references/installation.md - if installing or configuring the module
- references/client-auth.md - if building login/signup/signout flows
- references/server-auth.md - if protecting API routes or accessing user session server-side
- references/route-protection.md - if using routeRules or definePageMeta for auth
- references/plugins.md - if integrating Better Auth plugins (admin, passkey, 2FA)
- references/database.md - if setting up database with NuxtHub or Drizzle
- references/client-only.md - if using external auth backend with clientOnly mode
- references/types.md - if working with AuthUser, AuthSession, or type augmentation
DO NOT load all files at once. Load only what's relevant to your current task.
Key Concepts
| Concept | Description |
|---|---|
useUserSession() | Client composable - user, session, loggedIn, signIn/Out methods |
requireUserSession() | Server helper - throws 401/403 if not authenticated |
auth route mode | 'user', 'guest', { user: {...} }, or false |
serverAuth() | Get Better Auth instance in server routes |
Quick Reference
// Client: useUserSession()
const { user, loggedIn, signIn, signOut } = useUserSession()
await signIn.email({ email, password }, { onSuccess: () => navigateTo('/') })
// Server: requireUserSession()
const { user } = await requireUserSession(event, { user: { role: 'admin' } })
// nuxt.config.ts: Route protection
routeRules: {
'/admin/**': { auth: { user: { role: 'admin' } } },
'/login': { auth: 'guest' },
'/app/**': { auth: 'user' }
}
Resources
Token efficiency: Main skill ~300 tokens, each sub-file ~800-1200 tokens
When not to use it
- →Production environments (currently alpha)
- →Non-Nuxt 4 authentication implementations
Prerequisites
Limitations
- →APIs subject to change due to alpha status
- →Strict dependency on Nuxt 4 framework structure
How it compares
It provides pre-configured Nuxt-specific composables rather than requiring manual session management and route middleware construction.
Compared to similar skills
nuxt-better-auth side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| nuxt-better-auth (this skill) | 1 | 6mo | No flags | Intermediate |
| nextjs-supabase-auth | 12 | 6mo | No flags | Intermediate |
| middleware-protection | 1 | 6mo | Review | Intermediate |
| payload | 73 | 2mo | Review | Intermediate |
Try saying
Example prompts that trigger this skill in your AI assistant.
More by onmax
View all by onmax →You might also like
nextjs-supabase-auth
davila7
Expert integration of Supabase Auth with Next.js App Router Use when: supabase auth next, authentication next.js, login supabase, auth middleware, protected route.
middleware-protection
dadbodgeoff
Protect routes with Next.js middleware. Check authentication once, protect routes declaratively. Supports public routes, protected routes, and role-based access.
payload
payloadcms
Use when working with Payload CMS projects (payload.config.ts, collections, fields, hooks, access control, Payload API). Use when debugging validation errors, security issues, relationship queries, transactions, or hook behavior.
backend-dev-guidelines
langfuse
Comprehensive backend development guide for Langfuse's Next.js 14/tRPC/Express/TypeScript monorepo. Use when creating tRPC routers, public API endpoints, BullMQ queue processors, services, or working with tRPC procedures, Next.js API routes, Prisma database access, ClickHouse analytics queries, Redis queues, OpenTelemetry instrumentation, Zod v4 validation, env.mjs configuration, tenant isolation patterns, or async patterns. Covers layered architecture (tRPC procedures → services, queue processors → services), dual database system (PostgreSQL + ClickHouse), projectId filtering for multi-tenant isolation, traceException error handling, observability patterns, and testing strategies (Jest for web, vitest for worker).
add-setting-env
lobehub
Guide for adding environment variables to configure user settings. Use when implementing server-side environment variables that control default values for user settings. Triggers on env var configuration or setting default value tasks.
workflow
vercel
Creates durable, resumable workflows using Vercel's Workflow DevKit. Use when building workflows that need to survive restarts, pause for external events, retry on failure, or coordinate multi-step operations over time. Triggers on mentions of "workflow", "durable functions", "resumable", "workflow devkit", or step-based orchestration.