clerk-custom-ui

Build custom Clerk sign-in and sign-up flows and style authentication components.

Updated Aug 7, 2026
One-click install
npx skills add https://github.com/Ramadan-Elgamal/Autobees --skill clerk-custom-ui-ramadan-elgamal
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: clerk-custom-ui
Source: https://github.com/Ramadan-Elgamal/Autobees/tree/main/.agents/skills/clerk-custom-ui
Command: npx skills add https://github.com/Ramadan-Elgamal/Autobees --skill clerk-custom-ui-ramadan-elgamal

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires @clerk/ui, @clerk/nextjs, and includes references (resource) components.

What problem does it solve? Developers using Clerk often need authentication UI that matches their brand or requires fully custom flows beyond the pre-built components. This Skill provides version-aware guidance for building custom sign-in/sign-up experiences with hooks and styling Clerk components via the appearance prop. ## Core Features & Use Cases - Custom Authentication Flows: Build your own sign-in and sign-up UI using useSignIn and useSignUp hooks, with separate references for Core 2 (v5–v6) and the current SDK (v7+), covering password, SSO, passkey, Web3, MFA, and password reset. - Appearance Customization: Theme, color, font, and layout customization of Clerk's pre-built components via the appearance prop, including pre-built themes like shadcn, dark, and neobrutalism. - Conditional Rendering: Use the <Show> component to render content based on auth state, roles, permissions, plans, and features. - Use Case: Your Next.js app uses shadcn/ui and needs a branded login page with email OTP and MFA. The Skill detects the shadcn setup, applies the matching theme, and walks you through the correct SDK-version custom flow. ## Quick Start Ask the AI to build a custom Clerk sign-in page with email and password that matches my app's shadcn theme.

Frequently Asked Questions about clerk-custom-ui

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I build a custom sign-in page with Clerk?

Use the useSignIn hook from @clerk/nextjs to build a custom sign-in flow. In the current SDK, call signIn.password() with the identifier and password, handle MFA via signIn.mfa methods, then call signIn.finalize() to activate the session.

How do I customize Clerk component colors and themes?

Pass the appearance prop to Clerk components with variables like colorPrimary and borderRadius, or use pre-built themes from @clerk/ui such as dark, shadcn, and neobrutalism. Themes can be stacked as an array where the last one takes precedence.

Does Clerk work with shadcn/ui?

Yes, Clerk provides an official shadcn theme in @clerk/ui. Import it with `import { shadcn } from '@clerk/ui/themes'`, pass it to ClerkProvider's appearance prop, and add `@import "@clerk/ui/themes/shadcn.css"` to your global styles.

What is the difference between Clerk Core 2 and the current SDK hooks?

Core 2 (v5–v6) uses signIn.create(), prepareFirstFactor, and setActive, while the current SDK (v7+) uses namespaced methods like signIn.password(), signIn.mfa.verifyTOTP(), and signIn.finalize(). Error handling also changed from try/catch to structured errors objects returned by the hooks.

Why is my Clerk appearance customization not applying?

Common causes include using primaryColor instead of colorPrimary, or placing logoImageUrl at the wrong level. In the current SDK, logoImageUrl and socialButtonsVariant go inside options, while Core 2 uses the layout property instead.

Is the Clerk Show component a security boundary?

No, the Show component only visually hides content and it remains in the browser source. For protecting sensitive data, always verify authentication server-side with auth() or use auth.protect() in middleware.