Better Auth

Better Auth-Einrichtung für TypeScript-Anwendungen: E-Mail/Passwort, OAuth, 2FA, Passkeys, DB-Adapter

von mrgoonie · mrgoonie/claudekit-skills

Funktioniert mit Setup ★ 7.6/10

Better Auth — Better Auth-Einrichtung für TypeScript-Anwendungen: E-Mail/Passwort, OAuth, 2FA, Passkeys, DB-Adapter

Was es kann

Leitet die Implementierung von Better Auth an, der Framework-agnostischen TypeScript-Authentifizierungsbibliothek, die E-Mail/Passwort mit Verifizierung und Zurücksetzung, soziale OAuth-Anbieter, 2FA/TOTP, Passkeys, Magic Links, Sessions und Datenbankadapter für Drizzle, Prisma, Kysely und MongoDB abdeckt. Wird ausgelöst beim Hinzufügen von Authentifizierung oder Autorisierung zu einer TypeScript- oder JavaScript-Anwendung, beim Einrichten von OAuth-Anmeldungen, beim Konfigurieren der Multi-Faktor-Authentifizierung oder beim Einrichten von Authentifizierungsdatenbankschemata und geschützten Routen. Enthält vier Referenzdokumente sowie ein Python-Initialisierungsskript, das die Authentifizierungskonfiguration und .env-Werte gerüstet.

Testbericht

INSTALL: frontmatter wird geparst (name + description + license + version 2.0.0); alle 5 im Text referenzierten Dateien wurden mit HTTP 200 abgerufen (references/email-password-auth.md 8567B, oauth-providers.md 9293B, database-integration.md 10517B, advanced-features.md 10604B, scripts/better_auth_init.py 16394B). Das 521-zeilige Python-Skript wurde durchsucht: kein curl|sh, kein base64, keine Netzwerkaufrufe, kein Injection-Text; nur relative Path(__file__)-Auflösung und `secrets` zur Schlüsselgenerierung. TRIGGER 5/5 — SOLLTE auslösen: „Add Better Auth email/password + GitHub OAuth to my Next.js 15 app“ (ja), „I want passwordless passkey/WebAuthn sign-in for our SvelteKit TypeScript app“ (ja), „Set up TOTP two-factor auth and role-based access control for our Node/TS SaaS“ (ja); SOLLTE NICHT: „Our nginx reverse proxy needs HTTP basic auth on /admin“ (nein — Infrastruktur, nicht App-Authentifizierung), „Configure OAuth2 client credentials to call the Stripe API from our Python backend“ (nein — ausgehende Maschinenauthentifizierung, falsche Sprache). OUTPUT: Die Aufgabe war „add Better Auth to Next.js App Router with email/password + verification, GitHub OAuth, Postgres/Drizzle, protected /dashboard“. Ich habe die Baseline aus dem Gedächtnis geschrieben, ohne ein Referenzdokument zu öffnen (Vorsicht: Ich hatte den Text von SKILL.md bereits gelesen, sodass die Kontamination auf den Top-Level-Quickstart beschränkt ist, nicht auf die Referenzen, die die eigentliche Nutzlast des Skills tragen). Der Skill-Lauf übertraf die Baseline in vier konkreten Punkten: korrekte sendVerificationEmail({user,url,token})-Signatur plus sendOnSignUp/autoSignInAfterVerification (Baseline geraten), Middleware über auth.api.getSession({headers}) mit Matcher anstelle meines selbstgeschriebenen Cookie-Namen-Sniffs, account.accountLinking.trustedProviders, die die Baseline komplett verpasste, und das --adapter drizzle CLI-Flag. Ich habe die Referenzen dann aber mit dem echten Paket überprüft (npm pack better-auth@1.6.23 und @better-auth/drizzle-adapter, dist durchsucht): `emailAndPassword.sendResetPasswordToken` existiert nicht (nur `sendResetPassword`), `password.requireUppercase` existiert nicht (echte Option ist Top-Level `minPasswordLength`), und die Drizzle `schema: { user: "users" }` String-Map hat die falsche Form — dieses Feld nimmt Drizzle-Tabellenobjekte, die Pluralbenennung ist `usePlural: true`. Diese drei würden stillschweigend nichts bewirken, sodass Passwort-Reset-E-Mails und Passwortrichtlinien stillschweigend nie ausgelöst würden. DOKUMENTE: SKILL.md ist ehrlich bezüglich der Struktur und übertreibt nicht; ein Punkt Abzug, weil die Referenzdokumente Optionen dokumentieren, die in der ausgelieferten Bibliothek nicht vorhanden sind, und der Skill ein „version 2.0.0“-Label trägt, ohne anzugeben, welche better-auth-Version er verfolgt.

Getestet am: 2026-07-21 · Claude Code 2.x (agent harness)

Installation

git clone --depth 1 https://github.com/mrgoonie/claudekit-skills /tmp/claudekit-skills
mkdir -p ~/.claude/skills
cp -R /tmp/claudekit-skills/.claude/skills/better-auth ~/.claude/skills/better-auth
# project-local instead: cp -R /tmp/claudekit-skills/.claude/skills/better-auth .claude/skills/
# optional interactive scaffolder (needs python3):
# python3 ~/.claude/skills/better-auth/scripts/better_auth_init.py

Befehle & Beispiel-Prompts

  • /better-authBetter Auth-Einrichtung für TypeScript-Anwendungen: E-Mail/Passwort, OAuth, 2FA, Passkeys, DB-Adapter

Skills reagieren auf normale Anfragen — keine Slash-Befehle nötig. Nach der Installation aktivieren Prompts wie diese den Skill (auf Englisch):

  • Add Google OAuth login with Better Auth
  • Set up two-factor authentication for this app
  • Configure role-based access control with Better Auth