serkodev/vueuse-skills/vueuse-functions

Claude Code and agent skill by serkodev/vueuse-skills

Trust tier 2
  • community
LLM review pending
Source check pending

Checking that the SKILL.md file is still in the repository.

Apply VueUse composables where appropriate to build concise, maintainable Vue.js / Nuxt features.

Install

npx vskill@latest install serkodev/vueuse-skills/vueuse-functions

SKILL.md

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
FunctionDescriptionInvocation
`createGlobalState`Keep states in the global scope to be reusable across Vue instancesAUTO
`createInjectionState`Create global state that can be injected into componentsAUTO
`createSharedComposable`Make a composable function usable with multiple Vue instancesAUTO
`injectLocal`Extended inject with ability to call provideLocal to provide the value in the same componentAUTO
`provideLocal`Extended provide with ability to call injectLocal to obtain the value in the same componentAUTO
`useAsyncState`Reactive async stateAUTO
`useDebouncedRefHistory`Shorthand for useRefHistory with debounced filterAUTO
`useLastChanged`Records the timestamp of the last changeAUTO
`useLocalStorage`Reactive LocalStorageAUTO
`useManualRefHistory`Manually track the change history of a ref when the user calls commit()AUTO
`useRefHistory`Track the change history of a refAUTO
`useSessionStorage`Reactive SessionStorageAUTO
`useStorage`Create a reactive ref that can be used to access & modify LocalStorage or SessionStorageAUTO
`useStorageAsync`Reactive Storage with async supportAUTO
`useThrottledRefHistory`Shorthand for useRefHistory with throttled filterAUTO
Elements
FunctionDescriptionInvocation
`useActiveElement`Reactive document.activeElementAUTO
`useDocumentVisibility`Reactively track `document.visibilityState`AUTO
`useDraggable`Make elements draggableAUTO
`useDropZone`Create a zone where files can be droppedAUTO
`useElementBounding`Reactive bounding box of an HTML elementAUTO
`useElementOverflow`Reactive element's overflow stateAUTO
`useElementSize`Reactive size of an HTML elementAUTO
`useElementVisibility`Tracks the visibility of an element within the viewportAUTO
`useIntersectionObserver`Detects changes to a target element's visibilityAUTO
`useMouseInElement`Reactive mouse position related to an elementAUTO
`useMutationObserver`Watch for changes being made to the DOM treeAUTO
`useParentElement`Get parent element of the given elementAUTO
`useResizeObserver`Reports changes to the dimensions of an Element's content or the border-boxAUTO
`useWindowFocus`Reactively track window focus with window.onfocus and window.onblur eventsAUTO
`useWindowScroll`Reactive window scrollAUTO
`useWindowSize`Reactive window sizeAUTO
Browser
FunctionDescriptionInvocation
`useBluetooth`Reactive Web Bluetooth APIAUTO
`useBreakpoints`Reactive viewport breakpointsAUTO
`useBroadcastChannel`Reactive BroadcastChannel APIAUTO
`useBrowserLocation`Reactive browser locationAUTO
`useClipboard`Reactive Clipboard APIAUTO
`useClipboardItems`Reactive Clipboard APIAUTO
`useColorMode`Reactive color mode (dark / light / customs) with auto data persistenceAUTO
`useCssSupports`SSR compatible and reactive `CSS.supports`AUTO
`useCssVar`Manipulate CSS variablesAUTO
`useDark`Reactive dark mode with auto data persistenceAUTO
`useEventListener`Use EventListener with easeAUTO
`useEyeDropper`Reactive EyeDropper APIAUTO
`useFavicon`Reactive faviconAUTO
`useFileDialog`Open file dialog with easeAUTO
`useFileSystemAccess`Create and read and write local files with FileSystemAccessAPIAUTO
`useFullscreen`Reactive Fullscreen APIAUTO
`useGamepad`Provides reactive bindings for the Gamepad APIAUTO
`useImage`Reactive load an image in the browserAUTO
`useLiveAnnouncer`Accessible way to announce messages to screen reader users (ARIA live regions)AUTO
`useMediaControls`Reactive media controls for both audio and video elementsAUTO
`useMediaQuery`Reactive Media QueryAUTO
`useMemory`Reactive Memory InfoAUTO
`useObjectUrl`Reactive URL representing an objectAUTO
`usePerformanceObserver`Observe performance metricsAUTO
`usePermission`Reactive Permissions APIAUTO
`usePreferredColorScheme`Reactive prefers-color-scheme media queryAUTO
`usePreferredContrast`Reactive prefers-contrast media queryAUTO
`usePreferredDark`Reactive dark theme preferenceAUTO
`usePreferredLanguages`Reactive Navigator LanguagesAUTO
`usePreferredReducedMotion`Reactive prefers-reduced-motion media queryAUTO
`usePreferredReducedTransparency`Reactive prefers-reduced-transparency media queryAUTO
`useScreenOrientation`Reactive Screen Orientation APIAUTO
`useScreenSafeArea`Reactive env(safe-area-inset-*)AUTO
`useScriptTag`Creates a script tagAUTO
`useShare`Reactive Web Share APIAUTO
`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 headAUTO
`useTextareaAutosize`Automatically update the height of a textarea depending on the contentAUTO
`useTextDirection`Reactive dir of the element's textAUTO
`useTitle`Reactive document titleAUTO
`useUrlSearchParams`Reactive URLSearchParamsAUTO
`useVibrate`Reactive Vibration APIAUTO
`useWakeLock`Reactive Screen Wake Lock APIAUTO
`useWebMCP`Register a WebMCP tool

This is the start of the file. Read the full SKILL.md on GitHub.

Security

  • Security scanPassed, 93 of 100Pattern checks on the skill's files.
  • Model reviewNot runA model review is scheduled for the next rescan.

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

Repository stars
351
Repository forks
9
7-day trend score
29

Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 9 Apr 2026, 6 months ago.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/serkodev/vueuse-skills/vueuse-functions/badge)](https://verified-skill.com/skills/serkodev/vueuse-skills/vueuse-functions)

Something wrong with this skill or its page? Tell us.