用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/midudev/autoskills --skill clerk-setup命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
Production patterns for FastMCP Python MCP servers. Use when writing, improving, or debugging FastMCP Python code — tool schema design, multi-operation tools, pre-formatted output, Context usage, middleware, lifespan and startup/shutdown hooks, partial failure handling, running and deploying, async patterns, in-process testing with fastmcp.Client, and common mistakes. Do NOT activate for general questions about what MCP is, MCP concepts, or building an MCP server from scratch (use mcp-builder for that).
Create backend with ElysiaJS, a type-safe, high-performance framework.
Turborepo monorepo build system guidance. Triggers on: turbo.json, task pipelines, dependsOn, caching, remote cache, the "turbo" CLI, --filter, --affected, CI optimization, environment variables, internal packages, monorepo structure/best practices, and boundaries. Use when user: configures tasks/workflows/pipelines, creates packages, sets up monorepo, shares code between apps, runs changed/affected packages, debugs cache, or has apps/packages directories.
基于 SOC 职业分类
正在显示 SKILL.md
| name | clerk-setup |
| description | Add Clerk authentication to any project by following the official quickstart guides. |
| license | MIT |
| allowed-tools | WebFetch |
| metadata | {"author":"clerk","version":"2.3.0"} |
Version: Check
package.jsonfor the SDK version — seeclerkskill for the version table. Core 2 differences are noted inline with> **Core 2 ONLY (skip if current SDK):**callouts.
This skill sets up Clerk for authentication by following the official quickstart documentation.
| Step | Action |
|---|---|
| 1. Detect framework | Check package.json dependencies |
| 2. Fetch quickstart | Use WebFetch on the appropriate docs URL |
| 3. Follow instructions | Execute steps; create proxy.ts (Next.js <=15: middleware.ts) |
| 4. Get API keys | From dashboard.clerk.com |
If the project has
components.json(shadcn/ui), apply the shadcn theme after setup. Seeclerk-custom-uiskill → shadcn Theme.
Check package.json to identify the framework:
| Dependency | Framework | Quickstart URL |
|---|---|---|
next | Next.js | https://clerk.com/docs/nextjs/getting-started/quickstart |
@remix-run/react | Remix | https://clerk.com/docs/remix/getting-started/quickstart |
astro | Astro | https://clerk.com/docs/astro/getting-started/quickstart |
nuxt | Nuxt | https://clerk.com/docs/nuxt/getting-started/quickstart |
react-router | React Router | https://clerk.com/docs/react-router/getting-started/quickstart |
@tanstack/react-start | TanStack Start | https://clerk.com/docs/tanstack-react-start/getting-started/quickstart |
react (no framework) | React SPA | https://clerk.com/docs/react/getting-started/quickstart |
vue | Vue | https://clerk.com/docs/vue/getting-started/quickstart |
express | Express | https://clerk.com/docs/expressjs/getting-started/quickstart |
fastify | Fastify | https://clerk.com/docs/fastify/getting-started/quickstart |
expo | Expo | https://clerk.com/docs/expo/getting-started/quickstart |
For other platforms:
https://clerk.com/docs/chrome-extension/getting-started/quickstarthttps://clerk.com/docs/android/getting-started/quickstarthttps://clerk.com/docs/ios/getting-started/quickstarthttps://clerk.com/docs/js-frontend/getting-started/quickstartUser Request: "Add Clerk" / "Add authentication"
│
├─ Read package.json
│
├─ Existing auth detected?
│ ├─ YES → Audit → Migration plan
│ └─ NO → Fresh install
│
├─ Identify framework → WebFetch quickstart → Follow instructions
│ └─ Next.js? → Create proxy.ts (Next.js <=15: middleware.ts)
│
└─ components.json exists? → YES → Apply shadcn theme (see clerk-custom-ui)
Read the project's package.json and match dependencies to the table above.
Use WebFetch to retrieve the official quickstart for the detected framework:
WebFetch: https://clerk.com/docs/{framework}/getting-started/quickstart
Prompt: "Extract the complete setup instructions including all code snippets, file paths, and configuration steps."
Execute each step from the quickstart guide:
Next.js: Create
proxy.ts(Next.js <=15:middleware.ts). See theclerk-nextjs-patternsskill for middleware strategies.
shadcn/ui detected (
components.jsonexists): ALWAYS apply the shadcn theme. Seeclerk-custom-uiskill → shadcn Theme section.
Two paths for development API keys:
Keyless (Automatic)
Manual (Dashboard)
pk_test_ or pk_live_sk_test_ or sk_live_NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY and CLERK_SECRET_KEYIf the project already has authentication, create a migration plan before replacing it.
Check package.json for existing auth libraries:
next-auth / @auth/core → NextAuth/Auth.js@supabase/supabase-js → Supabase Authfirebase / firebase-admin → Firebase Auth@aws-amplify/auth → AWS Cognitoauth0 / @auth0/nextjs-auth0 → Auth0passport → Passport.jsAudit current auth - Identify all auth touchpoints:
Create migration plan - Consider:
external_id in ClerkChoose migration strategy:
| Package | Install |
|---|---|
| Next.js | @clerk/nextjs |
| React | @clerk/react |
| Expo | @clerk/expo |
| React Router | @clerk/react-router |
| TanStack Start | @clerk/tanstack-react-start |
Core 2 ONLY (skip if current SDK): React and Expo packages have different names:
@clerk/clerk-reactand@clerk/clerk-expo(withclerk-prefix).
ClerkProvider must be placed inside <body>, not wrapping <html>:
// root layout.tsx
export default function RootLayout({ children }) {
return (
<html>
<body>
<ClerkProvider>{children}</ClerkProvider>
</body>
</html>
)
}
Core 2 ONLY (skip if current SDK):
ClerkProvidercan wrap<html>directly.
For dynamic rendering with auth data, use the dynamic prop:
<ClerkProvider dynamic>{children}</ClerkProvider>
Requires Node.js 20.9.0 or higher.
Core 2 ONLY (skip if current SDK): Minimum Node.js 18.17.0.
Themes are installed from @clerk/ui:
npm install @clerk/ui
Core 2 ONLY (skip if current SDK): Themes are from
@clerk/themesinstead of@clerk/ui.
If the project uses shadcn/ui (check for components.json in the project root), apply the shadcn theme so Clerk components match the app's design system:
npm install @clerk/ui
import { shadcn } from '@clerk/ui/themes'
<ClerkProvider appearance={{ theme: shadcn }}>{children}</ClerkProvider>
Also import the shadcn CSS in your global styles:
@import 'tailwindcss';
@import '@clerk/ui/themes/shadcn.css';
Core 2 ONLY (skip if current SDK): Import from
@clerk/themesand@clerk/themes/shadcn.cssinstead.
| Level | Issue | Solution |
|---|---|---|
| CRITICAL | Missing await on auth() | In Next.js 15+, auth() is async: const { userId } = await auth() |
| CRITICAL | Exposing CLERK_SECRET_KEY | Never use secret key in client code; only NEXT_PUBLIC_* keys are safe |
| HIGH | Missing middleware matcher | Include API routes: `matcher: ['/((?!.\.. |
| HIGH | ClerkProvider placement | Must be inside <body> in root layout (Core 2: could wrap <html>) |
| HIGH | Auth routes not public | Allow /sign-in, /sign-up in middleware config |
| HIGH | Landing page requires auth | To keep "/" public, exclude it: `matcher: ['/((?!.\.. |
| MEDIUM | Wrong import path | Server code uses @clerk/nextjs/server, client uses @clerk/nextjs |
| MEDIUM | Wrong package name | Use @clerk/react not @clerk/clerk-react (Core 2 naming) |
clerk-custom-ui - Custom sign-in/up componentsclerk-nextjs-patterns - Advanced Next.js patternsclerk-react-patterns - React SPA patternsclerk-react-router-patterns - React Router patternsclerk-vue-patterns - Vue patternsclerk-nuxt-patterns - Nuxt patternsclerk-astro-patterns - Astro patternsclerk-tanstack-patterns - TanStack Start patternsclerk-expo-patterns - Expo patternsclerk-chrome-extension-patterns - Chrome Extension patternsclerk-orgs - B2B multi-tenant organizationsclerk-webhooks - Webhook → database syncclerk-testing - E2E testing setupclerk-swift - Native iOS authclerk-android - Native Android authclerk-backend-api - Backend REST API explorer