Download for MacApple silicon, macOS 14+
Skill

neon-auth

@neondatabase Updated 2026-10-23

Add authentication to a new app. Use for "add auth", "add login", Neon Auth (Managed Better Auth), identity routing, sign-up, sign-in, password reset, email OTP, magic links, organizations, phone OTP, OAuth, passkeys, MFA, trusted domains, invalid domain, and @neondatabase/auth. No existing identity: default to Managed Better Auth. Keep working Better Auth, Clerk, Supabase Auth, or another IdP. User asked to migrate from Supabase Auth: Managed Better Auth. A required plugin outside Managed support: self-managed Better Auth on a Neon Function or the existing app host. Also use for auth APIs in @neondatabase/neon-js.

Install

With your agent

Install OMGSkills skill "neondatabase/agent-skills:skills/neon-auth" into this agent's normal skills directory: call the OMGSkills MCP get_install_plan tool for your agent and run the script it returns (it installs only the pinned commit and verifies SKILL.md), and stop if MCP or the pin is unavailable. Do not overwrite or change existing skills without asking me.

Manual command

git clone https://github.com/neondatabase/agent-skills /tmp/agent-skills && ln -s /tmp/agent-skills/skills/neon-auth ~/.claude/skills/neon-auth

From README

Neon Auth Neon Auth is Managed Better Auth: users, sessions, and auth config live in the neonauth schema on the branch's Lakebase Postgres, and auth state branches with the database. The client API is the Better Auth method set (signIn.email, signIn.social, getSession) through @neondatabase/auth. That wrapper is not a drop-in for bare better-auth/client: it pins the plugin list and adds Neon-specific OAuth verifier, iframe popup, and JWT handling. Stay on the wrapper while Auth is managed. This skill chooses identity, then implements Managed Better Auth. It does not replace a working auth server in order to use Postgres, Functions, Object Storage, or the AI Gateway. When to Use Inspect existing identity and the required login features before provisioning. A supplied DATABASEURL is not a reason to change identity. Adding a Neon Function is not a reason to change identity. | Situation | What to do | | --- | --- | | No existing auth | Default to Managed Better Auth.