[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71NW7NP4M64TH77BK9425XF":3,"skill-same:01M71NW7NP4M64TH77BK9425XF":90},{"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":18,"publishedAt":39,"linkOnly":40,"markdownContent":41,"markdownBody":42,"frontMatter":43,"refName":45,"commitSha":46,"skillDirectory":47,"forksCount":14,"repositoryHtmlUrl":48,"repositoryHomepageUrl":49,"ownerHtmlUrl":50,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":51,"install":52,"resources":65},"01M71NW7NP4M64TH77BK9425XF","nemo-mbridge-perf-moe-hardware-configs",null,"Representative MoE training playbooks by hardware platform and model family. Summarizes rounded throughput bands, parallelism patterns, and common tuning stacks.","pattanation\u002FNorvik","pattanation","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F235419268?v=4","01M71M5THHYYB15ME8R2E4FCZG","Patta","01M71M5TJM1NDM992M8PDKYR2K",0,"Apache-2.0","https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Fnemo-mbridge-perf-moe-hardware-configs\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38],"NeMo","moe","nemo mbridge perf moe hardware configs","hardware","perf","throughput","patterns","tuning","config","playbook","stacks","H100","common","expected","family","training","for","model","platform","moe training","2026-11-10 10:56:23",false,"---\nname: nemo-mbridge-perf-moe-hardware-configs\ndescription: Representative MoE training playbooks by hardware platform and model family. Summarizes rounded throughput bands, parallelism patterns, and common tuning stacks.\nlicense: Apache-2.0\nwhen_to_use: Hardware-specific MoE playbooks or throughput estimates; 'MoE on H100', 'GB200 config', 'expected throughput', 'MoE hardware playbook', 'parallelism for B200'.\n---\n\n# MoE Hardware Configuration Reference\n\nStable docs: @docs\u002Ftraining\u002Fmoe-optimization.md\nCard: @skills\u002Fnemo-mbridge-perf-moe-hardware-configs\u002Fcard.yaml\n\n## Quick Platform Playbook\n\n| Platform | Typical MoE strategy | What usually matters most |\n|---|---|---|\n| H100 | DeepEP + stronger PP + moderate TP | communication overlap and PP efficiency |\n| B200 | DeepEP + MXFP8 + careful PP layout | container quality and tuned comm settings |\n| GB200 | HybridEP + partial CUDA graphs + CPU cleanup | host overhead, topology-aware dispatch, memory headroom |\n| GB300 | HybridEP + newer FP8 and kernel stack | same GB200 playbook, usually with a higher ceiling |\n\n## First Answer Checklist\n\nFor hardware playbook questions, answer from these canonical rows before adding\nthroughput caveats:\n\n| Workload | Hardware | Dispatcher | Layout |\n|---|---|---|---|\n| DSV3 | H100 | DeepEP | TP=2, EP=64, PP=8, VPP=4 |\n| DSV3 | GB200\u002FGB300 | HybridEP | TP=1, EP=64, PP=4, VPP=4 |\n| Qwen3 235B | H100 | DeepEP | TP=2, EP=32, PP=8, VPP=4 |\n| Qwen3 235B | GB200 | HybridEP | TP=1 or 2, EP=32-64, PP=4, VPP=unspecified |\n\nFor Qwen3 235B on GB200, explicitly say `VPP=unspecified`; do not invent or\nextrapolate `VPP=12` unless a measured row provides it. Include TE-scoped CUDA\ngraph scopes (`attn`, `moe_router`, `moe_preprocess`),\n`CUDA_DEVICE_MAX_CONNECTIONS` selection,\n`PYTORCH_CUDA_ALLOC_CONF=expandable_segments:True`, `NCCL_GRAPH_REGISTER=0`,\nGB200\u002FGB300 CPU-side tuning, and the warning not to cargo-cult tracker rows.\n\n## Rounded Performance Bands\n\nThese are intentionally rounded so the document stays durable as the tracker\nmoves. Treat them as planning ranges, not exact promises.\n\n| Workload family | Hardware | Typical band | Representative shape |\n|---|---|---|---|\n| DSV3, large-scale | H100 | low-to-mid hundreds TFLOPS\u002FGPU, high-teens MFU | TP2, EP64, PP8, DeepEP |\n| DSV3, large-scale | B200 | high-hundreds TFLOPS\u002FGPU, mid-teens MFU | TP1, EP32, PP8, DeepEP |\n| DSV3, large-scale | GB200 | around 1K TFLOPS\u002FGPU, low-20s MFU | TP1, EP64, PP4, HybridEP |\n| DSV3, large-scale | GB300 | above the GB200 band, often mid-20s MFU | TP1, EP64, PP4, HybridEP |\n| Qwen3 235B | H100 | low-300s TFLOPS\u002FGPU, around 30% MFU | TP2, EP32, PP8, DeepEP |\n| Qwen3 235B | GB200 | high-hundreds TFLOPS\u002FGPU in tuned runs | TP1 or TP2, EP32-64, PP4, HybridEP |\n| Qwen3 30B | H100 | low-200s TFLOPS\u002FGPU | TP1, EP8, PP1, DeepEP |\n| Qwen3-Next 80B | GB200 | low-300s TFLOPS\u002FGPU in BF16-class runs | TP1, EP32, PP2, HybridEP |\n\n## Representative Config Families\n\n### DSV3 on H100\n\n```text\nDispatcher: DeepEP\nTP=2  EP=64  PP=8  VPP=4\nRouting: force balance\nRecompute: light-to-moderate selective recompute\nPriority: overlap communication and keep PP efficient\n```\n\n### DSV3 on B200\n\n```text\nDispatcher: DeepEP\nTP=1  EP=32  PP=8  VPP=2 or similar\nPrecision: MXFP8-class\nRecompute: selective recompute around MLA up-projection and MLP-side modules\nPriority: container quality, PP layout, and DeepEP SMS tuning\n```\n\n### DSV3 on GB200 or GB300\n\n```text\nDispatcher: HybridEP\nTP=1  EP=64  PP=4  VPP=4\nPrecision: MXFP8-class\nCUDA Graph: attn + moe_router + moe_preprocess\nPriority: HybridEP, CPU optimization, and graph-friendly static shapes\n```\n\n### Qwen3 235B on H100\n\n```text\nDispatcher: DeepEP\nTP=2  EP=32  PP=8  VPP=4\nRecompute: norm and activation-side selective recompute\nPriority: communication overlap and router-path cleanup\n```\n\n### Qwen3 235B on GB200\n\n```text\nDispatcher: HybridEP\nTP=1 or 2  EP=32 to 64  PP=4  VPP=unspecified unless measured\nCUDA Graph: attn + moe_router + moe_preprocess\nRecompute: moe_act, mlp, or norm depending on memory pressure\nPriority: balance throughput against memory headroom\n```\n\n### Qwen3-Next 80B on GB200\n\n```text\nDispatcher: HybridEP\nTP=1  EP=32  PP=2  VPP around 4\nCUDA Graph: attn + moe_router + moe_preprocess\nPriority: pipeline layout and grouped GEMM quality\n```\n\n## Cross-Cutting Patterns\n\n### PP layout\n\n- `E` = embedding\n- `t` = transformer\n- `m` = MTP\n- `L` = loss\n- `|` = stage boundary\n\nThe biggest platform difference is usually not just the dispatcher. It is the\ncombination of dispatcher, PP shape, and whether VPP keeps each stage balanced.\n\n### Recompute strategy\n\n| Memory pressure | Starting point |\n|---|---|\n| low | none or a very narrow selective set |\n| moderate | `moe_act`, `mlp`, `norm`, or similar selective modules |\n| high | model-specific up-projection plus selective MoE and MLP modules |\n| extreme or long-context | full recompute only if the selective path still does not fit |\n\n### Environment variables\n\n```bash\nCUDA_DEVICE_MAX_CONNECTIONS=1\nCUDA_DEVICE_MAX_CONNECTIONS=32   # common when EP overlap and CUDA graphs are combined\nPYTORCH_CUDA_ALLOC_CONF=expandable_segments:True\nNCCL_GRAPH_REGISTER=0\n```\n\n### CPU-side tuning\n\nOn GB200 and GB300, CPU affinity and general host-overhead cleanup can move the\nneedle almost as much as a dispatcher swap. Treat them as first-class tuning\nwork, not as afterthoughts.\n\n## Pitfalls\n\n1. **Do not cargo-cult a tracker row**: the winning config usually depends on\n   routing mode, container, and PP layout as much as on hardware name.\n\n2. **Container quality matters**: large regressions can come from the software\n   stack rather than the model recipe.\n\n3. **VPP must be intentional**: a bad VPP split can erase the gain from a better\n   dispatcher.\n\n4. **Compare absolute throughput, not only MFU**: MFU can mislead when switching\n   between BF16, FP8, and other precision modes.\n\n5. **Force-balance routing is the safer benchmark default**: keep routing mode\n   fixed when comparing hardware or dispatcher stacks.\n","# MoE Hardware Configuration Reference\n\nStable docs: @docs\u002Ftraining\u002Fmoe-optimization.md\nCard: @skills\u002Fnemo-mbridge-perf-moe-hardware-configs\u002Fcard.yaml\n\n## Quick Platform Playbook\n\n| Platform | Typical MoE strategy | What usually matters most |\n|---|---|---|\n| H100 | DeepEP + stronger PP + moderate TP | communication overlap and PP efficiency |\n| B200 | DeepEP + MXFP8 + careful PP layout | container quality and tuned comm settings |\n| GB200 | HybridEP + partial CUDA graphs + CPU cleanup | host overhead, topology-aware dispatch, memory headroom |\n| GB300 | HybridEP + newer FP8 and kernel stack | same GB200 playbook, usually with a higher ceiling |\n\n## First Answer Checklist\n\nFor hardware playbook questions, answer from these canonical rows before adding\nthroughput caveats:\n\n| Workload | Hardware | Dispatcher | Layout |\n|---|---|---|---|\n| DSV3 | H100 | DeepEP | TP=2, EP=64, PP=8, VPP=4 |\n| DSV3 | GB200\u002FGB300 | HybridEP | TP=1, EP=64, PP=4, VPP=4 |\n| Qwen3 235B | H100 | DeepEP | TP=2, EP=32, PP=8, VPP=4 |\n| Qwen3 235B | GB200 | HybridEP | TP=1 or 2, EP=32-64, PP=4, VPP=unspecified |\n\nFor Qwen3 235B on GB200, explicitly say `VPP=unspecified`; do not invent or\nextrapolate `VPP=12` unless a measured row provides it. Include TE-scoped CUDA\ngraph scopes (`attn`, `moe_router`, `moe_preprocess`),\n`CUDA_DEVICE_MAX_CONNECTIONS` selection,\n`PYTORCH_CUDA_ALLOC_CONF=expandable_segments:True`, `NCCL_GRAPH_REGISTER=0`,\nGB200\u002FGB300 CPU-side tuning, and the warning not to cargo-cult tracker rows.\n\n## Rounded Performance Bands\n\nThese are intentionally rounded so the document stays durable as the tracker\nmoves. Treat them as planning ranges, not exact promises.\n\n| Workload family | Hardware | Typical band | Representative shape |\n|---|---|---|---|\n| DSV3, large-scale | H100 | low-to-mid hundreds TFLOPS\u002FGPU, high-teens MFU | TP2, EP64, PP8, DeepEP |\n| DSV3, large-scale | B200 | high-hundreds TFLOPS\u002FGPU, mid-teens MFU | TP1, EP32, PP8, DeepEP |\n| DSV3, large-scale | GB200 | around 1K TFLOPS\u002FGPU, low-20s MFU | TP1, EP64, PP4, HybridEP |\n| DSV3, large-scale | GB300 | above the GB200 band, often mid-20s MFU | TP1, EP64, PP4, HybridEP |\n| Qwen3 235B | H100 | low-300s TFLOPS\u002FGPU, around 30% MFU | TP2, EP32, PP8, DeepEP |\n| Qwen3 235B | GB200 | high-hundreds TFLOPS\u002FGPU in tuned runs | TP1 or TP2, EP32-64, PP4, HybridEP |\n| Qwen3 30B | H100 | low-200s TFLOPS\u002FGPU | TP1, EP8, PP1, DeepEP |\n| Qwen3-Next 80B | GB200 | low-300s TFLOPS\u002FGPU in BF16-class runs | TP1, EP32, PP2, HybridEP |\n\n## Representative Config Families\n\n### DSV3 on H100\n\n```text\nDispatcher: DeepEP\nTP=2  EP=64  PP=8  VPP=4\nRouting: force balance\nRecompute: light-to-moderate selective recompute\nPriority: overlap communication and keep PP efficient\n```\n\n### DSV3 on B200\n\n```text\nDispatcher: DeepEP\nTP=1  EP=32  PP=8  VPP=2 or similar\nPrecision: MXFP8-class\nRecompute: selective recompute around MLA up-projection and MLP-side modules\nPriority: container quality, PP layout, and DeepEP SMS tuning\n```\n\n### DSV3 on GB200 or GB300\n\n```text\nDispatcher: HybridEP\nTP=1  EP=64  PP=4  VPP=4\nPrecision: MXFP8-class\nCUDA Graph: attn + moe_router + moe_preprocess\nPriority: HybridEP, CPU optimization, and graph-friendly static shapes\n```\n\n### Qwen3 235B on H100\n\n```text\nDispatcher: DeepEP\nTP=2  EP=32  PP=8  VPP=4\nRecompute: norm and activation-side selective recompute\nPriority: communication overlap and router-path cleanup\n```\n\n### Qwen3 235B on GB200\n\n```text\nDispatcher: HybridEP\nTP=1 or 2  EP=32 to 64  PP=4  VPP=unspecified unless measured\nCUDA Graph: attn + moe_router + moe_preprocess\nRecompute: moe_act, mlp, or norm depending on memory pressure\nPriority: balance throughput against memory headroom\n```\n\n### Qwen3-Next 80B on GB200\n\n```text\nDispatcher: HybridEP\nTP=1  EP=32  PP=2  VPP around 4\nCUDA Graph: attn + moe_router + moe_preprocess\nPriority: pipeline layout and grouped GEMM quality\n```\n\n## Cross-Cutting Patterns\n\n### PP layout\n\n- `E` = embedding\n- `t` = transformer\n- `m` = MTP\n- `L` = loss\n- `|` = stage boundary\n\nThe biggest platform difference is usually not just the dispatcher. It is the\ncombination of dispatcher, PP shape, and whether VPP keeps each stage balanced.\n\n### Recompute strategy\n\n| Memory pressure | Starting point |\n|---|---|\n| low | none or a very narrow selective set |\n| moderate | `moe_act`, `mlp`, `norm`, or similar selective modules |\n| high | model-specific up-projection plus selective MoE and MLP modules |\n| extreme or long-context | full recompute only if the selective path still does not fit |\n\n### Environment variables\n\n```bash\nCUDA_DEVICE_MAX_CONNECTIONS=1\nCUDA_DEVICE_MAX_CONNECTIONS=32   # common when EP overlap and CUDA graphs are combined\nPYTORCH_CUDA_ALLOC_CONF=expandable_segments:True\nNCCL_GRAPH_REGISTER=0\n```\n\n### CPU-side tuning\n\nOn GB200 and GB300, CPU affinity and general host-overhead cleanup can move the\nneedle almost as much as a dispatcher swap. Treat them as first-class tuning\nwork, not as afterthoughts.\n\n## Pitfalls\n\n1. **Do not cargo-cult a tracker row**: the winning config usually depends on\n   routing mode, container, and PP layout as much as on hardware name.\n\n2. **Container quality matters**: large regressions can come from the software\n   stack rather than the model recipe.\n\n3. **VPP must be intentional**: a bad VPP split can erase the gain from a better\n   dispatcher.\n\n4. **Compare absolute throughput, not only MFU**: MFU can mislead when switching\n   between BF16, FP8, and other precision modes.\n\n5. **Force-balance routing is the safer benchmark default**: keep routing mode\n   fixed when comparing hardware or dispatcher stacks.\n",{"name":5,"license":15,"description":7,"when_to_use":44},"Hardware-specific MoE playbooks or throughput estimates; 'MoE on H100', 'GB200 config', 'expected throughput', 'MoE hardware playbook', 'parallelism for B200'.","claude\u002Finstall-gsd-build-foQdV","d86cd127f527124b5fd0fd0bc679a4d79b7d01d7",".agents\u002Fskills\u002Fnemo-mbridge-perf-moe-hardware-configs","https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik","https:\u002F\u002Fnorvik-orpin.vercel.app","https:\u002F\u002Fgithub.com\u002Fpattanation","2026-07-17 11:17:04",{"source":8,"skillName":5,"commands":53,"prompt":63,"zipAvailable":64},[54,57,60],{"tool":55,"command":56},"npx","npx skills add pattanation\u002FNorvik --skill nemo-mbridge-perf-moe-hardware-configs",{"tool":58,"command":59},"bunx","bunx skills add pattanation\u002FNorvik --skill nemo-mbridge-perf-moe-hardware-configs",{"tool":61,"command":62},"pnpm","pnpm dlx skills add pattanation\u002FNorvik --skill nemo-mbridge-perf-moe-hardware-configs","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Fnemo-mbridge-perf-moe-hardware-configs\u002FSKILL.md",true,[66,72,76,80,84],{"path":67,"resourceType":68,"resourceTypeDesc":69,"sizeBytes":70,"sourceHtmlUrl":71},"BENCHMARK.md","REFERENCE","参考文档",4338,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Fnemo-mbridge-perf-moe-hardware-configs\u002FBENCHMARK.md",{"path":73,"resourceType":68,"resourceTypeDesc":69,"sizeBytes":74,"sourceHtmlUrl":75},"card.yaml",5298,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Fnemo-mbridge-perf-moe-hardware-configs\u002Fcard.yaml",{"path":77,"resourceType":68,"resourceTypeDesc":69,"sizeBytes":78,"sourceHtmlUrl":79},"evals\u002Fevals.json",1984,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Fnemo-mbridge-perf-moe-hardware-configs\u002Fevals\u002Fevals.json",{"path":81,"resourceType":68,"resourceTypeDesc":69,"sizeBytes":82,"sourceHtmlUrl":83},"skill-card.md",3854,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Fnemo-mbridge-perf-moe-hardware-configs\u002Fskill-card.md",{"path":85,"resourceType":86,"resourceTypeDesc":87,"sizeBytes":88,"sourceHtmlUrl":89},"skill.oms.sig","OTHER","其他",4829,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Fnemo-mbridge-perf-moe-hardware-configs\u002Fskill.oms.sig",[91,124,150,174,195,210],{"skillNo":92,"name":93,"nameZh":6,"description":94,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":95,"sourceHtmlUrl":96,"categories":97,"keywords":106,"publishedAt":123},"01M71QDV4DM8T19HEHWATEF1K4","webapp-testing","Toolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing browser screenshots, and viewing browser logs.","https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Fwebapp-testing\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Fwebapp-testing\u002FSKILL.md",[98,103],{"categoryNo":99,"categoryName":100,"taxonomyType":101,"taxonomyTypeDesc":102},"01JBSEEDCAT000000000000008","测试与质量","SCENARIO","使用场景",{"categoryNo":104,"categoryName":105,"taxonomyType":101,"taxonomyTypeDesc":102},"01JBSEEDCAT000000000000009","前端开发",[107,108,109,35,110,111,112,113,114,115,116,117,118,119,120,121,122],"webapp","testing","webapp testing","applications","local","frontend","debugging","toolkit","logs","browser","with","playwright","web","behavior","ui","screenshots","2026-11-10 13:02:02",{"skillNo":125,"name":126,"nameZh":6,"description":127,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":128,"sourceHtmlUrl":129,"categories":130,"keywords":132,"publishedAt":123},"01M71QDH2GGMXGA9105C9W1N7B","web-artifacts-builder","Suite of tools for creating elaborate, multi-component claude.ai HTML artifacts using modern frontend web technologies (React, Tailwind CSS, shadcn\u002Fui). Use for complex artifacts requiring state management, routing, or shadcn\u002Fui components - not for simple single-file HTML\u002FJSX artifacts.","https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Fweb-artifacts-builder\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Fweb-artifacts-builder\u002FSKILL.md",[131],{"categoryNo":104,"categoryName":105,"taxonomyType":101,"taxonomyTypeDesc":102},[133,134,135,119,136,137,138,35,139,140,112,141,142,143,144,145,146,147,148,149],"builder","artifacts builder","artifacts","web artifacts builder","single-file","css","Tailwind","ui components","single","use","file","components","react","multi","state","routing","state management",{"skillNo":151,"name":152,"nameZh":6,"description":153,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":154,"licenseFileUrl":155,"sourceHtmlUrl":156,"categories":157,"keywords":159,"publishedAt":123},"01M71QD9T2XC3EWMQNN9ACNWQ1","vueuse-functions","Apply VueUse composables where appropriate to build concise, maintainable Vue.js \u002F Nuxt features.","MIT","https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Fvueuse-functions\u002FLICENSE.md","https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Fvueuse-functions\u002FSKILL.md",[158],{"categoryNo":104,"categoryName":105,"taxonomyType":101,"taxonomyTypeDesc":102},[160,161,162,163,164,165,166,167,168,169,170,171,172,173],"functions","vueuse","vueuse functions","project","nuxt","apply","github","concise","build","https","features","vue","js","composables",{"skillNo":175,"name":176,"nameZh":6,"description":177,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":154,"licenseFileUrl":178,"sourceHtmlUrl":179,"categories":180,"keywords":183,"publishedAt":123},"01M71QD51HWSGYMCMB7RW7PGK8","vue-testing-best-practices","Use for Vue.js testing. Covers Vitest, Vue Test Utils, component testing, mocking, testing patterns, and Playwright for E2E testing.","https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Fvue-testing-best-practices\u002FLICENSE.md","https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Fvue-testing-best-practices\u002FSKILL.md",[181,182],{"categoryNo":99,"categoryName":100,"taxonomyType":101,"taxonomyTypeDesc":102},{"categoryNo":104,"categoryName":105,"taxonomyType":101,"taxonomyTypeDesc":102},[184,108,185,171,186,118,187,188,189,166,190,35,191,192,193,142,25,172,194],"vue testing best practices","testing best practices","best practices","test","testing patterns","component","vitest","mocking","e2e","utils","e2e testing",{"skillNo":196,"name":197,"nameZh":6,"description":198,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":154,"licenseFileUrl":199,"sourceHtmlUrl":200,"categories":201,"keywords":203,"publishedAt":123},"01M71QD358H2DJ9THJRBP77T3T","vue-router-best-practices","Vue Router 4 patterns, navigation guards, route params, and route-component lifecycle interactions.","https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Fvue-router-best-practices\u002FLICENSE.md","https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Fvue-router-best-practices\u002FSKILL.md",[202],{"categoryNo":104,"categoryName":105,"taxonomyType":101,"taxonomyTypeDesc":102},[204,171,205,186,206,189,207,166,25,208,209],"router","vue router best practices","route","guards","navigation","lifecycle",{"skillNo":211,"name":212,"nameZh":6,"description":213,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":154,"licenseFileUrl":214,"sourceHtmlUrl":215,"categories":216,"keywords":218,"publishedAt":123},"01M71QCYPNWDE2MQZ1TF3ED5S4","vue-best-practices","MUST be used for Vue.js tasks. Strongly recommends Composition API with `\u003Cscript 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.","https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Fvue-best-practices\u002FLICENSE.md","https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Fvue-best-practices\u002FSKILL.md",[217],{"categoryNo":104,"categoryName":105,"taxonomyType":101,"taxonomyTypeDesc":102},[219,171,186,220,163,221,222,223,204,224,225,226,227,228,229,35,230,142,231,232],"vue best practices","Composition","files","tasks","api","pinia","work","options","ssr","typescript","as","vite","load","standard"]