Vue
Writing & docs36.5K installs
What it does
Vue 3 Composition API, script setup macros, reactivity system, and built-in components. Use when writing Vue SFCs, defineProps/defineEmits/defineModel, watchers, or using Transition/Teleport/Suspense/KeepAlive.
Install
npx skills add https://github.com/antfu/skills --skill vueWebsite
www.skills.sh/antfu/skills/vueDetails
From the skill’s SKILL.md or README, by its authors. View the original
Vue
> Based on Vue 3.5, generated at 2026-09-25. Always use Composition API with ``.
Preferences
- Prefer TypeScript over JavaScript
- Prefer `
over` - For performance, prefer
shallowRefoverrefif deep reactivity is not needed - Always use Composition API over Options API
- Discourage using Reactive Props Destructure
Core
| Topic | Description | Reference |
|---|---|---|
| Script Setup & Macros | ``, defineProps, defineEmits, defineModel, defineExpose, defineOptions, defineSlots, generics | script-setup-macros |
| Reactivity & Lifecycle | ref, shallowRef, computed, watch, watchEffect, effectScope, lifecycle hooks, composables | core-new-apis |
Features
| Topic | Description | Reference |
|---|---|---|
| Built-in Components & Directives | Transition, Teleport, Suspense, KeepAlive, v-memo, custom directives | advanced-patterns |
Quick Reference
Component Template
import { ref, computed, watch, onMounted } from 'vue'
const props = defineProps<{
title: string
count?: number
}>()
const emit = defineEmits<{
update: [value: string]
}>()
const model = defineModel()
const doubled = computed(() => (props.count ?? 0) * 2)
watch(() => props.title, (newVal) => {
console.log('Title changed:', newVal)
})
onMounted(() => {
console.log('Component mounted')
})
{{ title }} - {{ doubled }}
Key Imports
// Reactivity
import { ref, shallowRef, computed, reactive, readonly, toRef, toRefs, toValue } from 'vue'
// Watchers
import { watch, watchEffect, watchPostEffect, onWatcherCleanup } from 'vue'
// Lifecycle
import { onMounted, onUpdated, onUnmounted, onBeforeMount, onBeforeUpdate, onBeforeUnmount } from 'vue'
// Utilities
import { nextTick, defineComponent, defineAsyncComponent } from 'vue'More Writing & docs skills
See allWriting & docs
A relentless interview to sharpen a plan or design, which also creates docs (ADR's and glossary) as we go.
1.3M installsnpx skills add https://github.com/mattpocock/skills --skill grill-with-docsWriting & docs
Move issues and external PRs through a state machine of triage roles, categorise, verify, grill if needed, and write agent-ready briefs.
1.1M installsnpx skills add https://github.com/mattpocock/skills --skill triageWriting & docs
Build and sharpen a project's domain model. Use when discussing codebase terminology, writing or editing a GLOSSARY.md, or recording or editing an ADR.
952.2K installsnpx skills add https://github.com/mattpocock/skills --skill domain-modelingWriting & docs
Writing, exploit; assemble raw material into a journey of beats, grounding each term before a beat leans on it.
528.6K installsnpx skills add https://github.com/mattpocock/skills --skill writing-beats
Skills are shared by members and not reviewed by us. Read a skill’s code before you install it.