.agents/skills/clerk-nextjs-patterns/SKILL.md
Advanced Next.js patterns - middleware, Server Actions, caching with Clerk.
npx skillsauth add oaknational/oak-open-curriculum-ecosystem clerk-nextjs-patternsInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
For basic setup, see setup/.
| Reference | Impact |
| ------------------------------------- | -------------------------------------- |
| references/server-vs-client.md | CRITICAL - await auth() vs hooks |
| references/middleware-strategies.md | HIGH - Public-first vs protected-first |
| references/server-actions.md | HIGH - Protect mutations |
| references/api-routes.md | HIGH - 401 vs 403 |
| references/caching-auth.md | MEDIUM - User-scoped caching |
Server vs Client = different auth APIs:
await auth() from @clerk/nextjs/server (async!)useAuth() hook from @clerk/nextjs (sync)Never mix them. Server Components use server imports, Client Components use hooks.
// Server Component
import { auth } from '@clerk/nextjs/server'
export default async function Page() {
const { userId } = await auth() // MUST await!
if (!userId) return <p>Not signed in</p>
return <p>Hello {userId}</p>
}
| Symptom | Cause | Fix |
| -------------------------------------- | ------------------------- | ---------------------------------------- | -------------------------- |
| undefined userId in Server Component | Missing await | await auth() not auth() |
| Auth not working on API routes | Missing matcher | Add '/(api | trpc)(.\*)' to middleware |
| Cache returns wrong user's data | Missing userId in key | Include userId in unstable_cache key |
| Mutations bypass auth | Unprotected Server Action | Check auth() at start of action |
| Wrong HTTP error code | Confused 401/403 | 401 = not signed in, 403 = no permission |
setup/managing-orgs/Next.js SDK
tools
When and how to use git worktrees for isolated work.
documentation
TSDoc and documentation workflow for canonical source comments, README updates, and ADR touchpoints.
development
Structured debugging workflow: reproduce, isolate, hypothesise, verify, fix, regression test.
data-ai
Load the shared thorough start-right workflow from `.agent/skills/start-right-thorough/shared/start-right-thorough.md`.