Agent skill

vue3-best-practices

Vue 3 performance optimization and best practices guidelines for modern frontend applications. This skill should be used when writing, reviewing, or refactoring Vue 3 code to ensure optimal performance patterns, proper Composition API usage, and modern development practices. Triggers on tasks involving Vue 3 components, Composition API, reactivity, state management, or performance optimization.

Stars 2
Forks 1

Install this agent skill to your Project

npx add-skill https://github.com/Eva813/vue3-skills/tree/main/.agents/skills/vue3-best-practices

Metadata

Additional technical details for this skill

author
Eva
version
1.0.0

SKILL.md

Vue 3 Best Practices

Comprehensive performance optimization and development guide for Vue 3 applications. Contains 45 rules across 8 categories, prioritized by impact to guide automated refactoring and code generation.

When to Apply

Reference these guidelines when:

  • Writing new Vue 3 components or composables
  • Implementing reactive data and computed properties
  • Reviewing code for performance issues
  • Refactoring from Vue 2 to Vue 3
  • Optimizing bundle size or load times
  • Working with state management (Pinia/Vuex)
  • Implementing async operations in components

Rule Categories by Priority

Priority Category Impact Prefix
1 Reactivity Performance CRITICAL reactivity-
2 Component Optimization CRITICAL component-
3 Bundle Size & Loading HIGH bundle-
4 Composition API MEDIUM-HIGH composition-
5 Template Performance MEDIUM template-
6 State Management MEDIUM state-
7 Lifecycle Optimization LOW-MEDIUM lifecycle-
8 Advanced Patterns LOW advanced-

Quick Reference

1. Reactivity Performance (CRITICAL)

  • reactivity-ref-vs-reactive - Use ref for primitives, reactive for objects
  • reactivity-shallow-ref - Use shallowRef for large immutable objects
  • reactivity-computed-caching - Leverage computed property caching
  • reactivity-watch-vs-watcheffect - Choose appropriate watcher
  • reactivity-unref-performance - Minimize unref calls in hot paths
  • reactivity-readonly-immutable - Use readonly for immutable data

2. Component Optimization (CRITICAL)

  • component-async-components - Use defineAsyncComponent for heavy components
  • component-functional - Use functional components for simple presentational logic
  • component-keep-alive - Cache expensive components with keep-alive
  • component-lazy-hydration - Implement lazy hydration for non-critical components
  • component-prop-validation - Use efficient prop validation
  • component-emit-performance - Optimize event emissions

3. Bundle Size & Loading (HIGH)

  • bundle-tree-shaking - Structure imports for optimal tree-shaking
  • bundle-dynamic-imports - Use dynamic imports for code splitting
  • bundle-plugin-imports - Use unplugin-auto-import for better DX
  • bundle-lodash-imports - Import lodash functions individually
  • bundle-moment-alternatives - Use day.js instead of moment.js
  • bundle-icons-optimization - Optimize icon imports and usage

4. Composition API (MEDIUM-HIGH)

  • composition-script-setup - Prefer for better performance
  • composition-composables-reuse - Extract reusable logic into composables
  • composition-provide-inject - Use provide/inject for dependency injection
  • composition-expose-selectively - Expose only necessary properties
  • composition-reactive-transform - Use reactive transform where appropriate
  • composition-auto-import - Configure auto-imports for better DX

5. Template Performance (MEDIUM)

  • template-v-once - Use v-once for static content
  • template-v-memo - Use v-memo for expensive list rendering
  • template-key-optimization - Optimize v-for keys for performance
  • template-conditional-rendering - Choose v-if vs v-show appropriately
  • template-slot-performance - Optimize slot usage and scoped slots
  • template-directive-optimization - Create efficient custom directives

6. State Management (MEDIUM)

  • state-pinia-optimization - Optimize Pinia store structure
  • state-store-composition - Use store composition patterns
  • state-persistence - Implement efficient state persistence
  • state-normalization - Normalize complex state structures
  • state-subscription - Optimize state subscriptions
  • state-devtools - Configure devtools for debugging

7. Lifecycle Optimization (LOW-MEDIUM)

  • lifecycle-cleanup - Properly cleanup resources in onUnmounted
  • lifecycle-async-setup - Handle async operations in setup
  • lifecycle-watchers-cleanup - Clean up watchers and effects
  • lifecycle-dom-access - Access DOM safely in lifecycle hooks
  • lifecycle-ssr-considerations - Handle SSR lifecycle differences

8. Advanced Patterns (LOW)

  • advanced-teleport-usage - Use Teleport for portal patterns
  • advanced-suspense-async - Implement Suspense with async components
  • advanced-custom-renderer - Create custom renderers when needed
  • advanced-compiler-macros - Use compiler macros effectively
  • advanced-plugin-development - Develop efficient Vue plugins

Framework Integration

Vite Integration

  • Utilize Vite's fast HMR and build optimizations
  • Configure proper chunk splitting strategies
  • Use Vite plugins for Vue-specific optimizations

TypeScript Integration

  • Leverage Vue 3's improved TypeScript support
  • Use proper type definitions for better DX
  • Configure TypeScript for optimal build performance

Testing Integration

  • Use Vue Test Utils with Composition API
  • Implement efficient component testing strategies
  • Optimize test performance and reliability

How to Use

Read individual rule files for detailed explanations and code examples:

rules/reactivity-ref-vs-reactive.md
rules/component-async-components.md
rules/composition-script-setup.md

Each rule file contains:

  • Brief explanation of why it matters
  • Incorrect Vue 3 code example with explanation
  • Correct Vue 3 code example with explanation
  • Performance impact and measurements
  • Additional context and Vue 3-specific considerations

Migration from Vue 2

Special considerations for migrating from Vue 2:

  • Composition API vs Options API patterns
  • Reactivity system changes and optimizations
  • Component definition and registration updates
  • Event handling and lifecycle changes

Performance Monitoring

Tools and techniques for monitoring Vue 3 performance:

  • Vue DevTools integration
  • Performance profiling with browser tools
  • Bundle analysis and optimization
  • Runtime performance monitoring

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

Eva813/vue3-skills

vercel-composition-patterns

React composition patterns that scale. Use when refactoring components with boolean prop proliferation, building flexible component libraries, or designing reusable APIs. Triggers on tasks involving compound components, render props, context providers, or component architecture. Includes React 19 API changes.

2 1
Explore
Eva813/vue3-skills

vercel-react-best-practices

React and Next.js performance optimization guidelines from Vercel Engineering. This skill should be used when writing, reviewing, or refactoring React/Next.js code to ensure optimal performance patterns. Triggers on tasks involving React components, Next.js pages, data fetching, bundle optimization, or performance improvements.

2 1
Explore
Eva813/vue3-skills

vercel-react-native-skills

React Native and Expo best practices for building performant mobile apps. Use when building React Native components, optimizing list performance, implementing animations, or working with native modules. Triggers on tasks involving React Native, Expo, mobile performance, or native platform APIs.

2 1
Explore
Eva813/vue3-skills

web-design-guidelines

Review UI code for Web Interface Guidelines compliance. Use when asked to "review my UI", "check accessibility", "audit design", "review UX", or "check my site against best practices".

2 1
Explore
Eva813/vue3-skills

frontend-design

Create distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, artifacts, posters, or applications (examples include websites, landing pages, dashboards, React components, HTML/CSS layouts, or when styling/beautifying any web UI). Generates creative, polished code and UI design that avoids generic AI aesthetics.

2 1
Explore
Eva813/vue3-skills

git-conventional-commits

Professional git commit workflow with Conventional Commits format. Enforces commit type categorization (feat, fix, docs, style, refactor, perf, test, build, ci, chore), validates messages against the 7 rules of great commits, previews before committing, and supports multiple languages. Use when you need to create high-quality, traceable git commits.

2 1
Explore

Didn't find tool you were looking for?

Be as detailed as possible for better results