Clerk Skills

Documentation Discord Follow on X

Skills to help AI coding agents work more effectively with Clerk.

--- Skills follow the [Agent Skills](https://agentskills.io/) format. ## Install The `clerk` plugin bundles every skill plus the [Clerk MCP server](https://mcp.clerk.com/mcp). `npx skills` installs the skills alone, into any agent. ### Agent Skills ```bash npx skills add clerk/skills ``` ### Claude Code ```bash /plugin marketplace add clerk/skills /plugin install clerk@clerk-skills ``` To get updates automatically, open `/plugin`, go to **Marketplaces**, select `clerk-skills`, and enable auto-update. ### Codex ```bash codex plugin marketplace add clerk/skills codex plugin add clerk@clerk ``` `clerk` replaces the earlier `clerk-skills@clerk` plugin, which no longer updates. To switch, run `codex plugin remove clerk-skills@clerk`, then add `clerk@clerk`. ### Cursor ```bash cursor-agent plugin marketplace add https://github.com/clerk/skills ``` Then install `clerk` from `/plugin`, or from **Customize** in the editor. ### GitHub Copilot CLI ```bash copilot plugin marketplace add clerk/skills copilot plugin install clerk@clerk-skills ``` `clerk` replaces the earlier `core`, `frameworks`, `features`, and `mobile` plugins. Copilot moves those installs to `clerk@clerk-skills` but leaves it disabled, so run `copilot plugin enable clerk@clerk-skills` once. ## Skills ### Core | Skill | Purpose | When to Use | |-------|---------|-------------| | `/clerk` | **Router** - Routes to the right skill | Always start here | | `clerk-cli` | Clerk CLI operations | Users, orgs, apps, env keys, deploy checks | | `clerk-setup` | Add Clerk to any framework | New projects, framework setup | | `clerk-custom-ui` | Custom sign-in/up and appearance | Building custom forms, styling | | `clerk-backend-api` | Backend REST API explorer | Browsing or calling API endpoints | ### Framework Patterns | Skill | Framework | Patterns | |-------|-----------|----------| | `clerk-nextjs-patterns` | Next.js | Middleware, Server Actions, caching | | `clerk-react-patterns` | React | Hooks, auth guards, protected routes | | `clerk-react-router-patterns` | React Router | Loaders, actions, route protection | | `clerk-vue-patterns` | Vue | Composables, Pinia integration | | `clerk-nuxt-patterns` | Nuxt | Server middleware, SSR auth | | `clerk-astro-patterns` | Astro | SSR auth, island components | | `clerk-tanstack-patterns` | TanStack Start | Server functions, route protection | | `clerk-chrome-extension-patterns` | Chrome Extension | Background scripts, popup auth | ### Features | Skill | Purpose | When to Use | |-------|---------|-------------| | `clerk-orgs` | Multi-tenant B2B organizations | Team workspaces, RBAC | | `clerk-billing` | Subscription billing and feature gating | Pricing tables, plans, per-seat, entitlements | | `clerk-webhooks` | Real-time events and data syncing | Database sync, notifications | | `clerk-testing` | E2E testing for auth flows | Playwright/Cypress tests | ### Native Mobile | Skill | Platform | Patterns | |-------|----------|----------| | `clerk-swift` | iOS, macOS | ClerkKitUI views, custom ClerkKit flows, Sign in with Apple | | `clerk-android` | Android | Kotlin, Jetpack Compose | | `clerk-expo` | Expo / React Native | Native components, custom flows, SMS OTP, OAuth | ## Quick Start ### 1. Ask Your Agent to Add Clerk After installing Clerk Skills, ask your coding agent to add Clerk authentication to your app. The [`clerk-setup`](skills/clerk-setup/SKILL.md) skill sets up Clerk in an existing project, scaffolds a new app in an empty directory, and can link an existing Clerk application instead of creating a new one. For a new project on a supported framework, `clerk init` can start without a Clerk account or browser login. See [Accountless development keys](skills/clerk-setup/SKILL.md#step-1c-accountless-development-keys) for how temporary keys and later account claiming work. ### 2. Example Requests | You Say | Skill Used | |---------|------------| | "List Clerk users" | `clerk-cli` | | "Add Clerk auth to my Next.js app" | `clerk-setup` | | "Use Server Actions with Clerk" | `clerk-nextjs-patterns` | | "Add Clerk to my Vue app" | `clerk-vue-patterns` | | "Add Clerk to my Nuxt app" | `clerk-nuxt-patterns` | | "Add auth to my Expo app" | `clerk-expo` | | "Add phone SMS auth to my Expo app" | `clerk-expo` | | "Add Clerk to my Astro site" | `clerk-astro-patterns` | | "Build custom sign-in form" | `clerk-custom-ui` | | "Sync users to Prisma via webhooks" | `clerk-webhooks` | | "Add Playwright tests for auth" | `clerk-testing` | | "Set up organizations for my B2B app" | `clerk-orgs` | | "Add subscription billing with pricing table" | `clerk-billing` | | "Gate features by plan" | `clerk-billing` | | "Add Clerk auth to my iOS app" | `clerk-setup` | | "Add a custom sign-in screen to my SwiftUI app" | `clerk-swift` | | "Add Clerk auth to my Android app" | `clerk-android` | ## Repository Structure ``` clerk-skills/ # the repo root is the plugin root ├── skills/ # one folder per skill, flat │ ├── clerk/ # Router skill │ ├── clerk-setup/ │ ├── clerk-nextjs-patterns/ │ └── ... ├── plugin.json # Agent Plugins 1.0.0 manifest ├── mcp.json # Agent Plugins MCP config ├── .mcp.json # Claude Code and older Codex MCP config ├── .claude-plugin/ # plugin.json + marketplace.json ├── .cursor-plugin/ # plugin.json + marketplace.json ├── .codex-plugin/plugin.json ├── .agents/plugins/marketplace.json # Codex marketplace ├── scripts/ # CI checkers, run with pnpm run check └── README.md ``` ## Contributing This repo uses [pnpm](https://pnpm.io). If you've enabled Corepack, run `corepack disable pnpm` first; Corepack can't run pnpm 12. [Install pnpm](https://pnpm.io/installation), then run: ```bash pnpm install pnpm test # test the checkers pnpm run check # validate the skills ``` ## Resources - [Clerk Docs](https://clerk.com/docs) - [Dashboard](https://dashboard.clerk.com) - [Discord](https://clerk.com/discord) ## Request a Skill Don't see what you need? [Request a skill](https://github.com/clerk/skills/issues/new?template=skill-request.md). ## License MIT