vuetifyjs/0/vuetify0
Claude Code and agent skill by vuetifyjs/0
- community
Checking that the SKILL.md file is still in the repository.
Use when building Vue 3 UI with @vuetify/v0, or before hand-rolling behavior it already ships, such as a button, dialog, popover, setTimeout timer, selection, form, registry, virtual list, focus handling, snackbar, theme, RTL, breakpoints, an SSR window check, or a WAI-ARIA compound, along with the rest of its components, composables, and utilities.
Install
npx vskill@latest install vuetifyjs/0/vuetify0SKILL.md
Vuetify0
Headless Vue 3 components and composables. Behavior and ARIA only.
<!-- @generated:counts --> <!-- Generated by scripts/generate-skill.ts — do not edit by hand. --> 48 components, 74 composables, 27 utilities. <!-- @generated:counts:end -->
Install
In this repo, import internals from #v0/ (#v0/composables, #v0/utilities, #v0/constants/globals). Published imports are @vuetify/v0, @vuetify/v0/components, @vuetify/v0/utilities, and @vuetify/v0/constants.
Most use* composables run without a plugin and fall back to defaults. useDate does not: install createDatePlugin with an adapter, or the call throws. For app-wide theme, locale, storage, or breakpoints, install createThemePlugin, createLocalePlugin, createStoragePlugin, or createBreakpointsPlugin.
Selection and a button. Neither needs a plugin.
Decision table
Match the first column. If a row fits, use that API. The rows are the usual cases. The rest of the components, composables, and utilities are listed at the end of this skill.
| Problem | Use | Category | |
|---|---|---|---|
Native <button> (click, submit, toggle) | Button | actions | |
| Overlay, dialog, or modal | Dialog | disclosure | |
| Popover or anchored overlay | Popover | disclosure | |
| Inline status / live-region message | Alert | semantic | |
| Single-choice state (tabs, theme picker) | createSingle | selection | |
| Multi-choice state (filters, tag pickers) | createSelection | selection | |
| Select-all with tri-state | createGroup | selection | |
| Tree / nested selection (treeview, menus) | createNested | selection | |
| Wizard / carousel step tracking | createStep | selection | |
| Id-based value store (shared across sub-components) | createModel | selection | |
| Form with async validation + dirty tracking | createForm + createValidation | forms | |
| Slider / range / knob state | createSlider | forms | |
| Autocomplete / combobox | createCombobox | forms | |
| Spin-button numeric input | createNumberField / createNumeric | forms | |
| One-time-password / verification-code value | createOtp | forms | |
| Paginated or virtualized list | createPagination, createVirtual | data | |
| Sortable / filterable table | DataTable / createDataTable, createFilter | data | |
| Editable / spanning data grid | DataGrid / createDataGrid | data | |
| Breadcrumb trail derived from route | createBreadcrumbs | semantic | |
| Overflow / responsive menu (hides overflowing items) | createOverflow | semantic | |
| Type-safe provide/inject | createContext | foundation | |
| Reactive registry of ids → values | createRegistry | registration | |
| Auto-dismissing queue (snackbars, toasts) | createQueue | registration | |
| Undo/redo history | createTimeline | registration | |
| Design-token graph (theme, spacing scales) | createTokens | registration | |
| Popover, tooltip, or menu position | usePopover | system | |
| Enter/leave animation orchestration | usePresence | system | |
| Focus containment (non-native dialog, drawer) | useFocusTrap | system | |
| Roving tabindex (list, menubar) | useRovingFocus | system | |
| Virtual focus (combobox listbox) | useVirtualFocus | system | |
| Click outside / keyboard shortcut / event listener | useClickOutside, useHotkey, useEventListener | system | |
| Resize, intersection, or mutation observation | useResizeObserver, useIntersectionObserver, useMutationObserver | system | |
| rAF loop or setTimeout with pause/resume | useRaf, useTimer | system | |
| Responsive breakpoints | useBreakpoints, useMediaQuery | plugins | |
| Localized strings + date/number format | useLocale, useDate | plugins | |
| Theme (light/dark/custom palette) | useTheme | plugins | |
| RTL direction awareness | useRtl | plugins | |
| z-index stacking for overlays | useStack | plugins | |
| Notifications / snackbar queue plugin | useNotifications | plugins | |
| Feature flags / permission checks | useFeatures, usePermissions | plugins | |
| Persisted state (localStorage / sessionStorage) | useStorage | plugins | |
| Structured logging with adapters | useLogger | plugins | |
| SSR-safe mount detection | useHydration | plugins |
Rules
Utilities
Check these before writing a helper. In-repo: #v0/utilities. Published: @vuetify/v0/utilities.
- Type guards:
isFunction,isString,isNumber,isBoolean,isObject,isArray,isNull,isUndefined,isNullOrUndefined,isPrimitive,isSymbol,isNaN,isElement mergeDeep,clamp,range,useId
Browser checks
IN_BROWSER, SUPPORTS_TOUCH, SUPPORTS_MATCH_MEDIA, SUPPORTS_OBSERVER, SUPPORTS_INTERSECTION_OBSERVER, SUPPORTS_MUTATION_OBSERVER.
In-repo: #v0/constants/globals. Published: @vuetify/v0/constants. Use these instead of typeof window.
Reactivity
shallowReffor primitivesreffor objects and arraystoReffor derived valuescomputedonly to cache expensive work
Compound components
Root owns the state. Children are named sub-components and read it through createContext.
<!-- @generated:components --> <!-- Generated by scripts/generate-skill.ts — do not edit by hand. --> Available components:
- Primitives:
AspectRatio(stable),Atom(stable),Portal,Presence - Providers:
Group(stable),Locale,Scrim,Selection(stable),Single(stable),Step(stable),Theme(stable) - Actions:
Button,Toggle(stable) - Forms:
Checkbox(stable),Combobox,Form,Input,NumberField,Otp,Radio(stable),Rating,Select,Slider,Switch(stable) - Disclosure:
AlertDialog,Collapsible(stable),Dialog,ExpansionPanel,Menu,Popover,Tabs(stable),Tooltip,Tour,Treeview - Semantic:
Alert,Avatar,Breadcrumbs,Carousel,Image,Overflow,Pagination,Progress,Snackbar,Splitter - Data:
DataGrid,DataTable,Kanban,Virtualizer
Planned (not yet exported — do not import):
DatePicker,DateRangePicker,TimePicker
<!-- @generated:components:end -->
More compound examples: references/component-examples.md.
Vuetify MCP
When the Vuetify MCP server is connected, use it for a guide or a release note:
vuetify-mcp:get_vuetify0_component_listvuetify-mcp:get_vuetify0_composable_listvuetify-mcp:get_vuetify0_component_guidevuetify-mcp:get_vuetify0_composable_guidevuetify-mcp:get_vuetify0_installation_guide
Resources
- Docs: https://0.vuetifyjs.com
- API reference: references/REFERENCE.md
- Selection patterns: references/selection-patterns.md
- Anti-patterns: references/anti-patterns.md
- Component vs composable: references/layer-decisions.md
- Authoring a compound: references/authoring-guide.md
<!-- @generated:api --> <!-- Generated by scripts/generate-skill.ts — do not edit by hand. -->
Full API surface
Public composables and utilities. (mature), (stable), and (draft) are marked. Unmarked entries are preview.
Composables
Foundation:
createContext— Type-safe dependency injection factory built on Vue's provide/inject. Shares state across component trees without prop drilling. (stable)createPlugin— Factory for creating Vue plugins with typed dependency injection and lifecycle hooks. (stable)createTrinity— Generates a typed[useX, provideX, defaultX]tuple for Vue's provide/inject dependency injection pattern. (stable)
Registration:
createQueue— FIFO queue for time-based collections with automatic timeout removal and pause/resume support.createRegistry— Foundation for ordered, keyed collections. Items are registered with IDs and indexes, and can be looked up by ID, index, or value. (stable)createTimeline— Bounded undo/redo history built oncreateRegistrywith a configurable size limit.createTokens— Design token registry with hierarchical collections, alias resolution, and namespace support.
Forms:
createCombobox— Low-level combobox coordinator for custom implementations. Most users should use theComboboxcomponent instead.createDatePicker— Headless date state with calendar-grid geometry, single-date and range modes, preset ranges, min/max bounds, and disabled-date rules. Composable-first, without an@internationalized/datedependency. (draft)createForm— Coordinates validation across multiple inputs. Providessubmit(),reset(), and aggregate validity state.createInput— Shared form field primitive with validation state, ARIA ID generation, and automatic form registration.createNumberField— Numeric value with locale-aware formatting, step snapping, min/max/step bounds, and parse/commit for text input.createNumeric— Pure numeric math for bounded values with step snapping, range clamping, and floating-point precision correction.createOtp— Fixed-length one-time-password or verification-code value with pattern-gated entry and completion detection.createRating— Bounded number with discrete items. Give it a size, get items to iterate with full/half/empty state. Half-step support for 0.5 increments.createSlider— Slider state composable for single-thumb, range, and multi-thumb sliders. Handles value math, step snapping, and percentage conversion.createTimePicker— Segmented time value with hour, minute, and second fields, 12/24-hour modes, meridiem handling, step snapping, and min/max bounds. (draft)createValidation— Per-input validation with reactive rules, async validation, and Standard Schema support.
Selection:
createGroup— Multi-selection with tri-state (mixed/indeterminate) support for checkbox trees, grouped toggles, and any pattern where items can be partially selected. (stable)createModel— Reactive value store that wraps a ref with two-way selection binding. (stable)createNested— Hierarchical tree management built oncreateGroup, with parent-child relationships, open/close state, and pluggable traversal strategies. (stable)createSelection— A composable for managing the selection of items in a collection with automatic indexing and lifecycle management. (stable)createSingle— ExtendscreateSelectionto enforce single-item selection, automatically clearing the previous selection. (stable)createStep— ExtendscreateSinglewith bounded or circular navigation. Built for wizards, multi-step forms, and onboarding flows. (stable)
Data:
This is the start of the file. Read the full SKILL.md on GitHub.
Security
- Security scanPassed, 96 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
- SKILL.md in the repositoryCheckingskills/vuetify0/SKILL.md
Popularity
- Repository stars
- 90
- Repository forks
- 2
- 7-day trend score
- 23
Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 30 Mar 2026, 7 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
[](https://verified-skill.com/skills/vuetifyjs/0/vuetify0)