Agent skill

vue

Use when editing .vue files, creating Vue 3 components, writing composables, or testing Vue code - provides Composition API patterns, props/emits best practices, VueUse integration, and reactive destructuring guidance

Stars 611
Forks 25

Install this agent skill to your Project

npx add-skill https://github.com/onmax/nuxt-skills/tree/main/skills/vue

SKILL.md

Vue 3 Development

Reference for Vue 3 Composition API patterns, component architecture, and testing practices.

Current stable: Vue 3.5+ with enhanced reactivity performance (-56% memory, 10x faster array tracking), new SSR features, and improved developer experience.

Overview

Progressive reference system for Vue 3 projects. Load only files relevant to current task to minimize context usage (~250 tokens base, 500-1500 per sub-file).

When to Use

Use this skill when:

  • Writing .vue components
  • Creating composables (use* functions)
  • Building client-side utilities
  • Testing Vue components/composables

Use nuxt skill instead for:

  • Server routes, API endpoints
  • File-based routing, middleware
  • Nuxt-specific patterns

For styled UI components: use nuxt-ui skill For headless accessible components: use reka-ui skill For VueUse composables: use vueuse skill

Quick Reference

Working on... Load file
.vue in components/ references/components.md
File in composables/ references/composables.md
File in utils/ references/utils-client.md
.spec.ts or .test.ts references/testing.md
TypeScript patterns references/typescript.md
Vue Router typing references/router.md
Reactivity (ref, watch) references/reactivity.md
Custom directives references/directives.md
Provide/inject references/provide-inject.md
Edge cases, vue-tsc references/gotchas.md

Loading Files

Consider loading these reference files based on your task:

  • references/components.md - if working in components/ or writing .vue files
  • references/composables.md - if creating composables (use* functions)
  • references/utils-client.md - if working in utils/ or writing client utilities
  • references/testing.md - if writing .spec.ts or .test.ts files
  • references/typescript.md - if working with Vue TypeScript patterns or generics
  • references/router.md - if working with Vue Router or route typing
  • references/reactivity.md - if using ref, reactive, computed, watch, or watchEffect
  • references/directives.md - if creating or using custom directives
  • references/provide-inject.md - if using provide/inject patterns
  • references/gotchas.md - if debugging edge cases or hydration issues

DO NOT load all files at once. Load only what's relevant to your current task.

Quick Start

vue
<script setup lang="ts">
const { count = 0 } = defineProps<{ count?: number }>()
const emit = defineEmits<{ update: [value: number] }>()
</script>

<template>
  <button @click="emit('update', count + 1)">
    Count: {{ count }}
  </button>
</template>

Available Guidance

references/components.md - Props with reactive destructuring, emits patterns, defineModel for v-model, slots shorthand

references/composables.md - Composition API structure, VueUse integration, lifecycle hooks, async patterns, reactivity gotchas

references/utils-client.md - Pure functions, formatters, validators, transformers, when NOT to use utils

references/testing.md - Vitest + @vue/test-utils, component testing, composable testing, router mocking

references/typescript.md - InjectionKey for provide/inject, vue-tsc strict templates, tsconfig settings, generic components

references/router.md - Route meta types, typed params with unplugin-vue-router, scroll behavior, navigation guards

references/reactivity.md - ref, reactive, computed, watch, watchEffect, reactivity fundamentals

references/directives.md - Custom directive hooks, v-focus, v-click-outside, v-tooltip patterns

references/provide-inject.md - InjectionKey typing, app-level provide, readonly patterns

references/gotchas.md - Common gotchas, vue-tsc edge cases, hydration issues, race conditions (from vuejs-ai/skills)

Expand your agent's capabilities with these related and highly-rated skills.

onmax/nuxt-skills

pnpm

Use when managing Node.js dependencies with pnpm - install packages, configure monorepo workspaces, set up pnpm catalogs, resolve dependency conflicts with overrides, patch third-party packages, and configure CI pipelines for pnpm projects

611 25
Explore
onmax/nuxt-skills

nuxt-seo

Nuxt SEO meta-module with robots, sitemap, og-image, schema-org. Use when configuring SEO, generating sitemaps, creating OG images, or adding structured data.

611 25
Explore
onmax/nuxt-skills

ts-library

Use when authoring TypeScript libraries or npm packages - covers project setup, package.json exports, build tooling (tsdown/unbuild), API design patterns, type inference tricks, testing, and publishing to npm. Use when bundling, configuring dual CJS/ESM output, or setting up release workflows.

611 25
Explore
onmax/nuxt-skills

motion

Use when adding animations with Motion Vue (motion-v) - provides motion component API, gesture animations, scroll-linked effects, layout transitions, and composables for Vue 3/Nuxt

611 25
Explore
onmax/nuxt-skills

vite

Vite build tool configuration, plugin API, SSR, and Vite 8 Rolldown migration. Use when working with Vite projects, vite.config.ts, Vite plugins, or building libraries/SSR apps with Vite.

611 25
Explore
onmax/nuxt-skills

vitest

Use when writing unit/integration tests for Vite projects - configure vitest.config.ts, write test suites with describe/it, create mock implementations with vi.fn and vi.mock, set up code coverage thresholds, and run tests in parallel

611 25
Explore

Didn't find tool you were looking for?

Be as detailed as possible for better results