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

clerk-vue-patterns — скилл для Claude Code: Vue 3 и Clerk

Скилл подсказывает агенту, как связать Vue 3 с Clerk: композаблы, навигационные хуки Vue Router и стор Pinia.

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

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

Скилл описывает работу с @clerk/vue v2+ в приложении на Vue 3. Внутри — справочники по композаблам useAuth, useUser, useClerk, useOrganization, по навигационным хукам Vue Router и по стору Pinia с состоянием авторизации. Агент читает нужный файл, когда вы спрашиваете про вход, выход или переключение организации.

Подключение идёт через clerkPlugin в main.ts с publishableKey из VITE_CLERK_PUBLISHABLE_KEY. Композаблы возвращают реактивные значения: isSignedIn, userId, user, organization. Переключение организации делается через useOrganizationList и setActive.

Есть грабли, о которых скилл предупреждает. Если композабл вернул undefined, значит вызов идёт вне дерева ClerkProvider — проверьте, что app.use(clerkPlugin, { publishableKey }) вообще вызван. Для Nuxt этот скилл не подойдёт, там нужен clerk-nuxt-patterns.

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

  • подключить Clerk к приложению на Vue 3 через clerkPlugin
  • получить реактивные isSignedIn и userId в компоненте
  • закрыть маршруты Vue Router от неавторизованных
  • хранить состояние входа в сторе Pinia
  • переключать активную организацию через useOrganizationList

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

  • Покажи, как вывести имя пользователя через useUser в Vue 3
  • Настрой навигационный хук Vue Router, который пускает только вошедших
  • Сделай стор Pinia с состоянием авторизации Clerk

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

1Через Skills CLI (Vercel)

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

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

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

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

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

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

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

Выполните npx skills add clerk/skills --skill clerk-vue-patterns -a claude-code. Скилл появится в ~/.claude/skills/clerk-vue-patterns/SKILL.md.

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

Даёт агенту шаблоны для Vue 3 с Clerk: композаблы, хуки Vue Router и стор Pinia. Плюс разбор частых ошибок вроде undefined из композабла.

Подойдёт ли скилл для Nuxt?

Нет. Для Nuxt в описании указан отдельный скилл clerk-nuxt-patterns.

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

SKILL.md · MIT
---
name: clerk-vue-patterns
description: 'Vue 3 patterns with Clerk — composables (useAuth, useUser,
  useClerk, useOrganization), Vue Router guards, Pinia auth store
  integration. Triggers on: vue clerk, useAuth vue, clerk composables,
  vue router clerk guard, pinia auth clerk. For Nuxt, use clerk-nuxt-patterns instead.'
license: MIT
allowed-tools: WebFetch
metadata:
  author: clerk
  version: 1.0.0
---

# Vue Patterns

SDK: `@clerk/vue` v2+ (Vue 3). For Nuxt, use `clerk-nuxt-patterns`.

## What Do You Need?

| Task | Reference |
|------|-----------|
| Composables: useAuth, useUser, useOrganization | references/composables.md |
| Vue Router navigation guards | references/vue-router-guards.md |
| Pinia store with auth state | references/pinia-integration.md |

## Mental Model

Vue uses composables from `@clerk/vue`:

- **`useAuth()`** — reactive `isSignedIn`, `userId`, `signOut`
- **`useUser()`** — reactive `user` object
- **`useClerk()`** — full Clerk instance for advanced operations
- **`useOrganization()`** — reactive `organization`, `membership`

## Setup

### Vue (Plain)

```ts
// main.ts
import { clerkPlugin } from '@clerk/vue'
import { createApp } from 'vue'
import App from './App.vue'

const app = createApp(App)
app.use(clerkPlugin, {
  publishableKey: import.meta.env.VITE_CLERK_PUBLISHABLE_KEY,
})
app.mount('#app')
```

## Composables Usage

```vue
<script setup lang="ts">
import { useAuth, useUser } from '@clerk/vue'

const { isSignedIn, userId, signOut } = useAuth()
const { user } = useUser()
</script>

<template>
  <div v-if="isSignedIn">
    <p>Hello {{ user?.firstName }}</p>
    <button @click="signOut()">Sign Out</button>
  </div>
  <SignInButton v-else />
</template>
```

## Org Switching

```vue
<script setup lang="ts">
import { useOrganizationList } from '@clerk/vue'

const { userMemberships, setActive } = useOrganizationList()
</script>

<template>
  <button
    v-for="mem in userMemberships.data ?? []"
    :key="mem.organization.id"
    @click="setActive({ organization: mem.organization.id })"
  >
    {{ mem.organization.name }}
  </button>
</template>
```

## Common Pitfalls

| Symptom | Cause | Fix |
|---------|-------|-----|
| Composables return `undefined` | Not inside `ClerkProvider` tree | Ensure `app.use(clerkPlugin, { publishableKey })` is called |
| `userId` reactive but not updating | Destructuring loses reactivity | Use `const { userId } = useAuth()` (toRefs-style composable, reactive) |
## Import Map

| What | Import |
|------|--------|
| Composables | `@clerk/vue` |
| Plugin setup | `@clerk/vue` |
| Components | `@clerk/vue` |

## See Also

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

## Docs

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

© clerk · MIT · clerk/skills

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

Всё по теме «Фронтенд и UI» →
vue официальный github Правило задаёт Copilot стандарты Vue 3: Composition API, <script setup>, реактивность, Pinia и Vue Router. Пригодится, когда агент пишет компоненты в вашем стиле. ★ 40 418звёзд репо clerk-nextjs-skills gocallum Подключает аутентификацию Clerk в Next.js 16 с App Router: proxy.ts, переменные окружения, защита маршрутов и MCP-сервер. CX Codex +1 436установок unit-test-vue-pinia официальный github Помогает писать и проверять юнит-тесты для Vue 3, TypeScript, Vitest и Pinia. Пригодится, когда тесты уже есть, но лезут во внутренности компонентов. 1 800установок vue-expert VoltAgent Community Помогает разрабатывать приложения на Vue 3 и Nuxt 3, настраивать Composition API, оптимизировать реактивность и писать тесты. 577установок vue-pinia-best-practices github.com/vuejs-ai Скилл с лучшими практиками Pinia: как избежать ошибок при настройке хранилищ, сохранить реактивность и правильно организовать state management в Vue-проекте. CX Codex +1 16 900установок vue-testing-best-practices github.com/vuejs-ai Скилл с правилами и паттернами тестирования приложений на Vue 3. Помогает настроить Vitest и писать тесты компонентов без ошибок внедрения зависимостей. CX Codex +1 13 700установок

Из того же набора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-nuxt-patterns Скилл подсказывает агенту паттерны авторизации @clerk/nuxt для Nuxt 3. Пригодится при настройке серверных роутов Nitro, SSR-гидратации и защите страниц. CX Codex +1 13 900установок

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

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