Back to Skills

vueuse

Use when working with VueUse composables - track mouse position with useMouse, manage localStorage with useStorage, detect network status with useNetwork, debounce values with refDebounced, and access browser APIs reactively. Check VueUse before writing custom composables - most patterns already implemented.

660stars30forksUpdated 5/20/2026

Security Assessment

Safe(100/100)
Security Score100/100

About vueuse

The vueuse skill provides a comprehensive suite of utilities for developers working with Vue.js applications, particularly leveraging Vue 3's Composition API. It streamlines common patterns by offering ready-made composables for state management, reactive interactions with the DOM, network requests, animations, and browser APIs. By using vueuse, developers can avoid reinventing the wheel, reduce boilerplate code, and implement robust reactive features quickly and consistently, while maintaining clean and maintainable codebases.

Vueuse encompasses a wide array of features, including state persistence with localStorage and sessionStorage, reactive mouse and keyboard tracking, network status detection, and debounced or throttled reactive values. It also supports advanced patterns such as shared composables (singletons), SSR-safe composables that account for server-side rendering, and reactive access to browser APIs. Categories of composables include state, elements, browser utilities, sensors, network operations, animations, component utilities, watchers, reactivity helpers, arrays, time utilities, and general-purpose utilities.

This skill is particularly useful for Vue.js developers, Nuxt.js users, and anyone building interactive web applications that require real-time reactivity, responsive elements, or persistent state. Typical use cases include tracking user interactions, managing dynamic data, implementing debounced input fields, and safely using browser-specific APIs in SSR contexts. Vueuse helps both novice and experienced developers accelerate development while adhering to best practices in reactive programming.

FAQ

Which versions of Vue does vueuse support?

Vueuse is compatible with Vue 3.5+ and the current stable version is 14.x. It is designed to work seamlessly with both Vue 3 and Nuxt projects.

How do I install vueuse in a Nuxt project?

You can install vueuse in Nuxt using pnpm: `pnpm add @vueuse/nuxt @vueuse/core`. The Nuxt module auto-imports composables, so no explicit imports are needed.

Are vueuse composables safe to use in server-side rendering (SSR)?

Many vueuse composables rely on browser APIs, which are not available during SSR. To handle this, you can check `isClient`, wrap code in `onMounted`, or use SSR-safe composables. The `@vueuse/nuxt` module automatically returns safe defaults on the server.

Can I use vueuse composables for managing localStorage and sessionStorage?

Yes, vueuse provides `useLocalStorage` and `useSessionStorage` composables to persist state reactively in browser storage.

Where can I find documentation for individual composables?

You can reference specific composables in `composables/<name>.md` or browse categories in `references/composables.md` to find the functionality you need.

All Files

147 files
composables/use-countdown.md1.0 KB
View
composables/use-display-media.md1.1 KB
View
composables/use-eye-dropper.md0.5 KB
View
composables/use-cycle-list.md1.0 KB
View
composables/use-element-bounding.md1.1 KB
View
composables/use-firestore.md0.5 KB
View
composables/use-dark.md0.7 KB
View
composables/use-element-by-point.md0.6 KB
View
composables/use-date-format.md0.8 KB
View
composables/use-element-hover.md0.5 KB
View
composables/use-debounce-fn.md0.4 KB
View
composables/use-debounced-ref-history.md0.4 KB
View
composables/use-devices-list.md0.8 KB
View
composables/use-fullscreen.md1.0 KB
View
composables/use-fuse.md0.7 KB
View
composables/use-draggable.md1.7 KB
View
composables/use-drauu.md0.9 KB
View
composables/use-gamepad.md0.7 KB
View
composables/use-geolocation.md0.7 KB
View
composables/use-idbkeyval.md0.8 KB
View
composables/use-idle.md0.8 KB
View
composables/use-image.md1.2 KB
View
composables/use-intersection-observer.md1.3 KB
View
composables/use-interval-fn.md0.7 KB
View
composables/use-interval.md0.7 KB
View
composables/use-ipc-renderer-invoke.md0.6 KB
View
composables/use-ipc-renderer-on.md0.6 KB
View
composables/use-ipc-renderer.md1.0 KB
View
composables/use-drop-zone.md1.5 KB
View
composables/use-fetch.md1.6 KB
View
composables/use-element-size.md0.6 KB
View
composables/use-file-dialog.md1.5 KB
View
composables/use-file-system-access.md0.8 KB
View
composables/use-floor.md0.3 KB
View
composables/use-element-visibility.md1.1 KB
View
composables/use-focus-trap.md1.0 KB
View
composables/use-event-bus.md0.7 KB
View
composables/use-focus-within.md1.0 KB
View
composables/use-fps.md0.4 KB
View
composables/use-event-listener.md0.4 KB
View
SKILL.md4.2 KB
View
composables/computed-async.md0.4 KB
View
composables/computed-eager.md0.4 KB
View
composables/computed-inject.md0.5 KB
View
composables/computed-with-control.md0.4 KB
View
composables/create-disposable-directive.md0.9 KB
View
composables/create-event-hook.md0.7 KB
View
composables/create-generic-projection.md0.2 KB
View
composables/logic-and.md0.4 KB
View
composables/create-global-state.md0.4 KB
View
composables/logic-not.md0.3 KB
View
composables/create-injection-state.md0.7 KB
View
composables/create-projection.md0.5 KB
View
composables/make-destructurable.md0.3 KB
View
composables/ref-default.md0.4 KB
View
composables/try-on-mounted.md0.3 KB
View
composables/use-array-includes.md0.4 KB
View
composables/create-ref.md0.4 KB
View
composables/on-click-outside.md1.1 KB
View
composables/ref-manual-reset.md0.4 KB
View
composables/try-on-scope-dispose.md0.3 KB
View
composables/use-breakpoints.md0.8 KB
View
composables/create-reusable-template.md0.7 KB
View
composables/on-element-removal.md0.4 KB
View
composables/create-shared-composable.md0.5 KB
View
composables/create-template-promise.md0.7 KB
View
composables/create-unref-fn.md0.7 KB
View
composables/extend-ref.md0.6 KB
View
composables/from.md0.2 KB
View
composables/get.md0.2 KB
View
composables/inject-local.md0.4 KB
View
composables/reactive-computed.md0.4 KB
View
composables/is-defined.md0.4 KB
View
composables/logic-or.md0.4 KB
View
composables/ref-debounced.md0.6 KB
View
composables/try-on-before-unmount.md0.3 KB
View
composables/use-array-find.md0.3 KB
View
composables/on-key-stroke.md0.5 KB
View
composables/ref-with-control.md0.8 KB
View
composables/on-long-press.md1.2 KB
View
composables/set.md0.2 KB
View
composables/until.md0.4 KB
View
composables/use-browser-location.md0.3 KB
View
composables/use-counter.md0.4 KB
View
composables/use-document-visibility.md0.3 KB
View
composables/use-favicon.md0.3 KB
View
composables/on-start-typing.md0.6 KB
View
composables/sync-ref.md0.4 KB
View
composables/use-abs.md0.3 KB
View
composables/use-css-supports.md0.4 KB
View
composables/provide-local.md0.4 KB
View
composables/reactify-object.md0.5 KB
View
composables/template-ref.md0.4 KB
View
composables/reactify.md0.9 KB
View
composables/to-observer.md0.2 KB
View
composables/reactive-omit.md0.4 KB
View
composables/reactive-pick.md0.4 KB
View
composables/to-refs.md0.7 KB
View
composables/use-array-find-index.md0.5 KB
View
composables/ref-auto-reset.md0.5 KB
View
composables/try-on-before-mount.md0.3 KB
View
composables/ref-throttled.md0.3 KB
View
composables/try-on-unmounted.md0.3 KB
View
composables/use-cookies.md0.6 KB
View
composables/sync-refs.md0.6 KB
View
composables/to-reactive.md0.7 KB
View
composables/use-array-every.md0.5 KB
View
composables/to-ref.md0.4 KB
View
composables/unref-element.md0.7 KB
View
composables/use-active-element.md0.7 KB
View
composables/use-css-var.md0.7 KB
View
composables/use-event-source.md1.1 KB
View
composables/use-animate.md1.6 KB
View
composables/use-array-difference.md0.6 KB
View
composables/use-array-map.md0.5 KB
View
composables/use-average.md0.3 KB
View
composables/use-ceil.md0.2 KB
View
composables/use-extracted-observable.md0.3 KB
View
composables/use-array-filter.md0.5 KB
View
composables/use-array-some.md0.5 KB
View
composables/use-base64.md0.6 KB
View
composables/use-clamp.md0.3 KB
View
composables/use-array-find-last.md0.3 KB
View
composables/use-array-join.md0.4 KB
View
composables/use-auth.md0.9 KB
View
composables/use-cached.md0.7 KB
View
composables/use-current-element.md0.3 KB
View
composables/use-focus.md1.0 KB
View
composables/use-array-reduce.md0.3 KB
View
composables/use-array-unique.md0.5 KB
View
composables/use-async-queue.md1.2 KB
View
composables/use-async-state.md0.9 KB
View
composables/use-async-validator.md0.6 KB
View
composables/use-color-mode.md1.4 KB
View
composables/use-device-orientation.md0.6 KB
View
composables/use-axios.md0.9 KB
View
composables/use-battery.md0.9 KB
View
composables/use-clipboard-items.md1.6 KB
View
composables/use-bluetooth.md0.9 KB
View
composables/use-clipboard.md1.5 KB
View
composables/use-broadcast-channel.md1.0 KB
View
composables/use-change-case.md0.7 KB
View
composables/use-cloned.md0.7 KB
View
composables/use-device-motion.md0.9 KB
View
composables/use-confirm-dialog.md1.0 KB
View
composables/use-device-pixel-ratio.md0.4 KB
View
composables/use-infinite-scroll.md1.5 KB
View

Install vueuse

Download and extract the skill files to your .claude/skills/ directory.

Quick Setup:

  1. Copy the skill folder to .claude/skills/
  2. Claude will automatically detect and use the skill