Agent skill

Clerk Webhooks

by vvedantb in vvedantb/eva

Clerk webhooks for real-time events and data syncing. An agent skill from vvedantb/eva.

MITAuto-check passedBackend & APIs

Install Clerk Webhooks

skills CLI
$ npx skills add vvedantb/eva --skill clerk-webhooks -a claude-code

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

GitHub CLI
$ gh skill install vvedantb/eva clerk-webhooks --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/vvedantb/eva.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/clerk-webhooks .claude/skills/clerk-webhooks && 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-webhooks
GitHub stars
101
Token cost
~1.2k tokens
SKILL.md length
336 words
Files
2
Skills in repo
23
Repo updated
First seen
Licence
MIT

At a glance

Clerk webhooks for real-time events and data syncing. An agent skill from vvedantb/eva.

  • Works in 5 steps: Create endpoint at… → Use verifyWebhook(req) from… → Dashboard → Webhooks → Add Endpoint → …
  • Tasks that involve Webhooks
  • SKILL.md covers Documentation Reference, Quick Start, Supported Events and When to Sync, plus 4 more sections
  • Needs CLERK_WEBHOOK_SIGNING_SECRET

What it does

Clerk Webhooks is an agent skill from vvedantb/eva. Clerk webhooks for real-time events and data syncing. Listen for user creation, updates, deletion, and organization events. Build event-driven features like database sync, notifications, integrations.

Its SKILL.md is about 1.2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files (for example `.claude-plugin/plugin.json`).

It sits in Backend & APIs, covering Webhooks and Event-driven systems. It works with Clerk. The repository describes itself as: Orchestrate sandboxed agents that run in the cloud while you work. The licence is MIT.

When your agent uses it

  • Tasks that involve Webhooks
  • Tasks that involve Event-driven systems

Example prompts

  • “/clerk-webhooks”

Requirements

  • A credential in CLERK_WEBHOOK_SIGNING_SECRET
  • Pre-approved tools (allowed-tools): WebFetch

Workflow steps

5 steps, taken from the first numbered list in SKILL.md.

  1. Create endpoint at app/api/webhooks/route.ts
  2. Use verifyWebhook(req) from @clerk/nextjs/webhooks
  3. Dashboard → Webhooks → Add Endpoint
  4. Set CLERK_WEBHOOK_SIGNING_SECRET in env
  5. Make route public (not protected by middleware)

What it can do on your machine

Read from SKILL.md and the folder at commit a5a4df2. 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

    No scripts in the folder and no shell commands in SKILL.md (its code samples are typescript).

    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_WEBHOOK_SIGNING_SECRET

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

Context cost

Clerk Webhooks loads about 1.2k tokens when it runs. Until then it costs about 54 tokens; SKILL.md has 336 words of instructions outside code blocks.

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

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 vvedantb/eva at commit a5a4df2, republished under its MIT licence (© vvedantb). 336 words, ~1,192 tokens.

Download SKILL.mdSave it as .claude/skills/clerk-webhooks/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
clerk-webhooks
description
Clerk webhooks for real-time events and data syncing. Listen for user creation, updates, deletion, and organization events. Build event-driven features like database sync, notifications, integrations.
allowed-tools
WebFetch
license
MIT
metadata.author
clerk
metadata.version
1.0.0

Webhooks

Prerequisite: Webhooks are asynchronous. Use for background tasks (sync, notifications), not synchronous flows.

Documentation Reference

Quick Start

  1. Create endpoint at app/api/webhooks/route.ts
  2. Use verifyWebhook(req) from @clerk/nextjs/webhooks
  3. Dashboard → Webhooks → Add Endpoint
  4. Set CLERK_WEBHOOK_SIGNING_SECRET in env
  5. Make route public (not protected by middleware)

Supported Events

User: user.created user.updated user.deleted

Organization: organization.created organization.updated organization.deleted

Organization Domain: organizationDomain.created organizationDomain.updated organizationDomain.deleted

Organization Invitation: organizationInvitation.created organizationInvitation.accepted organizationInvitation.revoked

Organization Membership: organizationMembership.created organizationMembership.updated organizationMembership.deleted

Roles: role.created role.updated role.deleted

Permissions: permission.created permission.updated permission.deleted

Session: session.created session.updated session.ended session.removed session.revoked session.pending

Communication: email.created sms.created

Invitations: invitation.created invitation.accepted invitation.revoked

Waitlist: waitlistEntry.created waitlistEntry.updated

Full catalog: Dashboard → Webhooks → Event Catalog

When to Sync

Do sync when:

  • Need other users' data (social features, profiles)
  • Storing extra custom fields (birthday, country, bio)
  • Building notifications or integrations

Don't sync when:

  • Only need current user data (use session token)
  • No custom fields (Clerk has everything)
  • Need immediate access (webhooks are eventual consistency)

Key Patterns

Make Route Public

Webhooks come unsigned. Route must be public:

Ensure clerkMiddleware() doesn't protect /api/webhooks(.*) path.

Verify Webhook

Use correct import and single parameter:

typescript
import { verifyWebhook } from "@clerk/nextjs/webhooks";
const evt = await verifyWebhook(req); // Pass request directly
Type-Safe Events

Narrow to specific event:

typescript
if (evt.type === "user.created") {
  // TypeScript knows evt.data structure
}
Handle All Three Events

Don't only listen to user.created. Also handle user.updated and user.deleted.

Queue Async Work

Return 200 immediately, queue long operations:

typescript
await queue.enqueue("process-webhook", evt);
return new Response("Received", { status: 200 });

Webhook Reliability

Retries: Svix retries failed webhooks for up to 3 days. Return 2xx to succeed, 4xx/5xx to retry.

Replay: Failed webhooks can be replayed from Dashboard.

Common Pitfalls

SymptomCauseFix
Verification failsWrong import or usageUse @clerk/nextjs/webhooks, pass req directly
Route not found (404)Wrong pathUse /api/webhooks
Not authorized (401)Route is protectedMake route public
No data in DBAsync job pendingWait/check logs
Duplicate entriesOnly handling user.createdAlso handle user.updated
TimeoutsHandler too slowQueue async work

Testing & Deployment

Local: Use ngrok to tunnel localhost:3000 to internet. Add ngrok URL to Dashboard endpoint.

Production: Update webhook endpoint URL to production domain. Copy signing secret to production env vars.

© vvedantb, 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 .claude/skills/clerk-webhooks of vvedantb/eva.

  • SKILL.md
  • .claude-plugin/plugin.json

Open the folder on GitHubat commit a5a4df2

Compare with similar skills

Clerk Webhooks 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 Webhooks compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Clerk Webhooks this skillvvedantb/eva101—~1.2kAutomated safety check: PassMIT
Clerk Webhooksgeekskai/blog1033 repos~3.4kAutomated safety check: PassMIT
Adobe App Builder Action Scaffolderadobe/skills197—~3.1kAutomated safety check: PassApache-2.0
Sanity Best Practicessanity-io/agent-toolkit188—~1.3kAutomated safety check: PassMIT
Upstash Qstashdavila7/claude-code-templates32k5 repos~597Automated safety check: PassMIT
Clerk Authdavila7/claude-code-templates32k5 repos~376Automated safety check: PassMIT

Similar skills

  • Clerk Webhooks

    geekskai/blog

    Clerk webhooks for real-time events and data syncing. An agent skill from geekskai/blog.

    103 GitHub starsUsed in 3 repos~3.4k tokens
    Backend & APIsAuto-check passed
  • Scaffolds, implements, deploys and debugs Adobe Runtime actions in App Builder projects, with templates for webhooks, events, database CRUD, sequences and Asset Compute workers.

    197 GitHub stars~3.1k tokensUpdated today
    Backend & APIsAuto-check passed
  • Sanity Best Practices

    sanity-io/agent-toolkit

    Official

    Sanity development best practices for schema design, GROQ queries, TypeGen, Visual Editing, images, Portable Text, Studio structure, localization, migrations, Sanity Functions, webhooks, Blueprints…

    188 GitHub stars~1.3k tokensUpdated 4 days ago
    Backend & APIsAuto-check passed
  • Upstash Qstash

    davila7/claude-code-templates

    Upstash QStash expert for serverless message queues, scheduled jobs, and reliable HTTP-based task delivery without managing infrastructure.

    32k GitHub starsUsed in 5 repos~597 tokens
    Backend & APIsAuto-check passed
  • Clerk Auth

    davila7/claude-code-templates

    Expert patterns for Clerk auth implementation, middleware, organizations, webhooks, and user sync Use when: adding authentication, clerk auth, user authentication, sign in, sign up.

    32k GitHub starsUsed in 5 repos~376 tokens
    Backend & APIsAuto-check passed
  • Webhook Subscriptions

    Tommy-yw/RunbookHermes

    Create and manage webhook subscriptions for event-driven agent activation, or for direct push notifications (zero LLM cost).

    546 GitHub starsUsed in 1 repo~1.7k tokens
    Backend & APIsAuto-check: notes

More from vvedantb/eva

All 23 skills in this repo
  • Eva Feature Demo

    vvedantb/eva

    Record a real agent-browser screencast of one eva feature being used end to end, convert it to an X-ready mp4, and write a tweet for it.

    101 GitHub stars~3.3k tokensUpdated today
    Auto-check passed
  • Animate

    vvedantb/eva

    Build an animation from scratch, making the decisions in the order that determines whether it feels right — should it animate at all, what purpose, which tool, which properties, which curve and…

    101 GitHub starsUsed in 6 repos~2.9k tokens
    Auto-check passed
  • Design and build Convex components with clear boundaries, isolated state, and app-facing wrappers.

    101 GitHub stars~3.3k tokensUpdated today
    Auto-check passed
  • Grab a single clean HD screenshot of a new eva feature from the real running app (Playwright at deviceScaleFactor 2, 1280 layout captured crisp at 2560×1440, dev overlays hidden) and write a tweet…

    101 GitHub stars~3.2k tokensUpdated today
    Auto-check: notes
  • Code Structure

    vvedantb/eva

    A skill your agent uses when multiple workflows duplicate the same operational logic, when deciding what belongs in actions vs shared services, or when refactoring repeated operational blocks across…

    101 GitHub starsUsed in 2 repos~1.1k tokens
    Auto-check passed
  • Eva Launch Video

    vvedantb/eva

    Produce polished, mobile-friendly product demo videos of the eva app with Remotion — 1280×720, snappy beat-synced hard cuts, lo-fi music that swells on every cut, and footage captured from the REAL…

    101 GitHub stars~2.7k tokensUpdated today
    Auto-check passed

Works with

Categories

Questions about Clerk Webhooks

What does Clerk Webhooks do?

Clerk webhooks for real-time events and data syncing. An agent skill from vvedantb/eva. Clerk Webhooks is an agent skill from vvedantb/eva. Clerk webhooks for real-time events and data syncing.

When should I use Clerk Webhooks?

Clerk Webhooks fits situations like: tasks that involve Webhooks; tasks that involve Event-driven systems.

How do I install Clerk Webhooks in Claude Code?

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

How do I install Clerk Webhooks in Codex?

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

Can I use Clerk Webhooks 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 vvedantb/eva --skill clerk-webhooks -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-webhooks, .gemini/skills/clerk-webhooks, .github/skills/clerk-webhooks and .opencode/skills/clerk-webhooks in your project.

What does Clerk Webhooks need to run?

Going by SKILL.md and its folder, Clerk Webhooks needs credentials named CLERK_WEBHOOK_SIGNING_SECRET. Our summary lists: A credential in CLERK_WEBHOOK_SIGNING_SECRET. Its frontmatter pre-approves these tools: WebFetch.

Does Clerk Webhooks 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 Webhooks 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 Webhooks use?

Clerk Webhooks 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 Webhooks use?

About 1.2k tokens (SKILL.md is roughly 4.8k 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 Webhooks?

Skills that share tags, products or a category with Clerk Webhooks: Clerk Webhooks (geekskai/blog, 103 stars), Adobe App Builder Action Scaffolder (adobe/skills, 197 stars), Sanity Best Practices (sanity-io/agent-toolkit, 188 stars) and Upstash Qstash (davila7/claude-code-templates, 32k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Clerk Webhooks?

vvedantb (a GitHub user) maintains it in vvedantb/eva, which has 101 GitHub stars. The repository holds 23 skills in this directory. The repository was last updated on October 9, 2026.

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