vue-expert — Claude Code skill: what it does, how to install
Guides Vue 3 work with the Composition API, Nuxt 3, Pinia, and Vite. Use it for components, PWAs, and Quasar or Capacitor apps.
npx skills add Jeffallan/claude-skills --skill vue-expert -a claude-codeWhat vue-expert does
This skill takes Vue 3 work from component structure, state, and routing through implementation. It requires the Composition API, <script setup>, and TypeScript-safe props; it uses ref() for primitives, reactive() for objects, and computed() for derived state.
Global state is handled with Pinia. The guidance also covers Nuxt 3 SSR/SSG, Vite configuration and sourcemaps, PWAs with service workers, plus hybrid mobile apps built with Quasar or Capacitor. Vuex is prohibited here, so an existing Vuex codebase needs a move to Pinia.
Before completion, the skill runs vue-tsc --noEmit, checks reactivity with Vue DevTools, and writes component tests with Vue Test Utils and Vitest. Type and test failures are fixed before another validation run.
What it helps with
- build a Vue 3 component with
<script setup> - extract reusable logic into a composable
- set up a Pinia store for shared state
- configure a Nuxt 3 project for SSR or SSG
- check types with
vue-tsc --noEmit
Example prompts for the agent
- Create a Vue 3 form component with the Composition API and typed props.
- Set up a Pinia store for cart state with getters.
- Prepare a Nuxt 3 PWA with a service worker and check the types.
How to install vue-expert
1Skills CLI (Vercel)
npx skills add Jeffallan/claude-skills --skill vue-expert -a claude-code2Manually: put the files in place
~/.claude/skills/vue-expert/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/vue-expert/
1Skills CLI (Vercel)
npx skills add Jeffallan/claude-skills --skill vue-expert -a codex2Manually: put the files in place
.agents/skills/vue-expert/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add Jeffallan/claude-skills --skill vue-expert -a cursor2Manually: put the files in place
.cursor/skills/vue-expert/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install Jeffallan/claude-skills vue-expert2Manually: put the files in place
.github/skills/vue-expert/SKILL.md1Skills CLI (Vercel)
npx skills add Jeffallan/claude-skills --skill vue-expert -a gemini-cli2Platform CLI
gemini skills install https://github.com/Jeffallan/claude-skills --path skills/vue-expertManually: put the files in place
.devin/skills/vue-expert/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add Jeffallan/claude-skills --skill vue-expert -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
From the same set61
The whole set →Similar
Questions about vue-expert
How do I install vue-expert in Claude Code?
Run npx skills add Jeffallan/claude-skills --skill vue-expert -a claude-code, then run npx skills add Jeffallan/claude-skills --skill vue-expert -a claude-code again. The skill file is at ~/.claude/skills/vue-expert/SKILL.md.
What does vue-expert do?
The skill guides Vue 3 component work with the Composition API, reusable composables, and Pinia stores. It also covers Nuxt 3, Vite, PWAs, Quasar, and Capacitor.
Why does vue-expert avoid Vuex?
The skill requires Pinia for global state and prohibits Vuex. It also does not allow mixing the Options API with the Composition API.
Source text
SKILL.md · MIT
---
name: vue-expert
description: Builds Vue 3 components with Composition API patterns, configures Nuxt 3 SSR/SSG projects, sets up Pinia stores, scaffolds Quasar/Capacitor mobile apps, implements PWA features, and optimises Vite builds. Use when creating Vue 3 applications with Composition API, writing reusable composables, managing state with Pinia, building hybrid mobile apps with Quasar or Capacitor, configuring service workers, or tuning Vite configuration and TypeScript integration.
license: MIT
metadata:
author: https://github.com/Jeffallan
company: https://synergetic.solutions
version: "1.1.0"
domain: frontend
triggers: Vue 3, Composition API, Nuxt, Pinia, Vue composables, reactive, ref, Vue Router, Vite Vue, Quasar, Capacitor, PWA, service worker, Fastify SSR, sourcemap, Vite config, build optimization
role: specialist
scope: implementation
output-format: code
related-skills: typescript-pro, fullstack-guardian
---
# Vue Expert
Senior Vue specialist with deep expertise in Vue 3 Composition API, reactivity system, and modern Vue ecosystem.
## Core Workflow
1. **Analyze requirements** - Identify component hierarchy, state needs, routing
2. **Design architecture** - Plan composables, stores, component structure
3. **Implement** - Build components with Composition API and proper reactivity
4. **Validate** - Run `vue-tsc --noEmit` for type errors; verify reactivity with Vue DevTools. If type errors are found: fix each issue and re-run `vue-tsc --noEmit` until the output is clean before proceeding
5. **Optimize** - Minimize re-renders, optimize computed properties, lazy load
6. **Test** - Write component tests with Vue Test Utils and Vitest. If tests fail: inspect failure output, identify whether the root cause is a component bug or an incorrect test assertion, fix accordingly, and re-run until all tests pass
## Reference Guide
Load detailed guidance based on context:
| Topic | Reference | Load When |
|-------|-----------|-----------|
| Composition API | `references/composition-api.md` | ref, reactive, computed, watch, lifecycle |
| Components | `references/components.md` | Props, emits, slots, provide/inject |
| State Management | `references/state-management.md` | Pinia stores, actions, getters |
| Nuxt 3 | `references/nuxt.md` | SSR, file-based routing, useFetch, Fastify, hydration |
| TypeScript | `references/typescript.md` | Typing props, generic components, type safety |
| Mobile & Hybrid | `references/mobile-hybrid.md` | Quasar, Capacitor, PWA, service worker, mobile |
| Build Tooling | `references/build-tooling.md` | Vite config, sourcemaps, optimization, bundling |
## Quick Example
Minimal component demonstrating preferred patterns:
```vue
<script setup lang="ts">
import { ref, computed } from 'vue'
const props = defineProps<{ initialCount?: number }>()
const count = ref(props.initialCount ?? 0)
const doubled = computed(() => count.value * 2)
function increment() {
count.value++
}
</script>
<template>
<button @click="increment">Count: {{ count }} (doubled: {{ doubled }})</button>
</template>
```
## Constraints
### MUST DO
- Use Composition API (NOT Options API)
- Use `<script setup>` syntax for components
- Use type-safe props with TypeScript
- Use `ref()` for primitives, `reactive()` for objects
- Use `computed()` for derived state
- Use proper lifecycle hooks (onMounted, onUnmounted, etc.)
- Implement proper cleanup in composables
- Use Pinia for global state management
### MUST NOT DO
- Use Options API (data, methods, computed as object)
- Mix Composition API with Options API
- Mutate props directly
- Create reactive objects unnecessarily
- Use watch when computed is sufficient
- Forget to cleanup watchers and effects
- Access DOM before onMounted
- Use Vuex (deprecated in favor of Pinia)
## Output Templates
When implementing Vue features, provide:
1. Component file with `<script setup>` and TypeScript
2. Composable if reusable logic exists
3. Pinia store if global state needed
4. Brief explanation of reactivity decisions
## Knowledge Reference
Vue 3 Composition API, Pinia, Nuxt 3, Vue Router 4, Vite, VueUse, TypeScript, Vitest, Vue Test Utils, SSR/SSG, reactive programming, performance optimization
Maintained by [@jeffallan](https://github.com/jeffallan), Principal Consultant at [Synergetic Solutions](https://synergetic.solutions)
[Documentation](https://jeffallan.github.io/claude-skills/skills/frontend/vue-expert/)
© https://github.com/Jeffallan · MIT · Jeffallan/claude-skills