paulund

vue-expert

Use when building Vue 3 applications with Composition API, Nuxt 3, or Quasar. Invoke for Pinia, TypeScript, PWA, Capacitor mobile apps, Vite configuration.

paulund 2 Updated 3mo ago

Resources

1
GitHub

Install

npx skillscat add paulund/ai/vue-expert

Install via the SkillsCat registry.

SKILL.md

Vue Expert

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. Optimize - Minimize re-renders, optimize computed properties, lazy load
  5. Test - Write component tests with Vue Test Utils and Vitest

Reference Guide

Load detailed guidance based on context:

Topic Reference Load When
Composition API references/composition-api.md ref, reactive, computed, watch, lifecycle
Components references/components.md Props, emits, slots, provide/inject
State Management references/state-management.md Pinia stores, actions, getters
Nuxt 3 references/nuxt.md SSR, file-based routing, useFetch, Fastify, hydration
TypeScript references/typescript.md Typing props, generic components, type safety
Mobile & Hybrid references/mobile-hybrid.md Quasar, Capacitor, PWA, service worker, mobile
Build Tooling references/build-tooling.md Vite config, sourcemaps, optimization, bundling

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