npx skills add ...
npx skills add jiaiyan/element-plus-skills --skill element-plus-skills
Element Plus Skills Library - A comprehensive skill library for AI agents to understand and utilize Element Plus UI components. Invoke when user needs to work with Element Plus components, theming, i18n, dark mode, or design specifications.
npx skills add jiaiyan/element-plus-skills --skill element-plus-skills
A comprehensive skill library for Element Plus UI framework, designed for AI agents to understand and utilize Element Plus components effectively.
Invoke this skill when:
This library contains 88 skills organized into the following categories:
| Category | Count | Description | Path Pattern |
|---|---|---|---|
| Component Skills | 77 | Individual component documentation | ./components/el-{name}/SKILL.md |
| Design Specifications | 5 | Border, Color, Layout, Typography, Overview | ./element-plus-design-{name}/SKILL.md |
| Foundation Skills | 6 | Quickstart, Theming, i18n, Dark Mode, SSR, Components | ./element-plus-{name}/SKILL.md |
All component skills follow the naming convention el-{component-name} and are located in the components/ directory.
Path Pattern:
Examples:
./components/el-button/SKILL.md./components/el-form/SKILL.md./components/el-table/SKILL.md./components/el-dialog/SKILL.mdDesign skills provide guidance on Element Plus design system.
| Skill Name | Path | Description |
|---|---|---|
| Border | ./element-plus-design-border/SKILL.md | Border styles, radius, shadows |
| Color | ./element-plus-design-color/SKILL.md | Color palette and semantics |
| Layout | ./element-plus-design-layout/SKILL.md | 24-column grid system |
| Typography | ./element-plus-design-typography/SKILL.md | Font conventions |
| Overview | ./element-plus-design-overview/SKILL.md | Design system overview |
Foundation skills cover core setup and configuration.
| Skill Name | Path | Description |
|---|---|---|
| Quickstart | ./element-plus-quickstart/SKILL.md | Installation and setup |
| Theming | ./element-plus-theming/SKILL.md | Theme customization |
| i18n | ./element-plus-i18n/SKILL.md | Internationalization |
| Dark Mode | ./element-plus-dark-mode/SKILL.md | Dark mode implementation |
| SSR | ./element-plus-ssr/SKILL.md | Server-side rendering |
| Components | ./element-plus-components/SKILL.md | Component overview index |
Analyze the user's request to determine which skill category is needed:
| User Request Pattern | Skill Category | Example Skill |
|---|---|---|
| "Create a button/form/table..." | Component | el-button, el-form, el-table |
| "How to set up Element Plus" | Foundation | element-plus-quickstart |
| "Customize theme colors" | Foundation | element-plus-theming |
| "Add multi-language support" | Foundation | element-plus-i18n |
| "Implement dark mode" | Foundation | element-plus-dark-mode |
| "What colors are available?" | Design | element-plus-design-color |
| "How does the grid work?" | Design | element-plus-design-layout |
Use the path patterns above to locate the appropriate skill file:
Each skill file contains:
| Component | Skill Path | Description |
|---|---|---|
| Affix | ./components/el-affix/SKILL.md | Sticky positioning |
| Alert | ./components/el-alert/SKILL.md | Alert messages |
| Anchor | ./components/el-anchor/SKILL.md | Anchor navigation |
| Avatar | ./components/el-avatar/SKILL.md | User avatars |
| Backtop | ./components/el-backtop/SKILL.md | Back to top button |
| Badge | ./components/el-badge/SKILL.md | Badges and marks |
| Breadcrumb | ./components/el-breadcrumb/SKILL.md | Breadcrumb navigation |
| Button | ./components/el-button/SKILL.md | Buttons |
| Card | ./components/el-card/SKILL.md | Card containers |
| Carousel | ./components/el-carousel/SKILL.md | Image carousels |
| Collapse | ./components/el-collapse/SKILL.md | Collapsible panels |
| Divider | ./components/el-divider/SKILL.md | Dividing lines |
| Icon | ./components/el-icon/SKILL.md | SVG icons |
| Link | ./components/el-link/SKILL.md | Text links |
| Text | ./components/el-text/SKILL.md | Styled text |
| Component | Skill Path | Description |
|---|---|---|
| Autocomplete | ./components/el-autocomplete/SKILL.md | Input with suggestions |
| Cascader | ./components/el-cascader/SKILL.md | Cascading selection |
| Checkbox | ./components/el-checkbox/SKILL.md | Checkboxes |
| ColorPicker | ./components/el-color-picker/SKILL.md | Color picker |
| ColorPicker Panel | ./components/el-color-picker-panel/SKILL.md | Color picker panel |
| DatePicker | ./components/el-date-picker/SKILL.md | Date picker |
| DatePicker Panel | ./components/el-date-picker-panel/SKILL.md | Date picker panel |
| DateTimePicker | ./components/el-datetime-picker/SKILL.md | Date time picker |
| Form | ./components/el-form/SKILL.md | Form management |
| Input | ./components/el-input/SKILL.md | Text input |
| InputNumber | ./components/el-input-number/SKILL.md | Number input |
| InputTag | ./components/el-input-tag/SKILL.md | Tag input |
| Mention | ./components/el-mention/SKILL.md | Mention input |
| Radio | ./components/el-radio/SKILL.md | Radio buttons |
| Rate | ./components/el-rate/SKILL.md | Star rating |
| Select | ./components/el-select/SKILL.md | Dropdown select |
| Select V2 | ./components/el-select-v2/SKILL.md | Virtualized select |
| Slider | ./components/el-slider/SKILL.md | Slider input |
| Switch | ./components/el-switch/SKILL.md | Toggle switch |
| TimePicker | ./components/el-time-picker/SKILL.md | Time picker |
| TimeSelect | ./components/el-time-select/SKILL.md | Time select |
| Transfer | ./components/el-transfer/SKILL.md | Transfer panels |
| TreeSelect | ./components/el-tree-select/SKILL.md | Tree select |
| Upload | ./components/el-upload/SKILL.md | File upload |
| Component | Skill Path | Description |
|---|---|---|
| Calendar | ./components/el-calendar/SKILL.md | Calendar view |
| Descriptions | ./components/el-descriptions/SKILL.md | Description list |
| Empty | ./components/el-empty/SKILL.md | Empty state |
| Image | ./components/el-image/SKILL.md | Image with preview |
| Pagination | ./components/el-pagination/SKILL.md | Pagination |
| Progress | ./components/el-progress/SKILL.md | Progress bar |
| Result | ./components/el-result/SKILL.md | Result page |
| Skeleton | ./components/el-skeleton/SKILL.md | Loading skeleton |
| Table | ./components/el-table/SKILL.md | Data table |
| Table V2 | ./components/el-table-v2/SKILL.md | Virtualized table |
| Tag | ./components/el-tag/SKILL.md | Tags |
| Timeline | ./components/el-timeline/SKILL.md | Timeline |
| Tree | ./components/el-tree/SKILL.md | Tree view |
| Tree V2 | ./components/el-tree-v2/SKILL.md | Virtualized tree |
| Statistic | ./components/el-statistic/SKILL.md | Statistics display |
| Segmented | ./components/el-segmented/SKILL.md | Segmented control |
| Component | Skill Path | Description |
|---|---|---|
| Dropdown | ./components/el-dropdown/SKILL.md | Dropdown menu |
| Menu | ./components/el-menu/SKILL.md | Navigation menu |
| PageHeader | ./components/el-page-header/SKILL.md | Page header |
| Steps | ./components/el-steps/SKILL.md | Steps guide |
| Tabs | ./components/el-tabs/SKILL.md | Tabs |
| Component | Skill Path | Description |
|---|---|---|
| Dialog | ./components/el-dialog/SKILL.md | Modal dialog |
| Drawer | ./components/el-drawer/SKILL.md | Drawer panel |
| Loading | ./components/el-loading/SKILL.md | Loading overlay |
| Message | ./components/el-message/SKILL.md | Toast message |
| MessageBox | ./components/el-message-box/SKILL.md | Message box |
| Notification | ./components/el-notification/SKILL.md | Notification |
| Popconfirm | ./components/el-popconfirm/SKILL.md | Popconfirm |
| Popover | ./components/el-popover/SKILL.md | Popover |
| Tooltip | ./components/el-tooltip/SKILL.md | Tooltip |
| Tour | ./components/el-tour/SKILL.md | Product tour |
| Component | Skill Path | Description |
|---|---|---|
| Container | ./components/el-container/SKILL.md | Layout container |
| Space | ./components/el-space/SKILL.md | Spacing |
| Splitter | ./components/el-splitter/SKILL.md | Split panels |
| Component | Skill Path | Description |
|---|---|---|
| ConfigProvider | ./components/el-config-provider/SKILL.md | Global config |
| InfiniteScroll | ./components/el-infinite-scroll/SKILL.md | Infinite scroll |
| Scrollbar | ./components/el-scrollbar/SKILL.md | Custom scrollbar |
| Watermark | ./components/el-watermark/SKILL.md | Watermark |
User Request: "How do I create a primary button with loading state?"
Agent Action:
./components/el-button/SKILL.mdResponse:
User Request: "How do I create a form with validation?"
Agent Action:
./components/el-form/SKILL.mdResponse:
User Request: "How do I customize Element Plus theme colors?"
Agent Action:
./element-plus-theming/SKILL.mdResponse:
User Request: "How do I implement dark mode in Element Plus?"
Agent Action:
./element-plus-dark-mode/SKILL.mdResponse:
Before using this skill library, ensure:
Add to tsconfig.json:
When invoking skills, consider these parameters:
| Parameter | Type | Description | Required |
|---|---|---|---|
| component | string | Component name (e.g., "button", "form") | Yes |
| feature | string | Specific feature needed (e.g., "validation", "loading") | No |
| context | object | Additional context (framework, TypeScript usage) | No |
Each skill provides:
When multiple skills could apply, prioritize in this order:
Many skills reference related skills. Always check:
This skill library is based on Element Plus 2.4+. Some features may not be available in earlier versions.
el-{name} format (matches Vue component tags)element-plus-{name} formatelement-plus-design-{name} format<template>
<el-button type="primary" :loading="loading" @click="handleClick">
{{ loading ? 'Loading...' : 'Submit' }}
</el-button>
</template>
<script setup>
import { ref } from 'vue'
const loading = ref(false)
const handleClick = async () => {
loading.value = true
try {
await submitData()
} finally {
loading.value = false
}
}
</script><template>
<el-form :model="form" :rules="rules" ref="formRef">
<el-form-item label="Name" prop="name">
<el-input v-model="form.name" />
</el-form-item>
<el-form-item>
<el-button type="primary" @click="submitForm">Submit</el-button>
</el-form-item>
</el-form>
</template>
<script setup>
import { ref, reactive } from 'vue'
const formRef = ref()
const form = reactive({
name: ''
})
const rules = {
name: [
{ required: true, message: 'Please input name', trigger: 'blur' }
]
}
const submitForm = async () => {
await formRef.value.validate()
// Submit logic
}
</script>:root {
--el-color-primary: #409eff;
--el-color-success: #67c23a;
--el-color-warning: #e6a23c;
--el-color-danger: #f56c6c;
--el-color-info: #909399;
}<template>
<el-config-provider :locale="locale" :size="size">
<div :class="{ 'dark': isDark }">
<App />
</div>
</el-config-provider>
</template>
<style>
.dark {
color-scheme: dark;
}
</style>npm install element-plus
npm install @element-plus/icons-vue{
"compilerOptions": {
"types": ["element-plus/global"]
}
}element-plus-skills/
├── SKILL.md # This file (main entry)
├── README.md # English documentation
├── README_CN.md # Chinese documentation
├── AGENTS.md # Agents documentation
├── components/ # 77 component skills
│ ├── el-button/
│ │ └── SKILL.md
│ ├── el-form/
│ │ └── SKILL.md
│ └── ...
├── element-plus-quickstart/ # Foundation skills
├── element-plus-theming/
├── element-plus-i18n/
├── element-plus-dark-mode/
├── element-plus-ssr/
├── element-plus-components/
├── element-plus-design-border/ # Design skills
├── element-plus-design-color/
├── element-plus-design-layout/
├── element-plus-design-typography/
└── element-plus-design-overview/