Agent skill · Audited from source
better-auth
skill · mrgoonie/claudekit-skillsLicence not declaredAudited 23 Oct 2026 · source d655ab03f566
Is it safe? No — BLOCK, grade D (63/100). We read this skill's source at commit d655ab03f566 and found no filesystem, network or shell access and a hard-coded secret (see the findings). The audit raised 14 findings, 1 critical or high. What it does: Implement authentication and authorization with Better Auth - a framework-agnostic TypeScript authentication framework. Features include email/password authentication with verification, OAuth providers (Google, GitHub,…
Cite
Cite this page
ModelsAtlas. “better-auth (mrgoonie/claudekit-skills)”. Retrieved 23 Oct 2026. https://modelsatlas.com/skills/mrgoonie/better-auth
Blocked. The page stays public so you can check this skill if someone recommended it to you. The audit found 1 critical or high finding, starting with “Prompt injection” in SKILL.md:3. Do not install it without reading them.
Trust audit
Audit 0.4.1 · source read 23 Oct 2026
BLOCK means the audit found something that could harm you or your machine. Grade D is shared by 642 of 14,816 audited skills.
What the source does
- FilesystemNone observedNo reads or writes in the source
- NetworkNone observedNo outbound calls in the source
- ShellNone observedNo commands run in the source
- DependenciesNot pinnedSome versions float
- SecretsFoundSee the findings; values are never shown
Five audit layers
| Layer | What we check | Result | Findings |
|---|---|---|---|
L0 Provenance | Repo owner, licence, archive status, activity | WARN | 9 |
L1 Static source | Secrets, path traversal, supply chain, hidden code | WARN | 4 |
L2 Instructions | Prompt injection, authority framing, hidden directives | FAIL | 1 |
L3 Inventory | The files and declarations match the source | PASS | 0 |
L4 Sandbox | Run in isolation and watch behaviour | SKIPPED why | 0 |
Gates applied: critical finding, no behavioural pass, undeclared transfer.
Findings (14)
CRITICALPrompt injectionprompt.transfer_instruction · SKILL.md:3
description: Implement authentication and authorization with Better Auth - a framework-agnostic TypeScript authentication framework. Features include email/password authentication with verification, O
- Why
- an instruction to move sensitive data to an outside destination
- Fix
- remove; a skill never needs the user's secrets off the machine
MEDIUMInventory / provenanceinv.binary · scripts/.coverage
.coverage
- Why
- a compiled or binary member cannot be reviewed from source
- Fix
- ship source, or explain the binary in the README
MEDIUMInventory / provenanceinv.symlink · plugins/ai-ml-tools/skills/ai-multimodal
plugins/ai-ml-tools/skills/ai-multimodal
- Why
- link not followed
- Fix
- —
MEDIUMInventory / provenanceinv.symlink · plugins/ai-ml-tools/skills/context-engineering
plugins/ai-ml-tools/skills/context-engineering
- Why
- link not followed
- Fix
- —
MEDIUMInventory / provenanceinv.symlink · plugins/ai-ml-tools/skills/google-adk-python
plugins/ai-ml-tools/skills/google-adk-python
- Why
- link not followed
- Fix
- —
MEDIUMInventory / provenanceinv.symlink · plugins/backend-tools/skills/backend-development
plugins/backend-tools/skills/backend-development
- Why
- link not followed
- Fix
- —
MEDIUMInventory / provenanceinv.symlink · plugins/backend-tools/skills/better-auth
plugins/backend-tools/skills/better-auth
- Why
- link not followed
- Fix
- —
MEDIUMHard-coded secretssecret.generic · references/email-password-auth.md:132
token: "…"
- Why
- No further detail recorded for this rule.
- Fix
- —
MEDIUMHard-coded secretssecret.generic · references/email-password-auth.md:166
token: "…",
- Why
- No further detail recorded for this rule.
- Fix
- —
MEDIUMHard-coded secretssecret.generic · references/email-password-auth.md:167
password: "…"
- Why
- No further detail recorded for this rule.
- Fix
- —
LOWInventory / provenanceinv.binary · scripts/tests/.coverage
.coverage
- Why
- a compiled or binary member cannot be reviewed from source
- Fix
- ship source, or explain the binary in the README
LOWSupply chainsupply.unpinned · scripts/requirements.txt
pytest, pytest-cov, pytest-mock
- Why
- 3 requirement(s) not pinned with ==
- Fix
- pin exact versions
Audit 0.4.1 · source sha d655ab03f566 · 23 Oct 2026Report an issue or request a re-scan
Provenance
Who published it, and what the verdict is pinned to
- Publishermrgoonie GitHub userOwner of the repository this skill is read from
- Source foldermrgoonie/claudekit-skills/.claude/skills/better-authThe exact folder we audited
- LicenceNot declaredAs the repository states it
- Commit pinned for this verdictd655ab03f566A new audit runs when the source changes
- Repository statusNot archivedLast push 203 days ago
- Sandboxed runNot runSkills are read, not executed; layer L4 is skipped
What it tells the agent
Full source on GitHub ↗Its description: Implement authentication and authorization with Better Auth - a framework-agnostic TypeScript authentication framework. Features include email/password authentication with verification, OAuth providers (Google, GitHub,…
---
name: better-auth
description: Implement authentication and authorization with Better Auth - a framework-agnostic TypeScript authentication framework. Features include email/password authentication with verification, OAuth providers (Google, GitHub, Discord, etc.), two-factor authentication (TOTP, SMS), passkeys/WebAuthn support, session management, role-based access control (RBAC), rate limiting, and database adapters. Use when adding authentication to applications, implementing OAuth flows, setting up 2FA/MFA, managing user sessions, configuring authorization rules, or building secure authentication systems for web applications.
license: MIT
version: 2.0.0
---
# Better Auth Skill
Better Auth is comprehensive, framework-agnostic authentication/authorization framework for TypeScript with built-in email/password, social OAuth, and powerful plugin ecosystem for advanced features.
## When to Use
- Implementing auth in TypeScript/JavaScript applications
- Adding email/password or social OAuth authentication
- Setting up 2FA, passkeys, magic links, advanced auth features
- Building multi-tenant apps with organization support
- Managing sessions and user lifecycle
- Working with any framework (Next.js, Nuxt, SvelteKit, Remix, Astro, Hono, Express, etc.)
## Quick Start
### Installation
```bash
npm install better-auth
# or pnpm/yarn/bun add better-auth
```
### Environment Setup
Create `.env`:
```env
BETTER_AUTH_SECRET=<generated-secret-32-chars-min>
BETTER_AUTH_URL=http://localhost:3000
```
### Basic Server Setup
Create `auth.ts` (root, lib/, utils/, or under src/app/server/):
```ts
import { betterAuth } from "better-auth";
export const auth = betterAuth({
database: {
// See references/database-integration.md
},
emailAndPassword: {
enabled: true,
autoSignIn: true
},
socialProviders: {
github: {
clientId: process.env.GITHUB_CLIENT_ID!,
clientSecret: process.env.GITHUB_CLIENT_SECRET!,
}
}
});
```
### Database Schema
```bash
npx @better-auth/cli generate # Generate schema/migrations
npx @better-auth/cli migrate # Apply migrations (Kysely only)
```
### Mount API Handler
**Next.js App Router:**
```ts
// app/api/auth/[...all]/route.ts
import { auth } from "@/lib/auth";
import { toNextJsHandler } from "better-auth/next-js";
export const { POST, GET } = toNextJsHandler(auth);
```
**Other frameworks:** See references/email-password-auth.md#framework-setup
### Client Setup
Create `auth-client.ts`:
```ts
import { createAuthClient } from "better-auth/client";
export const authClient = createAuthClient({
baseURL: process.env.NEXT_PUBLIC_BETTER_AUTH_URL || "http://localhost:3000"
});
```
### Basic Usage
```ts
// Sign up
await authClient.signUp.email({
email: "[email protected]",
password: "secure123",
name: "John Doe"
});
// Sign in
await authClient.signIn.email({
email: "[email protected]",
password: "secure123"
});
// OAuth
await authClient.signIn.social({ provider: "github" });
// Session
const { data: session } = authClient.useSession(); // React/Vue/Svelte
const { data: session } = await authClient.getSession(); // Vanilla JS
```
## Feature Selection Matrix
| Feature | Plugin Required | Use Case | Reference |
|---------|----------------|----------|-----------|
| Email/Password | No (built-in) | Basic auth | [email-password-auth.md](./references/email-password-auth.md) |
| OAuth (GitHub, Google, etc.) | No (built-in) | Social login | [oauth-providers.md](./references/oauth-providers.md) |
| Email Verification | No (built-in) | Verify email addresses | [email-password-auth.md](./references/email-password-auth.md#email-verification) |
| Password Reset | No (built-in) | Forgot password flow | [email-password-auth.md](./references/email-password-auth.md#password-reset) |
| Two-Factor Auth (2FA/TOTP) | Yes (`twoFactor`) | Enhanced security | [advanced-features.md](./references/advanced-features.md#two-factor-authentication) |
| Passkeys/WebAuthn | Yes (`passkey`) | Passwordless auth | [advanced-features.md](./references/advanced-features.md#passkeys-webauthn) |
| Magic Link | Yes (`magicLink`) | Email-based login | [advanced-features.md](./references/advanced-features.md#magic-link) |
| Username Auth | Yes (`username`) | Username login | [email-password-auth.md](./references/email-password-auth.md#username-authentication) |
| Organizations/Multi-tenant | Yes (`organization`) | Team/org features | [advanced-features.md](./references/advanced-features.md#organizations) |
| Rate Limiting | No (built-in) | Prevent abuse | [advanced-features.md](./references/advanced-features.md#rate-limiting) |
| Session Management | No (built-in) | User sessions | [advanced-features.md](./references/advanced-features.md#session-management) |
## Auth Method Selection Guide
**Choose Email/Password when:**
- Building standard web app with traditional auth
- Need full control over user credentials
- Targeting users who prefer email-based accounts
**Choose OAuth when:**
- Want quick signup with minimal friction
- Users already have social accounts
- Need access to social profile data
**Choose Passkeys when:**
- Want passwordless experience
- Targeting modern browsers/devices
- Security is top priority
**Choose Magic Link when:**
- Want passwordless without WebAuthn complexity
- Targeting email-first users
- Need temporary access links
**Combine Multiple Methods when:**
- Want flexibility for different user preferences
- Building enterprise apps with various auth requirements
- Need progressive enhancement (start simple, add more options)
## Core Architecture
Better Auth uses client-server architecture:
1. **Server** (`better-auth`): Handles auth logic, database ops, API routes
2. **Client** (`better-auth/client`): Provides hooks/methods for frontend
3. **Plugins**: Extend both server/client functionality
## Implementation Checklist
- [ ] Install `better-auth` package
- [ ] Set environment variables (SECRET, URL)
- [ ] Create auth serveExcerpt, first 6,000 characters of SKILL.md, verbatim from the audited commit. It is text from someone else’s repository, quoted so you can judge it before your agent reads it.
Install
Pinned to the audited commit d655ab0
npm install better-auth npm install drizzle-orm better-auth npm install @prisma/client better-auth npm install kysely better-auth npm install mongodb better-auth
git clone https://github.com/mrgoonie/claudekit-skills git -C claudekit-skills checkout d655ab03f566
Commands as the repository documents them: shown, never run by us. Our verdict covers commit d655ab03f566 only.
Works in
The author has not said which agents this skill supports, and we have not tested it in any.
Audit history
Every audit, every source change
- ✕BLOCK D 63 / 100
first audit · source
d655ab03f566
README badge
For maintainers · shows the latest audit
[](https://modelsatlas.com/skills/mrgoonie/better-auth/)
The badge shows our verdict and grade for this skill, and links back to this page. It changes when the audit does.
Similar skills
ruvnet/claude-flow
Comprehensive GitHub code review with AI-powered swarm coordination
vercel-labs/agent-skills
Vercel's official collection of agent skills
orchestra-research/ai-research-skills
Orchestrates end-to-end autonomous AI research projects using a two-loop architecture. The inner loop runs rapid experiment iterations with clear optimization targets. The outer loop synthesizes results, identifies…
Add this badge to your README
[](https://modelsatlas.com/skills/mrgoonie/better-auth/)
<a href="https://modelsatlas.com/skills/mrgoonie/better-auth/"><img src="https://modelsatlas.com/skills/mrgoonie/better-auth/badge.svg" alt="ModelsAtlas: BLOCK D"></a>
Questions about better-auth
What does the better-auth skill do?
Is better-auth safe to install?
What can better-auth access on my machine?
How current is this page?
Sources
- github.com/mrgoonie/claudekit-skills/tree/main/.claude/skills/be — the audited source at commit d655ab03f566 and every finding aboveObserved · 23 Oct 2026
Spotted something wrong? Report a correction · Methodology
Keep going in your AI
Opens with this page as the source. We add nothing else to the prompt.
- What does the better-auth skill do?
- Is better-auth safe to install?
- What can better-auth access on my machine?