quasar-skilld — скилл для Claude Code: Quasar 2.33.1 без догадок
Скилл для работы с Quasar 2.33.1: помогает писать, настраивать и отлаживать код на Vue 3, опираясь на документацию, которая лежит внутри пакета.
npx skills add skilld-dev/vue-ecosystem-skills --skill quasar-skilld -a claude-codeЧто делает quasar-skilld
Скилл включается, когда в проекте есть импорты из quasar или quasar/wrappers, настройка через Vite, Vitest, Storybook, UMD или Quasar CLI, стилизация Sass-переменными Quasar и переходы между релизами Quasar v2. Внутри — набор справочников: карта экспортов пакета, установка, лучшие практики, список изменений по версиям и чек-лист по безопасности.
Главная идея — не угадывать API. Начиная с 2.33 документация едет вместе с пакетом: в node_modules/quasar/dist/api/<Name>.json лежат пропсы, слоты, события и методы с пометками addedIn, а в dist/mcp/**/*.md — страницы quasar.dev в Markdown, включая компактный API. Те же документы отдаёт MCP-сервер @quasar/mcp. Поэтому агент смотрит в установленную версию, а не в память.
Понадобится Node >= 22: пакет ESM. Для Vite-плагина нужны @quasar/vite-plugin v2, Vite 8+, @vitejs/plugin-vue 6+ и quasar v2.24+. С Sass есть развилка: quasar >= 2.14 работает с sass-embedded@^1.93.2, а quasar <= 2.13 требует прибить [email protected]. В проектах Quasar CLI обёртки берут из #q-app/wrappers, а не из quasar/wrappers — старый путь помечен как deprecated.
Какие задачи решает
- найти точные пропсы и события компонента Quasar в установленной версии
- подключить Quasar к Vite и не перепутать версии плагинов
- перевести проект на Composition API и
useQuasarвместоthis.$q - подобрать версию Sass под свою версию Quasar
- проверить, что изменилось при обновлении Quasar v2
Примеры запросов агенту
- Подключи Quasar к Vite-проекту и покажи, какие версии пакетов для этого нужны
- Найди в
node_modules/quasar/dist/api/QTable.jsonпропсы для пагинации и покажи пример - Проверь мой код на
useQuasarи скажи, что устарело после обновления Quasar
Как установить quasar-skilld
1Через Skills CLI (Vercel)
npx skills add skilld-dev/vue-ecosystem-skills --skill quasar-skilld -a claude-code2Вручную: положить файлы
~/.claude/skills/quasar-skilld/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/quasar-skilld/
1Через Skills CLI (Vercel)
npx skills add skilld-dev/vue-ecosystem-skills --skill quasar-skilld -a codex2Вручную: положить файлы
.agents/skills/quasar-skilld/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add skilld-dev/vue-ecosystem-skills --skill quasar-skilld -a cursor2Вручную: положить файлы
.cursor/skills/quasar-skilld/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install skilld-dev/vue-ecosystem-skills quasar-skilld2Вручную: положить файлы
.github/skills/quasar-skilld/SKILL.md1Через Skills CLI (Vercel)
npx skills add skilld-dev/vue-ecosystem-skills --skill quasar-skilld -a gemini-cli2Командой платформы
gemini skills install https://github.com/skilld-dev/vue-ecosystem-skills --path skills/quasar-skilldВручную: положить файлы
.devin/skills/quasar-skilld/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add skilld-dev/vue-ecosystem-skills --skill quasar-skilld -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Из того же набора4
Похожие
Рядом в теме «Фронтенд и UI»
Всё по теме «Фронтенд и UI» →Вопросы о quasar-skilld
Как установить quasar-skilld в Claude?
Выполните npx skills add skilld-dev/vue-ecosystem-skills --skill quasar-skilld -a claude-code. Скилл окажется в ~/.claude/skills/quasar-skilld/SKILL.md.
Что делает quasar-skilld?
Помогает писать, настраивать и отлаживать приложения на Quasar 2.33.1: компоненты, плагины, директивы, Sass-переменные, сборка через Vite, Vitest, Storybook, UMD и Quasar CLI.
Откуда скилл берёт информацию об API?
Из документации внутри установленного пакета: dist/api/<Name>.json и Markdown-страницы в dist/mcp. Те же документы раздаёт MCP-сервер @quasar/mcp.
Исходный текст
SKILL.md · MIT
--- name: quasar-skilld description: 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. license: MIT --- # Quasar `[email protected]` Vue 3 UI framework for SPA, PWA, SSR, SSG, mobile (Cordova/Capacitor) and desktop (Electron) apps from one codebase. Vue 3 only. ESM package, Node >= 22 (`package.json:102-104`). Baseline for this Skill: quasar 2.33.1 (2026-09-22). ## First: read the docs shipped in the installed package Quasar 2.33+ bundles its documentation offline. Before guessing an API, look inside the project's `node_modules/quasar`: - `dist/api/<Name>.json` — props, slots, events, methods of every component, plugin and directive, with `addedIn` version markers. This is the ground truth. - `dist/mcp/**/*.md` — the quasar.dev pages (components, plugins, directives, composables, utils, styling, layout) as Markdown; `dist/mcp/api/<Name>.md` holds the same API in compact readable form. `dist/mcp/meta.json` (160 pages, `version: 2.33.1`) indexes them all. - `@quasar/mcp` MCP server serves the same docs to MCP-capable agents. Details and search commands: [references/offline-docs.md](./references/offline-docs.md) ## Package map | Entry | Path | Notes | | --- | --- | --- | | browser ESM | `dist/quasar.client.js` | default `import` target | | node/server | `dist/quasar.server.prod.js` | what Node/Vitest resolve without the Vite plugin | | UMD | `dist/quasar.umd.prod.js` | CDN usage with Vue 3 global build | | types | `dist/types/index.d.ts` | | | wrappers | `wrappers/index.js` | no-op typings, deprecated; use `#q-app/wrappers` (`wrappers/index.js:9-16`) | | lang packs | `lang/*.js` (75) | `import langDe from 'quasar/lang/de'` | | icon sets | `icon-set/*.js` (44) | `import iconSet from 'quasar/icon-set/material-icons'` | Full export surface (components, plugins, directives, composables, utils): [references/api-surface.md](./references/api-surface.md) ## Common tasks Install with the Vite plugin (`@quasar/vite-plugin` v2 needs Vite 8+, `@vitejs/plugin-vue` 6+, quasar v2.24+, Node 20.19+; ESM-only; `dist/mcp/start/vite-plugin.md:10`): ```js // main.js import { createApp } from 'vue' import { Quasar, Notify } from 'quasar' import '@quasar/extras/material-icons/material-icons.css' import 'quasar/src/css/index.sass' import App from './App.vue' createApp(App).use(Quasar, { plugins: { Notify } }).mount('#app') ``` ```js // vite.config.js import { quasar, transformAssetUrls } from '@quasar/vite-plugin' import vue from '@vitejs/plugin-vue' plugins: [vue({ template: { transformAssetUrls } }), quasar()] ``` Access `$q` in Composition API: ```js import { useQuasar } from 'quasar' const $q = useQuasar() $q.notify('Saved') // $q.platform, $q.dark, $q.screen, $q.lang, ... ``` Templates use kebab-case props exactly as the API JSON lists them (`hide-dropdown-icon`, `no-error-icon`); two-way props bind as `v-model:propName` (the v1 `.sync` modifier is gone). Sass variables: quasar >= 2.14 pairs with `sass-embedded@^1.93.2`; quasar <= 2.13 needs `[email protected]` pinned (`dist/mcp/start/vite-plugin.md:38-39`). More on Vite, Vitest, Storybook, UMD and Quasar CLI: [references/installation.md](./references/installation.md) ## Best practices (verified against the 2.33.1 shipped docs) - Prefer responsive CSS classes (`gt-sm`, `lt-md`, window-width visibility classes) over the Screen plugin in JS, for performance. - Large `QTree`: `no-transition` for big datasets; `virtual-scroll` (v2.25+) for huge ones. - Custom Dialog plugin components: bootstrap with `useDialogPluginComponent`; bind `@hide="onDialogHide"` directly (v2.28+ forwards the dismissal reason). - Prefer `useInterval`/`useTimeout`/`useAnimationFrame` over native timers; they auto-cancel on unmount and are SSR-safe no-ops. - SSR/SSG: avoid `Dark` mode `'auto'` unless the server knows the preference (cookie), else users see a light flash. - Use the LoadingBar plugin instead of a manual `QAjaxBar`. - Validation for `QInput`: Quasar recommends Regle (`dist/mcp/vue-components/input.md:2397`). - Quasar CLI projects: import wrappers from `#q-app/wrappers`, never `quasar/wrappers`. Full list with citations: [references/best-practices.md](./references/best-practices.md) ## Upgrading (2.20 -> 2.33.1 highlights) - v2.33.0: docs + compact API now ship inside the package (offline, exact version); pair with the `@quasar/mcp` server. Fixes: `extractDate()` matches the longest locale name; QTable rows-per-page selector follows a controlled `v-model:pagination`; virtual-scroll `scrollTo()` no longer dropped right after a scroll event. - v2.33.1: QPagination `input` mode clears the typed page on submit (`src/components/pagination/QPagination.js:290-292`); `textToRgb()` keeps the alpha of `rgb(R, G, B, A)` (`src/utils/colors/colors.js:149-174`). - v2.28: `QMenu`/`QTooltip` lost the `scroll-target` prop; popups track every scrolling container automatically. `Platform.is` dropped `ie`, `edgeChromium`, `winphone`, `kindle`, `silk`. - v2.29: a `@click` listener on `QItem`/`QChip` now implies `clickable`. - v2.31: readonly fields (`QInput`/`QSelect`/`QFile`/`QField`) now reflect focus and validate on blur. - v2.32: `QImg` renders its `<img>` into SSR HTML when the box shape is known (`ratio`/`initial-ratio`/`height`); `ssr-prerender` opts in otherwise. `QExpansionItem`/`QTree` no longer wrap content in `QSlideTransition`. - Deprecated: `QInput`/`QFile` `getNativeElement()` -> use the `nativeEl` property (`dist/api/QInput.json`). No API was added in 2.33.x itself: no `addedIn: v2.33` marker exists in `dist/api/*.json`. All behavior changes and new APIs, with release URLs: [references/whats-new.md](./references/whats-new.md) ## Security The `*-html` boolean props (`options-html`, `display-value-html`, `html` on Notify/Dialog/Loading) opt into rendering HTML and are an XSS surface: sanitize before enabling. `QEditor` has no sanitize option; strip `<script>`/`<iframe>` server-side. Quasar CLI only exposes env variables with the `QCLI_` prefix to client code. Checklist: [references/security.md](./references/security.md)
© skilld-dev · MIT · skilld-dev/vue-ecosystem-skills