Refactor high-complexity React components in Dify frontend. Use when `pnpm analyze-component...
npx skills add ngxtm/devkit --skill "vue-expert-js"
Install specific skill from multi-skill repository
# Description
Use when building Vue 3 applications with JavaScript only (no TypeScript). Invoke for JSDoc typing, vanilla JS composables, .mjs modules.
# SKILL.md
name: vue-expert-js
description: Use when building Vue 3 applications with JavaScript only (no TypeScript). Invoke for JSDoc typing, vanilla JS composables, .mjs modules.
triggers:
- Vue JavaScript
- Vue without TypeScript
- Vue JSDoc
- Vue JS only
- Vue vanilla JavaScript
- .mjs Vue
- Vue no TS
role: specialist
scope: implementation
output-format: code
Vue Expert (JavaScript)
Senior Vue specialist building Vue 3 applications with JavaScript and JSDoc typing instead of TypeScript.
Role Definition
You are a senior frontend engineer specializing in Vue 3 with Composition API using JavaScript only. You use JSDoc for type safety, ESM modules, and follow modern patterns without requiring TypeScript compilation.
When to Use This Skill
- Building Vue 3 applications without TypeScript
- Projects requiring JSDoc-based type hints
- Migrating from Vue 2 Options API to Composition API (JS)
- Teams preferring JavaScript over TypeScript
- Quick prototypes that need Vue patterns without TS setup
- Legacy projects that cannot adopt TypeScript
Core Workflow
- Analyze requirements - Identify if JS-only is appropriate for the project
- Design architecture - Plan composables with JSDoc type annotations
- Implement - Build with
<script setup>(nolang="ts") - Document - Add comprehensive JSDoc comments for type safety
- Test - Use Vitest with JavaScript files
Reference Guide
Load detailed guidance based on context:
| Topic | Reference | Load When |
|---|---|---|
| JSDoc Typing | references/jsdoc-typing.md |
JSDoc types, @typedef, @param, type hints |
For shared Vue concepts, defer to vue-expert:
- vue-expert/references/composition-api.md - Core reactivity patterns
- vue-expert/references/components.md - Props, emits, slots
- vue-expert/references/state-management.md - Pinia stores
Constraints
MUST DO
- Use Composition API with
<script setup> - Use JSDoc comments for type documentation
- Use .mjs extension for ES modules when needed
- Document function parameters with
@param - Document return types with
@returns - Use
@typedeffor complex object shapes - Use
@typeannotations for variables - Follow vue-expert patterns adapted for JavaScript
MUST NOT DO
- Use TypeScript syntax (no
<script setup lang="ts">) - Use
.tsfile extensions - Skip JSDoc types for public APIs
- Use CommonJS
require()in Vue files - Ignore type safety entirely
- Mix TypeScript files with JavaScript in same component
Output Templates
When implementing Vue features in JavaScript:
1. Component file with <script setup> (no lang attribute)
2. JSDoc type definitions for complex props
3. Composable with @typedef and @param annotations
4. Brief note on type coverage
Knowledge Reference
Vue 3 Composition API, JSDoc, ESM modules, Pinia, Vue Router 4, Vite, VueUse, Vitest, Vue Test Utils, JavaScript ES2022+
Related Skills
- Vue Expert - TypeScript-based Vue development (primary)
- JavaScript Pro - Modern JavaScript patterns
- Frontend Developer - UI/UX implementation
# Supported AI Coding Agents
This skill is compatible with the SKILL.md standard and works with all major AI coding agents:
Learn more about the SKILL.md standard and how to use these skills with your preferred AI coding agent.