vue-skilld
Build, debug, and modernize UI with Vue 3.6. Use when editing *.vue files, writing components or composables, or working with code that imports "vue". Covers script setup, reactivity, Vapor Mode, SSR, and version-specific API changes from 3.4 through 3.6.0-beta.17.
How do I install this agent skill?
npx skills add https://github.com/skilld-dev/vue-ecosystem-skills --skill vue-skilldIs this agent skill safe to install?
- Gen Agent Trust Hubpass
This skill provides a comprehensive documentation and reference library for the Vue.js framework, containing no executable logic or security threats.
- Socketpass
No alerts
- Snykpass
Risk: LOW · No issues
What does this agent skill do?
vue 3.6.0-beta.17 (vuejs/core)
Pre-release beta of the 3.6 line. Two headline changes vs 3.5:
- Vapor Mode, an opt-in compilation strategy for SFCs that skips the Virtual DOM; see Vapor Mode.
- alien-signals reactivity refactor:
@vue/reactivitywas rebuilt on alien-signals for lower memory use and faster updates. No public API changes.
Package facts (from the prepared source):
- Version:
package.json:3. - The main entry re-exports
@vue/runtime-domAND@vue/runtime-vapor, so all Vapor APIs (createVaporApp,vaporInteropPlugin,defineVaporComponent) import from plainvue:dist/vue.d.ts:4-5. - Named exports added by the
vuepackage itself:compile,defineVaporAsyncComponent,withAsyncContext:dist/vue.runtime.esm-bundler.js:12. - Subpath exports:
vue/server-renderer,vue/compiler-sfc,vue/jsx-runtime,vue/jsx:package.json:36-68. - TypeScript is an optional peer dependency (
*):package.json:107-113.
Common tasks
Component with <script setup>, reactive props destructure, and defineModel:
<script setup lang="ts">
const { count = 0 } = defineProps<{ count?: number }>()
const model = defineModel<string>({ default: '' })
</script>
<template>
<input v-model="model" />
<p>{{ count }}</p>
</template>
Template refs (3.5+ pattern):
import { useTemplateRef } from 'vue'
const input = useTemplateRef('my-input') // matches ref="my-input" in template
Watch with cleanup (3.5+):
import { watch, onWatcherCleanup } from 'vue'
watch(id, () => {
const controller = new AbortController()
load(id.value, controller)
onWatcherCleanup(() => controller.abort())
})
Composable that accepts a value, ref, or getter:
import { toValue, type MaybeRefOrGetter } from 'vue'
function useDouble(source: MaybeRefOrGetter<number>) {
return computed(() => toValue(source) * 2)
}
Lazy hydration for SSR (3.5+):
import { defineAsyncComponent, hydrateOnVisible } from 'vue'
const Heavy = defineAsyncComponent({
loader: () => import('./Heavy.vue'),
hydrate: hydrateOnVisible(),
})
Version rules that change what you write
Full list with citations in API changes. The ones that break old code:
- Reactivity Transform (
$ref,$computed) was removed in 3.4. Use plainref/computed, or the Vue Macros plugin. @vnodeXXXlisteners are a compiler error since 3.4. Use@vue:mountedstyle listeners.- Global
JSXnamespace is no longer registered since 3.4. SetjsxImportSource: "vue"in tsconfig, or importvue/jsx. - In Vapor components (3.6), Options API,
app.config.globalProperties,getCurrentInstance(),v-memo, and@vue:xxxelement lifecycle events do not work. - Vapor event delegation is on by default in beta.17:
stopPropagation()in an ancestor can cancel delegated handlers. Disable per build withcompilerOptions.eventDelegation(added in beta.15, #14924). Note: rc.2 replaced this with an opt-in.delegatemodifier (release notes).
Bundler and dist notes
- Bundlers resolve the runtime-only build; templates in
.vuefiles are pre-compiled. For runtime template compilation (in-DOM templates or template strings), aliasvuetovue/dist/vue.esm-bundler.js. - Replace
__VUE_OPTIONS_API__,__VUE_PROD_DEVTOOLS__,__VUE_PROD_HYDRATION_MISMATCH_DETAILS__at build time for correct tree-shaking (compile-time flags). - In Node CJS, importing
vue/compiler-sfcauto-registers TypeScript viaregisterTS(() => require('typescript'))when resolvable:compiler-sfc/register-ts.js:1-3.
Details, dist-file selection, and the export catalog: API surface.
References
- API surface: entry points, dist builds, feature flags, export catalog.
- Vapor Mode: opt-in, interop, constraints, directives, event delegation.
- API changes 3.4 to 3.6: new, stable, and removed APIs per version, with citations.
- Best practices: composable and performance patterns proven against the official docs.
How can the creator link this skill?
Add the canonical catalog link to the repository README so users can inspect current installs and available audits. The publishing guide covers the complete discovery path.
<a href="https://skillzs.dev/skills/skilld-dev/vue-ecosystem-skills/vue-skilld">View vue-skilld on skillZs</a>