[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6GD6A8BTPC3SBS6GFF4MP83":3,"skill-same:01M6GD6A8BTPC3SBS6GFF4MP83":73},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":26,"publishedAt":44,"linkOnly":45,"markdownContent":46,"markdownBody":47,"frontMatter":48,"refName":51,"commitSha":52,"skillDirectory":53,"forksCount":54,"repositoryHtmlUrl":55,"repositoryHomepageUrl":6,"ownerHtmlUrl":56,"ownerBlogUrl":6,"ownerDescription":57,"updatedAt":58,"install":59,"resources":72},"01M6GD6A8BTPC3SBS6GFF4MP83","vue-testing-best-practices",null,"Use for Vue.js testing. Covers Vitest, Vue Test Utils, component testing, mocking, testing patterns, and Playwright for E2E testing.","zapabob\u002FSkills","zapabob","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F130830376?v=4","01M6DBMYZAGRTFQDSQYW3W764P","峯岸 亮","01M6DBMZ3GKDSJ01NZ9XTZD7JD",2,"MIT","https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills\u002Fblob\u002Fmain\u002Farchive\u002Fskill-md-reviewed\u002Fsha256\u002Fb5\u002Fb536864c07c1b405d0af6d382d63f914d49c425b508764c2eee921c62a2fc494\u002FSKILL.md",[18,23],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000008","测试与质量","SCENARIO","使用场景",{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000009","前端开发",[27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43],"vue testing best practices","testing best practices","best practices","vue","testing","testing patterns","mocking","patterns","use","js","vitest","e2e","component","test","playwright","e2e testing","github","2026-11-10 10:12:30",false,"---\r\nname: vue-testing-best-practices\r\nversion: 1.0.0\r\nlicense: MIT\r\nauthor: github.com\u002Fvuejs-ai\r\ndescription: Use for Vue.js testing. Covers Vitest, Vue Test Utils, component testing, mocking, testing patterns, and Playwright for E2E testing.\r\n---\r\n\r\nVue.js testing best practices, patterns, and common gotchas.\r\n\r\n### Testing\r\n- Setting up test infrastructure for Vue 3 projects → See [testing-vitest-recommended-for-vue](reference\u002Ftesting-vitest-recommended-for-vue.md)\r\n- Tests keep breaking when refactoring component internals → See [testing-component-blackbox-approach](reference\u002Ftesting-component-blackbox-approach.md)\r\n- Tests fail intermittently with race conditions → See [testing-async-await-flushpromises](reference\u002Ftesting-async-await-flushpromises.md)\r\n- Composables using lifecycle hooks or inject fail to test → See [testing-composables-helper-wrapper](reference\u002Ftesting-composables-helper-wrapper.md)\r\n- Getting \"injection Symbol(pinia) not found\" errors in tests → See [testing-pinia-store-setup](reference\u002Ftesting-pinia-store-setup.md)\r\n- Components with async setup won't render in tests → See [testing-suspense-async-components](reference\u002Ftesting-suspense-async-components.md)\r\n- Snapshot tests keep passing despite broken functionality → See [testing-no-snapshot-only](reference\u002Ftesting-no-snapshot-only.md)\r\n- Choosing end-to-end testing framework for Vue apps → See [testing-e2e-playwright-recommended](reference\u002Ftesting-e2e-playwright-recommended.md)\r\n- Tests need to verify computed styles or real DOM events → See [testing-browser-vs-node-runners](reference\u002Ftesting-browser-vs-node-runners.md)\r\n- Testing components created with defineAsyncComponent fails → See [async-component-testing](reference\u002Fasync-component-testing.md)\r\n- Teleported modal content can't be found in wrapper queries → See [teleport-testing-complexity](reference\u002Fteleport-testing-complexity.md)\r\n\r\n## Reference\r\n\r\n- [Vue.js Testing Guide](https:\u002F\u002Fvuejs.org\u002Fguide\u002Fscaling-up\u002Ftesting)\r\n- [Vue Test Utils](https:\u002F\u002Ftest-utils.vuejs.org\u002F)\r\n- [Vitest Documentation](https:\u002F\u002Fvitest.dev\u002F)\r\n- [Playwright Documentation](https:\u002F\u002Fplaywright.dev\u002F)\r\n","Vue.js testing best practices, patterns, and common gotchas.\r\n\r\n### Testing\r\n- Setting up test infrastructure for Vue 3 projects → See [testing-vitest-recommended-for-vue](reference\u002Ftesting-vitest-recommended-for-vue.md)\r\n- Tests keep breaking when refactoring component internals → See [testing-component-blackbox-approach](reference\u002Ftesting-component-blackbox-approach.md)\r\n- Tests fail intermittently with race conditions → See [testing-async-await-flushpromises](reference\u002Ftesting-async-await-flushpromises.md)\r\n- Composables using lifecycle hooks or inject fail to test → See [testing-composables-helper-wrapper](reference\u002Ftesting-composables-helper-wrapper.md)\r\n- Getting \"injection Symbol(pinia) not found\" errors in tests → See [testing-pinia-store-setup](reference\u002Ftesting-pinia-store-setup.md)\r\n- Components with async setup won't render in tests → See [testing-suspense-async-components](reference\u002Ftesting-suspense-async-components.md)\r\n- Snapshot tests keep passing despite broken functionality → See [testing-no-snapshot-only](reference\u002Ftesting-no-snapshot-only.md)\r\n- Choosing end-to-end testing framework for Vue apps → See [testing-e2e-playwright-recommended](reference\u002Ftesting-e2e-playwright-recommended.md)\r\n- Tests need to verify computed styles or real DOM events → See [testing-browser-vs-node-runners](reference\u002Ftesting-browser-vs-node-runners.md)\r\n- Testing components created with defineAsyncComponent fails → See [async-component-testing](reference\u002Fasync-component-testing.md)\r\n- Teleported modal content can't be found in wrapper queries → See [teleport-testing-complexity](reference\u002Fteleport-testing-complexity.md)\r\n\r\n## Reference\r\n\r\n- [Vue.js Testing Guide](https:\u002F\u002Fvuejs.org\u002Fguide\u002Fscaling-up\u002Ftesting)\r\n- [Vue Test Utils](https:\u002F\u002Ftest-utils.vuejs.org\u002F)\r\n- [Vitest Documentation](https:\u002F\u002Fvitest.dev\u002F)\r\n- [Playwright Documentation](https:\u002F\u002Fplaywright.dev\u002F)\r\n",{"name":5,"author":49,"license":15,"version":50,"description":7},"github.com\u002Fvuejs-ai","1.0.0","main","0d1434f89f4bc6b07e9d272accd8c1013768820f","archive\u002Fskill-md-reviewed\u002Fsha256\u002Fb5\u002Fb536864c07c1b405d0af6d382d63f914d49c425b508764c2eee921c62a2fc494",0,"https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills","https:\u002F\u002Fgithub.com\u002Fzapabob","The Open University of JAPAN　2019-now\r\n\r\nTokyo University of Science　2007-2010","2026-10-26 16:29:01",{"source":8,"skillName":5,"commands":60,"prompt":70,"zipAvailable":71},[61,64,67],{"tool":62,"command":63},"npx","npx skills add zapabob\u002FSkills --skill vue-testing-best-practices",{"tool":65,"command":66},"bunx","bunx skills add zapabob\u002FSkills --skill vue-testing-best-practices",{"tool":68,"command":69},"pnpm","pnpm dlx skills add zapabob\u002FSkills --skill vue-testing-best-practices","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills\u002Fblob\u002Fmain\u002Farchive\u002Fskill-md-reviewed\u002Fsha256\u002Fb5\u002Fb536864c07c1b405d0af6d382d63f914d49c425b508764c2eee921c62a2fc494\u002FSKILL.md",true,[],[74,109,144,170,197,214],{"skillNo":75,"name":76,"nameZh":6,"description":77,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":78,"categories":79,"keywords":91,"publishedAt":44},"01M6GJTE1GESGGF9K028Y7753E","xurl","X\u002FTwitter via xurl CLI: post, search, DM, media, v2 API.","https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills\u002Fblob\u002Fmain\u002Fregistry\u002Fskills\u002Fxurl\u002Fvariants\u002Fhermes-agent\u002FSKILL.md",[80,83,86],{"categoryNo":81,"categoryName":82,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000010","后端与接口",{"categoryNo":84,"categoryName":85,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发",{"categoryNo":87,"categoryName":88,"taxonomyType":89,"taxonomyTypeDesc":90},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[76,92,93,94,43,95,96,97,98,99,100,101,102,103,104,105,51,106,107,108],"openclaw","macos","cli","linux","windows","official","search","https","social-media","api","Media","hermes","hermes agent","twitter","social","via","post",{"skillNo":110,"name":111,"nameZh":6,"description":112,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":113,"categories":114,"keywords":126,"publishedAt":44},"01M6GJT8S1PXQ8WPXT1HSNBWH2","writing-plans","Write implementation plans: bite-sized tasks, paths, code.","https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills\u002Fblob\u002Fmain\u002Fregistry\u002Fskills\u002Fwriting-plans\u002Fvariants\u002Fhermes-agent\u002FSKILL.md",[115,118,121,122,123],{"categoryNo":116,"categoryName":117,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000015","视觉设计",{"categoryNo":119,"categoryName":120,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000018","写作与文案",{"categoryNo":84,"categoryName":85,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":87,"categoryName":88,"taxonomyType":89,"taxonomyTypeDesc":90},{"categoryNo":124,"categoryName":125,"taxonomyType":89,"taxonomyTypeDesc":90},"01JBSEEDCAT000000000000036","内容创作者",[127,128,129,130,93,131,95,132,96,133,134,135,136,137,138,139,140,141,142,143],"writing","writing plans","plans","design","review","workflow","documentation","tasks","development","code","planning","code-review","subagent","write","superpowers","paths","test-driven-development",{"skillNo":145,"name":146,"nameZh":6,"description":147,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":148,"categories":149,"keywords":153,"publishedAt":44},"01M6GJST0H5X7WHBJ3BZK0DVKH","whisper","OpenAI's general-purpose speech recognition model. Supports 99 languages, transcription, translation to English, and language identification. Six model sizes from tiny (39M params) to large (1550M params). Use for speech-to-text, podcast transcription, or multilingual audio processing. Best for robust, multilingual ASR.","https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills\u002Fblob\u002Fmain\u002Fregistry\u002Fskills\u002Fwhisper\u002Fvariants\u002Fhermes-agent-optional\u002FSKILL.md",[150],{"categoryNo":151,"categoryName":152,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000016","图像与多媒体",[146,93,95,154,155,156,157,158,159,160,161,162,35,163,164,165,166,167,168,169],"openai","speech","multimodal","Transformers","ASR","Audio","text","model","speech recognition","general","multilingual","translation","english","identification","processing","Audio Processing",{"skillNo":171,"name":172,"nameZh":6,"description":173,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":174,"categories":175,"keywords":179,"publishedAt":44},"01M6GJSMRQ8EETZTYMG72P70EA","weights-and-biases","W&B: log ML experiments, sweeps, model registry, dashboards.","https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills\u002Fblob\u002Fmain\u002Fregistry\u002Fskills\u002Fweights-and-biases\u002Fvariants\u002Fhermes-agent\u002FSKILL.md",[176],{"categoryNo":177,"categoryName":178,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000013","分析与可视化",[180,93,181,182,96,183,184,185,186,187,188,161,189,190,191,192,193,194,195,196],"weights and biases","tensorflow","experiments","pytorch","visualization","registry","real-time","tuning","dashboards","experiment","log","time","Experiment Tracking","Model Registry","Hyperparameter Tuning","WandB","Real-Time Visualization",{"skillNo":198,"name":199,"nameZh":6,"description":200,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":201,"categories":202,"keywords":204,"publishedAt":44},"01M6GJS19KDPRY112JTR326S06","watchers","Poll RSS, JSON APIs, and GitHub with watermark dedup.","https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills\u002Fblob\u002Fmain\u002Fregistry\u002Fskills\u002Fwatchers\u002Fvariants\u002Fhermes-agent-optional\u002FSKILL.md",[203],{"categoryNo":84,"categoryName":85,"taxonomyType":21,"taxonomyTypeDesc":22},[199,93,205,43,95,206,207,208,209,210,211,103,104,212,213],"terminal","automation","http","monitoring","cron","json","rss","devops","with",{"skillNo":215,"name":216,"nameZh":6,"description":217,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":218,"categories":219,"keywords":222,"publishedAt":44},"01M6GJRHJD2A6Q830SWF9W48BC","serving-llms-vllm","vLLM: high-throughput LLM serving, OpenAI API, quantization.","https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills\u002Fblob\u002Fmain\u002Fregistry\u002Fskills\u002Fvllm\u002Fvariants\u002Fhermes-agent\u002FSKILL.md",[220,221],{"categoryNo":81,"categoryName":82,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":87,"categoryName":88,"taxonomyType":89,"taxonomyTypeDesc":90},[223,224,225,95,226,154,227,228,229,157,230,101,231,232,233,234,235,236,237,238],"llms","vLLM","serving llms vllm","research","openai api","tensor","Inference Serving","Production","llm serving","High Throughput","PagedAttention","Continuous Batching","Quantization","Tensor Parallelism","high-throughput","throughput"]