
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- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads vueuse-shared-skilld automatically when relevant.
- 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
useThrottleFndefaulttrailingchanged fromfalsetotruein v15.0.0. Defaults are nowms = 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, passtrailing = falseexplicitly.computedEager/eagerComputedare deprecated and slated for removal. Use Vue 3.4+computedinstead (dist/index.d.ts:5-18).watchPausable/pausableWatchare deprecated on every overload. Use Vue's built-inwatch, whose handle already haspause()andresume()(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:
useIntervalFnanduseTimeoutFnonly start timers whenisClient(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
| Tool | Lifetime | Use when |
|---|---|---|
createGlobalState | App lifetime, never disposed (dist/index.js:169-180) | App-wide singleton state |
createSharedComposable | Disposed when last subscriber leaves (dist/index.js:583-605) | One shared instance of a composable, e.g. one useMouse |
createInjectionState | Tied to component tree | Typed provider/consumer stores |
provideLocal / injectLocal | Same component or scope | Provide 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,useThrottleFnsemantics - 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
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.
vue-i18n-skilld
skilld-dev/vue-ecosystem-skills
Open the skill to read its SKILL.md instructions.
vue-skilld
skilld-dev/vue-ecosystem-skills
Open the skill to read its SKILL.md instructions.
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.
pinia-skilld
skilld-dev/vue-ecosystem-skills
Open the skill to read its SKILL.md instructions.
vue-router-skilld
skilld-dev/vue-ecosystem-skills
Open the skill to read its SKILL.md instructions.
Popular code quality & workflow skills
grill-me
mattpocock/skills
A relentless interview to sharpen a plan or design.
improve-codebase-architecture
mattpocock/skills
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.