skilld-dev/vue-ecosystem-skills

vueuse-math-skilld

Math functions for VueUse. ALWAYS use when writing code importing \"@vueuse/math\". Consult for debugging, best practices, or modifying @vueuse/math, vueuse/math, vueuse math, vueuse.

First seen Feb 19, 2026

Installation

$ npx skills add skilld-dev/vue-ecosystem-skills --skill vueuse-math-skilld

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from skilld-dev/vue-ecosystem-skills · top by installs.

npx skills add skilld-dev/vue-ecosystem-skills

Browse all from skilld-dev/vue-ecosystem-skills

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 179
License LICENSE
Default branch main
Open issues 2
Status Active

Skill metadata

Parsed from SKILL.md frontmatter.

Version14.3.0
More metadata
version
14.3.0
generated_at
2026-05-01
references_synced_at
2026-05-01

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 4,889 B
  • docs SUMMARY.md 209 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 110 installs

SKILL.md

vueuse/vueuse @vueuse/[email protected]

Tags: alpha: 14.0.0-alpha.3, beta: 14.0.0-beta.1, latest: 14.3.0

References: [Docs](./references/docs/_INDEX.md)

API Changes

This section documents version-specific API changes — prioritize recent major/minor releases.

  • DEPRECATED: and, or, not — v14 deprecated in favor of original names logicAnd, logicOr, logicNot [source](./references/releases/v14.0.0.md)
  • BREAKING: Requires Vue 3.5+ — v14 moved to Vue 3.5 as minimum version, enabling native useTemplateRef and MaybeRefOrGetter [source](./references/releases/v14.0.0.md)
  • BREAKING: ESM-only — v13 dropped CommonJS (CJS) support entirely [source](./references/releases/v13.0.0.md)
  • NEW: useAverage — reactively calculate average from an array or variadic arguments
  • NEW: useSum — reactively calculate sum from an array or variadic arguments
  • NEW: createProjection — create a reusable numeric projector between two numeric domains
  • NEW: createGenericProjection — create a projector with a custom mapping function for arbitrary types
  • NEW: usePrecision — options now include math property for rounding strategy (floor, ceil, round)
  • NEW: useClamp — returns ComputedRef instead of Ref when input is a getter or readonly ref
  • NEW: useMath — provides reactive access to any standard Math method via key name
  • NEW: logicAnd, logicOr, logicNot — variadic reactive boolean logic supporting multiple refs
  • NEW: useMax, useMin — support both array and variadic arguments for reactive comparison
  • NEW: useAbs, useCeil, useFloor, useRound, useTrunc — dedicated reactive wrappers for common Math methods
  • NEW: useProjection — reactive numeric projection from one domain to another

Also changed: tsdown build system v14 · WatchSource<T> types v14 · MaybeRefOrGetter native v12.8

Best Practices

  • Use useClamp with a mutable ref to create a self-validating state. When a mutable ref is passed, it returns a writable computed that automatically clamps any value assigned to it [source](./references/docs/useClamp/index.md)
// Preferred: prevents invalid state assignment
const value = useClamp(shallowRef(0), 0, 10)
value.value = 15 // state remains 10
  • Pass reactive arrays for domains in useProjection to handle dynamic scaling. This is preferred for UI elements like zoomable charts or responsive sliders where the input/output boundaries change over time [source](./references/docs/useProjection/index.md)
  • Define reusable mappers with createProjection outside component logic. This ensures consistent scaling across different parts of the application and reduces the overhead of redefining domains [source](./references/docs/createProjection/index.md)
  • Leverage rest arguments in aggregation composables for ad-hoc calculations. useSum, useAverage, useMax, and useMin accept multiple refs directly, avoiding the need to create intermediate array refs
// Preferred: cleaner syntax for fixed sets of refs
const total = useSum(refA, refB, refC)
  • Prefer usePrecision over toFixed for numeric operations. usePrecision returns a number, which prevents type-coercion bugs and allows further mathematical operations without re-parsing strings [source](./references/docs/usePrecision/index.md)
  • Use explicit rounding modes in usePrecision for specific UI requirements. Pass the math option ('floor' | 'ceil' | 'round') to control how fractional values are handled in paginators or progress bars [source](./references/docs/usePrecision/index.md)
  • Combine logicAnd or logicOr with @vueuse/core's whenever for cleaner side effects. This pattern is more readable than complex manual computed properties when triggering actions based on multiple reactive flags [source](./references/docs/logicAnd/index.md)
  • Employ createGenericProjection for non-linear domain mapping. Provide a custom projector function to handle logarithmic scales or custom eased transitions between numeric domains [source](./references/docs/createGenericProjection/index.md)
  • Use useMath to reactively derive values from standard Math methods. It automatically wraps multiple arguments and ensures the result updates whenever any input dependency changes [source](./references/docs/useMath/index.md)
  • Use logicNot for reactive boolean inversion in templates. It expresses intent more clearly than !ref.value or manual computed wrappers when defining visibility or disabled states