conventions-vue

Enforce standardized Vue 3 conventions for components, composables, and stores.

Updated Dec 7, 2025
One-click install
npx skills add https://github.com/caiokf/homepage --skill conventions-vue
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: conventions-vue
Source: https://github.com/caiokf/homepage/tree/main/.claude/skills/conventions-vue
Command: npx skills add https://github.com/caiokf/homepage --skill conventions-vue

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill addresses the challenge of inconsistent Vue.js development practices, which can lead to unmaintainable codebases, difficult onboarding for new developers, and increased bug rates. It standardizes component structure, state management, and styling.

Core Features & Use Cases

  • Modern Vue 3 Syntax: Enforces best practices like <script setup lang="ts">, typed props/emits, and defineModel for clean, modern Vue development.
  • Atomic Design Organization: Provides clear guidelines for structuring components into atoms/, molecules/, organisms/, and layouts/ for scalable and organized projects.
  • Composable & Pinia Patterns: Defines naming conventions and best practices for composables (use* prefix) and Pinia stores (Options API style, explicit state interfaces) for consistent state management.
  • Integrated Styling Conventions: References the conventions-css skill to ensure all styling adheres to project standards, prohibiting utility frameworks and CSS-in-JS.
  • Use Case: When creating new Vue components, refactoring existing code, or integrating new features, this skill ensures all development adheres to the project's established Vue.js patterns, promoting code quality and team efficiency.

Quick Start

Create a new Vue component for a BaseButton, ensuring it follows the project's component structure and styling conventions.

Frequently Asked Questions about conventions-vue

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

FAQPage Schema
How do I enforce consistent Vue component conventions across my team?

Enforce consistent Vue conventions by standardizing script setup with TypeScript, typed props and emits, atomic component organization (atoms, molecules, organisms, layouts), and scoped styling with CSS custom properties. This prevents drift in implementations and improves maintainability across your codebase.

What's the best way to structure Vue 3 components with TypeScript and script setup?

Use `<script setup lang="ts">` with explicit prop and emit typings, atomic design folder structure (atoms/, molecules/, organisms/, layouts/), composables prefixed with `use*`, and Pinia stores in Options API style. This ensures clean, modern Vue development aligned with project standards.

Can I use the Options API and mixins in a Vue project following these conventions?

No. These conventions mandate script setup and prohibit the Options API and mixins. This enforces modern Vue 3 practices, reduces code fragmentation, and ensures consistent patterns across components and state management.

How do I organize composables and Pinia stores following Vue conventions?

Name composables with the `use*` prefix and define Pinia stores using Options API style with explicit state interfaces. This standardizes state management patterns, improves discoverability, and maintains consistency with component structure.

Do these Vue conventions include styling guidelines?

Yes. Conventions require scoped styles, CSS custom properties, and adherence to the `conventions-css` skill. Utility frameworks and CSS-in-JS are prohibited to maintain unified styling standards across your project.

What are the prerequisites for adopting Vue conventions in an existing project?

Your project must use Vue 3, TypeScript, and support script setup syntax. You need an established atomic or domain directory structure and should plan to refactor existing components away from Options API and mixins to align with standards.