vue-best-practices
Standard Vue 3 workflow with Composition API, <script setup>, and TypeScript as the default approach.
- Requires confirming project architecture upfront and reading core references on reactivity, SFCs, component data flow, and composables before implementation
- Enforces minimal source state with
ref/reactive, deriving everything possible withcomputed, and keeping templates declarative - Mandates component splitting when responsibilities exceed one clear purpose, with entry/root and route views kept as thin composition surfaces
- Covers optional features (slots, transitions, async components, state management) only when requirements explicitly call for them
- Includes a post-functionality performance optimization pass for large lists, static subtrees, and over-abstraction in hot paths
Vue Best Practices Workflow
Use this skill as an instruction set. Follow the workflow in order unless the user explicitly asks for a different order.
Core Principles
- Keep state predictable: one source of truth, derive everything else.
- Make data flow explicit: Props down, Events up for most cases.
- Favor small, focused components: easier to test, reuse, and maintain.
- Avoid unnecessary re-renders: use computed properties and watchers wisely.
- Readability counts: write clear, self-documenting code.
1) Confirm architecture before coding (required)
- Default stack: Vue 3 + Composition API +
<script setup lang="ts">. - If the project explicitly uses Options API, load
vue-options-api-best-practicesskill if available. - If the project explicitly uses JSX, load
vue-jsx-best-practicesskill if available.
1.1 Must-read core references (required)
More from vuejs-ai/skills
vue-pinia-best-practices
Pinia stores, state management patterns, store setup, and reactivity with stores.
7.5Kvue-debug-guides
Vue 3 debugging and error handling for runtime errors, warnings, async failures, and SSR/hydration issues. Use when diagnosing or fixing Vue issues.
6.1Kvue-router-best-practices
Vue Router 4 patterns, navigation guards, route params, and route-component lifecycle interactions.
6.0Kcreate-adaptable-composable
Create a library-grade Vue composable that accepts maybe-reactive inputs (MaybeRef / MaybeRefOrGetter) so callers can pass a plain value, ref, or getter. Normalize inputs with toValue()/toRef() inside reactive effects (watch/watchEffect) to keep behavior predictable and reactive. Use this skill when user asks for creating adaptable or reusable composables.
5.9Kvue-testing-best-practices
Use for Vue.js testing. Covers Vitest, Vue Test Utils, component testing, mocking, testing patterns, and Playwright for E2E testing.
5.3Kvue-options-api-best-practices
Vue 3 Options API style (data(), methods, this context). Each reference shows Options API solution only.
5.1K