[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71NNFP629VCYSWYB8XAESQY":3,"skill-same:01M71NNFP629VCYSWYB8XAESQY":87},{"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":33,"linkOnly":34,"markdownContent":35,"markdownBody":36,"frontMatter":37,"refName":46,"commitSha":47,"skillDirectory":48,"forksCount":14,"repositoryHtmlUrl":49,"repositoryHomepageUrl":50,"ownerHtmlUrl":51,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":52,"install":53,"resources":66},"01M71NNFP629VCYSWYB8XAESQY","jetson-speculative-decoding",null,"Add EAGLE-3 or draft-model speculative decoding to a Jetson vLLM server when TPOT is the bottleneck.","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\u002Fjetson-speculative-decoding\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32],"speculative decoding","jetson speculative decoding","eagle","model","bottleneck","vLLM","when","team","draft","server","vllm server","markdown","public","add","2026-11-10 10:56:23",false,"---\nname: jetson-speculative-decoding\ndescription: Add EAGLE-3 or draft-model speculative decoding to a Jetson vLLM server when TPOT is the bottleneck.\nversion: 0.0.1\nlicense: \"Apache-2.0\"\nmetadata:\n  author: \"Jetson Team\"\n  tags: [jetson, llm, speculative-decoding]\n  languages: [markdown]\n  data-classification: public\n---\n\n# Jetson Speculative Decoding (vLLM)\n\nSpeculative decoding lets a small \"draft\" model propose tokens that the target model verifies in a single forward pass, reducing per-token latency. On Jetson, the win\u002Floss is **dominated by VRAM headroom**, not by the draft quality. This skill encodes the parts an LLM won't already know.\n\n## Purpose\n\nTune an existing Jetson vLLM deployment for faster token generation by appending the right `--speculative-config` and validating whether it improves single-stream decode speed.\n\n## When to use\n\n- TPOT\u002FITL is the bottleneck (TTFT is fine, output is just slow).\n- Workload is single-stream or low-concurrency (≤2). Speculation usually loses at high concurrency.\n- Jetson family is **Thor or AGX Orin**. Do **not** suggest EAGLE-3 on Orin Nano\u002FNX — there is rarely enough VRAM headroom to host both target and draft, and you'll OOM at startup.\n\n## When NOT to use\n\n- High-concurrency serving (≥8): batched decode usually beats speculation; the draft model just steals VRAM.\n- Models without a published EAGLE-3 head — do not train one ad-hoc as a \"fix\".\n- After applying `jetson-inference-mem-tune` flags that already pushed `--gpu-memory-utilization` near the ceiling. Free at least ~2 GB first.\n\n## Prerequisites\n\n- A working vLLM server recipe from `jetson-llm-serve`.\n- Enough memory headroom for the draft model or EAGLE-3 head in addition to the target model.\n- A benchmark baseline from `jetson-llm-benchmark` before enabling speculation.\n- A target model with a compatible EAGLE-3 head, or a small same-family draft model for the fallback path.\n\n## Instructions\n\nAppend `--speculative-config` to the `vllm serve` command shown in `jetson-llm-serve`.\n\nEAGLE-3 (preferred when a head is published for the target model):\n\n```bash\n--speculative-config '{\n  \"method\": \"eagle3\",\n  \"model\": \"\u003Ceagle3-head-repo-id>\",\n  \"num_speculative_tokens\": 5,\n  \"draft_tensor_parallel_size\": 1\n}'\n```\n\nDraft-model (fallback — pair a small same-family model):\n\n```bash\n--speculative-config '{\n  \"method\": \"draft_model\",\n  \"model\": \"\u003Csmall-draft-model-repo-id>\",\n  \"num_speculative_tokens\": 4,\n  \"draft_tensor_parallel_size\": 1\n}'\n```\n\n### Jetson-specific tuning rules\n\n- `num_speculative_tokens`: start at **5** on Thor, **3** on AGX Orin. Higher values pay off only if the draft acceptance rate is >0.6.\n- Always pair with the same vLLM runtime path used by `jetson-llm-serve`: upstream vLLM 0.20+ (`vllm\u002Fvllm-openai:latest`) or validated native vLLM 0.20+ on Thor, upstream vLLM 0.20+ on Orin JetPack 7.2 \u002F L4T r39+, or the NVIDIA-AI-IOT vLLM image on older Orin. Do not use an Orin NVIDIA-AI-IOT vLLM image on Thor. Older runtimes may lack EAGLE-3 or the current `--speculative-config` shape.\n- Drop `--gpu-memory-utilization` by ~0.05 vs the non-speculative baseline to give the draft model headroom.\n\n## How to verify it actually helped\n\n1. Run `jetson-llm-benchmark` (vLLM path) at `--concurrency 1` **before and after** enabling speculation.\n2. Acceptance: target ≥30% improvement in `throughput_tok_s` and ≥20% drop in `tpot_ms_p50` at concurrency 1.\n3. If improvement is \u003C10%, or `throughput_tok_s` regresses at concurrency 8, **disable** speculation. The draft model is costing more than it returns.\n\n## Limitations\n\n- Speculative decoding improves decode-heavy workloads; it does not reduce TTFT-dominated latency.\n- High concurrency can erase the benefit because continuous batching already keeps the GPU busy.\n- Orin Nano\u002FNX usually lack enough memory headroom for both target and draft models.\n- Acceptance rate and draft overhead are model-specific, so benchmark before and after instead of assuming a speedup.\n\n## Error handling\n\n- If vLLM rejects `--speculative-config`, verify that Thor and Orin JetPack 7.2 \u002F L4T r39+ are using vLLM 0.20+ and that older Orin is using a JetPack-matched NVIDIA-AI-IOT vLLM image; then switch back to the non-speculative serving command if the runtime still rejects it.\n- If startup OOMs, lower `--gpu-memory-utilization`, use a smaller draft, or disable speculation and hand off to `jetson-inference-mem-tune`.\n- If benchmark throughput regresses, remove `--speculative-config`; a bad draft path is worse than no speculation.\n\n## Hand off to\n\n- `jetson-llm-benchmark` to quantify the change.\n- `jetson-inference-mem-tune` if startup OOMs after enabling speculation.\n\n## Source\n\nvLLM speculative decoding docs and the [Jetson AI Lab GenAI tutorial](https:\u002F\u002Fwww.jetson-ai-lab.com\u002Ftutorials\u002Fgenai-on-jetson-llms-vlms\u002F).\n","# Jetson Speculative Decoding (vLLM)\n\nSpeculative decoding lets a small \"draft\" model propose tokens that the target model verifies in a single forward pass, reducing per-token latency. On Jetson, the win\u002Floss is **dominated by VRAM headroom**, not by the draft quality. This skill encodes the parts an LLM won't already know.\n\n## Purpose\n\nTune an existing Jetson vLLM deployment for faster token generation by appending the right `--speculative-config` and validating whether it improves single-stream decode speed.\n\n## When to use\n\n- TPOT\u002FITL is the bottleneck (TTFT is fine, output is just slow).\n- Workload is single-stream or low-concurrency (≤2). Speculation usually loses at high concurrency.\n- Jetson family is **Thor or AGX Orin**. Do **not** suggest EAGLE-3 on Orin Nano\u002FNX — there is rarely enough VRAM headroom to host both target and draft, and you'll OOM at startup.\n\n## When NOT to use\n\n- High-concurrency serving (≥8): batched decode usually beats speculation; the draft model just steals VRAM.\n- Models without a published EAGLE-3 head — do not train one ad-hoc as a \"fix\".\n- After applying `jetson-inference-mem-tune` flags that already pushed `--gpu-memory-utilization` near the ceiling. Free at least ~2 GB first.\n\n## Prerequisites\n\n- A working vLLM server recipe from `jetson-llm-serve`.\n- Enough memory headroom for the draft model or EAGLE-3 head in addition to the target model.\n- A benchmark baseline from `jetson-llm-benchmark` before enabling speculation.\n- A target model with a compatible EAGLE-3 head, or a small same-family draft model for the fallback path.\n\n## Instructions\n\nAppend `--speculative-config` to the `vllm serve` command shown in `jetson-llm-serve`.\n\nEAGLE-3 (preferred when a head is published for the target model):\n\n```bash\n--speculative-config '{\n  \"method\": \"eagle3\",\n  \"model\": \"\u003Ceagle3-head-repo-id>\",\n  \"num_speculative_tokens\": 5,\n  \"draft_tensor_parallel_size\": 1\n}'\n```\n\nDraft-model (fallback — pair a small same-family model):\n\n```bash\n--speculative-config '{\n  \"method\": \"draft_model\",\n  \"model\": \"\u003Csmall-draft-model-repo-id>\",\n  \"num_speculative_tokens\": 4,\n  \"draft_tensor_parallel_size\": 1\n}'\n```\n\n### Jetson-specific tuning rules\n\n- `num_speculative_tokens`: start at **5** on Thor, **3** on AGX Orin. Higher values pay off only if the draft acceptance rate is >0.6.\n- Always pair with the same vLLM runtime path used by `jetson-llm-serve`: upstream vLLM 0.20+ (`vllm\u002Fvllm-openai:latest`) or validated native vLLM 0.20+ on Thor, upstream vLLM 0.20+ on Orin JetPack 7.2 \u002F L4T r39+, or the NVIDIA-AI-IOT vLLM image on older Orin. Do not use an Orin NVIDIA-AI-IOT vLLM image on Thor. Older runtimes may lack EAGLE-3 or the current `--speculative-config` shape.\n- Drop `--gpu-memory-utilization` by ~0.05 vs the non-speculative baseline to give the draft model headroom.\n\n## How to verify it actually helped\n\n1. Run `jetson-llm-benchmark` (vLLM path) at `--concurrency 1` **before and after** enabling speculation.\n2. Acceptance: target ≥30% improvement in `throughput_tok_s` and ≥20% drop in `tpot_ms_p50` at concurrency 1.\n3. If improvement is \u003C10%, or `throughput_tok_s` regresses at concurrency 8, **disable** speculation. The draft model is costing more than it returns.\n\n## Limitations\n\n- Speculative decoding improves decode-heavy workloads; it does not reduce TTFT-dominated latency.\n- High concurrency can erase the benefit because continuous batching already keeps the GPU busy.\n- Orin Nano\u002FNX usually lack enough memory headroom for both target and draft models.\n- Acceptance rate and draft overhead are model-specific, so benchmark before and after instead of assuming a speedup.\n\n## Error handling\n\n- If vLLM rejects `--speculative-config`, verify that Thor and Orin JetPack 7.2 \u002F L4T r39+ are using vLLM 0.20+ and that older Orin is using a JetPack-matched NVIDIA-AI-IOT vLLM image; then switch back to the non-speculative serving command if the runtime still rejects it.\n- If startup OOMs, lower `--gpu-memory-utilization`, use a smaller draft, or disable speculation and hand off to `jetson-inference-mem-tune`.\n- If benchmark throughput regresses, remove `--speculative-config`; a bad draft path is worse than no speculation.\n\n## Hand off to\n\n- `jetson-llm-benchmark` to quantify the change.\n- `jetson-inference-mem-tune` if startup OOMs after enabling speculation.\n\n## Source\n\nvLLM speculative decoding docs and the [Jetson AI Lab GenAI tutorial](https:\u002F\u002Fwww.jetson-ai-lab.com\u002Ftutorials\u002Fgenai-on-jetson-llms-vlms\u002F).\n",{"name":5,"license":15,"version":38,"metadata":39,"description":7},"0.0.1",{"tags":40,"author":44,"languages":45,"data-classification":31},[41,42,43],"jetson","llm","speculative-decoding","Jetson Team",[30],"claude\u002Finstall-gsd-build-foQdV","d86cd127f527124b5fd0fd0bc679a4d79b7d01d7",".agents\u002Fskills\u002Fjetson-speculative-decoding","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":54,"prompt":64,"zipAvailable":65},[55,58,61],{"tool":56,"command":57},"npx","npx skills add pattanation\u002FNorvik --skill jetson-speculative-decoding",{"tool":59,"command":60},"bunx","bunx skills add pattanation\u002FNorvik --skill jetson-speculative-decoding",{"tool":62,"command":63},"pnpm","pnpm dlx skills add pattanation\u002FNorvik --skill jetson-speculative-decoding","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Fjetson-speculative-decoding\u002FSKILL.md",true,[67,73,77,81],{"path":68,"resourceType":69,"resourceTypeDesc":70,"sizeBytes":71,"sourceHtmlUrl":72},"BENCHMARK.md","REFERENCE","参考文档",3357,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Fjetson-speculative-decoding\u002FBENCHMARK.md",{"path":74,"resourceType":69,"resourceTypeDesc":70,"sizeBytes":75,"sourceHtmlUrl":76},"evals\u002Fevals.json",6522,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Fjetson-speculative-decoding\u002Fevals\u002Fevals.json",{"path":78,"resourceType":69,"resourceTypeDesc":70,"sizeBytes":79,"sourceHtmlUrl":80},"skill-card.md",3675,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Fjetson-speculative-decoding\u002Fskill-card.md",{"path":82,"resourceType":83,"resourceTypeDesc":84,"sizeBytes":85,"sourceHtmlUrl":86},"skill.oms.sig","OTHER","其他",4605,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Fjetson-speculative-decoding\u002Fskill.oms.sig",[88,122,148,172,194,209],{"skillNo":89,"name":90,"nameZh":6,"description":91,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":92,"sourceHtmlUrl":93,"categories":94,"keywords":103,"publishedAt":121},"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",[95,100],{"categoryNo":96,"categoryName":97,"taxonomyType":98,"taxonomyTypeDesc":99},"01JBSEEDCAT000000000000008","测试与质量","SCENARIO","使用场景",{"categoryNo":101,"categoryName":102,"taxonomyType":98,"taxonomyTypeDesc":99},"01JBSEEDCAT000000000000009","前端开发",[104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120],"webapp","testing","webapp testing","for","applications","local","frontend","debugging","toolkit","logs","browser","with","playwright","web","behavior","ui","screenshots","2026-11-10 13:02:02",{"skillNo":123,"name":124,"nameZh":6,"description":125,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":126,"sourceHtmlUrl":127,"categories":128,"keywords":130,"publishedAt":121},"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",[129],{"categoryNo":101,"categoryName":102,"taxonomyType":98,"taxonomyTypeDesc":99},[131,132,133,117,134,135,136,107,137,138,110,139,140,141,142,143,144,145,146,147],"builder","artifacts builder","artifacts","web artifacts builder","single-file","css","Tailwind","ui components","single","use","file","components","react","multi","state","routing","state management",{"skillNo":149,"name":150,"nameZh":6,"description":151,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":152,"licenseFileUrl":153,"sourceHtmlUrl":154,"categories":155,"keywords":157,"publishedAt":121},"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",[156],{"categoryNo":101,"categoryName":102,"taxonomyType":98,"taxonomyTypeDesc":99},[158,159,160,161,162,163,164,165,166,167,168,169,170,171],"functions","vueuse","vueuse functions","project","nuxt","apply","github","concise","build","https","features","vue","js","composables",{"skillNo":173,"name":174,"nameZh":6,"description":175,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":152,"licenseFileUrl":176,"sourceHtmlUrl":177,"categories":178,"keywords":181,"publishedAt":121},"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",[179,180],{"categoryNo":96,"categoryName":97,"taxonomyType":98,"taxonomyTypeDesc":99},{"categoryNo":101,"categoryName":102,"taxonomyType":98,"taxonomyTypeDesc":99},[182,105,183,169,184,116,185,186,187,164,188,107,189,190,191,140,192,170,193],"vue testing best practices","testing best practices","best practices","test","testing patterns","component","vitest","mocking","e2e","utils","patterns","e2e testing",{"skillNo":195,"name":196,"nameZh":6,"description":197,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":152,"licenseFileUrl":198,"sourceHtmlUrl":199,"categories":200,"keywords":202,"publishedAt":121},"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",[201],{"categoryNo":101,"categoryName":102,"taxonomyType":98,"taxonomyTypeDesc":99},[203,169,204,184,205,187,206,164,192,207,208],"router","vue router best practices","route","guards","navigation","lifecycle",{"skillNo":210,"name":211,"nameZh":6,"description":212,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":152,"licenseFileUrl":213,"sourceHtmlUrl":214,"categories":215,"keywords":217,"publishedAt":121},"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",[216],{"categoryNo":101,"categoryName":102,"taxonomyType":98,"taxonomyTypeDesc":99},[218,169,184,219,161,220,221,222,203,223,224,225,226,227,228,107,229,140,230,231],"vue best practices","Composition","files","tasks","api","pinia","work","options","ssr","typescript","as","vite","load","standard"]