vue-frontend

Guide Vue 3 frontend development with typed Composition API and routing patterns.

17|1|Updated Jun 8, 2025
One-click install
npx skills add https://github.com/williamzujkowski/standards --skill vue-frontend
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: vue-frontend
Source: https://github.com/williamzujkowski/standards/tree/main/skills/frontend/vue
Command: npx skills add https://github.com/williamzujkowski/standards --skill vue-frontend

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Vue Frontend standards cover composition API usage, reactivity, routing, state management, performance, and accessibility patterns.

Core Features & Use Cases

  • Composition API: Modern, type-friendly patterns with script setup.
  • Performance & Accessibility: Lazy loading, memoization, and accessibility considerations.
  • Routing & State: Typed routing patterns and stores.

Quick Start

Create a small Vue 3 app using composition API and add a route with a lazy-loaded component.

Frequently Asked Questions about vue-frontend

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I structure Vue 3 components with the Composition API?

Vue 3 Composition API lets you organize component logic by feature rather than lifecycle, using script setup syntax for concise, typed definitions. Group related state, computed properties, and methods together, then expose them via return statements or auto-unwrap with script setup, improving readability and reusability in scalable applications.

What's the best way to set up TypeScript typing for Vue 3 props and emits?

Define props and emits using TypeScript generics in script setup: use withDefaults() for default values and type emits as a union of event signatures. This provides IDE autocomplete, catches type errors at development time, and ensures parent-child communication remains type-safe across your component tree.

How do I implement lazy loading and routing in Vue 3?

Configure lazy-loaded routes using dynamic imports with Vue Router: define route components as () => import('./Component.vue'). Pair this with provide/inject for state sharing across route layers and Composition API composables for route-aware logic, reducing initial bundle size and improving performance.

Can I use Pinia for state management with Vue 3 Composition API?

Yes, Pinia integrates seamlessly with Composition API. Define typed stores using defineStore(), access them in components with useStore(), and leverage TypeScript for automatic completion on state, getters, and actions, making reactive state management predictable and testable.

How do I test Vue 3 Composition API components?

Use Vitest with Vue Test Utils to mount components and test composables in isolation. Test reactive state changes, prop validation, emitted events, and side effects without a browser, ensuring your Composition API logic is reliable before deployment.

What accessibility considerations apply to Vue 3 composition patterns?

Ensure WCAG 2.1 AA compliance by managing focus states, ARIA attributes, and keyboard navigation within Composition API components. Use composables to encapsulate accessible behavior (e.g., modal focus trapping, tab order management) and test with assistive technologies to verify real-world usability.