К основному содержанию
скилл CX Codex

clerk-nuxt-patterns — скилл для Claude Code: что делает и как ставить

Скилл подсказывает агенту паттерны авторизации @clerk/nuxt для Nuxt 3. Пригодится при настройке серверных роутов Nitro, SSR-гидратации и защите страниц.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add clerk/skills --skill clerk-nuxt-patterns -a claude-code
Открыть на GitHub

Что делает clerk-nuxt-patterns

Скилл даёт готовые паттерны интеграции @clerk/nuxt в проекты на Nuxt 3. Он объясняет модели работы с definePageMeta({ middleware: 'auth' }), реактивными композаблами useAuth и серверным контекстом Nitro. Агент перестаёт путать клиентские вызовы с серверными API.

Внутри собраны правила для серверных роутов через event.context.auth и серверный клиент @clerk/nuxt/server. Отдельное внимание уделено предотвращению hydration mismatch при серверном рендеринге. Важная деталь: Nuxt требует префикс NUXT_PUBLIC_ для публичного ключа, иначе переменные окружения просто не подтянутся в рантайме.

Какие задачи решает

  • закрыть маршруты Nuxt 3 встроенным middleware auth
  • настроить аутентификацию в серверных обработчиках Nitro через event.context.auth
  • устранить ошибки гидратации SSR при рендеринге профиля пользователя
  • разграничить роли организации через useAuth

Примеры запросов агенту

  • Покажи, как закрыть страницу dashboard через middleware auth в Nuxt 3 с помощью Clerk
  • Как получить userId и данные сессии внутри Nitro server route в Clerk?
  • Настрой проверку роли org:admin в компоненте с помощью useAuth

Как установить clerk-nuxt-patterns

1Через Skills CLI (Vercel)

npx skills add clerk/skills --skill clerk-nuxt-patterns -a claude-code

2Вручную: положить файлы

~/.claude/skills/clerk-nuxt-patterns/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/clerk-nuxt-patterns/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Вопросы о clerk-nuxt-patterns

Как установить clerk-nuxt-patterns в Claude Code?

Выполните команду npx skills add clerk/skills --skill clerk-nuxt-patterns -a claude-code.

Что делает clerk-nuxt-patterns?

Скилл содержит паттерны и правила интеграции @clerk/nuxt, включая настройку middleware, вызовы useAuth и получение сессии в Nitro.

Почему useAuth возвращает undefined на сервере?

Композабл useAuth работает только на клиенте. В серверных роутах Nitro данные авторизации нужно брать из event.context.auth.

Исходный текст

SKILL.md · MIT
---
name: clerk-nuxt-patterns
description: 'Nuxt 3 auth patterns with @clerk/nuxt - middleware, composables, server
  API routes, SSR. Triggers on: Nuxt auth, useAuth composable, clerkMiddleware Nuxt,
  server API Clerk, Nuxt route protection.'
license: MIT
allowed-tools: WebFetch
metadata:
  author: clerk
  version: 1.0.0
---

# Nuxt Patterns

## What Do You Need?

| Task | Reference |
|------|-----------|
| Protect routes with middleware | references/nuxt-middleware.md |
| Auth in server API routes (Nitro) | references/server-api-routes.md |
| useAuth / useUser in components | references/composables.md |
| SSR-safe auth patterns | references/ssr-auth.md |

## References

| Reference | Description |
|-----------|-------------|
| `references/nuxt-middleware.md` | Route protection, clerkMiddleware() |
| `references/server-api-routes.md` | Nitro server route auth |
| `references/composables.md` | useAuth, useUser, useClerk |
| `references/ssr-auth.md` | SSR hydration, server vs client |

## Setup

```
npm install @clerk/nuxt
```

`.env`:
```
NUXT_PUBLIC_CLERK_PUBLISHABLE_KEY=pk_...
NUXT_CLERK_SECRET_KEY=sk_...
```

`nuxt.config.ts`:
```typescript
export default defineNuxtConfig({
  modules: ['@clerk/nuxt'],
})
```

This single line auto-configures middleware, plugins, and component auto-imports.

## Mental Model

`@clerk/nuxt` auto-imports all Clerk components and composables — no explicit imports needed in `<script setup>`.

- **Composables** (`useAuth`, `useUser`) — client-side reactive, inside `<script setup>`
- **Server routes** (`clerkClient`) — Nitro server routes, `event.context.auth`
- **Middleware** (`clerkMiddleware`) — auto-registered, use `auth().protect()` to lock routes

## Minimal Pattern

```vue
<!-- pages/dashboard.vue -->
<script setup lang="ts">
definePageMeta({ middleware: 'auth' })
const { userId } = useAuth()
</script>

<template>
  <Show when="signed-in">
    <p>Hello {{ userId }}</p>
  </Show>
</template>
```

> `definePageMeta({ middleware: 'auth' })` uses the built-in auth middleware from `@clerk/nuxt`.

## Common Pitfalls

| Symptom | Cause | Fix |
|---------|-------|-----|
| Composables return `undefined` on server | useAuth is client-only | Use `event.context.auth` in server routes |
| Route not protected | Missing `middleware: 'auth'` meta | Add `definePageMeta({ middleware: 'auth' })` |
| `clerkClient` not available | Wrong import path | Import from `@clerk/nuxt/server` |
| Hydration mismatch | Rendering auth state before mounted | Wrap in `<ClientOnly>` or check `isLoaded` |
| Env vars not picked up | Wrong prefix | Nuxt requires `NUXT_PUBLIC_` for public, `NUXT_` for server |

## Org-Aware Pattern

```vue
<script setup lang="ts">
const { orgId, orgRole } = useAuth()
</script>

<template>
  <div v-if="orgId">
    <p>Org: {{ orgId }}</p>
    <p v-if="orgRole === 'org:admin'">Admin panel</p>
  </div>
  <div v-else>
    <OrganizationSwitcher />
  </div>
</template>
```

## See Also

- `clerk-setup` - Initial Clerk install
- `clerk-custom-ui` - Custom flows & appearance
- `clerk-orgs` - B2B organizations

## Docs

[Nuxt SDK](https://clerk.com/docs/nuxt/getting-started/quickstart)

© clerk · MIT · clerk/skills

Похожие скиллы

Всё по теме «Фронтенд и UI» →
nuxt Anthony Fu Скилл добавляет поддержку Nuxt 5 — полнофункционального Vue-фреймворка с серверным рендерингом, файловой маршрутизацией и автоимпортами. Помогает агенту писать серверные маршруты, работать с useFetch, middleware и гибридным рендерингом. CX Codex +1 24 100установок bun-nuxt secondsky Скилл объясняет агенту, как поднять Nuxt 3 на Bun: скрипты, пресет Nitro, серверные маршруты и деплой. Пригодится, если проект уже на Nuxt и вы хотите уйти с Node. CX Codex +1 387установок Expert Nuxt Developer официальный github Помогает разрабатывать приложения на Nuxt 3 и Nitro с типизацией на TypeScript. Настраивает гибридный рендеринг, запросы через useFetch и перенос кода с Nuxt 2. ★ 40 418звёзд репо nuxt-server Claude Skills Maintainers Скилл для серверной разработки на Nuxt 4 с Nitro: API-роуты, middleware, базы данных и WebSocket. Пригодится, когда бэкенд живёт внутри Nuxt-проекта. CX Codex +1 401установок clerk-nextjs-skills gocallum Подключает аутентификацию Clerk в Next.js 16 с App Router: proxy.ts, переменные окружения, защита маршрутов и MCP-сервер. CX Codex +1 436установок clerk sanjeed5 Правило для Cursor задаёт жёсткие требования к аутентификации Clerk: PKCE, серверные проверки, короткие токены. Пригодится, когда в проекте уже есть Clerk и нужен порядок в безопасности. ★ 3 579звёзд репо

Из того же набора19

clerk-react-router-patterns Помогает настроить Clerk с React Router v7/v8: загрузчики, защищённые маршруты, SSR и выбор организации. Нужен при добавлении авторизации в роутер. CX Codex +1 15 500установок clerk-tanstack-patterns Подсказывает агенту, как подключить Clerk к TanStack React Start: защита маршрутов, createServerFn, лоадеры и middleware. CX Codex +1 15 500установок clerk-swift Собирает экраны входа Clerk в нативных приложениях iOS и macOS: готовые вью ClerkKitUI или свои сценарии на ClerkKit. CX Codex +1 14 500установок clerk-chrome-extension-patterns Набор инструкций по интеграции @clerk/chrome-extension в браузерные расширения. Помогает настроить вход в popup, сессии в service worker и делегирование OAuth через веб-приложение. CX Codex +1 14 400установок clerk-astro-patterns Подсказывает агенту, как подключить Clerk к Astro: middleware, защита SSR-страниц, авторизация в API-роутах и островных компонентах. CX Codex +1 14 300установок clerk-android Скилл помогает агенту подключить Clerk к нативному Android-приложению на Kotlin и Jetpack Compose — через готовые AuthView/UserButton или свой поток авторизации. CX Codex +1 14 400установок clerk-expo Скилл, который добавляет вход и регистрацию Clerk в приложения на Expo и React Native. Пригодится, когда нужны готовые экраны авторизации или свои потоки с OTP и MFA. CX Codex +1 14 100установок clerk-vue-patterns Скилл подсказывает агенту, как связать Vue 3 с Clerk: композаблы, навигационные хуки Vue Router и стор Pinia. CX Codex +1 14 000установок

Спонсоры проекта

Компании, которые помогают держать аналитику открытой