vueuse-functions

This skill is a decision-and-implementation guide for VueUse composables in Vue.js / Nuxt projects. It maps requirements to the most suitable VueUse function, applies the correct usage pattern, and prefers composable-based solutions over bespoke code to keep implementations concise, maintainable, and performant.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "vueuse-functions" with this command: npx skills add baotoq/agent-skills/baotoq-agent-skills-vueuse-functions

VueUse Functions

This skill is a decision-and-implementation guide for VueUse composables in Vue.js / Nuxt projects. It maps requirements to the most suitable VueUse function, applies the correct usage pattern, and prefers composable-based solutions over bespoke code to keep implementations concise, maintainable, and performant.

When to Apply

  • Apply this skill whenever assisting user development work in Vue.js / Nuxt.

  • Always check first whether a VueUse function can implement the requirement.

  • Prefer VueUse composables over custom code to improve readability, maintainability, and performance.

  • Map requirements to the most appropriate VueUse function and follow the function’s invocation rule.

  • Please refer to the Invocation field in the below functions table. For example:

  • AUTO : Use automatically when applicable.

  • EXTERNAL : Use only if the user already installed the required external dependency; otherwise reconsider, and ask to install only if truly needed.

  • EXPLICIT_ONLY : Use only when explicitly requested by the user.

NOTE User instructions in the prompt or AGENTS.md may override a function’s default Invocation rule.

Functions

All functions listed below are part of the VueUse library, each section categorizes functions based on their functionality.

IMPORTANT: Each function entry includes a short Description and a detailed Reference . When using any function, always consult the corresponding document in ./references for Usage details and Type Declarations.

State

Function Description Invocation

createGlobalState

Keep states in the global scope to be reusable across Vue instances AUTO

createInjectionState

Create global state that can be injected into components AUTO

createSharedComposable

Make a composable function usable with multiple Vue instances AUTO

injectLocal

Extended inject with ability to call provideLocal to provide the value in the same component AUTO

provideLocal

Extended provide with ability to call injectLocal to obtain the value in the same component AUTO

useAsyncState

Reactive async state AUTO

useDebouncedRefHistory

Shorthand for useRefHistory with debounced filter AUTO

useLastChanged

Records the timestamp of the last change AUTO

useLocalStorage

Reactive LocalStorage AUTO

useManualRefHistory

Manually track the change history of a ref when the using calls commit()

AUTO

useRefHistory

Track the change history of a ref AUTO

useSessionStorage

Reactive SessionStorage AUTO

useStorage

Create a reactive ref that can be used to access & modify LocalStorage or SessionStorage AUTO

useStorageAsync

Reactive Storage in with async support AUTO

useThrottledRefHistory

Shorthand for useRefHistory with throttled filter AUTO

Elements

Function Description Invocation

useActiveElement

Reactive document.activeElement

AUTO

useDocumentVisibility

Reactively track document.visibilityState

AUTO

useDraggable

Make elements draggable AUTO

useDropZone

Create a zone where files can be dropped AUTO

useElementBounding

Reactive bounding box of an HTML element AUTO

useElementSize

Reactive size of an HTML element AUTO

useElementVisibility

Tracks the visibility of an element within the viewport AUTO

useIntersectionObserver

Detects that a target element's visibility AUTO

useMouseInElement

Reactive mouse position related to an element AUTO

useMutationObserver

Watch for changes being made to the DOM tree AUTO

useParentElement

Get parent element of the given element AUTO

useResizeObserver

Reports changes to the dimensions of an Element's content or the border-box AUTO

useWindowFocus

Reactively track window focus with window.onfocus and window.onblur events AUTO

useWindowScroll

Reactive window scroll AUTO

useWindowSize

Reactive window size AUTO

Browser

Function Description Invocation

useBluetooth

Reactive Web Bluetooth API AUTO

useBreakpoints

Reactive viewport breakpoints AUTO

useBroadcastChannel

Reactive BroadcastChannel API AUTO

useBrowserLocation

Reactive browser location AUTO

useClipboard

Reactive Clipboard API AUTO

useClipboardItems

Reactive Clipboard API AUTO

useColorMode

Reactive color mode (dark / light / customs) with auto data persistence AUTO

useCssSupports

SSR compatible and reactive CSS.supports

AUTO

useCssVar

Manipulate CSS variables AUTO

useDark

Reactive dark mode with auto data persistence AUTO

useEventListener

Use EventListener with ease AUTO

useEyeDropper

Reactive EyeDropper API AUTO

useFavicon

Reactive favicon AUTO

useFileDialog

Open file dialog with ease AUTO

useFileSystemAccess

Create and read and write local files with FileSystemAccessAPI AUTO

useFullscreen

Reactive Fullscreen API AUTO

useGamepad

Provides reactive bindings for the Gamepad API AUTO

useImage

Reactive load an image in the browser AUTO

useMediaControls

Reactive media controls for both audio and video elements AUTO

useMediaQuery

Reactive Media Query AUTO

useMemory

Reactive Memory Info AUTO

useObjectUrl

Reactive URL representing an object AUTO

usePerformanceObserver

Observe performance metrics AUTO

usePermission

Reactive Permissions API AUTO

usePreferredColorScheme

Reactive prefers-color-scheme media query AUTO

usePreferredContrast

Reactive prefers-contrast media query AUTO

usePreferredDark

Reactive dark theme preference AUTO

usePreferredLanguages

Reactive Navigator Languages AUTO

usePreferredReducedMotion

Reactive prefers-reduced-motion media query AUTO

usePreferredReducedTransparency

Reactive prefers-reduced-transparency media query AUTO

useScreenOrientation

Reactive Screen Orientation API AUTO

useScreenSafeArea

Reactive env(safe-area-inset-*)

AUTO

useScriptTag

Creates a script tag AUTO

useShare

Reactive Web Share API AUTO

useSSRWidth

Used to set a global viewport width which will be used when rendering SSR components that rely on the viewport width like useMediaQuery or useBreakpoints

AUTO

useStyleTag

Inject reactive style element in head AUTO

useTextareaAutosize

Automatically update the height of a textarea depending on the content AUTO

useTextDirection

Reactive dir of the element's text AUTO

useTitle

Reactive document title AUTO

useUrlSearchParams

Reactive URLSearchParams AUTO

useVibrate

Reactive Vibration API AUTO

useWakeLock

Reactive Screen Wake Lock API AUTO

useWebNotification

Reactive Notification AUTO

useWebWorker

Simple Web Workers registration and communication AUTO

useWebWorkerFn

Run expensive functions without blocking the UI AUTO

Sensors

Function Description Invocation

onClickOutside

Listen for clicks outside of an element AUTO

onElementRemoval

Fires when the element or any element containing it is removed from the DOM AUTO

onKeyStroke

Listen for keyboard keystrokes AUTO

onLongPress

Listen for a long press on an element AUTO

onStartTyping

Fires when users start typing on non-editable elements AUTO

useBattery

Reactive Battery Status API AUTO

useDeviceMotion

Reactive DeviceMotionEvent AUTO

useDeviceOrientation

Reactive DeviceOrientationEvent AUTO

useDevicePixelRatio

Reactively track window.devicePixelRatio

AUTO

useDevicesList

Reactive enumerateDevices listing available input/output devices AUTO

useDisplayMedia

Reactive mediaDevices.getDisplayMedia streaming AUTO

useElementByPoint

Reactive element by point AUTO

useElementHover

Reactive element's hover state AUTO

useFocus

Reactive utility to track or set the focus state of a DOM element AUTO

useFocusWithin

Reactive utility to track if an element or one of its decendants has focus AUTO

useFps

Reactive FPS (frames per second) AUTO

useGeolocation

Reactive Geolocation API AUTO

useIdle

Tracks whether the user is being inactive AUTO

useInfiniteScroll

Infinite scrolling of the element AUTO

useKeyModifier

Reactive Modifier State AUTO

useMagicKeys

Reactive keys pressed state AUTO

useMouse

Reactive mouse position AUTO

useMousePressed

Reactive mouse pressing state AUTO

useNavigatorLanguage

Reactive navigator.language AUTO

useNetwork

Reactive Network status AUTO

useOnline

Reactive online state AUTO

usePageLeave

Reactive state to show whether the mouse leaves the page AUTO

useParallax

Create parallax effect easily AUTO

usePointer

Reactive pointer state AUTO

usePointerLock

Reactive pointer lock AUTO

usePointerSwipe

Reactive swipe detection based on PointerEvents AUTO

useScroll

Reactive scroll position and state AUTO

useScrollLock

Lock scrolling of the element AUTO

useSpeechRecognition

Reactive SpeechRecognition AUTO

useSpeechSynthesis

Reactive SpeechSynthesis AUTO

useSwipe

Reactive swipe detection based on TouchEvents

AUTO

useTextSelection

Reactively track user text selection based on Window.getSelection

AUTO

useUserMedia

Reactive mediaDevices.getUserMedia streaming AUTO

Network

Function Description Invocation

useEventSource

An EventSource or Server-Sent-Events instance opens a persistent connection to an HTTP server AUTO

useFetch

Reactive Fetch API provides the ability to abort requests AUTO

useWebSocket

Reactive WebSocket client AUTO

Animation

Function Description Invocation

useAnimate

Reactive Web Animations API AUTO

useInterval

Reactive counter that increases on every interval AUTO

useIntervalFn

Wrapper for setInterval with controls AUTO

useNow

Reactive current Date instance AUTO

useRafFn

Call function on every requestAnimationFrame

AUTO

useTimeout

Reactive value that becomes true after a given time AUTO

useTimeoutFn

Wrapper for setTimeout with controls AUTO

useTimestamp

Reactive current timestamp AUTO

useTransition

Transition between values AUTO

Component

Function Description Invocation

computedInject

Combine computed and inject

AUTO

createReusableTemplate

Define and reuse template inside the component scope AUTO

createTemplatePromise

Template as Promise AUTO

templateRef

Shorthand for binding ref to template element AUTO

tryOnBeforeMount

Safe onBeforeMount

AUTO

tryOnBeforeUnmount

Safe onBeforeUnmount

AUTO

tryOnMounted

Safe onMounted

AUTO

tryOnScopeDispose

Safe onScopeDispose

AUTO

tryOnUnmounted

Safe onUnmounted

AUTO

unrefElement

Retrieves the underlying DOM element from a Vue ref or component instance AUTO

useCurrentElement

Get the DOM element of current component as a ref AUTO

useMounted

Mounted state in ref AUTO

useTemplateRefsList

Shorthand for binding refs to template elements and components inside v-for

AUTO

useVirtualList

Create virtual lists with ease AUTO

useVModel

Shorthand for v-model binding AUTO

useVModels

Shorthand for props v-model binding AUTO

Watch

Function Description Invocation

until

Promised one-time watch for changes AUTO

watchArray

Watch for an array with additions and removals AUTO

watchAtMost

watch with the number of times triggered AUTO

watchDebounced

Debounced watch AUTO

watchDeep

Shorthand for watching value with {deep: true}

AUTO

watchIgnorable

Ignorable watch AUTO

watchImmediate

Shorthand for watching value with {immediate: true}

AUTO

watchOnce

Shorthand for watching value with { once: true }

AUTO

watchPausable

Pausable watch AUTO

watchThrottled

Throttled watch AUTO

watchTriggerable

Watch that can be triggered manually AUTO

watchWithFilter

watch with additional EventFilter control AUTO

whenever

Shorthand for watching value to be truthy AUTO

Reactivity

Function Description Invocation

computedAsync

Computed for async functions AUTO

computedEager

Eager computed without lazy evaluation AUTO

computedWithControl

Explicitly define the dependencies of computed AUTO

createRef

Returns a deepRef or shallowRef depending on the deep param AUTO

extendRef

Add extra attributes to Ref AUTO

reactify

Converts plain functions into reactive functions AUTO

reactifyObject

Apply reactify to an object AUTO

reactiveComputed

Computed reactive object AUTO

reactiveOmit

Reactively omit fields from a reactive object AUTO

reactivePick

Reactively pick fields from a reactive object AUTO

refAutoReset

A ref which will be reset to the default value after some time AUTO

refDebounced

Debounce execution of a ref value AUTO

refDefault

Apply default value to a ref AUTO

refManualReset

Create a ref with manual reset functionality AUTO

refThrottled

Throttle changing of a ref value AUTO

refWithControl

Fine-grained controls over ref and its reactivity AUTO

syncRef

Two-way refs synchronization AUTO

syncRefs

Keep target refs in sync with a source ref AUTO

toReactive

Converts ref to reactive AUTO

toRef

Normalize value/ref/getter to ref or computed

EXPLICIT_ONLY

toRefs

Extended toRefs that also accepts refs of an object AUTO

Array

Function Description Invocation

useArrayDifference

Reactive get array difference of two arrays AUTO

useArrayEvery

Reactive Array.every

AUTO

useArrayFilter

Reactive Array.filter

AUTO

useArrayFind

Reactive Array.find

AUTO

useArrayFindIndex

Reactive Array.findIndex

AUTO

useArrayFindLast

Reactive Array.findLast

AUTO

useArrayIncludes

Reactive Array.includes

AUTO

useArrayJoin

Reactive Array.join

AUTO

useArrayMap

Reactive Array.map

AUTO

useArrayReduce

Reactive Array.reduce

AUTO

useArraySome

Reactive Array.some

AUTO

useArrayUnique

Reactive unique array AUTO

useSorted

Reactive sort array AUTO

Time

Function Description Invocation

useCountdown

Reactive countdown timer in seconds AUTO

useDateFormat

Get the formatted date according to the string of tokens passed in AUTO

useTimeAgo

Reactive time ago AUTO

useTimeAgoIntl

Reactive time ago with i18n supported AUTO

Utilities

Function Description Invocation

createEventHook

Utility for creating event hooks AUTO

createUnrefFn

Make a plain function accepting ref and raw values as arguments AUTO

get

Shorthand for accessing ref.value

EXPLICIT_ONLY

isDefined

Non-nullish checking type guard for Ref AUTO

makeDestructurable

Make isomorphic destructurable for object and array at the same time AUTO

set

Shorthand for ref.value = x

EXPLICIT_ONLY

useAsyncQueue

Executes each asynchronous task sequentially and passes the current task result to the next task AUTO

useBase64

Reactive base64 transforming AUTO

useCached

Cache a ref with a custom comparator AUTO

useCloned

Reactive clone of a ref AUTO

useConfirmDialog

Creates event hooks to support modals and confirmation dialog chains AUTO

useCounter

Basic counter with utility functions AUTO

useCycleList

Cycle through a list of items AUTO

useDebounceFn

Debounce execution of a function AUTO

useEventBus

A basic event bus AUTO

useMemoize

Cache results of functions depending on arguments and keep it reactive AUTO

useOffsetPagination

Reactive offset pagination AUTO

usePrevious

Holds the previous value of a ref AUTO

useStepper

Provides helpers for building a multi-step wizard interface AUTO

useSupported

SSR compatibility isSupported

AUTO

useThrottleFn

Throttle execution of a function AUTO

useTimeoutPoll

Use timeout to poll something AUTO

useToggle

A boolean switcher with utility functions AUTO

useToNumber

Reactively convert a string ref to number AUTO

useToString

Reactively convert a ref to string AUTO

@Electron

Function Description Invocation

useIpcRenderer

Provides ipcRenderer and all of its APIs with Vue reactivity EXTERNAL

useIpcRendererInvoke

Reactive ipcRenderer.invoke API result EXTERNAL

useIpcRendererOn

Use ipcRenderer.on with ease and ipcRenderer.removeListener automatically on unmounted EXTERNAL

useZoomFactor

Reactive WebFrame zoom factor EXTERNAL

useZoomLevel

Reactive WebFrame zoom level EXTERNAL

@Firebase

Function Description Invocation

useAuth

Reactive Firebase Auth binding EXTERNAL

useFirestore

Reactive Firestore binding EXTERNAL

useRTDB

Reactive Firebase Realtime Database binding EXTERNAL

@Head

Function Description Invocation

createHead

Create the head manager instance. EXTERNAL

useHead

Update head meta tags reactively. EXTERNAL

@Integrations

Function Description Invocation

useAsyncValidator

Wrapper for async-validator

EXTERNAL

useAxios

Wrapper for axios

EXTERNAL

useChangeCase

Reactive wrapper for change-case

EXTERNAL

useCookies

Wrapper for universal-cookie

EXTERNAL

useDrauu

Reactive instance for drauu EXTERNAL

useFocusTrap

Reactive wrapper for focus-trap

EXTERNAL

useFuse

Easily implement fuzzy search using a composable with Fuse.js EXTERNAL

useIDBKeyval

Wrapper for idb-keyval

EXTERNAL

useJwt

Wrapper for jwt-decode

EXTERNAL

useNProgress

Reactive wrapper for nprogress

EXTERNAL

useQRCode

Wrapper for qrcode

EXTERNAL

useSortable

Wrapper for sortable

EXTERNAL

@Math

Function Description Invocation

createGenericProjection

Generic version of createProjection

EXTERNAL

createProjection

Reactive numeric projection from one domain to another EXTERNAL

logicAnd

AND condition for refs EXTERNAL

logicNot

NOT condition for ref EXTERNAL

logicOr

OR conditions for refs EXTERNAL

useAbs

Reactive Math.abs

EXTERNAL

useAverage

Get the average of an array reactively EXTERNAL

useCeil

Reactive Math.ceil

EXTERNAL

useClamp

Reactively clamp a value between two other values EXTERNAL

useFloor

Reactive Math.floor

EXTERNAL

useMath

Reactive Math methods EXTERNAL

useMax

Reactive Math.max

EXTERNAL

useMin

Reactive Math.min

EXTERNAL

usePrecision

Reactively set the precision of a number EXTERNAL

useProjection

Reactive numeric projection from one domain to another EXTERNAL

useRound

Reactive Math.round

EXTERNAL

useSum

Get the sum of an array reactively EXTERNAL

useTrunc

Reactive Math.trunc

EXTERNAL

@Motion

Function Description Invocation

useElementStyle

Sync a reactive object to a target element CSS styling EXTERNAL

useElementTransform

Sync a reactive object to a target element CSS transform. EXTERNAL

useMotion

Putting your components in motion. EXTERNAL

useMotionProperties

Access Motion Properties for a target element. EXTERNAL

useMotionVariants

Handle the Variants state and selection. EXTERNAL

useSpring

Spring animations. EXTERNAL

@Router

Function Description Invocation

useRouteHash

Shorthand for a reactive route.hash

EXTERNAL

useRouteParams

Shorthand for a reactive route.params

EXTERNAL

useRouteQuery

Shorthand for a reactive route.query

EXTERNAL

@RxJS

Function Description Invocation

from

Wrappers around RxJS's from() and fromEvent() to allow them to accept ref s EXTERNAL

toObserver

Sugar function to convert a ref into an RxJS Observer EXTERNAL

useExtractedObservable

Use an RxJS Observable as extracted from one or more composables EXTERNAL

useObservable

Use an RxJS Observable

EXTERNAL

useSubject

Bind an RxJS Subject to a ref and propagate value changes both ways EXTERNAL

useSubscription

Use an RxJS Subscription without worrying about unsubscribing from it or creating memory leaks EXTERNAL

watchExtractedObservable

Watch the values of an RxJS Observable as extracted from one or more composables EXTERNAL

@SchemaOrg

Function Description Invocation

createSchemaOrg

Create the schema.org manager instance. EXTERNAL

useSchemaOrg

Update schema.org reactively. EXTERNAL

@Sound

Function Description Invocation

useSound

Play sound effects reactively. EXTERNAL

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

typescript-expert

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

csharp-developer

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

nextjs-developer

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

test-driven-development

No summary provided by upstream source.

Repository SourceNeeds Review