executing-plans
executing-plans
Use when executing an implementation plan in the current session as the implementer yourself — your human partner chose inline execution, or no subagent tool is available
clerk-core-workflow-bImplement session management and middleware with Clerk. Use when managing user sessions, configuring route protection, or implementing token refresh and custom JWT templates. Trigger with phrases like "clerk session", "clerk middleware", "clerk route protection", "clerk token", "clerk JWT".
Independent GitHub snapshot · Automated classification · Original documentation governs
name: clerk-core-workflow-b description: 'Implement session management and middleware with Clerk.
Use when managing user sessions, configuring route protection,
or implementing token refresh and custom JWT templates.
Trigger with phrases like "clerk session", "clerk middleware",
"clerk route protection", "clerk token", "clerk JWT".
' allowed-tools: Read, Write, Edit, Grep version: 1.15.0 license: MIT author: Jeremy Longshore jeremy@intentsolutions.io tags:
Implement session management and route protection with Clerk middleware. Covers
clerkMiddleware() configuration, auth() patterns, custom session claims, JWT
templates for external services, organization-scoped sessions, and session token v2.
Use when managing user sessions, configuring route protection, or implementing token refresh and custom JWT templates.
@clerk/nextjs installed with ClerkProvider wrapping the appclerk-install-auth / clerk-hello-world).clerkMiddleware() matcher / public routes for the routes you want open.auth() / currentUser() on protected pages and API routes; fail closed when unauthenticated.Deep patterns, JWT templates, and edge cases: session-middleware-deep-dive.md.
User: Protect everything except /, /pricing, and Clerk sign-in routes.
Skill: configures clerkMiddleware publicRoutes / matcher and verifies unauth redirect.
User: Put plan_tier on the session JWT for feature flags.
Skill: configures session token template and validates claim size + read path.
| Condition | Response |
|---|---|
| Route is accidentally public | Fail the verification gate and narrow the matcher before release. |
| Session claim is absent or stale | Treat the request as unauthorized for the dependent feature and refresh through the supported path. |
| JWT exceeds consumer limits | Remove nonessential claims; retrieve server-side attributes through an authorized backend. |
| Organization context is missing | Deny the org-scoped operation and require explicit selection/role validation. |