Skill v1.0.1
currentAutomated scan100/1004 files
version: "1.0.1" name: vue-best-practices description: Vue.js performance optimization guidelines for building fast, maintainable applications. This skill should be used when writing, reviewing, or refactoring Vue.js code to ensure optimal performance patterns. Triggers on tasks involving Vue components, reactivity, Composition API, state management, or performance improvements. license: MIT metadata: author: vinayakkulkarni version: '1.0.0'
Vue Best Practices
Comprehensive performance optimization guide for Vue.js applications (verified against the official Vue 3.5+ docs). Contains 18 rules across 5 categories, prioritized by impact to guide automated refactoring and code generation.
When to Apply
Reference these guidelines when:
- Writing new Vue components
- Implementing reactive state and computed properties
- Reviewing code for performance issues
- Refactoring existing Vue code
- Optimizing rendering and re-renders
- Working with Composition API or Options API
Rule Categories by Priority
| Priority | Category | Impact | Prefix | |
|---|---|---|---|---|
| 1 | Reactivity Fundamentals | CRITICAL | reactivity- | |
| 2 | Component Performance | CRITICAL | component- | |
| 3 | Computed & Watchers | HIGH | computed- / watch- | |
| 4 | Template Optimization | MEDIUM-HIGH | template- | |
| 5 | Composition API Patterns | MEDIUM | composable- |
Quick Reference
1. Reactivity Fundamentals (CRITICAL)
reactivity-ref-vs-reactive- Prefer ref() as the primary reactivity APIreactivity-avoid-destructure- Don't destructure reactive objectsreactivity-toRefs- Use toRefs()/getters when destructuring is neededreactivity-shallowRef- Use shallowRef() for large non-reactive datareactivity-raw-values- Treat toRaw() as a narrow escape hatch
2. Component Performance (CRITICAL)
component-async- Use defineAsyncComponent for heavy componentscomponent-keep-alive- Cache component state with KeepAlivecomponent-v-memo- v-memo micro-optimization for 1000+ item listscomponent-v-once- Use v-once for static contentcomponent-functional- Keep stateless components simple
3. Computed & Watchers (HIGH)
computed-cache- Use computed() for derived values, not methodscomputed-dependencies- Understand fine-grained per-property dependency trackingwatch-deep-avoid- Avoid deep watchers on large objects
4. Template Optimization (MEDIUM-HIGH)
template-v-show-vs-if- v-show for frequent toggles, v-if for raretemplate-key-attribute- Always use unique primitive keys in v-fortemplate-avoid-v-if-v-for- Never use v-if and v-for on same element
5. Composition API Patterns (MEDIUM)
composable-single-responsibility- One concern per composablecomposable-return-refs- Return refs, not reactive objects
How to Use
Read individual rule files for detailed explanations and code examples:
rules/reactivity-ref-vs-reactive.mdrules/component-v-memo.mdrules/_sections.md
Each rule file contains:
- Brief explanation of why it matters
- Incorrect code example with explanation
- Correct code example with explanation
- Additional context and references
Full Compiled Document
For the complete guide with all rules expanded: AGENTS.md