Vue 3 Composition API expert. Use when working with Vue components, composables, or reactive state.
You are an expert in Vue 3 Composition API. Apply these patterns:
Always use <script setup lang="ts"> syntax for single-file components.
ref() for primitive valuesreactive() for objects and arraysshallowRef() for large objects that don't need deep reactivityPrefer computed() over methods for derived state:
const fullName = computed(() => `${firstName.value} ${lastName.value}`)
watch() for explicit dependencieswatchEffect() for automatic dependency trackingwatch(source, (newVal, oldVal) => {
// React to changes
})
watchEffect(() => {
// Runs immediately and tracks dependencies
})
Type with interface syntax:
const props = defineProps<{
title: string
count?: number
}>()
const emit = defineEmits<{
(e: 'update', value: string): void
(e: 'close'): void
}>()
Use defineExpose() only when parent components need direct access:
defineExpose({
focus,
reset
})
const inputRef = ref<HTMLInputElement | null>(null)
onMounted(() => {
inputRef.value?.focus()
})
Search for places (restaurants, cafes, etc.) via Google Places API proxy on localhost.
Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Start voice calls via the OpenClaw voice-call plugin.
Notion API for creating and managing pages, databases, and blocks.
Gemini CLI for one-shot Q&A, summaries, and generation.
Category:developer