Expert patterns for Clerk auth implementation, middleware, organizations, webhooks, and user sync
48
37%
Does it follow best practices?
Impact
Pending
No eval scenarios have been run
Passed
No known issues
Optimize this skill with Tessl
npx tessl skill review --optimize ./skills/clerk-auth/SKILL.mdQuality
Discovery
32%Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.
The description identifies the domain (Clerk authentication) and lists relevant topic areas but fails to describe concrete actions or include explicit trigger guidance ('Use when...'). It reads more like a topic list than an actionable skill description, and the vague framing ('expert patterns for') doesn't help Claude decide when to select this skill over others.
Suggestions
Add an explicit 'Use when...' clause, e.g., 'Use when the user asks about Clerk authentication setup, protecting routes with Clerk middleware, or syncing Clerk users to a database.'
Replace 'Expert patterns for' with concrete action verbs, e.g., 'Configures Clerk authentication middleware, sets up organization management, handles webhook events, and syncs user data to databases.'
Include additional natural trigger terms like 'authentication', 'sign-in', 'sign-up', 'session', 'Next.js auth', 'ClerkProvider', or '@clerk/nextjs' to improve keyword coverage.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | Names the domain (Clerk auth) and lists several areas (middleware, organizations, webhooks, user sync), but uses vague framing ('expert patterns for') rather than describing concrete actions like 'configure middleware', 'set up webhook handlers', or 'sync user data'. | 2 / 3 |
Completeness | Describes what the skill covers at a high level but completely lacks a 'Use when...' clause or any explicit trigger guidance for when Claude should select this skill. Per the rubric, a missing 'Use when...' clause caps completeness at 2, and the 'what' is also weak (just topic areas, not actions), so this scores a 1. | 1 / 3 |
Trigger Term Quality | Includes relevant keywords like 'Clerk', 'auth', 'middleware', 'organizations', 'webhooks', and 'user sync' that users might naturally mention, but misses common variations like 'authentication', 'ClerkJS', 'sign-in', 'sign-up', 'session management', or 'Next.js auth'. | 2 / 3 |
Distinctiveness Conflict Risk | Mentioning 'Clerk' specifically provides some distinctiveness from generic auth skills, but 'auth implementation', 'middleware', and 'webhooks' are broad enough to overlap with other authentication or API-related skills. | 2 / 3 |
Total | 7 / 12 Passed |
Implementation
42%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
This skill provides highly actionable, executable code examples covering the full breadth of Clerk authentication patterns, which is its primary strength. However, it is severely bloated — the monolithic structure with 500+ lines of inline code makes it extremely token-inefficient and poorly organized for progressive disclosure. The Sharp Edges section is particularly weak, listing severity levels without any actual content or remediation guidance, especially problematic for the CRITICAL CVE entry.
Suggestions
Split into a concise SKILL.md overview (under 100 lines) with quick-start setup, then move detailed code examples into separate files like MIDDLEWARE.md, WEBHOOKS.md, ORGANIZATIONS.md, and CLIENT-HOOKS.md with clear navigation links.
Remove boilerplate code Claude already knows (standard React component structure, basic Prisma model syntax, obvious Next.js patterns) and focus only on Clerk-specific configuration and gotchas.
Add actual content to the Sharp Edges section — each entry needs a description of the problem and concrete remediation steps, especially the CRITICAL CVE-2025-29927 entry which currently says nothing.
Add an overall setup workflow with sequenced steps and validation checkpoints (e.g., 1. Install packages → 2. Set env vars → 3. Configure middleware → 4. Verify auth works → 5. Add webhooks).
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | Extremely verbose at 500+ lines. Includes extensive boilerplate code Claude already knows (React component patterns, basic Prisma schemas, standard Next.js layouts). The 'Sharp Edges' section lists items with severity but no actual content/explanation. Many sections explain concepts Claude understands (what ClerkProvider does, what hooks are). Significant redundancy across sections. | 1 / 3 |
Actionability | Code examples are fully executable, copy-paste ready, and cover real-world patterns including environment variables, middleware configuration, webhook handlers with signature verification, and Prisma schemas. Anti-patterns include specific fixes. The code is concrete and complete. | 3 / 3 |
Workflow Clarity | Individual sections are clear but there's no overall setup workflow sequencing the steps (install → env vars → middleware → provider → routes → webhooks). The Sharp Edges section lists severity levels but provides no actual descriptions or remediation steps, which is a significant gap for critical items like CVE-2025-29927. No validation checkpoints for the overall integration process. | 2 / 3 |
Progressive Disclosure | Monolithic wall of text with everything inline. The massive amount of code examples for 7+ distinct patterns should be split into separate reference files. No navigation structure or quick-start overview pointing to detailed sub-documents. The Validation Checks and Sharp Edges sections add bulk without being well-organized for discovery. | 1 / 3 |
Total | 7 / 12 Passed |
Validation
81%Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.
Validation — 9 / 11 Passed
Validation for skill structure
| Criteria | Description | Result |
|---|---|---|
skill_md_line_count | SKILL.md is long (844 lines); consider splitting into references/ and linking | Warning |
frontmatter_unknown_keys | Unknown frontmatter key(s) found; consider removing or moving to metadata | Warning |
Total | 9 / 11 Passed | |
93c57b2
Table of Contents
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.