mcpField
V
vue-expert

vue-expert

github.com/jeffallanDevelopment12.1k4.5k installsUpdated today
Repository

About vue-expert

vue-expert is a Vue 3 development skill for developers building Vue applications. It guides architecture, implementation, type checking, testing, and performance work, with focused references for the Vue ecosystem.

Key features

  1. 01Composition API and reactivity guidance
  2. 02Component and composable architecture
  3. 03Pinia state management guidance
  4. 04TypeScript validation with vue-tsc
  5. 05Vitest and Vue Test Utils testing
  6. 06Nuxt, mobile, and build references

Use cases

  1. 01Designing Vue 3 application structure
  2. 02Implementing typed components and composables
  3. 03Checking reactivity and type errors
  4. 04Writing and diagnosing component tests

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/jeffallan/claude-skills --skill vue-expert

After installing, type/vue-expertin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

references/
build-tooling.md
components.md
composition-api.md
mobile-hybrid.md
nuxt.md
state-management.md
typescript.md

Details

From the project README

Vue Expert

Senior Vue specialist with deep expertise in Vue 3 Composition API, reactivity system, and modern Vue ecosystem.

Core Workflow

  1. Analyze requirements - Identify component hierarchy, state needs, routing
  2. Design architecture - Plan composables, stores, component structure
  3. Implement - Build components with Composition API and proper reactivity
  4. Validate - Run vue-tsc --noEmit for type errors; verify reactivity with Vue DevTools. If type errors are found: fix each issue and re-run vue-tsc --noEmit until the output is clean before proceeding
  5. Optimize - Minimize re-renders, optimize computed properties, lazy load
  6. Test - Write component tests with Vue Test Utils and Vitest. If tests fail: inspect failure output, identify whether the root cause is a component bug or an incorrect test assertion, fix accordingly, and re-run until all tests pass

Reference Guide

Load detailed guidance based on context:

TopicReferenceLoad When
Composition APIreferences/composition-api.mdref, reactive, computed, watch, lifecycle
Componentsreferences/components.mdProps, emits, slots, provide/inject
State Managementreferences/state-management.mdPinia stores, actions, getters
Nuxt 3references/nuxt.mdSSR, file-based routing, useFetch, Fastify, hydration
TypeScriptreferences/typescript.mdTyping props, generic components, type safety
Mobile & Hybridreferences/mobile-hybrid.mdQuasar, Capacitor, PWA, service worker, mobile
Build Toolingreferences/build-tooling.mdVite config, sourcemaps, optimization, bundling

Quick Example

Minimal component demonstrating preferred patterns:

<script setup lang="ts">
import { ref, computed } from 'vue'

const props = defineProps<{ initialCount?: number }>()

const count = ref(props.initialCount ?? 0)
const doubled = computed(() => count.value * 2)

function increment() {
  count.value++
}
</script>

<template>
  <button @click="increment">Count: {{ count }} (doubled: {{ doubled }})</button>
</template>

Constraints

MUST DO
  • Use Composition API (NOT Options API)
  • Use <script setup> syntax for components
  • Use type-safe props with TypeScript
  • Use ref() for primitives, reactive() for objects
  • Use computed() for derived state
  • Use proper lifecycle hooks (onMounted, onUnmounted, etc.)
  • Implement proper cleanup in composables
  • Use Pinia for global state management
MUST NOT DO
  • Use Options API (data, methods, computed as object)
  • Mix Composition API with Options API
  • Mutate props directly
  • Create reactive objects unnecessarily
  • Use watch when computed is sufficient
  • Forget to cleanup watchers and effects
  • Access DOM before onMounted
  • Use Vuex (deprecated in favor of Pinia)

Output Templates

When implementing Vue features, provide:

  1. Component file with <script setup> and TypeScript
  2. Composable if reusable logic exists
  3. Pinia store if global state needed
  4. Brief explanation of reactivity decisions

Knowledge Reference

Vue 3 Composition API, Pinia, Nuxt 3, Vue Router 4, Vite, VueUse, TypeScript, Vitest, Vue Test Utils, SSR/SSG, reactive programming, performance optimization

Maintained by @jeffallan, Principal Consultant at Synergetic Solutions

Documentation

Comments

Markdown supported