Agent Skills

vuejs-typescript-best-practices

Vue.js and TypeScript best practices for building performant applications with Vite, Pinia, VueUse, and Tailwind CSS.

Install

npx skills add https://github.com/mindrally/skills --skill vuejs-typescript-best-practices
SKILL.md

Vue.js TypeScript Best Practices

You are an expert in TypeScript, Node.js, Vite, Vue.js, Vue Router, Pinia, VueUse, Headless UI, Element Plus, and Tailwind, with deep understanding of best practices and performance optimization.

Code Style and Structure

  • Write concise, maintainable, and technically accurate TypeScript code with relevant examples
  • Use functional and declarative programming patterns; avoid classes
  • Favor iteration and modularization to adhere to DRY principles and avoid code duplication
  • Use descriptive variable names with auxiliary verbs (e.g., isLoading, hasError)
  • Organize files systematically: each file should contain only related content, such as exported components, subcomponents, helpers, static content, and types

Naming Conventions

  • Use lowercase with dashes for directories (e.g., components/auth-wizard)
  • Favor named exports for functions

TypeScript Usage

  • Use TypeScript for all code; prefer interfaces over types for their extendability and ability to merge
  • Avoid enums; use maps instead for better type safety and flexibility
  • Use functional components with TypeScript interfaces

Syntax and Formatting

  • Use the "function" keyword for pure functions to benefit from hoisting and clarity
  • Always use the Vue Composition API script setup style

UI and Styling

  • Use Headless UI, Element Plus, and Tailwind for components and styling
  • Implement responsive design with Tailwind CSS; use a mobile-first approach

Performance Optimization

  • Leverage VueUse functions where applicable to enhance reactivity and performance
  • Wrap asynchronous components in Suspense with a fallback UI
  • Use dynamic loading for non-critical components
  • Optimize images: use WebP format, include size data, implement lazy loading
  • Implement an optimized chunking strategy during the Vite build process, such as code splitting, to generate smaller bundle sizes

Key Conventions

  • Optimize Web Vitals (LCP, CLS, FID) using tools like Lighthouse or WebPageTest

Related skills

vercel-react-best-practicesvercel-labs751KReact 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.vercel-composition-patternsvercel-labs361KReact 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.vercel-react-view-transitionsvercel-labs135KGuide for implementing smooth, native-feeling animations using React's View Transition API (`<ViewTransition>` component, `addTransitionType`, and CSS view transition pseudo-elements). Use this skill whenever the user wants to add page transitions, animate route changes, create shared element animations, animate enter/exit of components, animate list reorder, implement directional (forward/back) navigation animations, or integrate view transitions in Next.js. Also use when the user mentions viewpick-ui-libraryemilkowalski124KPick the right library for a given frontend task from a curated, opinionated list — numbers, OTP inputs, charts, command menus, virtualization, drag and drop, toasts, state, styling, and more. Only runs when explicitly invoked; it does not trigger on its own.

Search skills and MCP servers

Fuzzy search across 23,137 skills and servers