Agent skill

Clerk Setup

by growupanand in growupanand/ConvoForm

Set up Clerk authentication in any project with the Clerk CLI and official framework quickstarts.

MITAuto-check passedBackend & APIs

Install Clerk Setup

skills CLI
$ npx skills add growupanand/ConvoForm --skill clerk-setup -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install growupanand/ConvoForm clerk-setup --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/growupanand/ConvoForm.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/clerk-setup .claude/skills/clerk-setup && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
clerk-setup
GitHub stars
102
Token cost
~3k tokens
SKILL.md length
1,302 words
Files
2
Skills in repo
11
Repo updated
First seen
Licence
MIT

At a glance

Set up Clerk authentication in any project with the Clerk CLI and official framework quickstarts.

  • Works in 4 steps: Fall back to docs when init is incomplete → Add visible auth controls → Verify → …
  • Initializing Clerk
  • SKILL.md covers Before you start, Existing authentication, Existing Clerk projects and Use an existing Clerk…, plus 9 more sections
  • Calls npx, pnpm and yarn; needs CLERK_SECRET_KEY

What it does

Clerk Setup is an agent skill from growupanand/ConvoForm. Set up Clerk authentication in any project with the Clerk CLI and official framework quickstarts. Use when adding Clerk, initializing Clerk, scaffolding a new app with Clerk, or migrating an existing authentication system to Clerk.

Its SKILL.md is about 3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files (for example `evals/evals.json`). Compatibility notes: Requires Node.js 20.9.0 or later for current Clerk SDKs. The Clerk CLI can provision temporary development keys on supported frameworks without a Clerk account.

It sits in Backend & APIs, covering Project scaffolding and Authentication. It works with Next.js, shadcn/ui, Expo and React. The repository describes itself as: Turn Forms into Conversations with AI. The licence is MIT.

When your agent uses it

  • Initializing Clerk
  • Scaffolding a new app with Clerk
  • Migrating an existing authentication system to Clerk

Example prompts

  • “/clerk-setup”

Requirements

  • Node.js
  • A credential in CLERK_SECRET_KEY
  • Compatibility (from SKILL.md): Requires Node.js 20.9.0 or later for current Clerk SDKs. The Clerk CLI can provision temporary development keys on supported frameworks without a Clerk account.
  • Pre-approved tools (allowed-tools): WebFetch

Workflow steps

4 steps, taken from the step headings in SKILL.md.

  1. Fall back to docs when init is incomplete
  2. Add visible auth controls
  3. Verify
  4. If using shadcn/ui

What it can do on your machine

Read from SKILL.md and the folder at commit 36dcb51. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • WebFetch

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • npx
    • pnpm
    • yarn
    • bun
    • npm

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Links to these hosts (documentation or services it may open):

    • clerk.com
    • dashboard.clerk.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • CLERK_SECRET_KEY

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

  • Compatibility

    Requires Node.js 20.9.0 or later for current Clerk SDKs. The Clerk CLI can provision temporary development keys on supported frameworks without a Clerk account.

    From compatibility in the SKILL.md frontmatter.

Context cost

Clerk Setup loads about 3k tokens when it runs. Until then it costs about 61 tokens; SKILL.md has 1,302 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~61
When it runs · the whole SKILL.md, loaded when a task matches
~3k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from growupanand/ConvoForm at commit 36dcb51, republished under its MIT licence (© growupanand). 1,302 words, ~3,002 tokens.

Download SKILL.mdSave it as .claude/skills/clerk-setup/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
clerk-setup
description
Set up Clerk authentication in any project with the Clerk CLI and official framework quickstarts. Use when adding Clerk, initializing Clerk, scaffolding a new app with Clerk, or migrating an existing authentication system to Clerk.
allowed-tools
WebFetch
compatibility
Requires Node.js 20.9.0 or later for current Clerk SDKs. The Clerk CLI can provision temporary development keys on supported frameworks without a Clerk account.
license
MIT
metadata.author
clerk
metadata.version
2.6.0

Set up Clerk

Use the Clerk CLI to add authentication. In agent environments, supported frameworks default to accountless setup: npx -y clerk@latest init provisions a claimable application and writes temporary development keys without requiring a Clerk account.

Before you start

Show the user this checklist and wait for a yes:

Here's what I'll do to get you set up with Clerk.

1. Set up Clerk in this project, or scaffold a new app if this directory is empty.
2. Install Clerk's agent skills for the coding agents on this machine, if they aren't installed yet.
3. Start your app with Clerk installed.

Shall I proceed?

Existing authentication

Before init, inspect auth dependencies, routes, middleware, sessions, and user records — never environment files. If a different auth provider exists, stop and get approval for a migration plan covering:

  • Backend API user import, stable external IDs, compatible password hashes, and OAuth continuity.
  • Protected routes, tokens, session cutover, and rollout strategy.

Do not modify or remove existing auth without approval.

See the migration guide.

Existing Clerk projects

If the project already uses Clerk, skip init in Steps 1a and 1b: a signed-out agent run could create another application and replace the project's Clerk keys. If Clerk already works and the user asked for setup, report that no setup is needed. If the user reports missing keys, restore them through the existing-application branch below. If inspection finds missing provider, middleware, or auth routes, add only those pieces from the matching quickstart in Step 2. Never create a replacement application.

Inspect its Clerk package versions before changing anything and use the version table in the clerk skill to identify its SDK generation. Preserve that generation unless the user asks to upgrade it, and apply these differences in every step below for Core 2 projects:

  • React and Expo use @clerk/clerk-react and @clerk/clerk-expo instead of @clerk/react and @clerk/expo.
  • Control components are <SignedIn> and <SignedOut> instead of <Show>.
  • Next.js ClerkProvider can wrap <html> instead of going inside <body>.
  • The minimum Node.js version is 18.17.0 instead of 20.9.0.
  • Themes come from @clerk/themes and @clerk/themes/shadcn.css instead of @clerk/ui.

Use an existing Clerk application (optional)

Follow this branch when the user asks to use an existing Clerk application or an existing Clerk project needs its keys restored. Have them authenticate from their host terminal before targeting account-level resources:

bash
npx -y clerk@latest auth login

If they supplied an application ID, keep it for init or link as appropriate. Otherwise, list the applications:

bash
npx -y clerk@latest apps list --json

Show the names and IDs and ask which application to use. Never choose an application for them. For a new Clerk integration, pass the selected ID as --app <application_id> to init. For a project already using Clerk, do not run init. If it is not already linked to the selected application, link it:

bash
npx -y clerk@latest link --app <application_id>

For missing development keys, pull them:

bash
npx -y clerk@latest env pull

Only when the user needs production keys, use npx -y clerk@latest env pull --instance prod instead. Do not replace working keys or switch applications without the user's confirmation.

Step 1a: Existing project without Clerk

For a project that does not already use Clerk, run from the project root:

bash
npx -y clerk@latest init

init detects the framework and package manager, installs the SDK, and configures the provider, middleware, auth routes, and environment. It also installs Clerk's agent skills globally. If the user declined them, or they're already available to you, such as when you loaded this as the clerk-setup skill, add --no-skills to skip that step. Don't pass --framework or --pm unless asked. Add --app <application_id> only when the user selected an application in the optional branch above.

Step 1b: Empty directory

Ask which framework and package manager to use, defaulting to Next.js and npm:

bash
npx -y clerk@latest init --framework <framework> --pm <package-manager>

init creates the app in a new subdirectory, such as my-clerk-next-app, not in the current directory. Run the remaining steps from that subdirectory. As in Step 1a, add --no-skills if Clerk's skills are already available to you or the user declined them.

init can create Next.js, React Router, Astro, Nuxt, TanStack Start, React, Vue, JavaScript/Vite, and Expo apps. For Express, Fastify, iOS, or Android, create the project with that platform's own tooling first, then follow Step 1a.

Step 1c: Accountless development keys

For a signed-out user on a framework with accountless support (Next.js, React Router, Astro, Nuxt, or TanStack Start), init provisions a claimable application and writes temporary keys to the detected environment file. Relay the filename and claim instruction printed by the CLI. The app stays unclaimed until the user runs npx -y clerk@latest auth login; don't run it unless asked. Use --accountless only to force this flow while signed in.

Frameworks without accountless support need real API keys. There, init applies what setup it can and prints the remaining steps.

Show full SKILL.md (582 more words)Show less

Step 2: Fall back to docs when init is incomplete

If init reports the framework is unsupported or undetected, follow the quickstart instead. If it finishes but prints remaining steps, follow those, and use the matching quickstart for anything they don't cover.

For an existing Clerk project with missing integration files, use that quickstart to add only the missing pieces without running init.

init configures Next.js, React, React Router, Nuxt, TanStack Start, Astro, Vue, JavaScript/Vite, Expo, Express, and Fastify projects. For iOS and Android, it only prints setup steps, so follow the quickstart.

Use the matching direct quickstart:

For everything else, use Clerk's llms.txt.

Step 3: Add visible auth controls

Skip this step for backend-only projects, such as Express or Fastify APIs. For Expo, iOS, and Android, use the native components from the matching quickstart instead.

A web app needs sign-in, sign-up, and signed-in user controls, worked into the existing layout or navigation. If they already exist, adapt them instead of duplicating.

For Next.js App Router:

text
import { SignInButton, SignUpButton, Show, UserButton } from '@clerk/nextjs'

<>
  <Show when="signed-out">
    <SignInButton />
    <SignUpButton />
  </Show>
  <Show when="signed-in">
    <UserButton />
  </Show>
</>

Astro imports from @clerk/astro/components. Nuxt auto-imports the components; explicit imports come from @clerk/nuxt/components. Other frameworks use the same names from their Clerk package, such as @clerk/vue or @clerk/react.

Step 4: Verify

bash
npx -y clerk@latest doctor

Then start the app, confirm the auth controls render, and fix anything the CLI reports.

Bot protection can block sign-ups in browsers you automate. If you test a new accountless app in one, run npx -y clerk@latest users create --email <unique>+clerk_test@example.com --password <random-16-char-alphanumeric> --yes, then sign in. If asked for a verification code, enter 424242. Tell the user you created this test user. For an existing app, ask the user before creating users. To test sign-up, use @clerk/testing.

Step 5: If using shadcn/ui

If components.json exists in the project root, add @clerk/ui with the project's package manager. Match the lockfile: pnpm-lock.yaml → pnpm add, yarn.lock → yarn add, bun.lock or bun.lockb → bun add, package-lock.json → npm install.

Apply the theme in your provider:

text
import { shadcn } from '@clerk/ui/themes'

<ClerkProvider appearance={{ theme: shadcn }}>{children}</ClerkProvider>

Add to global CSS:

css
@import '@clerk/ui/themes/shadcn.css';

Critical rules

  • Use Node.js 20.9.0 or later for current Clerk SDKs.
  • Next.js 15+: auth() is async. Always await auth().
  • For current Next.js SDKs, ClerkProvider goes inside <body>, not around <html>.
  • Never expose CLERK_SECRET_KEY in client code.
  • For fresh setups, use the current framework package, such as @clerk/nextjs, @clerk/react, @clerk/expo, @clerk/react-router, or @clerk/tanstack-react-start.
  • Do not read or print existing environment variable files; ask the user for any missing non-sensitive configuration.

After setup

Have the user sign up as their first test user. Congratulate them once the profile icon appears in the nav.

Then ask how they want users to sign up and sign in — identifiers (email, phone, username) and social providers. Changing these needs a claimed application: have the user run npx -y clerk@latest auth login first, then review with npx -y clerk@latest config pull and change with npx -y clerk@latest config patch (supports --dry-run), or use the Clerk Dashboard. See sign-up and sign-in options for details.

Before production, have the user claim the app with npx -y clerk@latest auth login, then configure production with npx -y clerk@latest deploy. Unclaimed apps and temporary keys aren't production-ready.

Then offer Organizations — multi-tenancy, team invitations, roles and permissions, and enterprise SSO.

If yes:

  1. Run npx -y clerk@latest enable orgs.
  2. Add <OrganizationSwitcher /> next to the existing <UserButton />, or the framework equivalent.
  3. Have them create an organization from the switcher and invite a teammate.

If no, point them to Organizations, Components, and the Clerk Dashboard.

© growupanand, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file in .agents/skills/clerk-setup of growupanand/ConvoForm.

  • SKILL.md
  • evals/evals.json

Open the folder on GitHubat commit 36dcb51

Compare with similar skills

Clerk Setup next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Clerk Setup compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Clerk Setup this skillgrowupanand/ConvoForm102—~3kAutomated safety check: PassMIT
Fullstack DevHHU3637kr/skills1453 repos~8.6kAutomated safety check: NotesMIT
Fullstack Devinfometa/workbuddyskills346—~1kAutomated safety check: PassMIT
Convex Quickstartwaynesutton/markdown-site628—~1.2kAutomated safety check: NotesMIT
Supabasecurvenote/curvenote1705 repos~2.2kAutomated safety check: PassCustom licence
Web3authWeb3Auth/web3auth-examples144—~1.4kAutomated safety check: PassMIT

Similar skills

  • Fullstack Dev

    HHU3637kr/skills

    Full-stack backend architecture and frontend-backend integration guide.

    145 GitHub starsUsed in 3 repos~8.6k tokens
    Backend & APIsAuto-check: notes
  • Fullstack Dev

    infometa/workbuddyskills

    Full-stack backend architecture and frontend-backend integration guide.

    346 GitHub stars~1k tokensUpdated yesterday
    Backend & APIsAuto-check passed
  • Convex Quickstart

    waynesutton/markdown-site

    Initialize a new Convex project from scratch or add Convex to an existing app.

    628 GitHub stars~1.2k tokensUpdated 4 mo ago
    Frontend & DesignAuto-check: notes
  • Supabase

    curvenote/curvenote

    A skill your agent uses when doing ANY task involving Supabase.

    170 GitHub starsUsed in 5 repos~2.2k tokens
    Backend & APIsAuto-check passed
  • Web3auth

    Web3Auth/web3auth-examples

    Integrates MetaMask Embedded Wallets (Web3Auth) for non-custodial wallets via social login or custom JWT (Firebase, Auth0, Cognito).

    144 GitHub stars~1.4k tokensUpdated 6 days ago
    Backend & APIsAuto-check passed
  • Frontend Patterns Template

    bybren-llc/safe-agentic-workflow

    Frontend patterns for modern web frameworks, component libraries, auth flows, and analytics. Use when building UI components, creating pages, implementing…

    423 GitHub stars~2k tokensUpdated 2 mo ago
    Frontend & DesignAuto-check passed

More from growupanand/ConvoForm

All 11 skills in this repo
  • Animate

    growupanand/ConvoForm

    Review a feature and enhance it with purposeful animations, micro-interactions, and motion effects that improve usability and delight.

    102 GitHub starsUsed in 6 repos~1.9k tokens
    Auto-check passed
  • Critique

    growupanand/ConvoForm

    Evaluate design from a UX perspective, assessing visual hierarchy, information architecture, emotional resonance, cognitive load, and overall quality with quantitative scoring, persona-based…

    102 GitHub starsUsed in 4 repos~3.4k tokens
    Auto-check passed
  • Audit

    growupanand/ConvoForm

    Run technical quality checks across accessibility, performance, theming, responsive design, and anti-patterns.

    102 GitHub starsUsed in 6 repos~1.9k tokens
    Auto-check passed
  • Colorize

    growupanand/ConvoForm

    Add strategic color to features that are too monochromatic or lack visual interest, making interfaces more engaging and expressive.

    102 GitHub starsUsed in 6 repos~1.7k tokens
    Auto-check passed
  • Clerk Orgs

    growupanand/ConvoForm

    Clerk Organizations for B2B and multi-tenant apps - org switching, roles and permissions, verified domains, and enterprise SSO.

    102 GitHub stars~5.4k tokensUpdated 3 days ago
    Auto-check passed
  • Drizzle Orm

    growupanand/ConvoForm

    Type-safe SQL ORM for TypeScript with zero runtime overhead. An agent skill from growupanand/ConvoForm.

    102 GitHub starsUsed in 1 repo~2.7k tokens
    Auto-check passed

Questions about Clerk Setup

What does Clerk Setup do?

Set up Clerk authentication in any project with the Clerk CLI and official framework quickstarts. Clerk Setup is an agent skill from growupanand/ConvoForm. Set up Clerk authentication in any project with the Clerk CLI and official framework quickstarts.

When should I use Clerk Setup?

Clerk Setup fits situations like: initializing Clerk; scaffolding a new app with Clerk; migrating an existing authentication system to Clerk.

How do I install Clerk Setup in Claude Code?

Run `npx skills add growupanand/ConvoForm --skill clerk-setup -a claude-code`. Or copy the skill folder (.agents/skills/clerk-setup in growupanand/ConvoForm) into .claude/skills/clerk-setup in your project. Claude Code loads it when a task matches its description.

How do I install Clerk Setup in Codex?

Run `npx skills add growupanand/ConvoForm --skill clerk-setup -a codex`. Or copy the skill folder (.agents/skills/clerk-setup in growupanand/ConvoForm) into .agents/skills/clerk-setup in your project. Codex loads it when a task matches its description.

Can I use Clerk Setup in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add growupanand/ConvoForm --skill clerk-setup -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/clerk-setup, .gemini/skills/clerk-setup, .github/skills/clerk-setup and .opencode/skills/clerk-setup in your project.

What does Clerk Setup need to run?

Going by SKILL.md and its folder, Clerk Setup needs the command-line tools its instructions call (npx, pnpm, yarn, bun and npm) and credentials named CLERK_SECRET_KEY. Our summary lists: Node.js; A credential in CLERK_SECRET_KEY. Its frontmatter pre-approves these tools: WebFetch. Compatibility (from SKILL.md): Requires Node.js 20.9.0 or later for current Clerk SDKs. The Clerk CLI can provision temporary development keys on supported frameworks without a Clerk account..

Does Clerk Setup access the network?

SKILL.md names 2 domains. As links in the text: clerk.com and dashboard.clerk.com. This is read from the text; nothing was executed.

Is Clerk Setup safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Clerk Setup use?

Clerk Setup is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Clerk Setup use?

About 3k tokens (SKILL.md is roughly 12k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Clerk Setup?

Skills that share tags, products or a category with Clerk Setup: Fullstack Dev (HHU3637kr/skills, 145 stars), Fullstack Dev (infometa/workbuddyskills, 346 stars), Convex Quickstart (waynesutton/markdown-site, 628 stars) and Supabase (curvenote/curvenote, 170 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Clerk Setup?

growupanand (a GitHub user) maintains it in growupanand/ConvoForm, which has 102 GitHub stars. The repository holds 11 skills in this directory. The repository was last updated on October 6, 2026.

Source: growupanand/ConvoForm on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.