What problem does it solve? Wiring Better Auth session checks into next-safe-action server actions by hand means re-fetching sessions, losing type inference, and handling unauthorized responses manually. This Skill guides the setup of the @next-safe-action/adapter-better-auth middleware so authenticated action clients get typed session context automatically. ## Core Features & Use Cases - Authenticated action clients: Create an authClient via betterAuth(auth) that fetches the session, rejects unauthenticated requests with unauthorized(), and injects typed ctx.auth.user and ctx.auth.session. - Custom authorization: Use the authorize callback for role-based access, redirects to login, organization-scoped checks, and optional authentication without re-fetching the session. - Correct Next.js integration: Covers the required nextCookies() plugin ordering and the experimental authInterrupts flag, plus common anti-patterns to avoid. - Use Case: You are building a Next.js app with Better Auth and want an admin-only server action; the Skill shows how to compose an adminClient that rejects non-admin users before the action handler runs. ## Quick Start Set up an authenticated next-safe-action client using the Better Auth adapter so my server actions receive a typed session in ctx.auth.