К основному содержанию
скилл Claude Code CX Codex Cursor GitHub Copilot

vue-expert-js — скилл для Claude Code: Vue 3 на JavaScript

Создаёт Vue 3-код на JavaScript с JSDoc-аннотациями вместо TypeScript. Пригодится для компонентов, композаблов, роутинга и состояния в проектах без TS.

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

Что делает vue-expert-js

Скилл ведёт разработку Vue 3 через Composition API и <script setup> без lang="ts". Он создаёт компоненты, композаблы на .mjs, настройку Vite, маршрутизацию и управление состоянием, включая Pinia.

Для публичных функций нужны @param и @returns, для сложных структур — @typedef, а реактивные переменные получают @type. Скилл обращается к справочникам по JSDoc, компонентам, композаблам, состоянию и тестированию. Это жёсткое ограничение: файлы .ts, CommonJS require() и смешивание TypeScript с JavaScript в компоненте исключены.

Проверка включает ESLint с eslint-plugin-jsdoc и тесты Vitest на JavaScript. При ошибках тестов скилл возвращается к компоненту или композаблу, исправляет логику либо аннотации и запускает набор снова.

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

  • создать Vue 3-компонент с типами JSDoc для props и emits
  • написать композабл в .mjs с @param и @returns
  • настроить Vite-проект без TypeScript
  • перенести код Vue 2 Options API на Composition API в JavaScript
  • проверить JSDoc-аннотации через ESLint и eslint-plugin-jsdoc

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

  • Создай Vue 3-компонент с `<script setup>` на JavaScript и опиши props через JSDoc.
  • Напиши композабл `useCounter.mjs` с JSDoc-типами для состояния и возвращаемых методов.
  • Переведи этот компонент Vue 2 с Options API на Composition API без TypeScript.

Как установить vue-expert-js

1Через Skills CLI (Vercel)

npx skills add Jeffallan/claude-skills --skill vue-expert-js -a claude-code

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

~/.claude/skills/vue-expert-js/SKILL.md

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

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

Весь набор →
laravel-specialist https://github.com/Jeffallan Настраивает агента на разработку бэкенда на Laravel 10+ и PHP 8.2+. Помогает писать модели Eloquent, очереди Horizon, API resources и тесты Pest. Claude Code CX Codex Cursor +1 23 300установок golang-pro https://github.com/Jeffallan Скилл помогает писать идиоматичный Go: разбирать конкурентный код, строить микросервисы и проверять производительность. Пригодится для goroutines, gRPC и тестов. Claude Code CX Codex Cursor +1 18 900установок php-pro https://github.com/Jeffallan Задаёт правила разработки на PHP 8.3+ для Laravel и Symfony: включает strict_types, анализ в PHPStan на уровне 9 и тесты PHPUnit или Pest. Claude Code CX Codex Cursor +1 15 500установок flutter-expert https://github.com/Jeffallan Скилл для разработки кросс-платформных приложений на Flutter 3+ и Dart. Помогает с виджетами, управлением состоянием через Riverpod или Bloc, маршрутизацией GoRouter и оптимизацией производительности. Claude Code CX Codex Cursor +1 14 300установок typescript-pro https://github.com/Jeffallan Настраивает строгую типизацию TypeScript, генерирует брендированные типы и связывает tRPC. Пригодится при проектировании надёжных API и сложных generic-структур. Claude Code CX Codex Cursor +1 14 200установок kubernetes-specialist https://github.com/Jeffallan Скилл помогает создавать и проверять Kubernetes-манифесты, настраивать безопасность и разбирать сбои подов. Пригодится для деплоя и сопровождения кластерных workloads. Claude Code CX Codex Cursor +1 14 100установок devops-engineer https://github.com/Jeffallan Скилл создаёт Dockerfile, CI/CD-конфигурации и манифесты Kubernetes. Нужен для инфраструктуры, деплоя и разбора инцидентов. Claude Code CX Codex Cursor +1 11 200установок wordpress-pro https://github.com/Jeffallan Скилл помогает разрабатывать темы и плагины WordPress, блоки Gutenberg и магазины WooCommerce. Нужен для задач с REST API, хуками, безопасностью и производительностью. Claude Code CX Codex Cursor +1 9 700установок

Похожие

swiftui-liquid-glass официальный OpenAI Скилл помогает создавать и проверять интерфейсы SwiftUI с Liquid Glass для iOS 26+. Он нужен при внедрении эффекта, ревью и проверке fallback-сценариев. CX Codex GP ChatGPT 121установок isometric-explainer rohitg00 Скилл создаёт интерактивную страницу с изометрической машиной, где каждый узел визуализирует шаг процесса на базе строгой модели состояний. Claude Code CX Codex Cursor +1 487установок course-style rohitg00 Задаёт правила оформления, токены цветов, шрифты и нормы понятного технического текста для проекта AI Engineering from Scratch. Claude Code CX Codex Cursor +1 486установок motion-figure rohitg00 Скилл генерирует интерактивные схемы и анимации трёх уровней: декларативные SVG на SMIL, HTML-виджеты с регуляторами и WebGL-полосы дизеринга. Claude Code CX Codex Cursor +1 482установок tamagui tamagui Обучает ИИ-агента синтаксису Tamagui v3 с плоскими условиями стилей без префикса $. Помогает собирать кроссплатформенный UI для веба и React Native. Claude Code CX Codex Cursor +1 593установок spartan spartan-ng Помогает добавлять, собирать и стилизовать компоненты spartan/ui в Angular-проекте. Пригодится для работы со слоями Brain и Helm. Claude Code CX Codex Cursor +1 2 200установок frontend-design официальный anthropics Скилл задаёт осмысленное визуальное направление для новых интерфейсов и редизайна. Подойдёт, когда стандартный шаблонный UI не устраивает. Claude Code Claude.ai 1 025 790установок design-taste-frontend Leonxlnx Скилл задаёт арт-дирекцию для публичных страниц и рабочих экранов, а затем проверяет результат в браузере по скриншотам. Нужен, когда интерфейс выглядит шаблонным или недоработанным. Claude Code CX Codex Cursor +1 673 100установок

Вопросы о vue-expert-js

Как установить vue-expert-js в Claude Code?

Выполните npx skills add Jeffallan/claude-skills --skill vue-expert-js -a claude-code, затем npx skills add Jeffallan/claude-skills --skill vue-expert-js -a claude-code. Файл скилла размещается в ~/.claude/skills/vue-expert-js/SKILL.md.

Что делает vue-expert-js?

Скилл создаёт Vue 3-компоненты и композаблы на JavaScript, добавляя JSDoc-аннотации вместо TypeScript. Также он охватывает Vite, Vue Router 4, Pinia и тесты Vitest.

Можно ли использовать vue-expert-js в проекте с TypeScript?

Нет. Скилл требует JavaScript без синтаксиса TypeScript, запрещает .ts и не допускает смешивание TypeScript с JavaScript в одном компоненте.

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

SKILL.md · MIT
---
name: vue-expert-js
description: Creates Vue 3 components, builds vanilla JS composables, configures Vite projects, and sets up routing and state management using JavaScript only — no TypeScript. Generates JSDoc-typed code with @typedef, @param, and @returns annotations for full type coverage without a TS compiler. Use when building Vue 3 applications with JavaScript only (no TypeScript), when projects require JSDoc-based type hints, when migrating from Vue 2 Options API to Composition API in JS, or when teams prefer vanilla JavaScript, .mjs modules, or need quick prototypes without TypeScript setup.
license: MIT
metadata:
  author: https://github.com/Jeffallan
  company: https://synergetic.solutions
  version: "1.1.0"
  domain: frontend
  triggers: Vue JavaScript, Vue without TypeScript, Vue JSDoc, Vue JS only, Vue vanilla JavaScript, .mjs Vue, Vue no TS
  role: specialist
  scope: implementation
  output-format: code
  related-skills: vue-expert, javascript-pro
---

# Vue Expert (JavaScript)

Senior Vue specialist building Vue 3 applications with JavaScript and JSDoc typing instead of TypeScript.

## Core Workflow

1. **Design architecture** — Plan component structure and composables with JSDoc type annotations
2. **Implement** — Build with `<script setup>` (no `lang="ts"`), `.mjs` modules where needed
3. **Annotate** — Add comprehensive JSDoc comments (`@typedef`, `@param`, `@returns`, `@type`) for full type coverage; then run ESLint with the JSDoc plugin (`eslint-plugin-jsdoc`) to verify coverage — fix any missing or malformed annotations before proceeding
4. **Test** — Verify with Vitest using JavaScript files; confirm JSDoc coverage on all public APIs; if tests fail, revisit the relevant composable or component, correct the logic or annotation, and re-run until the suite is green

## Reference Guide

Load detailed guidance based on context:

| Topic | Reference | Load When |
|-------|-----------|-----------|
| JSDoc Typing | `references/jsdoc-typing.md` | JSDoc types, @typedef, @param, type hints |
| Composables | `references/composables-patterns.md` | custom composables, ref, reactive, lifecycle hooks |
| Components | `references/component-architecture.md` | props, emits, slots, provide/inject |
| State | `references/state-management.md` | Pinia, stores, reactive state |
| Testing | `references/testing-patterns.md` | Vitest, component testing, mocking |

**For shared Vue concepts, defer to vue-expert:**
- `../vue-expert/references/composition-api.md` - Core reactivity patterns
- `../vue-expert/references/components.md` - Props, emits, slots
- `../vue-expert/references/state-management.md` - Pinia stores

## Code Patterns

### Component with JSDoc-typed props and emits

```vue
<script setup>
/**
 * @typedef {Object} UserCardProps
 * @property {string} name - Display name of the user
 * @property {number} age - User's age
 * @property {boolean} [isAdmin=false] - Whether the user has admin rights
 */

/** @type {UserCardProps} */
const props = defineProps({
  name:    { type: String,  required: true },
  age:     { type: Number,  required: true },
  isAdmin: { type: Boolean, default: false },
})

/**
 * @typedef {Object} UserCardEmits
 * @property {(id: string) => void} select - Emitted when the card is selected
 */
const emit = defineEmits(['select'])

/** @param {string} id */
function handleSelect(id) {
  emit('select', id)
}
</script>

<template>
  <div @click="handleSelect(props.name)">
    {{ props.name }} ({{ props.age }})
  </div>
</template>
```

### Composable with @typedef, @param, and @returns

```js
// composables/useCounter.mjs
import { ref, computed } from 'vue'

/**
 * @typedef {Object} CounterState
 * @property {import('vue').Ref<number>} count - Reactive count value
 * @property {import('vue').ComputedRef<boolean>} isPositive - True when count > 0
 * @property {() => void} increment - Increases count by step
 * @property {() => void} reset - Resets count to initial value
 */

/**
 * Composable for a simple counter with configurable step.
 * @param {number} [initial=0] - Starting value
 * @param {number} [step=1]    - Amount to increment per call
 * @returns {CounterState}
 */
export function useCounter(initial = 0, step = 1) {
  /** @type {import('vue').Ref<number>} */
  const count = ref(initial)

  const isPositive = computed(() => count.value > 0)

  function increment() {
    count.value += step
  }

  function reset() {
    count.value = initial
  }

  return { count, isPositive, increment, reset }
}
```

### @typedef for a complex object used across files

```js
// types/user.mjs

/**
 * @typedef {Object} User
 * @property {string}   id       - UUID
 * @property {string}   name     - Full display name
 * @property {string}   email    - Contact email
 * @property {'admin'|'viewer'} role - Access level
 */

// Import in other files with:
// /** @type {import('./types/user.mjs').User} */
```

## Constraints

### MUST DO
- Use Composition API with `<script setup>`
- Use JSDoc comments for type documentation
- Use `.mjs` extension for ES modules when needed
- Annotate every public function with `@param` and `@returns`
- Use `@typedef` for complex object shapes shared across files
- Use `@type` annotations for reactive variables
- Follow vue-expert patterns adapted for JavaScript

### MUST NOT DO
- Use TypeScript syntax (no `<script setup lang="ts">`)
- Use `.ts` file extensions
- Skip JSDoc types for public APIs
- Use CommonJS `require()` in Vue files
- Ignore type safety entirely
- Mix TypeScript files with JavaScript in the same component

## Output Templates

When implementing Vue features in JavaScript:
1. Component file with `<script setup>` (no lang attribute) and JSDoc-typed props/emits
2. `@typedef` definitions for complex prop or state shapes
3. Composable with `@param` and `@returns` annotations
4. Brief note on type coverage

## Knowledge Reference

Vue 3 Composition API, JSDoc, ESM modules, Pinia, Vue Router 4, Vite, VueUse, Vitest, Vue Test Utils, JavaScript ES2022+

Maintained by [@jeffallan](https://github.com/jeffallan), Principal Consultant at [Synergetic Solutions](https://synergetic.solutions)

[Documentation](https://jeffallan.github.io/claude-skills/skills/frontend/vue-expert-js/)

© https://github.com/Jeffallan · MIT · Jeffallan/claude-skills

Смотрите также

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

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