MCPInstall

vueuse-shared-skilld

Use when writing, reviewing, or debugging code that imports from "@vueuse/shared" (or its utilities re-exported by "@vueuse/core"). Provides the v15.0.0 API surface, debounce and throttle defaults, watch variants, state-sharing patterns, and v14 to v15 migration rules.

Installs
137
Last 24h
—
Trending rank
—
Security
Not audited

Install

Works with every agent the skills CLI supports.

npx skills add https://github.com/skilld-dev/vue-ecosystem-skills --skill vueuse-shared-skilld
  1. 01

    Install

    Run the command in your project. The CLI asks which agents to install for.

  2. 02

    Describe the task

    Ask your agent for something this skill covers. It loads vueuse-shared-skilld automatically when relevant.

  3. 03

    Review the result

    The agent follows the SKILL.md steps, scripts and references bundled with the skill.

SKILL.md

The instructions your agent reads when the skill is triggered.

@vueuse/shared 15.0.0

Framework-agnostic reactive utilities for Vue. Peer dependency vue ^3.5.0 (package.json:40). ESM-only: "type": "module" and no CJS build in dist (package.json:2). Requires Node.js >= 22 (package.json:37).

Source citations like dist/index.js:904 refer to the prepared package source. Function docs: https://vueuse.org/<functionName>.

Critical v15 rules

  • useThrottleFn default trailing changed from false to true in v15.0.0. Defaults are now ms = 200, trailing = true, leading = true, rejectOnCancel = false (dist/index.js:904). Release: https://github.com/vueuse/vueuse/releases/tag/v15.0.0 To get v14 leading-edge-only behavior, pass trailing = false explicitly.
  • computedEager / eagerComputed are deprecated and slated for removal. Use Vue 3.4+ computed instead (dist/index.d.ts:5-18).
  • watchPausable / pausableWatch are deprecated on every overload. Use Vue's built-in watch, whose handle already has pause() and resume() (dist/index.js:1021, dist/index.d.ts:1459-1466).
  • Prefer primary names over deprecated aliases; see the table in migration-v15.
  • Timer composables are no-ops on the server: useIntervalFn and useTimeoutFn only start timers when isClient (dist/index.js:1654, dist/index.js:1726-1729).

Common tasks

import { useDebounceFn, useThrottleFn } from '@vueuse/shared'

// Debounced fn: returns a promise; cancel/flush/isPending attached
const search = useDebounceFn(query => fetchApi(query), 300, { maxWait: 1000 })

// Rate-limit scroll/resize; v15 fires on BOTH edges by default
const onScroll = useThrottleFn(handler, 200)          // leading + trailing
const onScrollV14 = useThrottleFn(handler, 200, false) // trailing=false, v14 style
import { until, whenever } from '@vueuse/shared'

// One-shot async flow control instead of manual watchers
await until(isReady).toBe(true, { timeout: 5000, throwOnTimeout: true })

// Runs only while truthy; { once: true } auto-stops after the first run
whenever(isReady, data => render(data), { once: true })
import { createInjectionState } from '@vueuse/shared'

// Typed provide/inject pair without manual InjectionKey
const [useProvideStore, useStore] = createInjectionState(() => {
  const count = ref(0)
  return { count, inc: () => count.value++ }
}, { defaultValue: { count: ref(0), inc: () => {} } })
import { refManualReset, syncRef } from '@vueuse/shared'

const message = refManualReset('idle')   // message.reset() restores 'idle'
const num = ref(10), str = ref('10')
syncRef(num, str, {                       // transform is required when
  transform: {                            // types differ (type-level check)
    ltr: v => String(v),
    rtl: v => Number(v),
  },
})

More worked patterns: reactivity-utilities, watch-utilities.

Choosing state-sharing tools

ToolLifetimeUse when
createGlobalStateApp lifetime, never disposed (dist/index.js:169-180)App-wide singleton state
createSharedComposableDisposed when last subscriber leaves (dist/index.js:583-605)One shared instance of a composable, e.g. one useMouse
createInjectionStateTied to component treeTyped provider/consumer stores
provideLocal / injectLocalSame component or scopeProvide and inject within one component

SSR: createSharedComposable falls back to the plain composable on the server, so every request gets fresh state (dist/index.js:584). Details: state-sharing.

References

  • api-surface: complete export inventory with signatures and defaults
  • migration-v15: v14 to v15 changes and deprecated alias map
  • debounce-throttle: filters, useDebounceFn, useThrottleFn semantics
  • watch-utilities: watch variants, until, whenever
  • reactivity-utilities: ref/computed/sync helpers
  • state-sharing: global, shared, and injected state
  • timers-and-utils: timers, counters, formatting, plain utils

FAQ

What does the vueuse-shared-skilld skill do?

Use when writing, reviewing, or debugging code that imports from "@vueuse/shared" (or its utilities re-exported by "@vueuse/core"). Provides the v15.0.0 API surface, debounce and throttle defaults, watch variants, state-sharing patterns, and v14 to v15 migration rules.

How do I install vueuse-shared-skilld?

Run npx skills add https://github.com/skilld-dev/vue-ecosystem-skills --skill vueuse-shared-skilld in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/vueuse-shared-skilld/ (personal) or .claude/skills/vueuse-shared-skilld/ (project).

Which AI agents can use vueuse-shared-skilld?

Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.

Is vueuse-shared-skilld safe to install?

No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.

Who maintains vueuse-shared-skilld?

It is published by skilld-dev in skilld-dev/vue-ecosystem-skills. It has 137 recorded installs.

More from skilld-dev/vue-ecosystem-skills

View all →

quasar-skilld

skilld-dev/vue-ecosystem-skills

Build, configure, and debug apps with the Quasar framework (quasar npm package, v2.33.1). Use when writing, reviewing, or debugging code that imports "quasar" or "quasar/wrappers", configuring Quasar with Vite, Vitest, Storybook, UMD, or Quasar CLI, styling with Quasar Sass variables, or upgrading between Quasar v2 releases.

Frontend & Design661 installs

vue-i18n-skilld

skilld-dev/vue-ecosystem-skills

Open the skill to read its SKILL.md instructions.

Frontend & Design401 installs

vue-skilld

skilld-dev/vue-ecosystem-skills

Open the skill to read its SKILL.md instructions.

Frontend & Design397 installs

vuetify-skilld

skilld-dev/vue-ecosystem-skills

Vue Material Component Framework. Use when writing, debugging, or configuring code that imports vuetify v4.x. Covers createVuetify setup, components and labs, composables, theming, icons, dates and locale, styles and SASS variables, treeshaking, and v3 to v4 migration.

Frontend & Design380 installs

pinia-skilld

skilld-dev/vue-ecosystem-skills

Open the skill to read its SKILL.md instructions.

Frontend & Design313 installs

vue-router-skilld

skilld-dev/vue-ecosystem-skills

Open the skill to read its SKILL.md instructions.

Frontend & Design285 installs

Popular code quality & workflow skills

View category →

grill-me

mattpocock/skills

A relentless interview to sharpen a plan or design.

Scan a codebase for deepening opportunities, present them as a visual HTML report, then grill through whichever one you pick.

handoff

mattpocock/skills

Compact the current conversation into a handoff document for another agent to pick up.

domain-modeling

mattpocock/skills

Build and sharpen a project's domain model. Use when discussing codebase terminology, writing or editing a GLOSSARY.md, or recording or editing an ADR.

codebase-design

mattpocock/skills

Shared vocabulary for designing deep modules. Use when the user wants to design or improve a module's interface, find deepening opportunities, decide where a seam goes, make code more testable or AI-navigable, or when another skill needs the deep-module vocabulary.

diagnosing-bugs

mattpocock/skills

Diagnosis loop for hard bugs and performance regressions. Use when the user says "diagnose"/"debug this", or reports something broken/throwing/failing/slow.