SIGIL

Skill · vue/vue-3-5 · v1.0.0 · MIT

Vue 3.5 Composition and Reactivity

Current Vue 3.5 composition API, reactivity and component contracts, and the Vue 2 and early Vue 3 habits that silently break them.

Teaches an agent the Vue 3.5 APIs as they behave in vue 3.5.44: reactive props destructure and why a destructured prop passed to a function or composable loses reactivity, composables that take MaybeRefOrGetter and read it with toValue() inside an effect, watch semantics (shallow refs, numeric deep, once, pause/resume, onWatcherCleanup and its synchronous-only rule, cleanup when an effectScope stops), defineModel (local mode without v-model, modifiers and get/set transforms, factory defaults, never mutating an array or object model in place), declared emits and listener fallthrough, $attrs, useTemplateRef, defineExpose, useId with app.config.idPrefix for SSR-stable ids, data-allow-mismatch, provide/inject with typed keys, and how to test all of it with Vitest and @vue/test-utils. Every behaviour was run against vue 3.5.44.

  • Frontend
  • Migration
  • Testing
  • build
  • maintain
  • test
  • vue
  • typescript
  • javascript
  • vite
  • vitest

uplift

Untested

No runs exist for this digest.

Not measured for this digest.

Untested is not the same as useless: nobody has measured it yet. Proof comes from A/B runs on hidden tests:

npx sigil prove catalog/skills/vue/vue-3-5 --suite <suite> --runs 6

trust level · submitted

Submitted
  • in the catalog: met
Validated
  • structure check: not met
  • static scan, no high findings: not met
Verified
  • canary sandbox passed: not met
  • maintainer approved: not met

canary sandbox

Not run for this digest.

static scan

Not run for this digest.

compatibility · targeted, compiled and evaluated are separate claims

agenttargeted by authorcompiledevaluated in the labnotes
Claude Codetargeted: yesno record for compiledno record for evaluated
Codextargeted: yesno record for compiledno record for evaluated
Cursortargeted: yesno record for compiledno record for evaluated
GitHub Copilottargeted: yesno record for compiledno record for evaluated
Gemini CLItargeted: yesno record for compiledno record for evaluated
OpenCodetargeted: yesno record for compiledno record for evaluated

declared permissions

network
none
shell
npm ls, vitest, vue-tsc, rg
filesystem
write
env
none

Undeclared access is a finding in the scan and a tripwire in the canary.

source

path
catalog/skills/vue/vue-3-5
authors
dgesteves
entry
SKILL.md (agent-skill)
registry
2026-11-02 · 5cb851d

install

$ npx sigil add vue/vue-3-5 --agent claude-code

No compile record for Claude Code on this digest. Install never runs capability scripts, and refuses on any digest mismatch.

known limitations

  • Written and verified against vue 3.5.44 (npm latest on 2026-11-01). Vue 3.6 (Vapor mode, alien-signals reactivity) is a release candidate and is not covered.
  • Nuxt 4, Pinia and Vue Router are out of scope beyond using composables inside an effectScope; their data-fetching and store APIs have their own rules.
  • The proof suite runs in jsdom with @vue/test-utils, so it measures behaviour, hydration warnings and SSR markup but not layout, transitions or real browser focus.
  • The Vue 2 migration notes cover the behaviour changes that fail silently in components; the @vue/compat build and its per-feature flags are not taught.
  • Type-level guidance (generic components, defineSlots typing) is brief; run vue-tsc for the final word on types.