PrimeVue is a comprehensive UI toolkit specifically designed for Vue.js applications. It includes a variety of rich components, themes, and templates, making it suitable for developers looking to enhance their Vue projects.
npm install primevue @primeuix/themesThis skill guides you through configuring PrimeVue, a complete UI component library for Vue.js applications, in Vue 3 and Vite projects. It covers plugin setup with preset themes (Aura, Lara, Nora), auto-import configuration using unplugin-vue-components, and usage patterns for common components like Button, InputText, DataTable, and Dialog. The skill enables developers to quickly scaffold projects with pre-skinned UI components or use unstyled mode for custom styling with Tailwind or Bootstrap. It's essential for teams building feature-rich Vue applications that need professional, accessible UI components out of the box.
Install with npm and follow the setup guide for Vue 3 and Vite.
Configuring PrimeVue in Vue 3 projects
Utilizing styled and unstyled modes
Setting up auto-import for components
Theming with pre-skinned themes
npm install primevue @primeuix/themesgit clone https://github.com/kindy/skillsCopy the install command above and run it in your terminal.
Launch Claude Code, Cursor, or your preferred AI coding agent.
Use the prompt template or examples below to test the skill.
Adapt the skill to your specific use case and workflow.
As an expert in Vue.js and PrimeVue, help me [TASK] using PrimeVue components. Focus on [COMPONENT_TYPE] and ensure the implementation follows best practices for [INDUSTRY] applications. Use [THEME] theme for styling. Here's the context: [PROJECT_DETAILS]
```vue
<template>
<div class="p-grid">
<div class="p-col-12">
<h2>Customer Dashboard</h2>
<DataTable :value="customers" :paginator="true" :rows="10" responsiveLayout="scroll">
<Column field="id" header="ID"></Column>
<Column field="name" header="Name"></Column>
<Column field="email" header="Email"></Column>
<Column field="status" header="Status">
<template #body="slotProps">
<Tag :value="slotProps.data.status" :severity="getStatusSeverity(slotProps.data.status)" />
</template>
</Column>
</DataTable>
</div>
</div>
</template>
<script>
export default {
data() {
return {
customers: [
{ id: 1, name: 'John Doe', email: '[email protected]', status: 'Active' },
{ id: 2, name: 'Jane Smith', email: '[email protected]', status: 'Inactive' }
]
}
},
methods: {
getStatusSeverity(status) {
return status === 'Active' ? 'success' : 'danger';
}
}
}
</script>
```Take a free 3-minute scan and get personalized AI skill recommendations.
Take free scan