[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6GMMYTBXGY6RKR8ZKAM0TMF":3,"skill-same:01M6GMMYTBXGY6RKR8ZKAM0TMF":99},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":22,"publishedAt":43,"linkOnly":44,"markdownContent":45,"markdownBody":46,"frontMatter":47,"refName":54,"commitSha":55,"skillDirectory":56,"forksCount":57,"repositoryHtmlUrl":58,"repositoryHomepageUrl":6,"ownerHtmlUrl":59,"ownerBlogUrl":60,"ownerDescription":61,"updatedAt":62,"install":63,"resources":76},"01M6GMMYTBXGY6RKR8ZKAM0TMF","vue-expert-js",null,"Use when building Vue 3 applications with JavaScript only (no TypeScript). Invoke for JSDoc typing, vanilla JS composables, .mjs modules.","FiredMosquito831\u002Fqwen-coder-epic","FiredMosquito831","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F79049343?v=4","01M6GKWSXEZCCWR1MWYEZPS8NF","01M6GKWT1M81R0V9XAC1VZNZGA",2,"MIT","https:\u002F\u002Fgithub.com\u002FFiredMosquito831\u002Fqwen-coder-epic\u002Fblob\u002Fmain\u002Fextensions\u002Ffullstack-dev-skills\u002Fskills\u002Fvue-expert-js\u002FSKILL.md",[17],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000009","前端开发","SCENARIO","使用场景",[23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42],"vue expert","vue","vue expert js","js","expert","only","pro","with","typing","jsdoc","implementation","modules","frontend","use","applications","https","code","javascript","github","typescript","2026-11-10 10:12:30",false,"---\nname: vue-expert-js\ndescription: Use when building Vue 3 applications with JavaScript only (no TypeScript). Invoke for JSDoc typing, vanilla JS composables, .mjs modules.\nlicense: MIT\nmetadata:\n  author: https:\u002F\u002Fgithub.com\u002FJeffallan\n  version: \"1.0.0\"\n  domain: frontend\n  triggers: Vue JavaScript, Vue without TypeScript, Vue JSDoc, Vue JS only, Vue vanilla JavaScript, .mjs Vue, Vue no TS\n  role: specialist\n  scope: implementation\n  output-format: code\n  related-skills: vue-expert, javascript-pro\n---\n\n# Vue Expert (JavaScript)\n\nSenior Vue specialist building Vue 3 applications with JavaScript and JSDoc typing instead of TypeScript.\n\n## Role Definition\n\nYou 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.\n\n## When to Use This Skill\n\n- Building Vue 3 applications without TypeScript\n- Projects requiring JSDoc-based type hints\n- Migrating from Vue 2 Options API to Composition API (JS)\n- Teams preferring JavaScript over TypeScript\n- Quick prototypes that need Vue patterns without TS setup\n- Legacy projects that cannot adopt TypeScript\n\n## Core Workflow\n\n1. **Analyze requirements** - Identify if JS-only is appropriate for the project\n2. **Design architecture** - Plan composables with JSDoc type annotations\n3. **Implement** - Build with `\u003Cscript setup>` (no `lang=\"ts\"`)\n4. **Document** - Add comprehensive JSDoc comments for type safety\n5. **Test** - Use Vitest with JavaScript files\n\n## Reference Guide\n\nLoad detailed guidance based on context:\n\n| Topic | Reference | Load When |\n|-------|-----------|-----------|\n| JSDoc Typing | `references\u002Fjsdoc-typing.md` | JSDoc types, @typedef, @param, type hints |\n| Composables | `references\u002Fcomposables-patterns.md` | custom composables, ref, reactive, lifecycle hooks |\n| Components | `references\u002Fcomponent-architecture.md` | props, emits, slots, provide\u002Finject |\n| State | `references\u002Fstate-management.md` | Pinia, stores, reactive state |\n| Testing | `references\u002Ftesting-patterns.md` | Vitest, component testing, mocking |\n\n**For shared Vue concepts, defer to vue-expert:**\n- `vue-expert\u002Freferences\u002Fcomposition-api.md` - Core reactivity patterns\n- `vue-expert\u002Freferences\u002Fcomponents.md` - Props, emits, slots\n- `vue-expert\u002Freferences\u002Fstate-management.md` - Pinia stores\n\n## Constraints\n\n### MUST DO\n- Use Composition API with `\u003Cscript setup>`\n- Use JSDoc comments for type documentation\n- Use .mjs extension for ES modules when needed\n- Document function parameters with `@param`\n- Document return types with `@returns`\n- Use `@typedef` for complex object shapes\n- Use `@type` annotations for variables\n- Follow vue-expert patterns adapted for JavaScript\n\n### MUST NOT DO\n- Use TypeScript syntax (no `\u003Cscript setup lang=\"ts\">`)\n- Use `.ts` file extensions\n- Skip JSDoc types for public APIs\n- Use CommonJS `require()` in Vue files\n- Ignore type safety entirely\n- Mix TypeScript files with JavaScript in same component\n\n## Output Templates\n\nWhen implementing Vue features in JavaScript:\n1. Component file with `\u003Cscript setup>` (no lang attribute)\n2. JSDoc type definitions for complex props\n3. Composable with `@typedef` and `@param` annotations\n4. Brief note on type coverage\n\n## Knowledge Reference\n\nVue 3 Composition API, JSDoc, ESM modules, Pinia, Vue Router 4, Vite, VueUse, Vitest, Vue Test Utils, JavaScript ES2022+\n","# Vue Expert (JavaScript)\n\nSenior Vue specialist building Vue 3 applications with JavaScript and JSDoc typing instead of TypeScript.\n\n## Role Definition\n\nYou 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.\n\n## When to Use This Skill\n\n- Building Vue 3 applications without TypeScript\n- Projects requiring JSDoc-based type hints\n- Migrating from Vue 2 Options API to Composition API (JS)\n- Teams preferring JavaScript over TypeScript\n- Quick prototypes that need Vue patterns without TS setup\n- Legacy projects that cannot adopt TypeScript\n\n## Core Workflow\n\n1. **Analyze requirements** - Identify if JS-only is appropriate for the project\n2. **Design architecture** - Plan composables with JSDoc type annotations\n3. **Implement** - Build with `\u003Cscript setup>` (no `lang=\"ts\"`)\n4. **Document** - Add comprehensive JSDoc comments for type safety\n5. **Test** - Use Vitest with JavaScript files\n\n## Reference Guide\n\nLoad detailed guidance based on context:\n\n| Topic | Reference | Load When |\n|-------|-----------|-----------|\n| JSDoc Typing | `references\u002Fjsdoc-typing.md` | JSDoc types, @typedef, @param, type hints |\n| Composables | `references\u002Fcomposables-patterns.md` | custom composables, ref, reactive, lifecycle hooks |\n| Components | `references\u002Fcomponent-architecture.md` | props, emits, slots, provide\u002Finject |\n| State | `references\u002Fstate-management.md` | Pinia, stores, reactive state |\n| Testing | `references\u002Ftesting-patterns.md` | Vitest, component testing, mocking |\n\n**For shared Vue concepts, defer to vue-expert:**\n- `vue-expert\u002Freferences\u002Fcomposition-api.md` - Core reactivity patterns\n- `vue-expert\u002Freferences\u002Fcomponents.md` - Props, emits, slots\n- `vue-expert\u002Freferences\u002Fstate-management.md` - Pinia stores\n\n## Constraints\n\n### MUST DO\n- Use Composition API with `\u003Cscript setup>`\n- Use JSDoc comments for type documentation\n- Use .mjs extension for ES modules when needed\n- Document function parameters with `@param`\n- Document return types with `@returns`\n- Use `@typedef` for complex object shapes\n- Use `@type` annotations for variables\n- Follow vue-expert patterns adapted for JavaScript\n\n### MUST NOT DO\n- Use TypeScript syntax (no `\u003Cscript setup lang=\"ts\">`)\n- Use `.ts` file extensions\n- Skip JSDoc types for public APIs\n- Use CommonJS `require()` in Vue files\n- Ignore type safety entirely\n- Mix TypeScript files with JavaScript in same component\n\n## Output Templates\n\nWhen implementing Vue features in JavaScript:\n1. Component file with `\u003Cscript setup>` (no lang attribute)\n2. JSDoc type definitions for complex props\n3. Composable with `@typedef` and `@param` annotations\n4. Brief note on type coverage\n\n## Knowledge Reference\n\nVue 3 Composition API, JSDoc, ESM modules, Pinia, Vue Router 4, Vite, VueUse, Vitest, Vue Test Utils, JavaScript ES2022+\n",{"name":5,"license":14,"metadata":48,"description":7},{"role":49,"scope":33,"author":50,"domain":35,"version":51,"triggers":52,"output-format":39,"related-skills":53},"specialist","https:\u002F\u002Fgithub.com\u002FJeffallan","1.0.0","Vue JavaScript, Vue without TypeScript, Vue JSDoc, Vue JS only, Vue vanilla JavaScript, .mjs Vue, Vue no TS","vue-expert, javascript-pro","main","ed359664fa99de92f9400414a2cbcf7ce628f9fa","extensions\u002Ffullstack-dev-skills\u002Fskills\u002Fvue-expert-js",0,"https:\u002F\u002Fgithub.com\u002FFiredMosquito831\u002Fqwen-coder-epic","https:\u002F\u002Fgithub.com\u002FFiredMosquito831","danubelabs.net","I am passionate about programming, Ai, software and cybersec and wish to learn how to develop apps and Ai implementations to make my life and other's easier.","2026-03-20 00:48:22",{"source":8,"skillName":5,"commands":64,"prompt":74,"zipAvailable":75},[65,68,71],{"tool":66,"command":67},"npx","npx skills add FiredMosquito831\u002Fqwen-coder-epic --skill vue-expert-js",{"tool":69,"command":70},"bunx","bunx skills add FiredMosquito831\u002Fqwen-coder-epic --skill vue-expert-js",{"tool":72,"command":73},"pnpm","pnpm dlx skills add FiredMosquito831\u002Fqwen-coder-epic --skill vue-expert-js","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FFiredMosquito831\u002Fqwen-coder-epic\u002Fblob\u002Fmain\u002Fextensions\u002Ffullstack-dev-skills\u002Fskills\u002Fvue-expert-js\u002FSKILL.md",true,[77,83,87,91,95],{"path":78,"resourceType":79,"resourceTypeDesc":80,"sizeBytes":81,"sourceHtmlUrl":82},"references\u002Fcomponent-architecture.md","REFERENCE","参考文档",4724,"https:\u002F\u002Fgithub.com\u002FFiredMosquito831\u002Fqwen-coder-epic\u002Fblob\u002Fmain\u002Fextensions\u002Ffullstack-dev-skills\u002Fskills\u002Fvue-expert-js\u002Freferences\u002Fcomponent-architecture.md",{"path":84,"resourceType":79,"resourceTypeDesc":80,"sizeBytes":85,"sourceHtmlUrl":86},"references\u002Fcomposables-patterns.md",4268,"https:\u002F\u002Fgithub.com\u002FFiredMosquito831\u002Fqwen-coder-epic\u002Fblob\u002Fmain\u002Fextensions\u002Ffullstack-dev-skills\u002Fskills\u002Fvue-expert-js\u002Freferences\u002Fcomposables-patterns.md",{"path":88,"resourceType":79,"resourceTypeDesc":80,"sizeBytes":89,"sourceHtmlUrl":90},"references\u002Fjsdoc-typing.md",11062,"https:\u002F\u002Fgithub.com\u002FFiredMosquito831\u002Fqwen-coder-epic\u002Fblob\u002Fmain\u002Fextensions\u002Ffullstack-dev-skills\u002Fskills\u002Fvue-expert-js\u002Freferences\u002Fjsdoc-typing.md",{"path":92,"resourceType":79,"resourceTypeDesc":80,"sizeBytes":93,"sourceHtmlUrl":94},"references\u002Fstate-management.md",5543,"https:\u002F\u002Fgithub.com\u002FFiredMosquito831\u002Fqwen-coder-epic\u002Fblob\u002Fmain\u002Fextensions\u002Ffullstack-dev-skills\u002Fskills\u002Fvue-expert-js\u002Freferences\u002Fstate-management.md",{"path":96,"resourceType":79,"resourceTypeDesc":80,"sizeBytes":97,"sourceHtmlUrl":98},"references\u002Ftesting-patterns.md",5777,"https:\u002F\u002Fgithub.com\u002FFiredMosquito831\u002Fqwen-coder-epic\u002Fblob\u002Fmain\u002Fextensions\u002Ffullstack-dev-skills\u002Fskills\u002Fvue-expert-js\u002Freferences\u002Ftesting-patterns.md",[100,122,144,171,189,215],{"skillNo":101,"name":102,"nameZh":6,"description":103,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":104,"categories":105,"keywords":106,"publishedAt":43},"01M6GMNJZW6YP90SGCM26HK4RR","wordpress-pro","Use when developing WordPress themes, plugins, customizing Gutenberg blocks, implementing WooCommerce features, or optimizing WordPress performance and security.","https:\u002F\u002Fgithub.com\u002FFiredMosquito831\u002Fqwen-coder-epic\u002Fblob\u002Fmain\u002Fextensions\u002Ffullstack-dev-skills\u002Fskills\u002Fwordpress-pro\u002FSKILL.md",[],[107,108,29,41,109,110,39,111,112,113,114,36,115,116,27,117,118,119,120,121],"wordpress","wordpress pro","performance","plugin","REST","api","laravel","reviewer","hooks","filters","woocommerce","platform","fullstack","themes","theme",{"skillNo":123,"name":124,"nameZh":6,"description":125,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":126,"categories":127,"keywords":128,"publishedAt":43},"01M6GMNF9NH47QGJG7HNJGC976","websocket-engineer","Use when building real-time communication systems with WebSockets or Socket.IO. Invoke for bidirectional messaging, horizontal scaling with Redis, presence tracking, room management.","https:\u002F\u002Fgithub.com\u002FFiredMosquito831\u002Fqwen-coder-epic\u002Fblob\u002Fmain\u002Fextensions\u002Ffullstack-dev-skills\u002Fskills\u002Fwebsocket-engineer\u002FSKILL.md",[],[129,130,131,132,39,133,134,135,136,137,112,114,138,36,27,139,140,141,142,143],"websocket","engineer","websocket engineer","architecture","push","messaging","monitoring","redis","real-time","fastapi","time","scaling","io","communication systems","presence",{"skillNo":145,"name":146,"nameZh":6,"description":147,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":148,"categories":149,"keywords":159,"publishedAt":43},"01M6GMN92VZ5PGNHM0JAM2N6VM","vue-expert","Use when building Vue 3 applications with Composition API, Nuxt 3, or Quasar. Invoke for Pinia, TypeScript, PWA, Capacitor mobile apps, Vite configuration.","https:\u002F\u002Fgithub.com\u002FFiredMosquito831\u002Fqwen-coder-epic\u002Fblob\u002Fmain\u002Fextensions\u002Ffullstack-dev-skills\u002Fskills\u002Fvue-expert\u002FSKILL.md",[150,151,154],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},{"categoryNo":152,"categoryName":153,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000010","后端与接口",{"categoryNo":155,"categoryName":156,"taxonomyType":157,"taxonomyTypeDesc":158},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[24,27,23,35,39,160,37,112,161,162,163,164,36,165,166,167,168,169,30,170],"Optimization","Composition","nuxt","pwa","capacitor","vite","router","worker","apps","fastify","service worker",{"skillNo":172,"name":173,"nameZh":6,"description":174,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":175,"categories":176,"keywords":177,"publishedAt":43},"01M6GMMP2DNCRYQ8WC3BM41AJ3","typescript-pro","Use when building TypeScript applications requiring advanced type systems, generics, or full-stack type safety. Invoke for type guards, utility types, tRPC integration, monorepo setup.","https:\u002F\u002Fgithub.com\u002FFiredMosquito831\u002Fqwen-coder-epic\u002Fblob\u002Fmain\u002Fextensions\u002Ffullstack-dev-skills\u002Fskills\u002Ftypescript-pro\u002FSKILL.md",[],[42,178,29,41,39,38,179,180,37,112,181,182,36,183,184,119,185,186,187,188],"typescript pro","integration","Type Safety","stack","monorepo","systems","type","utility","trpc","types","advanced",{"skillNo":190,"name":191,"nameZh":6,"description":192,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":193,"categories":194,"keywords":198,"publishedAt":43},"01M6GMMENWH42GHZNDMWX65BKB","the-fool","Use when challenging ideas, plans, decisions, or proposals using structured critical reasoning. Invoke to play devil's advocate, run a pre-mortem, red team, or audit evidence and assumptions.","https:\u002F\u002Fgithub.com\u002FFiredMosquito831\u002Fqwen-coder-epic\u002Fblob\u002Fmain\u002Fextensions\u002Ffullstack-dev-skills\u002Fskills\u002Fthe-fool\u002FSKILL.md",[195],{"categoryNo":196,"categoryName":197,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000023","Skill与智能体开发",[199,200,132,201,39,202,203,204,205,206,207,208,209,36,210,27,211,212,213,214],"the fool","workflow","audit evidence","play","red team","forge","team","decisions","challenge","proposals","stress test","evidence","ideas","feature","plans","critical",{"skillNo":216,"name":217,"nameZh":6,"description":218,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":219,"categories":220,"keywords":225,"publishedAt":43},"01M6GMM3VN3CB0K7ZFDM232G0M","test-master","Use when writing tests, creating test strategies, or building automation frameworks. Invoke for unit tests, integration tests, E2E, coverage analysis, performance testing, security testing.","https:\u002F\u002Fgithub.com\u002FFiredMosquito831\u002Fqwen-coder-epic\u002Fblob\u002Fmain\u002Fextensions\u002Ffullstack-dev-skills\u002Fskills\u002Ftest-master\u002FSKILL.md",[221,224],{"categoryNo":222,"categoryName":223,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000008","测试与质量",{"categoryNo":196,"categoryName":197,"taxonomyType":20,"taxonomyTypeDesc":21},[226,227,228,229,230,109,231,232,233,234,235,236,237,130,27,238,239,240,241,242],"test","master","test master","testing","writing","coverage analysis","performance testing","qa","analysis","regression","coverage","usability","strategies","manual testing","unit","test strategies","performance test"]