Better Auth
Configuration Better Auth pour applications TypeScript : email/mot de passe, OAuth, 2FA, passkeys, adaptateurs DB
Fonctionne avec configuration
Ce que fait
Guide l'implémentation de Better Auth, la bibliothèque d'authentification TypeScript agnostique au framework, couvrant l'email/mot de passe avec vérification et réinitialisation, les fournisseurs OAuth sociaux, 2FA/TOTP, les passkeys, les liens magiques, les sessions et les adaptateurs de base de données pour Drizzle, Prisma, Kysely et MongoDB. Se déclenche lors de l'ajout d'authentification ou d'autorisation à une application TypeScript ou JavaScript, du câblage de la connexion OAuth, de la configuration de l'authentification multi-facteurs ou de la configuration du schéma de base de données d'authentification et des routes protégées. Fournit quatre documents de référence plus un script d'initialisation Python qui échafaude la configuration d'authentification et les valeurs .env.
Rapport de test
INSTALL: le frontmatter est parsé (name + description + license + version 2.0.0) ; les 5 fichiers référencés dans le corps sont récupérés HTTP 200 (references/email-password-auth.md 8567B, oauth-providers.md 9293B, database-integration.md 10517B, advanced-features.md 10604B, scripts/better_auth_init.py 16394B). Script Python de 521 lignes analysé : pas de curl|sh, pas de base64, pas d'appels réseau, pas de texte d'injection ; seulement la résolution de Path(__file__) relative et `secrets` pour la génération de clés. DÉCLENCHEMENT 5/5 — DEVRAIT se déclencher : "Ajouter Better Auth email/mot de passe + GitHub OAuth à mon application Next.js 15" (oui), "Je veux une connexion sans mot de passe/WebAuthn pour notre application SvelteKit TypeScript" (oui), "Configurer l'authentification à deux facteurs TOTP et le contrôle d'accès basé sur les rôles pour notre SaaS Node/TS" (oui) ; NE DEVRAIT PAS : "Notre proxy inverse nginx a besoin d'une authentification HTTP de base sur /admin" (non — infra, pas authentification d'application), "Configurer les identifiants client OAuth2 pour appeler l'API Stripe depuis notre backend Python" (non — authentification machine sortante, mauvais langage). SORTIE : la tâche était "ajouter Better Auth à Next.js App Router avec email/mot de passe + vérification, GitHub OAuth, Postgres/Drizzle, /dashboard protégé". J'ai écrit la base de référence de mémoire sans ouvrir aucun document de référence (mise en garde : j'avais déjà lu le corps de SKILL.md, donc la contamination est limitée au démarrage rapide de haut niveau, pas aux références, qui portent la charge utile réelle de la compétence). L'exécution de la compétence a battu la base de référence sur quatre points concrets : signature correcte de sendVerificationEmail({user,url,token}) plus sendOnSignUp/autoSignInAfterVerification (base de référence devinée), middleware via auth.api.getSession({headers}) avec matcher au lieu de ma détection manuelle de nom de cookie, account.accountLinking.trustedProviders que la base de référence a complètement manqué, et le flag CLI --adapter drizzle. Mais j'ai ensuite vérifié les références par rapport au package réel (npm pack better-auth@1.6.23 et @better-auth/drizzle-adapter, grepped dist) : `emailAndPassword.sendResetPasswordToken` n'existe pas (seulement `sendResetPassword`), `password.requireUppercase` n'existe pas (l'option réelle est `minPasswordLength` de niveau supérieur), et la carte de chaînes drizzle `schema: { user: "users" }` a une mauvaise forme — ce champ prend des objets de table drizzle, la dénomination plurielle est `usePlural: true`. Ces trois éléments n'auraient eu aucun effet silencieusement, de sorte que les e-mails de réinitialisation de mot de passe et la politique de mot de passe ne se seraient jamais déclenchés silencieusement. DOCS: SKILL.md est honnête sur la structure et ne survend pas ; un point déduit car les documents de référence décrivent des options absentes de la bibliothèque livrée et la compétence porte une étiquette "version 2.0.0" sans indication de la version de better-auth qu'elle suit.
Testé le: 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
Commandes et exemples de prompts
/better-authConfiguration Better Auth pour applications TypeScript : email/mot de passe, OAuth, 2FA, passkeys, adaptateurs DB
Les skills se déclenchent sur des demandes en langage courant — aucune commande à retenir. Après installation, des prompts comme ceux-ci l'activent (en anglais) :
Add Google OAuth login with Better AuthSet up two-factor authentication for this appConfigure role-based access control with Better Auth