integrate-holeauth
Provides a modular path for integrating authentication features like passkeys, RBAC, and SSO into web applications.
Install
mkdir -p .claude/skills/integrate-holeauth && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/18515" && unzip -o skill.zip -d .claude/skills/integrate-holeauth && rm skill.zipInstalls to .claude/skills/integrate-holeauth
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Entry-point skill for adding holeauth authentication to an existing project. Use when: adding authentication, setting up auth, integrating holeauth, installing holeauth, adding login, adding 2FA, adding passkeys, adding RBAC, adding SSO, becoming an OIDC provider, consuming an OIDC provider, adding sessions. Asks what features are needed and routes to the right per-package skills.Key capabilities
- →Interview users about framework and persistence needs
- →Route to appropriate per-package integration skills
- →Generate superuser bootstrap artifacts
- →Provide a verification checklist for authentication setup
- →Integrate holeauth core authentication
How it works
The skill interviews the user to gather project details and authentication requirements, then dispatches to specific per-package integration skills in a defined order. It also generates superuser bootstrap artifacts and provides a verification checklist.
Inputs & outputs
When to use integrate-holeauth
- →Adding 2FA to a project
- →Implementing RBAC and user roles
- →Setting up OIDC authentication
About this skill
Integrate holeauth
Dispatcher skill. Interviews the user, then loads the appropriate per-package integration skills in dependency order.
When NOT to use
- Starting a brand-new Next.js project from scratch → use
bootstrap-nextjs-holeauthinstead. - Building a custom holeauth plugin → use
holeauth-plugin-design.
Source of truth
Implementation details live in the docs. Fetch them on demand:
- Docs root:
https://docs.holeauth.dev/docs - Search API:
GET https://docs.holeauth.dev/api/search?q=<term> - Reference auth setup:
apps/playground/lib/auth.tsin the holeauth repo.
Procedure
Step 1 — Interview
Use vscode_askQuestions with these questions. Never assume defaults — always ask.
| # | Variable | Type | Options |
|---|---|---|---|
| 1 | framework | radio | Next.js App Router (recommended) / Next.js Pages Router / Express / Hono / Other (bail) |
| 2 | persistence | radio | Drizzle Postgres / Drizzle MySQL / Drizzle SQLite / Headless (BYO adapter) |
| 3 | usersTable | radio | Existing application table (ask for path) / Scaffold app_users |
| 4 | plugins | multi-select | 2FA · Passkeys · RBAC · IDP server · IDP consumer · (none) |
| 5 | trpc | radio | Yes / No |
| 6 | ssoProviders | multi-select | Google · GitHub · None (these are CORE providers — not the IDP consumer) |
| 7 | useReactUi | radio | Yes — use @holeauth/react-ui headless components · No — build own UI |
| 7b | uiStyle (only if useReactUi === Yes) | radio | Tailwind CSS · CSS Modules · Inline styles (unstyled) |
| 8 | registration | radio | Self-serve · Invite-only · Both |
| 9 | superuser | radio | Seed script · Bootstrap CLI · Env-driven · Manual SQL · None |
| 10 | basePath | text | default /api/auth |
| 11 | middleware | radio | protectAllExcept (recommended) · refresh-only · None |
Step 2 — Route to per-package skills
Run skills in this strict order. Each loaded skill inherits the answers from Step 1.
- Always:
integrate-holeauth-core - If
pluginsincludes 2FA:integrate-holeauth-2fa - If
pluginsincludes Passkeys:integrate-holeauth-passkey - If
pluginsincludes RBAC:integrate-holeauth-rbac - If
pluginsincludes IDP server:integrate-holeauth-idp - If
pluginsincludes IDP consumer:integrate-holeauth-idp-consumer - If
trpc === Yes:integrate-holeauth-trpc
If framework is Express or Hono: do NOT bail. The integrate-holeauth-core skill supports these frameworks. Pass the framework variable through and the core skill will reference the correct platform adapter and docs.
Step 3 — Superuser bootstrap
Based on the superuser choice, write the corresponding artifact:
- Seed script →
scripts/seed.tswith atsxshebang that creates the first user and assigns the admin group (only valid if RBAC was selected). - Bootstrap CLI →
scripts/bootstrap-admin.tsthat reads CLI args / prompts for email + password. - Env-driven →
scripts/promote-from-env.tsreadingBOOTSTRAP_ADMIN_EMAILon first boot. - Manual SQL → emit a
docs/SUPERUSER.mdwith the exact SQL. - None → skip.
Step 4 — Verification checklist
Print this checklist back to the user. They run the commands; you don't.
[ ] pnpm install completed without peer-dep warnings
[ ] Drizzle migration generated and applied (pnpm db:push or drizzle-kit push)
[ ] Auth route handler responds at <basePath>/... (e.g. GET /api/auth/.well-known/openid-configuration)
[ ] Middleware is in place and protects authenticated routes
[ ] HoleauthProvider wraps the app in the root layout
[ ] /login page exists and loads (200 — no 404)
[ ] /register page exists and loads (if registration is self-serve or both)
[ ] /(guest)/layout.tsx (or equivalent) redirects authenticated users away from guest routes
[ ] Sign-up flow completes end-to-end
[ ] Sign-in flow completes end-to-end
[ ] If 2FA selected: /2fa/verify page exists; TOTP code accepted after sign-in
[ ] If Passkeys selected: passkey register and login pages exist and work
[ ] If RBAC selected: default group auto-assigned after registration
[ ] Font set in root layout (not browser default serif)
[ ] Superuser created (if applicable)
[ ] Required env vars set: HOLEAUTH_SECRET, DATABASE_URL, APP_URL
[ ] pnpm typecheck passes
[ ] pnpm build succeeds
Hard constraints
- Never invent options. If unsure, ask. Never write
defineHoleauthdirectly in Next.js setups — usecreateAuthHandlerfrom@holeauth/nextjs-app-router. - Plugin factory names:
twofa,passkey,rbac,idp. Adapter factories:createHoleauthAdapters,createRbacAdapter,createTwoFactorAdapter,createPasskeyAdapter,createIdpAdapter— all take{ db, tables }. - Plugins array must be
as constfor full TypeScript inference ofauth.<pluginKey>.<method>(). cookiePrefixmust be identical increateAuthHandler,holeauthMiddleware, andHoleauthProvider.
Need more detail?
GET https://docs.holeauth.dev/api/search?q=<topic>
Example queries: account linking, audit log, refresh rotation, csrf, events.
When not to use it
- →When starting a brand-new Next.js project from scratch
- →When building a custom holeauth plugin
- →When the user does not want to integrate holeauth authentication
Limitations
- →Does not support starting a brand-new Next.js project from scratch
- →Does not support building custom holeauth plugins
- →Requires user input for all configuration options; never assumes defaults
How it compares
This skill acts as a dispatcher, dynamically routing to specialized integration skills based on user input, which is more tailored and efficient than manually configuring each authentication component.
Compared to similar skills
integrate-holeauth side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| integrate-holeauth (this skill) | 0 | 2mo | No flags | Intermediate |
| 1password | 27 | 2mo | Review | Intermediate |
| security-compliance | 19 | 7mo | Review | Advanced |
| information-security-manager-iso27001 | 11 | 7mo | Review | Advanced |
Try saying
Example prompts that trigger this skill in your AI assistant.
You might also like
1password
openclaw
Set up and use 1Password CLI (op). Use when installing the CLI, enabling desktop app integration, signing in (single or multi-account), or reading/injecting/running secrets via op.
security-compliance
davila7
Guides security professionals in implementing defense-in-depth security architectures, achieving compliance with industry frameworks (SOC2, ISO27001, GDPR, HIPAA), conducting threat modeling and risk assessments, managing security operations and incident response, and embedding security throughout the SDLC.
information-security-manager-iso27001
davila7
Senior Information Security Manager specializing in ISO 27001 and ISO 27002 implementation for HealthTech and MedTech companies. Provides ISMS implementation, cybersecurity risk assessment, security controls management, and compliance oversight. Use for ISMS design, security risk assessments, control implementation, and ISO 27001 certification activities.
cursor-sso-integration
jeremylongshore
Configure SSO and enterprise authentication in Cursor. Triggers on "cursor sso", "cursor saml", "cursor oauth", "enterprise cursor auth", "cursor okta". Use when working with cursor sso integration functionality. Trigger with phrases like "cursor sso integration", "cursor integration", "cursor".
springboot-security
affaan-m
Spring Security best practices for authn/authz, validation, CSRF, secrets, headers, rate limiting, and dependency security in Java Spring Boot services.
django-security
affaan-m
Django security best practices, authentication, authorization, CSRF protection, SQL injection prevention, XSS prevention, and secure deployment configurations.