What problem does it solve? Vue composables often break or lose reactivity when callers pass plain values instead of refs, or getters instead of static values. This Skill guides the creation of library-grade composables that accept any input form—plain value, ref, or getter—without forcing callers to adapt their data. ## Core Features & Use Cases - Flexible Input Typing: Uses MaybeRef and MaybeRefOrGetter type utilities so composable parameters accept plain values, refs, computed refs, or getter functions. - Reactivity Normalization: Applies toValue() and toRef() inside watchers and reactive effects to keep behavior predictable regardless of input form. - Typing Policy Guidance: Provides clear rules for choosing MaybeRefOrGetter for read-only inputs versus MaybeRef for writable two-way inputs, and warns against using getter types for callback parameters. - Use Case: When building a shared useDocumentTitle or useCounter composable for a Vue 3 or Nuxt 3 design system, generate it so every consumer can pass a string, a ref, or a computed getter interchangeably. ## Quick Start Ask the AI to create an adaptable Vue composable that accepts maybe-reactive inputs using MaybeRefOrGetter and normalizes them with toValue or toRef.