vue-best-practices
No security findings. Scanned 1 time, most recently 2026-02-01.
Second scanner: NVIDIA SkillSpector
The two scanners disagree: Cisco found nothing and SkillSpector says do not install. One of them has a blind spot here; read the skill before trusting either. How the two scanners compare across the whole corpus: Two scanners, one corpus.
What this skill does
MUST be used for Vue.js tasks. Strongly recommends Composition API with `<script setup>` and TypeScript as the standard approach. Covers Vue 3, SSR, Volar, vue-tsc. Load for any Vue, .vue files, Vue Router, Pinia, or Vite with Vue work. ALWAYS use Composition API unless the project explicitly requires Options API.
- Package
- 181 files, 804 KB
- SKILL.md
- 2004 words, 12+ sections
- Code
- None. Instructions only.
- License
- MIT
SKILL.md covers: Reactivity · Computed · Watchers · Components · Props & Emits · Templates · Forms & v-model · Events & Modifiers · Lifecycle · Slots · Provide/Inject · Attrs
Findings
No findings. SAFE
What is in the package
181 files, 804 KB. Show the list.
| File | Kind | Size |
|---|---|---|
SKILL.md | doc | 26 KB |
reference/animation-class-based-technique.md | doc | 5.2 KB |
reference/animation-key-for-rerender.md | doc | 4.5 KB |
reference/animation-state-driven-technique.md | doc | 5.9 KB |
reference/animation-transitiongroup-performance.md | doc | 5.7 KB |
reference/async-component-hydration-strategies.md | doc | 4.0 KB |
reference/async-component-loading-delay.md | doc | 2.4 KB |
reference/async-component-suspense-control.md | doc | 2.5 KB |
reference/async-component-vue-router.md | doc | 2.8 KB |
reference/attrs-hyphenated-property-access.md | doc | 4.4 KB |
reference/attrs-not-reactive.md | doc | 4.2 KB |
reference/avoid-prop-drilling-use-provide-inject.md | doc | 5.7 KB |
reference/component-events-dont-bubble.md | doc | 5.5 KB |
reference/component-naming-pascalcase.md | doc | 3.1 KB |
reference/composable-avoid-hidden-side-effects.md | doc | 5.7 KB |
reference/composable-composition-pattern.md | doc | 6.8 KB |
reference/composable-naming-return-pattern.md | doc | 3.9 KB |
reference/composable-options-object-pattern.md | doc | 5.1 KB |
reference/composable-readonly-state.md | doc | 5.9 KB |
reference/composable-vs-utility-functions.md | doc | 5.5 KB |
reference/composition-api-bundle-size-minification.md | doc | 4.7 KB |
reference/composition-api-code-organization.md | doc | 5.9 KB |
reference/composition-api-mixins-replacement.md | doc | 5.2 KB |
reference/composition-api-not-functional-programming.md | doc | 3.8 KB |
reference/composition-api-options-api-coexistence.md | doc | 4.9 KB |
reference/composition-api-vs-react-hooks-differences.md | doc | 4.8 KB |
reference/computed-array-mutation.md | doc | 4.3 KB |
reference/computed-conditional-dependencies.md | doc | 4.3 KB |
reference/computed-no-parameters.md | doc | 4.4 KB |
reference/computed-no-side-effects.md | doc | 3.2 KB |
reference/computed-properties-for-class-logic.md | doc | 2.7 KB |
reference/computed-return-value-readonly.md | doc | 4.0 KB |
reference/computed-vs-methods-caching.md | doc | 3.6 KB |
reference/definemodel-hidden-modifier-props.md | doc | 4.2 KB |
reference/definemodel-value-next-tick.md | doc | 4.2 KB |
reference/directive-arguments-read-only.md | doc | 5.3 KB |
reference/directive-avoid-on-components.md | doc | 3.6 KB |
reference/directive-cleanup-in-unmounted.md | doc | 5.6 KB |
reference/directive-function-shorthand.md | doc | 4.5 KB |
reference/directive-naming-v-prefix.md | doc | 4.3 KB |
reference/directive-prefer-declarative-templating.md | doc | 5.6 KB |
reference/directive-vs-component-decision.md | doc | 6.1 KB |
reference/directive-vue2-migration-hooks.md | doc | 5.4 KB |
reference/dynamic-component-registration-vite.md | doc | 4.2 KB |
reference/dynamic-components-with-keepalive.md | doc | 5.5 KB |
reference/emit-kebab-case-in-templates.md | doc | 5.0 KB |
reference/emit-validation-for-complex-payloads.md | doc | 4.6 KB |
reference/event-once-modifier-for-single-use.md | doc | 4.6 KB |
reference/exact-modifier-for-precise-shortcuts.md | doc | 4.3 KB |
reference/keepalive-component-name-requirement.md | doc | 4.7 KB |
reference/keepalive-memory-management.md | doc | 4.9 KB |
reference/keepalive-no-cache-removal-vue3.md | doc | 4.5 KB |
reference/keepalive-router-fresh-vs-cached.md | doc | 5.7 KB |
reference/keepalive-router-nested-double-mount.md | doc | 5.0 KB |
reference/keepalive-transition-memory-leak.md | doc | 3.5 KB |
reference/lifecycle-hooks-synchronous-registration.md | doc | 3.8 KB |
reference/mount-return-value.md | doc | 2.6 KB |
reference/mouse-button-modifiers-intent.md | doc | 4.0 KB |
reference/multiple-app-instances.md | doc | 3.8 KB |
reference/no-passive-with-prevent.md | doc | 3.7 KB |
reference/no-v-if-with-v-for.md | doc | 3.8 KB |
reference/perf-avoid-component-abstraction-in-lists.md | doc | 4.8 KB |
reference/perf-computed-object-stability.md | doc | 4.7 KB |
reference/perf-props-stability-update-optimization.md | doc | 3.7 KB |
reference/perf-ssr-ssg-for-page-load.md | doc | 4.9 KB |
reference/perf-v-once-v-memo-directives.md | doc | 5.0 KB |
reference/perf-virtualize-large-lists.md | doc | 5.2 KB |
reference/plugin-prefer-provide-inject-over-global-properties.md | doc | 3.4 KB |
reference/plugin-structure-install-method.md | doc | 4.5 KB |
reference/plugin-symbol-injection-keys.md | doc | 4.3 KB |
reference/plugin-typescript-type-augmentation.md | doc | 4.1 KB |
reference/prefer-local-component-registration.md | doc | 4.1 KB |
reference/prefer-props-emit-over-component-refs.md | doc | 5.3 KB |
reference/prefer-ref-over-reactive.md | doc | 2.7 KB |
reference/prop-boolean-casting-order.md | doc | 3.4 KB |
reference/prop-composable-reactivity-loss.md | doc | 4.4 KB |
reference/prop-destructured-watch-getter.md | doc | 3.9 KB |
reference/prop-validation-before-instance.md | doc | 3.9 KB |
reference/props-are-read-only.md | doc | 5.1 KB |
reference/provide-inject-mutations-in-provider.md | doc | 5.1 KB |
reference/provide-inject-symbol-keys.md | doc | 5.7 KB |
reference/reactive-destructuring.md | doc | 2.6 KB |
reference/reactivity-computed-over-watcheffect-mutations.md | doc | 3.8 KB |
reference/reactivity-external-state-integration.md | doc | 4.5 KB |
reference/reactivity-markraw-for-non-reactive.md | doc | 4.6 KB |
reference/reactivity-proxy-identity-hazard.md | doc | 3.0 KB |
reference/reactivity-same-tick-batching.md | doc | 4.4 KB |
reference/ref-value-access.md | doc | 2.0 KB |
reference/refs-in-collections-need-value.md | doc | 3.0 KB |
reference/render-function-avoid-internal-vnode-properties.md | doc | 4.3 KB |
reference/render-function-custom-directives.md | doc | 4.4 KB |
reference/render-function-event-modifiers.md | doc | 4.6 KB |
reference/render-function-functional-components.md | doc | 4.2 KB |
reference/render-function-v-for-keys-required.md | doc | 3.8 KB |
reference/render-function-v-model-implementation.md | doc | 4.8 KB |
reference/render-function-vnodes-must-be-unique.md | doc | 3.4 KB |
reference/rendering-excessive-rerenders-watch-vs-computed.md | doc | 4.4 KB |
reference/rendering-prefer-templates-over-render-functions.md | doc | 4.0 KB |
reference/rendering-render-function-h-import-vue3.md | doc | 3.3 KB |
reference/rendering-render-function-return-from-setup.md | doc | 3.6 KB |
reference/rendering-render-function-slots-as-functions.md | doc | 4.0 KB |
reference/rendering-resolve-component-for-string-names.md | doc | 5.6 KB |
reference/rendering-understand-vdom-block-structure.md | doc | 4.2 KB |
reference/self-referencing-component-name.md | doc | 3.6 KB |
reference/sfc-recommended-for-build-projects.md | doc | 2.8 KB |
reference/sfc-scoped-css-child-component-styling.md | doc | 3.7 KB |
reference/sfc-scoped-css-dynamic-content.md | doc | 4.4 KB |
reference/sfc-scoped-css-performance.md | doc | 4.4 KB |
reference/sfc-scoped-css-slot-content.md | doc | 4.6 KB |
reference/sfc-separation-of-concerns-colocate.md | doc | 5.5 KB |
reference/shallow-ref-for-performance.md | doc | 3.6 KB |
reference/slot-conditional-rendering-with-slots.md | doc | 3.7 KB |
reference/slot-define-slots-for-typescript.md | doc | 4.0 KB |
reference/slot-fallback-content-default-values.md | doc | 3.2 KB |
reference/slot-implicit-default-content.md | doc | 3.4 KB |
reference/slot-name-reserved-prop.md | doc | 2.7 KB |
reference/slot-named-scoped-explicit-default.md | doc | 2.9 KB |
reference/slot-render-scope-parent-only.md | doc | 3.6 KB |
reference/slot-renderless-components-vs-composables.md | doc | 4.1 KB |
reference/slot-v-slot-on-components-or-templates-only.md | doc | 3.0 KB |
reference/ssr-custom-directive-getssrprops.md | doc | 5.3 KB |
reference/ssr-platform-specific-apis.md | doc | 6.8 KB |
reference/state-ssr-cross-request-pollution.md | doc | 6.9 KB |
reference/style-binding-camelcase.md | doc | 2.8 KB |
reference/suspense-events-for-state-tracking.md | doc | 4.1 KB |
reference/suspense-experimental-api-stability.md | doc | 2.5 KB |
reference/suspense-fallback-not-immediate-on-revert.md | doc | 3.3 KB |
reference/suspense-nested-suspensible-prop.md | doc | 3.8 KB |
reference/suspense-nesting-order-with-router.md | doc | 3.6 KB |
reference/suspense-revert-only-on-root-change.md | doc | 3.5 KB |
reference/suspense-single-child-requirement.md | doc | 2.0 KB |
reference/tailwind-dynamic-class-generation.md | doc | 3.1 KB |
reference/teleport-css-positioning-issues.md | doc | 4.1 KB |
reference/teleport-disabled-for-responsive.md | doc | 4.7 KB |
reference/teleport-logical-hierarchy-preserved.md | doc | 4.2 KB |
reference/teleport-multiple-to-same-target.md | doc | 3.8 KB |
reference/teleport-scoped-styles-limitation.md | doc | 3.8 KB |
reference/template-functions-no-side-effects.md | doc | 5.1 KB |
reference/template-ref-unwrapping-top-level.md | doc | 3.1 KB |
reference/transition-animate-transform-opacity.md | doc | 4.5 KB |
reference/transition-group-flip-inline-elements.md | doc | 3.9 KB |
reference/transition-group-key-requirement.md | doc | 3.2 KB |
reference/transition-group-move-animation-position-absolute.md | doc | 3.7 KB |
reference/transition-group-no-default-wrapper-vue3.md | doc | 3.9 KB |
reference/transition-group-no-mode-prop.md | doc | 4.3 KB |
reference/transition-group-staggered-animations.md | doc | 4.8 KB |
reference/transition-js-hooks-done-callback.md | doc | 6.0 KB |
reference/transition-key-for-same-element.md | doc | 4.7 KB |
reference/transition-mode-out-in.md | doc | 5.2 KB |
reference/transition-nested-duration.md | doc | 4.9 KB |
reference/transition-reusable-scoped-style.md | doc | 5.2 KB |
reference/transition-router-view-appear.md | doc | 4.8 KB |
reference/transition-single-element-slot.md | doc | 3.1 KB |
reference/transition-type-when-mixed.md | doc | 4.3 KB |
reference/transition-unmount-hook-timing.md | doc | 4.2 KB |
reference/ts-component-ref-typeof-instancetype.md | doc | 6.1 KB |
reference/ts-custom-directive-type-augmentation.md | doc | 6.5 KB |
reference/ts-defineemits-type-based-syntax.md | doc | 4.7 KB |
reference/ts-defineprops-boolean-default-false.md | doc | 5.4 KB |
reference/ts-defineprops-imported-types-limitations.md | doc | 5.9 KB |
reference/ts-defineprops-type-based-declaration.md | doc | 4.4 KB |
reference/ts-event-handler-explicit-typing.md | doc | 5.8 KB |
reference/ts-provide-inject-injection-key.md | doc | 6.5 KB |
reference/ts-reactive-no-generic-argument.md | doc | 4.7 KB |
reference/ts-shallowref-for-dynamic-components.md | doc | 5.9 KB |
reference/ts-template-ref-null-handling.md | doc | 5.2 KB |
reference/ts-template-type-casting.md | doc | 5.0 KB |
reference/ts-withdefaults-mutable-factory-function.md | doc | 4.5 KB |
reference/updated-hook-performance.md | doc | 4.8 KB |
reference/v-for-use-computed-for-filtering.md | doc | 3.1 KB |
reference/v-html-xss-security.md | doc | 3.3 KB |
reference/v-if-vs-v-show-performance.md | doc | 3.6 KB |
reference/v-model-vue3-breaking-changes.md | doc | 4.1 KB |
reference/watch-deep-performance.md | doc | 3.9 KB |
reference/watch-deep-same-object-reference.md | doc | 4.3 KB |
reference/watch-flush-timing.md | doc | 4.9 KB |
reference/watch-immediate-option.md | doc | 3.5 KB |
reference/watch-reactive-property-getter.md | doc | 2.9 KB |
reference/watch-vs-watcheffect.md | doc | 4.7 KB |
reference/watcheffect-async-dependency-tracking.md | doc | 4.5 KB |
reference/watcheffect-flush-post-for-refs.md | doc | 4.2 KB |
External hosts referenced
vuejs.org github.com developer.mozilla.org v3-migration.vuejs.org router.vuejs.org vueuse.org evil.com nuxt.com pinia.vuejs.org tailwindcss.com vue-loader.vuejs.org www.telerik.com aerotwist.com auto-animate.formkit.com cheatsheetseries.owasp.org csstriggers.com csswizardry.com deepscan.io dev.to engineering.simpl.de escuelavue.es eslint.vuejs.org gist.github.com greensock.com gsap.com immerjs.github.io madewithlove.com michaelnthiessen.com tanstack.com v2.vuejs.org
Hostnames that appear in the skill's files. Referencing a host is not a finding; compare against the findings above and the skill's stated purpose.
Package contents recorded 2026-10-22 at commit de5bc1149695. The scan above ran against the version current at scan time; the two can differ if the skill has since been updated.
What we checked
- Static analyzer. Pattern rules over SKILL.md and bundled files: known-bad commands, exfiltration URLs, secrets, obfuscation.
- Behavioral analyzer. Checks what the skill asks the agent to do against what its description claims it does.
- Llm analyzer. A language model reads the skill and reports intent-level issues the rules cannot express.
- Trigger analyzer. Looks for instructions that fire on conditions the user did not ask for.
What we did not check
- Runtime behaviour. The skill was not executed; findings come from reading its files.
- Anything fetched at install or run time, including remote scripts, package dependencies, and URLs the skill tells the agent to open.
- Content the analyzers cannot read: images, binaries, and some non-English text.
- Known scanner bypass classes. See the methodology and limitations page.
Sources
- Repository: https://github.com/hyf0/vue-skills
- Raw scan result: vue-best-practices-scan.json
- Badge for your README:
 - Request a re-scan