vue-best-practices
Improve Vue 3 Code Quality
Vue projects often collect reactivity, component, and performance mistakes over time. This skill gives targeted Vue 3 guidance for safer patterns and clearer code.
Install with my Agent
Copy this request to your Agent. It includes the canonical Skill page and manifest.
Review the Skillstore skill "vue-best-practices" from https://skillstore.io/skills/vuejs-ai-vue-best-practices.md and its manifest at https://skillstore.io/api/skills/vuejs-ai-vue-best-practices/manifest. Verify the artifact. You may proceed after verification, subject to the environment's own policy.Your Agent should still show its plan and request any confirmation required by the security policy.
Agent-readable resources
Use these links when an AI agent, crawler, or script needs clean context instead of reading the full page.
Test it
Using "vue-best-practices". A component mutates props and performs filtering directly inside a template.
Expected outcome:
The response highlights read-only prop rules, recommends emitted updates, and moves filtering into computed state for predictable rendering.
Using "vue-best-practices". A page uses deep watchers, large lists, and transitions that feel slow.
Expected outcome:
The response separates watcher scope, list virtualization, stable props, and transform-based animations into prioritized fixes.
Using "vue-best-practices". A team wants to use SSR with shared state and async components.
Expected outcome:
The response explains request-scoped stores, client-only API guards, hydration timing, and async component loading choices.
Security Audit
SafeAll static findings reviewed as false positives from Markdown reference examples, Vue template literals, or defensive security guidance. No prompt injection attempt, exfiltration intent, command execution path, or executable malware behavior was found in the reviewed skill content.
Risk Factors
โ๏ธ External commands (80)
โก Contains scripts (31)
๐ Network access (46)
๐ Filesystem access (7)
Share & cite this report
Share the versioned assessment report, neutral badge, embed card, and citations. Skillstore reports evidence without deciding whether this Skill is safe.
Copy report link
https://skillstore.io/skills/vuejs-ai-vue-best-practices/audits/6?utm_source=security_passport&utm_medium=share&utm_campaign=versioned_reportMarkdown badge
[](https://skillstore.io/skills/vuejs-ai-vue-best-practices?utm_source=security_passport_badge)HTML badge
<a href="https://skillstore.io/skills/vuejs-ai-vue-best-practices?utm_source=security_passport_badge"><img src="https://skillstore.io/badges/skills/vuejs-ai-vue-best-practices/security.svg" alt="Skillstore security assessment" loading="lazy"></a>Embed card
<iframe src="https://skillstore.io/embed/skills/vuejs-ai-vue-best-practices.html" title="Skillstore Security Assessment" sandbox="allow-popups allow-popups-to-escape-sandbox" loading="lazy" referrerpolicy="no-referrer" width="420" height="180"></iframe>Academic citations (APA ยท BibTeX ยท CFF)
APA citation
vuejs-ai. (2026). vue-best-practices security audit report (audit version 6) [Author version 17.0.0]. Skillstore. https://skillstore.io/skills/vuejs-ai-vue-best-practices/audits/6BibTeX citation
@techreport{vuejs-ai-vuejs-ai-vue-best-practices-2026,
author = {vuejs-ai},
title = {vue-best-practices security audit report (audit version 6)},
institution = {Skillstore},
year = {2026},
number = {6},
url = {https://skillstore.io/skills/vuejs-ai-vue-best-practices/audits/6},
note = {Author version 17.0.0}
}CITATION.cff
cff-version: 1.2.0
message: "If you use this Skill, cite its author and this versioned security audit report."
title: "vue-best-practices security audit report (audit version 6)"
version: "17.0.0"
type: report
authors:
- name: "vuejs-ai"
date-released: "2026-07-09"
url: "https://skillstore.io/skills/vuejs-ai-vue-best-practices/audits/6"
identifiers:
- type: other
value: "skillstore:vuejs-ai-vue-best-practices:audit:6"
description: "Skillstore immutable audit report identifier"
Compare variants
3 installable variantsEach author remains a separate installable skill. The recommended variant is ranked by Skillstore evidence.
Why this variant is first
vuejs-ai-vue-best-practices
2026-08-21
hyf0-vue-best-practices
2026-08-21
antfu-vue-best-practices
2026-08-21
Skillstore Score
Why this score Evidence Confidence: HighWhat You Can Build
Review Vue Components
Find reactivity, prop, emit, slot, and template issues before a pull request is merged.
Plan Vue 3 Migration
Move Options API code toward Composition API and script setup while preserving project behavior.
Improve App Performance
Diagnose watcher misuse, large list rendering, transition cost, and SSR hydration concerns.
Try These Prompts
Use vue-best-practices to review this Vue component for Composition API, prop handling, and template issues. List the highest impact fixes first.
Use vue-best-practices to refactor this Options API component into Vue 3 script setup with TypeScript. Preserve behavior and explain compatibility risks.
Use vue-best-practices to diagnose reactivity, watcher, list rendering, and transition performance issues in this Vue feature. Recommend measured fixes.
Use vue-best-practices to plan Vue SSR improvements for hydration, async components, and request-isolated state. Include tests and rollout checks.
Best Practices
- Share the relevant Vue files and describe the current runtime behavior.
- Ask for prioritized findings when reviewing large components or migrations.
- Validate suggested changes with tests, type checks, and browser behavior.
Avoid
- Do not ask it to enforce patterns without checking project conventions.
- Do not copy examples without adapting them to your state model and routing setup.
- Do not treat performance advice as proven without measuring the affected workflow.
Frequently Asked Questions
Does this skill support Vue 2?
Can it review TypeScript Vue components?
Does it run linting or tests?
Can it help with SSR issues?
Is it useful for performance work?
Which AI tools can use it?
Developer Details
Author
vuejs-aiLicense
MIT
Author version
v17.0.0
Skillstore revision
r1
Ref
26421118b848d9f1efc0aa169d8a7a9e7e0a877e
Maintenance freshness
7/18/2026
Usage
102 downloads ยท 981 views
File structure
๐ reference/
๐ animation-class-based-technique.md
๐ animation-key-for-rerender.md
๐ animation-state-driven-technique.md
๐ animation-transitiongroup-performance.md
๐ async-component-hydration-strategies.md
๐ async-component-loading-delay.md
๐ async-component-suspense-control.md
๐ async-component-vue-router.md
๐ attrs-hyphenated-property-access.md
๐ avoid-prop-drilling-use-provide-inject.md
๐ component-events-dont-bubble.md
๐ component-naming-pascalcase.md
๐ composable-avoid-hidden-side-effects.md
๐ composable-composition-pattern.md
๐ composable-naming-return-pattern.md
๐ composable-options-object-pattern.md
๐ composable-readonly-state.md
๐ composable-vs-utility-functions.md
๐ composition-api-bundle-size-minification.md
๐ composition-api-code-organization.md
๐ composition-api-mixins-replacement.md
๐ composition-api-not-functional-programming.md
๐ composition-api-options-api-coexistence.md
๐ composition-api-vs-react-hooks-differences.md
๐ computed-array-mutation.md
๐ computed-conditional-dependencies.md
๐ computed-no-parameters.md
๐ computed-no-side-effects.md
๐ computed-properties-for-class-logic.md
๐ computed-return-value-readonly.md
๐ computed-vs-methods-caching.md
๐ definemodel-hidden-modifier-props.md
๐ definemodel-value-next-tick.md
๐ directive-arguments-read-only.md
๐ directive-avoid-on-components.md
๐ directive-cleanup-in-unmounted.md
๐ directive-function-shorthand.md
๐ directive-naming-v-prefix.md
๐ directive-prefer-declarative-templating.md
๐ directive-vs-component-decision.md
๐ directive-vue2-migration-hooks.md
๐ dynamic-component-registration-vite.md
๐ dynamic-components-with-keepalive.md
๐ emit-kebab-case-in-templates.md
๐ emit-validation-for-complex-payloads.md
๐ event-once-modifier-for-single-use.md
๐ exact-modifier-for-precise-shortcuts.md
๐ keepalive-component-name-requirement.md
๐ keepalive-memory-management.md
๐ keepalive-no-cache-removal-vue3.md
๐ keepalive-router-fresh-vs-cached.md
๐ keepalive-router-nested-double-mount.md
๐ keepalive-transition-memory-leak.md
๐ lifecycle-hooks-synchronous-registration.md
๐ mouse-button-modifiers-intent.md
๐ multiple-app-instances.md
๐ no-passive-with-prevent.md
๐ perf-avoid-component-abstraction-in-lists.md
๐ perf-computed-object-stability.md
๐ perf-props-stability-update-optimization.md
๐ perf-ssr-ssg-for-page-load.md
๐ perf-v-once-v-memo-directives.md
๐ perf-virtualize-large-lists.md
๐ plugin-prefer-provide-inject-over-global-properties.md
๐ plugin-structure-install-method.md
๐ plugin-symbol-injection-keys.md
๐ plugin-typescript-type-augmentation.md
๐ prefer-local-component-registration.md
๐ prefer-props-emit-over-component-refs.md
๐ prefer-ref-over-reactive.md
๐ prop-boolean-casting-order.md
๐ prop-composable-reactivity-loss.md
๐ prop-destructured-watch-getter.md
๐ prop-validation-before-instance.md
๐ provide-inject-mutations-in-provider.md
๐ provide-inject-symbol-keys.md
๐ reactive-destructuring.md
๐ reactivity-computed-over-watcheffect-mutations.md
๐ reactivity-external-state-integration.md
๐ reactivity-markraw-for-non-reactive.md
๐ reactivity-proxy-identity-hazard.md
๐ reactivity-same-tick-batching.md
๐ ref-value-access.md
๐ refs-in-collections-need-value.md
๐ render-function-avoid-internal-vnode-properties.md
๐ render-function-custom-directives.md
๐ render-function-event-modifiers.md
๐ render-function-functional-components.md
๐ render-function-v-for-keys-required.md
๐ render-function-v-model-implementation.md
๐ render-function-vnodes-must-be-unique.md
๐ rendering-excessive-rerenders-watch-vs-computed.md
๐ rendering-prefer-templates-over-render-functions.md
๐ rendering-render-function-h-import-vue3.md
๐ rendering-render-function-return-from-setup.md
๐ rendering-render-function-slots-as-functions.md
๐ rendering-resolve-component-for-string-names.md
๐ rendering-understand-vdom-block-structure.md
๐ self-referencing-component-name.md
๐ sfc-recommended-for-build-projects.md
๐ sfc-scoped-css-child-component-styling.md
๐ sfc-scoped-css-dynamic-content.md
๐ sfc-scoped-css-performance.md
๐ sfc-scoped-css-slot-content.md
๐ sfc-separation-of-concerns-colocate.md
๐ shallow-ref-for-performance.md
๐ slot-conditional-rendering-with-slots.md
๐ slot-define-slots-for-typescript.md
๐ slot-fallback-content-default-values.md
๐ slot-implicit-default-content.md
๐ slot-name-reserved-prop.md
๐ slot-named-scoped-explicit-default.md
๐ slot-render-scope-parent-only.md
๐ slot-renderless-components-vs-composables.md
๐ slot-v-slot-on-components-or-templates-only.md
๐ ssr-custom-directive-getssrprops.md
๐ ssr-platform-specific-apis.md
๐ state-ssr-cross-request-pollution.md
๐ style-binding-camelcase.md
๐ suspense-events-for-state-tracking.md
๐ suspense-experimental-api-stability.md
๐ suspense-fallback-not-immediate-on-revert.md
๐ suspense-nested-suspensible-prop.md
๐ suspense-nesting-order-with-router.md
๐ suspense-revert-only-on-root-change.md
๐ suspense-single-child-requirement.md
๐ tailwind-dynamic-class-generation.md
๐ teleport-css-positioning-issues.md
๐ teleport-disabled-for-responsive.md
๐ teleport-logical-hierarchy-preserved.md
๐ teleport-multiple-to-same-target.md
๐ teleport-scoped-styles-limitation.md
๐ template-functions-no-side-effects.md
๐ template-ref-unwrapping-top-level.md
๐ transition-animate-transform-opacity.md
๐ transition-group-flip-inline-elements.md
๐ transition-group-key-requirement.md
๐ transition-group-move-animation-position-absolute.md
๐ transition-group-no-default-wrapper-vue3.md
๐ transition-group-no-mode-prop.md
๐ transition-group-staggered-animations.md
๐ transition-js-hooks-done-callback.md
๐ transition-key-for-same-element.md
๐ transition-mode-out-in.md
๐ transition-nested-duration.md
๐ transition-reusable-scoped-style.md
๐ transition-router-view-appear.md
๐ transition-single-element-slot.md
๐ transition-type-when-mixed.md
๐ transition-unmount-hook-timing.md
๐ ts-component-ref-typeof-instancetype.md
๐ ts-custom-directive-type-augmentation.md
๐ ts-defineemits-type-based-syntax.md
๐ ts-defineprops-boolean-default-false.md
๐ ts-defineprops-imported-types-limitations.md
๐ ts-defineprops-type-based-declaration.md
๐ ts-event-handler-explicit-typing.md
๐ ts-provide-inject-injection-key.md
๐ ts-reactive-no-generic-argument.md
๐ ts-shallowref-for-dynamic-components.md
๐ ts-template-ref-null-handling.md
๐ ts-template-type-casting.md
๐ ts-withdefaults-mutable-factory-function.md
๐ updated-hook-performance.md
๐ v-for-use-computed-for-filtering.md
๐ v-if-vs-v-show-performance.md
๐ v-model-vue3-breaking-changes.md
๐ watch-deep-performance.md
๐ watch-deep-same-object-reference.md
๐ watch-immediate-option.md
๐ watch-reactive-property-getter.md
๐ watcheffect-async-dependency-tracking.md
๐ watcheffect-flush-post-for-refs.md
๐ SKILL.md