[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71N2YMM9C3AKCJ35PCNWG5M":3,"skill-same:01M71N2YMM9C3AKCJ35PCNWG5M":77},{"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":46,"commitSha":47,"skillDirectory":48,"forksCount":14,"repositoryHtmlUrl":49,"repositoryHomepageUrl":50,"ownerHtmlUrl":51,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":52,"install":53,"resources":66},"01M71N2YMM9C3AKCJ35PCNWG5M","expo-examples",null,"Framework (OSS). Expo's official example projects - the expo\u002Fexamples repo of ~70 `with-*` integrations (Stripe, Clerk, Supabase, OpenAI, maps, Reanimated, SQLite, Skia, NativeWind, and more). Use when integrating a third-party library or service into an existing Expo app and you want the canonical, version-matched pattern to adapt, or when scaffolding a new project from one with `npx create-expo --example`.","pattanation\u002FNorvik","pattanation","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F235419268?v=4","01M71M5THHYYB15ME8R2E4FCZG","Patta","01M71M5TJM1NDM992M8PDKYR2K",0,"MIT","https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Fexpo-examples\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38],"expo examples","examples","expo","read","clerk","create","maps","api","sqlite","Bash","you","when","new","degit","scaffolding","project","official","supabase","projects","app","2026-11-10 10:56:23",false,"---\nname: expo-examples\ndescription: Framework (OSS). Expo's official example projects - the expo\u002Fexamples repo of ~70 `with-*` integrations (Stripe, Clerk, Supabase, OpenAI, maps, Reanimated, SQLite, Skia, NativeWind, and more). Use when integrating a third-party library or service into an existing Expo app and you want the canonical, version-matched pattern to adapt, or when scaffolding a new project from one with `npx create-expo --example`.\nallowed-tools: \"Read,Bash(gh api:*),Bash(git clone:*),Bash(npx create-expo:*),Bash(npx degit:*),Bash(bun create:*)\"\nversion: 1.0.0\nlicense: MIT\n---\n\n# Expo Examples\n\n[expo\u002Fexamples](https:\u002F\u002Fgithub.com\u002Fexpo\u002Fexamples) is Expo's official library of ~70 **integration examples** — directories named `with-\u003Clibrary>` (e.g. `with-stripe`, `with-maps`), each built around **one** library or service. These are not full apps: they're **managed** projects (no `ios\u002F`\u002F`android\u002F` dirs — native setup is via config plugins), and the typical one is a **single screen of ~100–200 lines**. Mine them for the canonical integration *pattern* — the dependency set, `app.json` config plugins, and minimal wiring Expo maintains against the current SDK — and adapt that into the user's app. Don't expect to lift an application architecture from them.\n\nReach for an example before hand-rolling an integration. (Kinds — full-stack, showcases, starters — are noted in `.\u002Freferences\u002Fcatalog.md`.)\n\n## Two modes\n\n1. **Inspiration \u002F adapt** (most common) — the user already has a project. Find the matching example, read its key files, and apply the *pattern* to their code.\n2. **Scaffold** — greenfield. Start a fresh project directly from the example.\n\n## Workflow\n\n### 1. Find the right example\n\nMap the user's need to an example name (e.g. payments → `with-stripe`, auth → `with-clerk`). `.\u002Freferences\u002Fcatalog.md` is a categorized snapshot for fast triage — but it drifts, so confirm against the live list:\n\n```bash\n# Live example names:\ngh api repos\u002Fexpo\u002Fexamples\u002Fcontents --jq '.[] | select(.type==\"dir\" and (.name|startswith(\".\")|not)) | .name'\n# Aliases (renamed) + deprecated (dead\u002Fmoved) examples — check before recommending:\ngh api repos\u002Fexpo\u002Fexamples\u002Fcontents\u002Fmeta.json --jq '.content' | base64 -d\n```\n\n`meta.json` is the source of truth for what's renamed or dead (deprecated examples are removed from the repo tree but still listed here, each with a `message`). If an example is in its `deprecated` map, don't recommend it — follow the `message` to the modern path. If it's in `aliases`, use the `destination`.\n\n### 2a. Inspiration mode — study without touching the user's project\n\nThe common case: the user already has an app and wants to see how Expo does something. Read the example as **reference** and apply the patterns by hand — never scaffold an example on top of their project.\n\n**First, list the whole example in one call.** Integration code is often nested (e.g. Stripe's server routes live in `app\u002Fapi\u002F`), so a one-level listing misses the important files:\n\n```bash\ngh api 'repos\u002Fexpo\u002Fexamples\u002Fgit\u002Ftrees\u002Fmaster?recursive=1' \\\n  --jq '.tree[].path | select(startswith(\"with-stripe\u002F\"))'\n```\n\n**Then read the high-signal files first:** `README.md` (setup) → `package.json` (deps) → `app.json` (config plugins \u002F permissions) → the integration code the manifest revealed → `.env` (required secrets). Per file:\n\n```bash\ngh api repos\u002Fexpo\u002Fexamples\u002Fcontents\u002Fwith-stripe\u002Futils\u002Fstripe-server.ts --jq '.content' | base64 -d\n# No gh? Raw URL (branch is master):\ncurl -s https:\u002F\u002Fraw.githubusercontent.com\u002Fexpo\u002Fexamples\u002Fmaster\u002Fwith-stripe\u002Futils\u002Fstripe-server.ts\n```\n\n**Reading more than a couple of files?** Many integrations are spread across server routes, a client provider, and config (Stripe is). Skip the per-file calls — pull the whole example into a **throwaway\u002Fgitignored dir (not the user's project)** and read it freely with Grep\u002FRead, then apply by hand:\n\n```bash\nnpx degit expo\u002Fexamples\u002Fwith-stripe \u002Ftmp\u002Fexpo-ref\u002Fwith-stripe   # clean copy, no git history\n# fallback without degit (sparse-checkout, no full ~64 MB clone):\ngit clone --depth 1 --filter=blob:none --sparse https:\u002F\u002Fgithub.com\u002Fexpo\u002Fexamples.git \u002Ftmp\u002Fexpo-ref\u002Fexamples \\\n  && (cd \u002Ftmp\u002Fexpo-ref\u002Fexamples && git sparse-checkout set with-stripe)\n```\n\nRead from there with Grep\u002FRead; delete the scratch dir when done.\n\n### 2b. Scaffold mode — new project from an example\n\n```bash\nnpx create-expo --example with-stripe   # short form:  npx create-expo -e with-stripe\nbun create expo --example with-stripe    # with bun\n```\n\n### 3. Adapt into the user's app — non-destructively (critical)\n\nWhen the user already has an app, **add only what the example introduces; never overwrite their setup.**\n\n- **Version-align — don't copy pinned versions.** Examples track the **latest** SDK, so their `package.json` pins won't match an older project. Add only the *missing* deps with `npx expo install \u003Cpkg>` (it resolves SDK-correct versions) instead of copying exact versions.\n- **Merge config, don't replace it.** Add only the `app.json`\u002F`app.config.*` plugins and permissions the example introduces that the user lacks — keep their existing config block intact.\n- **Port the integration code.**\n- **Recreate env vars** from the example's `.env` shape — it holds placeholders, never working secrets.\n\n**Done when** the integration code is ported and every dependency, config plugin, permission, and env var it needs is accounted for in the user's app — not when it merely *looks* wired up.\n\n## Gotchas\n\n- **Default branch is `master`,** not `main` (matters for raw URLs and sparse checkout).\n- **Single-click deploy.** Every example has a launch URL: `https:\u002F\u002Flaunch.expo.dev\u002F?github=https:\u002F\u002Fgithub.com\u002Fexpo\u002Fexamples\u002Ftree\u002Fmaster\u002F\u003Cexample>`.\n\n## Related skills\n\n- Tailwind \u002F NativeWind styling → `expo-tailwind-setup`\n- Native UI components (@expo\u002Fui package) → `expo-ui`\n- Styling and native-feeling screens → `expo-native-ui`\n- Navigation and routing → `expo-router`\n- Authoring a native module → `expo-module`\n- Upgrade the SDK before adopting a latest-SDK example → `expo-upgrade`\n\n## References\n\n- `.\u002Freferences\u002Fcatalog.md` — categorized snapshot of the example library for fast triage.\n","# Expo Examples\n\n[expo\u002Fexamples](https:\u002F\u002Fgithub.com\u002Fexpo\u002Fexamples) is Expo's official library of ~70 **integration examples** — directories named `with-\u003Clibrary>` (e.g. `with-stripe`, `with-maps`), each built around **one** library or service. These are not full apps: they're **managed** projects (no `ios\u002F`\u002F`android\u002F` dirs — native setup is via config plugins), and the typical one is a **single screen of ~100–200 lines**. Mine them for the canonical integration *pattern* — the dependency set, `app.json` config plugins, and minimal wiring Expo maintains against the current SDK — and adapt that into the user's app. Don't expect to lift an application architecture from them.\n\nReach for an example before hand-rolling an integration. (Kinds — full-stack, showcases, starters — are noted in `.\u002Freferences\u002Fcatalog.md`.)\n\n## Two modes\n\n1. **Inspiration \u002F adapt** (most common) — the user already has a project. Find the matching example, read its key files, and apply the *pattern* to their code.\n2. **Scaffold** — greenfield. Start a fresh project directly from the example.\n\n## Workflow\n\n### 1. Find the right example\n\nMap the user's need to an example name (e.g. payments → `with-stripe`, auth → `with-clerk`). `.\u002Freferences\u002Fcatalog.md` is a categorized snapshot for fast triage — but it drifts, so confirm against the live list:\n\n```bash\n# Live example names:\ngh api repos\u002Fexpo\u002Fexamples\u002Fcontents --jq '.[] | select(.type==\"dir\" and (.name|startswith(\".\")|not)) | .name'\n# Aliases (renamed) + deprecated (dead\u002Fmoved) examples — check before recommending:\ngh api repos\u002Fexpo\u002Fexamples\u002Fcontents\u002Fmeta.json --jq '.content' | base64 -d\n```\n\n`meta.json` is the source of truth for what's renamed or dead (deprecated examples are removed from the repo tree but still listed here, each with a `message`). If an example is in its `deprecated` map, don't recommend it — follow the `message` to the modern path. If it's in `aliases`, use the `destination`.\n\n### 2a. Inspiration mode — study without touching the user's project\n\nThe common case: the user already has an app and wants to see how Expo does something. Read the example as **reference** and apply the patterns by hand — never scaffold an example on top of their project.\n\n**First, list the whole example in one call.** Integration code is often nested (e.g. Stripe's server routes live in `app\u002Fapi\u002F`), so a one-level listing misses the important files:\n\n```bash\ngh api 'repos\u002Fexpo\u002Fexamples\u002Fgit\u002Ftrees\u002Fmaster?recursive=1' \\\n  --jq '.tree[].path | select(startswith(\"with-stripe\u002F\"))'\n```\n\n**Then read the high-signal files first:** `README.md` (setup) → `package.json` (deps) → `app.json` (config plugins \u002F permissions) → the integration code the manifest revealed → `.env` (required secrets). Per file:\n\n```bash\ngh api repos\u002Fexpo\u002Fexamples\u002Fcontents\u002Fwith-stripe\u002Futils\u002Fstripe-server.ts --jq '.content' | base64 -d\n# No gh? Raw URL (branch is master):\ncurl -s https:\u002F\u002Fraw.githubusercontent.com\u002Fexpo\u002Fexamples\u002Fmaster\u002Fwith-stripe\u002Futils\u002Fstripe-server.ts\n```\n\n**Reading more than a couple of files?** Many integrations are spread across server routes, a client provider, and config (Stripe is). Skip the per-file calls — pull the whole example into a **throwaway\u002Fgitignored dir (not the user's project)** and read it freely with Grep\u002FRead, then apply by hand:\n\n```bash\nnpx degit expo\u002Fexamples\u002Fwith-stripe \u002Ftmp\u002Fexpo-ref\u002Fwith-stripe   # clean copy, no git history\n# fallback without degit (sparse-checkout, no full ~64 MB clone):\ngit clone --depth 1 --filter=blob:none --sparse https:\u002F\u002Fgithub.com\u002Fexpo\u002Fexamples.git \u002Ftmp\u002Fexpo-ref\u002Fexamples \\\n  && (cd \u002Ftmp\u002Fexpo-ref\u002Fexamples && git sparse-checkout set with-stripe)\n```\n\nRead from there with Grep\u002FRead; delete the scratch dir when done.\n\n### 2b. Scaffold mode — new project from an example\n\n```bash\nnpx create-expo --example with-stripe   # short form:  npx create-expo -e with-stripe\nbun create expo --example with-stripe    # with bun\n```\n\n### 3. Adapt into the user's app — non-destructively (critical)\n\nWhen the user already has an app, **add only what the example introduces; never overwrite their setup.**\n\n- **Version-align — don't copy pinned versions.** Examples track the **latest** SDK, so their `package.json` pins won't match an older project. Add only the *missing* deps with `npx expo install \u003Cpkg>` (it resolves SDK-correct versions) instead of copying exact versions.\n- **Merge config, don't replace it.** Add only the `app.json`\u002F`app.config.*` plugins and permissions the example introduces that the user lacks — keep their existing config block intact.\n- **Port the integration code.**\n- **Recreate env vars** from the example's `.env` shape — it holds placeholders, never working secrets.\n\n**Done when** the integration code is ported and every dependency, config plugin, permission, and env var it needs is accounted for in the user's app — not when it merely *looks* wired up.\n\n## Gotchas\n\n- **Default branch is `master`,** not `main` (matters for raw URLs and sparse checkout).\n- **Single-click deploy.** Every example has a launch URL: `https:\u002F\u002Flaunch.expo.dev\u002F?github=https:\u002F\u002Fgithub.com\u002Fexpo\u002Fexamples\u002Ftree\u002Fmaster\u002F\u003Cexample>`.\n\n## Related skills\n\n- Tailwind \u002F NativeWind styling → `expo-tailwind-setup`\n- Native UI components (@expo\u002Fui package) → `expo-ui`\n- Styling and native-feeling screens → `expo-native-ui`\n- Navigation and routing → `expo-router`\n- Authoring a native module → `expo-module`\n- Upgrade the SDK before adopting a latest-SDK example → `expo-upgrade`\n\n## References\n\n- `.\u002Freferences\u002Fcatalog.md` — categorized snapshot of the example library for fast triage.\n",{"name":5,"license":15,"version":44,"description":7,"allowed-tools":45},"1.0.0","Read,Bash(gh api:*),Bash(git clone:*),Bash(npx create-expo:*),Bash(npx degit:*),Bash(bun create:*)","claude\u002Finstall-gsd-build-foQdV","d86cd127f527124b5fd0fd0bc679a4d79b7d01d7",".agents\u002Fskills\u002Fexpo-examples","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 expo-examples",{"tool":59,"command":60},"bunx","bunx skills add pattanation\u002FNorvik --skill expo-examples",{"tool":62,"command":63},"pnpm","pnpm dlx skills add pattanation\u002FNorvik --skill expo-examples","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Fexpo-examples\u002FSKILL.md",true,[67,73],{"path":68,"resourceType":69,"resourceTypeDesc":70,"sizeBytes":71,"sourceHtmlUrl":72},"agents\u002Fopenai.yaml","REFERENCE","参考文档",399,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Fexpo-examples\u002Fagents\u002Fopenai.yaml",{"path":74,"resourceType":69,"resourceTypeDesc":70,"sizeBytes":75,"sourceHtmlUrl":76},"references\u002Fcatalog.md",4392,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Fexpo-examples\u002Freferences\u002Fcatalog.md",[78,113,139,161,183,198],{"skillNo":79,"name":80,"nameZh":6,"description":81,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":82,"licenseFileUrl":83,"sourceHtmlUrl":84,"categories":85,"keywords":94,"publishedAt":112},"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.","Apache-2.0","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",[86,91],{"categoryNo":87,"categoryName":88,"taxonomyType":89,"taxonomyTypeDesc":90},"01JBSEEDCAT000000000000008","测试与质量","SCENARIO","使用场景",{"categoryNo":92,"categoryName":93,"taxonomyType":89,"taxonomyTypeDesc":90},"01JBSEEDCAT000000000000009","前端开发",[95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111],"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":114,"name":115,"nameZh":6,"description":116,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":82,"licenseFileUrl":117,"sourceHtmlUrl":118,"categories":119,"keywords":121,"publishedAt":112},"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",[120],{"categoryNo":92,"categoryName":93,"taxonomyType":89,"taxonomyTypeDesc":90},[122,123,124,108,125,126,127,98,128,129,101,130,131,132,133,134,135,136,137,138],"builder","artifacts builder","artifacts","web artifacts builder","single-file","css","Tailwind","ui components","single","use","file","components","react","multi","state","routing","state management",{"skillNo":140,"name":141,"nameZh":6,"description":142,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":143,"sourceHtmlUrl":144,"categories":145,"keywords":147,"publishedAt":112},"01M71QD9T2XC3EWMQNN9ACNWQ1","vueuse-functions","Apply VueUse composables where appropriate to build concise, maintainable Vue.js \u002F Nuxt features.","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",[146],{"categoryNo":92,"categoryName":93,"taxonomyType":89,"taxonomyTypeDesc":90},[148,149,150,34,151,152,153,154,155,156,157,158,159,160],"functions","vueuse","vueuse functions","nuxt","apply","github","concise","build","https","features","vue","js","composables",{"skillNo":162,"name":163,"nameZh":6,"description":164,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":165,"sourceHtmlUrl":166,"categories":167,"keywords":170,"publishedAt":112},"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",[168,169],{"categoryNo":87,"categoryName":88,"taxonomyType":89,"taxonomyTypeDesc":90},{"categoryNo":92,"categoryName":93,"taxonomyType":89,"taxonomyTypeDesc":90},[171,96,172,158,173,107,174,175,176,153,177,98,178,179,180,131,181,159,182],"vue testing best practices","testing best practices","best practices","test","testing patterns","component","vitest","mocking","e2e","utils","patterns","e2e testing",{"skillNo":184,"name":185,"nameZh":6,"description":186,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":187,"sourceHtmlUrl":188,"categories":189,"keywords":191,"publishedAt":112},"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",[190],{"categoryNo":92,"categoryName":93,"taxonomyType":89,"taxonomyTypeDesc":90},[192,158,193,173,194,176,195,153,181,196,197],"router","vue router best practices","route","guards","navigation","lifecycle",{"skillNo":199,"name":200,"nameZh":6,"description":201,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":202,"sourceHtmlUrl":203,"categories":204,"keywords":206,"publishedAt":112},"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",[205],{"categoryNo":92,"categoryName":93,"taxonomyType":89,"taxonomyTypeDesc":90},[207,158,173,208,34,209,210,26,192,211,212,213,214,215,216,98,217,131,218,219],"vue best practices","Composition","files","tasks","pinia","work","options","ssr","typescript","as","vite","load","standard"]