[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6J4521Z6FCNJDYV63CMBRBH":3,"skill-same:01M6J4521Z6FCNJDYV63CMBRBH":195},{"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":34,"publishedAt":59,"linkOnly":60,"markdownContent":61,"markdownBody":62,"frontMatter":63,"refName":83,"commitSha":84,"skillDirectory":85,"forksCount":86,"repositoryHtmlUrl":87,"repositoryHomepageUrl":88,"ownerHtmlUrl":89,"ownerBlogUrl":6,"ownerDescription":90,"updatedAt":91,"install":92,"resources":104},"01M6J4521Z6FCNJDYV63CMBRBH","mk:vue-best-practices",null,"Deep Vue 3 review and the ordered workflow: built-ins, animation, slots, performance pass. NOT for mk:vue.","ngocsangyem\u002FMeowKit","ngocsangyem","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F33769536?v=4","01M6J3FSMJAG9PVQEGRT7AQ9J2","Sang Nguyen","01M6J3FSRTJG0MNP6NV71639RM",16,"MIT","https:\u002F\u002Fgithub.com\u002Fngocsangyem\u002FMeowKit\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fvue-best-practices\u002FSKILL.md",[18,23,26,29],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000009","前端开发","SCENARIO","使用场景",{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000010","后端与接口",{"categoryNo":27,"categoryName":28,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发",{"categoryNo":30,"categoryName":31,"taxonomyType":32,"taxonomyTypeDesc":33},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58],"vue","best practices","mk:vue best practices","vue best practices","mk:vue","when","invoke","directives","review","react","api","components","code","workflow","angular","quick-reference","utility","structural","render","performance","Composition","quick","deep","Animation","2026-11-10 10:12:30",false,"---\nname: mk:vue-best-practices\nversion: 1.0.0\ndescription: 'Deep Vue 3 review and the ordered workflow: built-ins, animation, slots, performance pass. NOT for mk:vue.'\nallowed-tools:\n  - Read\n  - Grep\n  - Glob\nkeywords:\n  - vue\n  - best-practices\n  - vue-review\n  - composition-api\n  - builtin-components\n  - transitions\n  - performance\n  - render-functions\n  - slots\n  - recommendations\nwhen_to_use: Asked to review Vue feature code or recommend improvements.\nuser-invocable: true\nowner: utility\ncriticality: medium\nstatus: active\nruntime: claude-code\n---\n\n# Vue 3 Best Practices\n\nDeep, ordered Vue 3 best-practices workflow plus a review\u002Frecommendations mode. Complements\n`mk:vue`: `mk:vue` is the everyday Composition API quick-reference (auto-activates on `.vue`);\nthis skill is the **opinionated workflow + best-practices reviewer** you invoke deliberately.\n\n## When to Use\n\n**Invoke-only** — this skill does NOT auto-activate on `.vue`. Activate it for:\n\n- `\u002Fmk:vue-best-practices [concern]` (explicit).\n- \"review my Vue code\", \"Vue best practices\", \"recommend Vue improvements\".\n- A non-trivial Vue feature where the full ordered workflow earns its cost (built-in\n  components, animations, optional features, a performance pass).\n\n**Do NOT invoke for:** everyday Vue authoring quick-reference (`mk:vue`), generic diff\u002FPR\nstructural review (`mk:review`), TypeScript fundamentals (`mk:typescript`), React\n(`mk:react-patterns`), Angular (`mk:angular`), visual design (`mk:frontend-design`), testing\n(`mk:testing` \u002F `mk:qa`; Vue *test* design\u002Freview → `mk:vue-testing-best-practices`).\n\n## Foundations Live in mk:vue\n\nThis skill does not restate the basics. For day-to-day foundations, read `mk:vue`:\n\n- `ref`\u002F`reactive`\u002F`computed`\u002F`watch`, `toRefs`, destructuring → `mk:vue` `..\u002Fvue\u002Freferences\u002Freactivity-performance.md`\n- props \u002F emits \u002F `defineModel` \u002F naming \u002F basic slots → `mk:vue` `..\u002Fvue\u002Freferences\u002Fcomponents.md`\n- composable naming, default export, state scope, shared→Pinia → `mk:vue` `..\u002Fvue\u002Freferences\u002Fcomposables.md`\n- Pinia \u002F Pinia Colada \u002F file-based routing → `mk:vue` `references\u002F{state-pinia,pinia-colada*,routing-pages}.md`\n\nThis skill adds the **deltas** and the topics `mk:vue` does not cover (below).\n\n## Workflow\n\nFollow in order unless the user asks otherwise.\n\n### 1. Confirm architecture (required)\n\n- Default stack: Vue 3 + Composition API + `\u003Cscript setup lang=\"ts\">`.\n- Options API or JSX only if the project explicitly uses them.\n- For a non-trivial feature, sketch a brief component map first: one-sentence responsibility\n  per component, props\u002Femits contract per child, feature-folder layout\n  (`components\u002F\u003Cfeature>\u002F...`, `composables\u002Fuse\u003CFeature>.ts`). Keep entry\u002Froot and route-view\n  components as thin composition surfaces.\n\n### 2. Apply foundation deltas (required)\n\nRead these for the guidance beyond `mk:vue` basics:\n\n- Reactivity deltas (`shallowRef`\u002F`shallowReactive`, computed purity, class\u002Fstyle computed,\n  `watch` `immediate`, async cleanup) → [reactivity-advanced](references\u002Freactivity-advanced.md)\n- Data-flow deltas (provide\u002Finject + `InjectionKey`, imperative refs via `defineExpose` +\n  `useTemplateRef`, event re-emit) → [component-data-flow-advanced](references\u002Fcomponent-data-flow-advanced.md)\n- SFC structure, scoped-style performance, template safety (`v-html`, `v-for`+`v-if`,\n  `v-if` vs `v-show`) → [sfc-structure-and-templates](references\u002Fsfc-structure-and-templates.md)\n- Composable organization (compose from primitives, options object, readonly + actions,\n  utilities-not-composables, organize by feature) → [composables-organization](references\u002Fcomposables-organization.md)\n\n### 3. Optional features — load only when the requirement exists\n\nDo not add these by default. Read the matching reference when the need is real.\n\n**Built-in components**\n\n- Parent controls child content\u002Flayout → [component-slots](references\u002Fcomponent-slots.md)\n- Wrapper\u002Fbase components forward attrs\u002Fevents → [component-fallthrough-attrs](references\u002Fcomponent-fallthrough-attrs.md)\n- Stateful view caching → [component-keep-alive](references\u002Fcomponent-keep-alive.md)\n- Overlays\u002Fportals → [component-teleport](references\u002Fcomponent-teleport.md)\n- Async subtree fallback boundary → [component-suspense](references\u002Fcomponent-suspense.md)\n- Enter\u002Fleave effects → [component-transition](references\u002Fcomponent-transition.md)\n- Animated list mutations → [component-transition-group](references\u002Fcomponent-transition-group.md)\n\n> Teleport\u002FSuspense **authoring** (when to use, API, fallback) is owned here; Teleport\u002FSuspense\n> **test-setup** (stubs, `flushPromises`, `attachTo`, `mountSuspense`) → `mk:vue-testing-best-practices`.\n\n**Animation techniques** (pick the simplest that matches the motion)\n\n- Non-enter\u002Fleave effects → [animation-class-based](references\u002Fanimation-class-based.md)\n- User-input-driven animation → [animation-state-driven](references\u002Fanimation-state-driven.md)\n\n**Less-common features** (explicit product\u002Ftechnical need only)\n\n- DOM-specific behavior, not a component\u002Fcomposable fit → [custom-directives](references\u002Fcustom-directives.md)\n- Heavy\u002Frarely-used UI lazy-loaded → [async-components](references\u002Fasync-components.md)\n- Templates cannot express the requirement → [render-functions](references\u002Frender-functions.md)\n- Behavior installed app-wide → [plugins](references\u002Fplugins.md)\n\nState management is owned by `mk:vue` (Pinia + Pinia Colada) — route there, not here.\n\n### 4. Performance pass — after behavior is correct\n\nOptimize only once core behavior is implemented and verified. Measure with Vue DevTools\nbefore changing anything.\n\n- Large list rendering → [perf-virtualize-large-lists](references\u002Fperf-virtualize-large-lists.md)\n- Static subtrees re-rendering → [perf-v-once-v-memo](references\u002Fperf-v-once-v-memo.md)\n- Over-abstraction in hot list paths → [perf-avoid-abstraction-in-lists](references\u002Fperf-avoid-abstraction-in-lists.md)\n- Expensive updates triggered too often → [perf-updated-hook](references\u002Fperf-updated-hook.md)\n\n### 5. Final self-check\n\n- Core behavior matches requirements; all relevant deltas applied.\n- Reactivity is minimal and predictable; derive with `computed`.\n- SFC structure + template safety rules followed.\n- Components are focused; entry\u002Froot\u002Fview components stay thin composition surfaces.\n- Data-flow contracts are explicit and typed.\n- Composables used where reuse\u002Fcomplexity justifies them.\n- Optional features used only when required.\n- Performance changes applied only after functionality was complete.\n\n## Review & Recommendations Mode\n\nWhen asked to review or recommend, walk the section-5 self-check as a rubric against the target\ncode and emit a **structured findings list** — one row per finding:\n\n```\n[severity: high|med|low] · path:line · issue · fix\n```\n\n- Ground each finding in a specific best-practice from this skill or a `mk:vue` reference.\n- Defer foundation-basics findings to `mk:vue`; defer non-Vue structural\u002Fsecurity findings to\n  `mk:review` \u002F the project's security rules (do not duplicate them here).\n- End with a one-line verdict: ready \u002F changes recommended \u002F changes required.\n\n## Gotchas\n\n- (grow this from observed failures)\n- **Reactivity foundation belongs to `mk:vue`.** Follow the repository convention first,\n  then `mk:vue`'s `ref()` guidance for primitives unless the advanced reference documents a\n  task-specific reason to use `shallowRef()`.\n- Cross-skill gotchas (destructuring `reactive()`, `storeToRefs`, `defineExpose`, `:slotted()`,\n  `watchEffect` cleanup, SSR store hydration, Pinia Colada keys) live in `mk:vue` — read them\n  there rather than duplicating.\n\n## Anti-Patterns\n\nGap-topic anti-patterns only (foundation anti-patterns live in `mk:vue`):\n\n| Don't | Do Instead |\n| --- | --- |\n| Reach for a render function when a template works | Keep templates; render functions only when templates cannot express it |\n| Add `\u003CTransition>` for non-enter\u002Fleave motion | Use a class-based or state-driven animation technique |\n| Optimize (`v-memo`\u002Fvirtualization) before behavior is correct | Performance pass last; measure with DevTools first |\n| Hoist a `ref` to module scope for shared state | Pinia (global) or Pinia Colada (data) — see `mk:vue` |\n| Install app-wide behavior ad hoc in components | A plugin when behavior is genuinely app-wide |\n\n## Provenance\n\nPorted from an upstream Vue best-practices skill — see [SOURCE.md](SOURCE.md) for the upstream\npath and pinned commit (for future re-syncs).\n","# Vue 3 Best Practices\n\nDeep, ordered Vue 3 best-practices workflow plus a review\u002Frecommendations mode. Complements\n`mk:vue`: `mk:vue` is the everyday Composition API quick-reference (auto-activates on `.vue`);\nthis skill is the **opinionated workflow + best-practices reviewer** you invoke deliberately.\n\n## When to Use\n\n**Invoke-only** — this skill does NOT auto-activate on `.vue`. Activate it for:\n\n- `\u002Fmk:vue-best-practices [concern]` (explicit).\n- \"review my Vue code\", \"Vue best practices\", \"recommend Vue improvements\".\n- A non-trivial Vue feature where the full ordered workflow earns its cost (built-in\n  components, animations, optional features, a performance pass).\n\n**Do NOT invoke for:** everyday Vue authoring quick-reference (`mk:vue`), generic diff\u002FPR\nstructural review (`mk:review`), TypeScript fundamentals (`mk:typescript`), React\n(`mk:react-patterns`), Angular (`mk:angular`), visual design (`mk:frontend-design`), testing\n(`mk:testing` \u002F `mk:qa`; Vue *test* design\u002Freview → `mk:vue-testing-best-practices`).\n\n## Foundations Live in mk:vue\n\nThis skill does not restate the basics. For day-to-day foundations, read `mk:vue`:\n\n- `ref`\u002F`reactive`\u002F`computed`\u002F`watch`, `toRefs`, destructuring → `mk:vue` `..\u002Fvue\u002Freferences\u002Freactivity-performance.md`\n- props \u002F emits \u002F `defineModel` \u002F naming \u002F basic slots → `mk:vue` `..\u002Fvue\u002Freferences\u002Fcomponents.md`\n- composable naming, default export, state scope, shared→Pinia → `mk:vue` `..\u002Fvue\u002Freferences\u002Fcomposables.md`\n- Pinia \u002F Pinia Colada \u002F file-based routing → `mk:vue` `references\u002F{state-pinia,pinia-colada*,routing-pages}.md`\n\nThis skill adds the **deltas** and the topics `mk:vue` does not cover (below).\n\n## Workflow\n\nFollow in order unless the user asks otherwise.\n\n### 1. Confirm architecture (required)\n\n- Default stack: Vue 3 + Composition API + `\u003Cscript setup lang=\"ts\">`.\n- Options API or JSX only if the project explicitly uses them.\n- For a non-trivial feature, sketch a brief component map first: one-sentence responsibility\n  per component, props\u002Femits contract per child, feature-folder layout\n  (`components\u002F\u003Cfeature>\u002F...`, `composables\u002Fuse\u003CFeature>.ts`). Keep entry\u002Froot and route-view\n  components as thin composition surfaces.\n\n### 2. Apply foundation deltas (required)\n\nRead these for the guidance beyond `mk:vue` basics:\n\n- Reactivity deltas (`shallowRef`\u002F`shallowReactive`, computed purity, class\u002Fstyle computed,\n  `watch` `immediate`, async cleanup) → [reactivity-advanced](references\u002Freactivity-advanced.md)\n- Data-flow deltas (provide\u002Finject + `InjectionKey`, imperative refs via `defineExpose` +\n  `useTemplateRef`, event re-emit) → [component-data-flow-advanced](references\u002Fcomponent-data-flow-advanced.md)\n- SFC structure, scoped-style performance, template safety (`v-html`, `v-for`+`v-if`,\n  `v-if` vs `v-show`) → [sfc-structure-and-templates](references\u002Fsfc-structure-and-templates.md)\n- Composable organization (compose from primitives, options object, readonly + actions,\n  utilities-not-composables, organize by feature) → [composables-organization](references\u002Fcomposables-organization.md)\n\n### 3. Optional features — load only when the requirement exists\n\nDo not add these by default. Read the matching reference when the need is real.\n\n**Built-in components**\n\n- Parent controls child content\u002Flayout → [component-slots](references\u002Fcomponent-slots.md)\n- Wrapper\u002Fbase components forward attrs\u002Fevents → [component-fallthrough-attrs](references\u002Fcomponent-fallthrough-attrs.md)\n- Stateful view caching → [component-keep-alive](references\u002Fcomponent-keep-alive.md)\n- Overlays\u002Fportals → [component-teleport](references\u002Fcomponent-teleport.md)\n- Async subtree fallback boundary → [component-suspense](references\u002Fcomponent-suspense.md)\n- Enter\u002Fleave effects → [component-transition](references\u002Fcomponent-transition.md)\n- Animated list mutations → [component-transition-group](references\u002Fcomponent-transition-group.md)\n\n> Teleport\u002FSuspense **authoring** (when to use, API, fallback) is owned here; Teleport\u002FSuspense\n> **test-setup** (stubs, `flushPromises`, `attachTo`, `mountSuspense`) → `mk:vue-testing-best-practices`.\n\n**Animation techniques** (pick the simplest that matches the motion)\n\n- Non-enter\u002Fleave effects → [animation-class-based](references\u002Fanimation-class-based.md)\n- User-input-driven animation → [animation-state-driven](references\u002Fanimation-state-driven.md)\n\n**Less-common features** (explicit product\u002Ftechnical need only)\n\n- DOM-specific behavior, not a component\u002Fcomposable fit → [custom-directives](references\u002Fcustom-directives.md)\n- Heavy\u002Frarely-used UI lazy-loaded → [async-components](references\u002Fasync-components.md)\n- Templates cannot express the requirement → [render-functions](references\u002Frender-functions.md)\n- Behavior installed app-wide → [plugins](references\u002Fplugins.md)\n\nState management is owned by `mk:vue` (Pinia + Pinia Colada) — route there, not here.\n\n### 4. Performance pass — after behavior is correct\n\nOptimize only once core behavior is implemented and verified. Measure with Vue DevTools\nbefore changing anything.\n\n- Large list rendering → [perf-virtualize-large-lists](references\u002Fperf-virtualize-large-lists.md)\n- Static subtrees re-rendering → [perf-v-once-v-memo](references\u002Fperf-v-once-v-memo.md)\n- Over-abstraction in hot list paths → [perf-avoid-abstraction-in-lists](references\u002Fperf-avoid-abstraction-in-lists.md)\n- Expensive updates triggered too often → [perf-updated-hook](references\u002Fperf-updated-hook.md)\n\n### 5. Final self-check\n\n- Core behavior matches requirements; all relevant deltas applied.\n- Reactivity is minimal and predictable; derive with `computed`.\n- SFC structure + template safety rules followed.\n- Components are focused; entry\u002Froot\u002Fview components stay thin composition surfaces.\n- Data-flow contracts are explicit and typed.\n- Composables used where reuse\u002Fcomplexity justifies them.\n- Optional features used only when required.\n- Performance changes applied only after functionality was complete.\n\n## Review & Recommendations Mode\n\nWhen asked to review or recommend, walk the section-5 self-check as a rubric against the target\ncode and emit a **structured findings list** — one row per finding:\n\n```\n[severity: high|med|low] · path:line · issue · fix\n```\n\n- Ground each finding in a specific best-practice from this skill or a `mk:vue` reference.\n- Defer foundation-basics findings to `mk:vue`; defer non-Vue structural\u002Fsecurity findings to\n  `mk:review` \u002F the project's security rules (do not duplicate them here).\n- End with a one-line verdict: ready \u002F changes recommended \u002F changes required.\n\n## Gotchas\n\n- (grow this from observed failures)\n- **Reactivity foundation belongs to `mk:vue`.** Follow the repository convention first,\n  then `mk:vue`'s `ref()` guidance for primitives unless the advanced reference documents a\n  task-specific reason to use `shallowRef()`.\n- Cross-skill gotchas (destructuring `reactive()`, `storeToRefs`, `defineExpose`, `:slotted()`,\n  `watchEffect` cleanup, SSR store hydration, Pinia Colada keys) live in `mk:vue` — read them\n  there rather than duplicating.\n\n## Anti-Patterns\n\nGap-topic anti-patterns only (foundation anti-patterns live in `mk:vue`):\n\n| Don't | Do Instead |\n| --- | --- |\n| Reach for a render function when a template works | Keep templates; render functions only when templates cannot express it |\n| Add `\u003CTransition>` for non-enter\u002Fleave motion | Use a class-based or state-driven animation technique |\n| Optimize (`v-memo`\u002Fvirtualization) before behavior is correct | Performance pass last; measure with DevTools first |\n| Hoist a `ref` to module scope for shared state | Pinia (global) or Pinia Colada (data) — see `mk:vue` |\n| Install app-wide behavior ad hoc in components | A plugin when behavior is genuinely app-wide |\n\n## Provenance\n\nPorted from an upstream Vue best-practices skill — see [SOURCE.md](SOURCE.md) for the upstream\npath and pinned commit (for future re-syncs).\n",{"name":5,"owner":51,"status":64,"runtime":65,"version":66,"keywords":67,"criticality":76,"description":7,"when_to_use":77,"allowed-tools":78,"user-invocable":82},"active","claude-code","1.0.0",[35,68,69,70,71,72,54,73,74,75],"best-practices","vue-review","composition-api","builtin-components","transitions","render-functions","slots","recommendations","medium","Asked to review Vue feature code or recommend improvements.",[79,80,81],"Read","Grep","Glob",true,"main","c2c69c674e8c62fe9634bfb360b5f9f14c70e1a5",".claude\u002Fskills\u002Fvue-best-practices",3,"https:\u002F\u002Fgithub.com\u002Fngocsangyem\u002FMeowKit","https:\u002F\u002Fdocs.meowkit.dev\u002F","https:\u002F\u002Fgithub.com\u002Fngocsangyem","Keep moving forward","2026-11-12 20:22:02",{"source":8,"skillName":5,"commands":93,"prompt":103,"zipAvailable":82},[94,97,100],{"tool":95,"command":96},"npx","npx skills add ngocsangyem\u002FMeowKit --skill \"mk:vue-best-practices\"",{"tool":98,"command":99},"bunx","bunx skills add ngocsangyem\u002FMeowKit --skill \"mk:vue-best-practices\"",{"tool":101,"command":102},"pnpm","pnpm dlx skills add ngocsangyem\u002FMeowKit --skill \"mk:vue-best-practices\"","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fngocsangyem\u002FMeowKit\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fvue-best-practices\u002FSKILL.md",[105,111,115,119,123,127,131,135,139,143,147,151,155,159,163,167,171,175,179,183,187,191],{"path":106,"resourceType":107,"resourceTypeDesc":108,"sizeBytes":109,"sourceHtmlUrl":110},"references\u002Fanimation-class-based.md","REFERENCE","参考文档",3769,"https:\u002F\u002Fgithub.com\u002Fngocsangyem\u002FMeowKit\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fvue-best-practices\u002Freferences\u002Fanimation-class-based.md",{"path":112,"resourceType":107,"resourceTypeDesc":108,"sizeBytes":113,"sourceHtmlUrl":114},"references\u002Fanimation-state-driven.md",4670,"https:\u002F\u002Fgithub.com\u002Fngocsangyem\u002FMeowKit\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fvue-best-practices\u002Freferences\u002Fanimation-state-driven.md",{"path":116,"resourceType":107,"resourceTypeDesc":108,"sizeBytes":117,"sourceHtmlUrl":118},"references\u002Fasync-components.md",3010,"https:\u002F\u002Fgithub.com\u002Fngocsangyem\u002FMeowKit\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fvue-best-practices\u002Freferences\u002Fasync-components.md",{"path":120,"resourceType":107,"resourceTypeDesc":108,"sizeBytes":121,"sourceHtmlUrl":122},"references\u002Fcomponent-data-flow-advanced.md",4613,"https:\u002F\u002Fgithub.com\u002Fngocsangyem\u002FMeowKit\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fvue-best-practices\u002Freferences\u002Fcomponent-data-flow-advanced.md",{"path":124,"resourceType":107,"resourceTypeDesc":108,"sizeBytes":125,"sourceHtmlUrl":126},"references\u002Fcomponent-fallthrough-attrs.md",3408,"https:\u002F\u002Fgithub.com\u002Fngocsangyem\u002FMeowKit\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fvue-best-practices\u002Freferences\u002Fcomponent-fallthrough-attrs.md",{"path":128,"resourceType":107,"resourceTypeDesc":108,"sizeBytes":129,"sourceHtmlUrl":130},"references\u002Fcomponent-keep-alive.md",3090,"https:\u002F\u002Fgithub.com\u002Fngocsangyem\u002FMeowKit\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fvue-best-practices\u002Freferences\u002Fcomponent-keep-alive.md",{"path":132,"resourceType":107,"resourceTypeDesc":108,"sizeBytes":133,"sourceHtmlUrl":134},"references\u002Fcomponent-slots.md",4125,"https:\u002F\u002Fgithub.com\u002Fngocsangyem\u002FMeowKit\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fvue-best-practices\u002Freferences\u002Fcomponent-slots.md",{"path":136,"resourceType":107,"resourceTypeDesc":108,"sizeBytes":137,"sourceHtmlUrl":138},"references\u002Fcomponent-suspense.md",4633,"https:\u002F\u002Fgithub.com\u002Fngocsangyem\u002FMeowKit\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fvue-best-practices\u002Freferences\u002Fcomponent-suspense.md",{"path":140,"resourceType":107,"resourceTypeDesc":108,"sizeBytes":141,"sourceHtmlUrl":142},"references\u002Fcomponent-teleport.md",3019,"https:\u002F\u002Fgithub.com\u002Fngocsangyem\u002FMeowKit\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fvue-best-practices\u002Freferences\u002Fcomponent-teleport.md",{"path":144,"resourceType":107,"resourceTypeDesc":108,"sizeBytes":145,"sourceHtmlUrl":146},"references\u002Fcomponent-transition-group.md",3981,"https:\u002F\u002Fgithub.com\u002Fngocsangyem\u002FMeowKit\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fvue-best-practices\u002Freferences\u002Fcomponent-transition-group.md",{"path":148,"resourceType":107,"resourceTypeDesc":108,"sizeBytes":149,"sourceHtmlUrl":150},"references\u002Fcomponent-transition.md",2925,"https:\u002F\u002Fgithub.com\u002Fngocsangyem\u002FMeowKit\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fvue-best-practices\u002Freferences\u002Fcomponent-transition.md",{"path":152,"resourceType":107,"resourceTypeDesc":108,"sizeBytes":153,"sourceHtmlUrl":154},"references\u002Fcomposables-organization.md",5903,"https:\u002F\u002Fgithub.com\u002Fngocsangyem\u002FMeowKit\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fvue-best-practices\u002Freferences\u002Fcomposables-organization.md",{"path":156,"resourceType":107,"resourceTypeDesc":108,"sizeBytes":157,"sourceHtmlUrl":158},"references\u002Fcustom-directives.md",3983,"https:\u002F\u002Fgithub.com\u002Fngocsangyem\u002FMeowKit\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fvue-best-practices\u002Freferences\u002Fcustom-directives.md",{"path":160,"resourceType":107,"resourceTypeDesc":108,"sizeBytes":161,"sourceHtmlUrl":162},"references\u002Fperf-avoid-abstraction-in-lists.md",4174,"https:\u002F\u002Fgithub.com\u002Fngocsangyem\u002FMeowKit\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fvue-best-practices\u002Freferences\u002Fperf-avoid-abstraction-in-lists.md",{"path":164,"resourceType":107,"resourceTypeDesc":108,"sizeBytes":165,"sourceHtmlUrl":166},"references\u002Fperf-updated-hook.md",4319,"https:\u002F\u002Fgithub.com\u002Fngocsangyem\u002FMeowKit\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fvue-best-practices\u002Freferences\u002Fperf-updated-hook.md",{"path":168,"resourceType":107,"resourceTypeDesc":108,"sizeBytes":169,"sourceHtmlUrl":170},"references\u002Fperf-v-once-v-memo.md",5672,"https:\u002F\u002Fgithub.com\u002Fngocsangyem\u002FMeowKit\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fvue-best-practices\u002Freferences\u002Fperf-v-once-v-memo.md",{"path":172,"resourceType":107,"resourceTypeDesc":108,"sizeBytes":173,"sourceHtmlUrl":174},"references\u002Fperf-virtualize-large-lists.md",3927,"https:\u002F\u002Fgithub.com\u002Fngocsangyem\u002FMeowKit\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fvue-best-practices\u002Freferences\u002Fperf-virtualize-large-lists.md",{"path":176,"resourceType":107,"resourceTypeDesc":108,"sizeBytes":177,"sourceHtmlUrl":178},"references\u002Fplugins.md",3390,"https:\u002F\u002Fgithub.com\u002Fngocsangyem\u002FMeowKit\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fvue-best-practices\u002Freferences\u002Fplugins.md",{"path":180,"resourceType":107,"resourceTypeDesc":108,"sizeBytes":181,"sourceHtmlUrl":182},"references\u002Freactivity-advanced.md",5158,"https:\u002F\u002Fgithub.com\u002Fngocsangyem\u002FMeowKit\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fvue-best-practices\u002Freferences\u002Freactivity-advanced.md",{"path":184,"resourceType":107,"resourceTypeDesc":108,"sizeBytes":185,"sourceHtmlUrl":186},"references\u002Frender-functions.md",3744,"https:\u002F\u002Fgithub.com\u002Fngocsangyem\u002FMeowKit\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fvue-best-practices\u002Freferences\u002Frender-functions.md",{"path":188,"resourceType":107,"resourceTypeDesc":108,"sizeBytes":189,"sourceHtmlUrl":190},"references\u002Fsfc-structure-and-templates.md",5438,"https:\u002F\u002Fgithub.com\u002Fngocsangyem\u002FMeowKit\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fvue-best-practices\u002Freferences\u002Fsfc-structure-and-templates.md",{"path":192,"resourceType":107,"resourceTypeDesc":108,"sizeBytes":193,"sourceHtmlUrl":194},"SOURCE.md",1668,"https:\u002F\u002Fgithub.com\u002Fngocsangyem\u002FMeowKit\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fvue-best-practices\u002FSOURCE.md",[196,215,229,235,247,272],{"skillNo":197,"name":198,"nameZh":6,"description":199,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":200,"categories":201,"keywords":202,"publishedAt":59},"01M6J4NFDY0KY3XXJ6E5WBASAF","mk-sequential-thinking","Structured step-by-step reasoning before acting, to avoid guessing. For complex debugging, multi-step analysis, hypothesis checks. NOT for being stuck on approach (mk:problem-solving).","https:\u002F\u002Fgithub.com\u002Fngocsangyem\u002FMeowKit\u002Fblob\u002Fmain\u002Fpackages\u002Fmewkit\u002Fsrc\u002Fmigrate\u002Fmodules\u002Fcodex\u002Froot\u002F.agents\u002Fskills\u002Fmk-sequential-thinking\u002FSKILL.md",[],[203,204,205,206,207,208,209,210,211,212,213,214],"mk sequential thinking","sequential thinking","thinking","structured","problem","problem-solving","analysis","hypothesis","reasoning","for","debugging","multi",{"skillNo":216,"name":217,"nameZh":6,"description":218,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":219,"categories":220,"keywords":222,"publishedAt":59},"01M6J5D3G7C0V3BZ97Y61WB172","mk:fixture-valid","A valid fixture used to verify the skill structure validator.","https:\u002F\u002Fgithub.com\u002Fngocsangyem\u002FMeowKit\u002Fblob\u002Fmain\u002Ftests\u002Ffixtures\u002Fskill-creator\u002Fvalid\u002FSKILL.md",[221],{"categoryNo":27,"categoryName":28,"taxonomyType":21,"taxonomyTypeDesc":22},[223,224,225,226,227,228],"mk:fixture valid","fixture","valid","verify","structure","validator",{"skillNo":230,"name":231,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":232,"categories":233,"keywords":234,"publishedAt":59},"01M6J5CZRVSN8T4BZM0Y42CXJY","invalid","https:\u002F\u002Fgithub.com\u002Fngocsangyem\u002FMeowKit\u002Fblob\u002Fmain\u002Ftests\u002Ffixtures\u002Fskill-creator\u002Finvalid\u002FSKILL.md",[],[231],{"skillNo":236,"name":237,"nameZh":6,"description":238,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":239,"categories":240,"keywords":242,"publishedAt":59},"01M6J5CVN0N8KP9JFAWCV2PC2T","mk:sample-skill","Sample skill for fixture purposes — small enough to land below noise floor.","https:\u002F\u002Fgithub.com\u002Fngocsangyem\u002FMeowKit\u002Fblob\u002Fmain\u002Fpackages\u002Fmewkit\u002Ftests\u002Ffixtures\u002Fcontext-audit\u002F.claude\u002Fskills\u002Fsample-skill\u002FSKILL.md",[241],{"categoryNo":27,"categoryName":28,"taxonomyType":21,"taxonomyTypeDesc":22},[243,244,245,246,224,212],"mk:sample skill","sample","sample skill","land",{"skillNo":248,"name":249,"nameZh":6,"description":250,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":251,"categories":252,"keywords":254,"publishedAt":59},"01M6J5CP99X9S0B7XCSBX6H5P2","mk-worktree","Manages git worktrees for parallel agent isolation: creates parallel\u002F{name}-{timestamp} branches, merges with conflict detection. NOT for user feature branches (use git worktree directly).","https:\u002F\u002Fgithub.com\u002Fngocsangyem\u002FMeowKit\u002Fblob\u002Fmain\u002Fpackages\u002Fmewkit\u002Fsrc\u002Fmigrate\u002Fmodules\u002Fcursor\u002Froot\u002F.cursor\u002Fskills\u002Fmk-worktree\u002FSKILL.md",[253],{"categoryNo":27,"categoryName":28,"taxonomyType":21,"taxonomyTypeDesc":22},[255,256,257,258,259,260,261,262,263,264,265,266,212,267,268,269,270,271],"mk worktree","worktree","user","git worktrees","use","worktrees","branches","conflict","feature","isolation","name","with","parallel","timestamp","git","detection","git worktree",{"skillNo":273,"name":274,"nameZh":6,"description":275,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":276,"categories":277,"keywords":279,"publishedAt":59},"01M6J5CJT8ZGXH9YYJ7GV3R2B4","mk-workflow-orchestrator","Auto-invoked 7-phase workflow for complex-feature intent; fasttrack mode for pre-approved specs. NOT for explicit single tasks (mk:cook), green-field builds (mk:autobuild), or simple fixes (mk:fix).","https:\u002F\u002Fgithub.com\u002Fngocsangyem\u002FMeowKit\u002Fblob\u002Fmain\u002Fpackages\u002Fmewkit\u002Fsrc\u002Fmigrate\u002Fmodules\u002Fcursor\u002Froot\u002F.cursor\u002Fskills\u002Fmk-workflow-orchestrator\u002FSKILL.md",[278],{"categoryNo":27,"categoryName":28,"taxonomyType":21,"taxonomyTypeDesc":22},[280,281,282,48,283,284,285,286,287,288,289,263,290,291,212,292,293,294,295,296,297,298],"mk workflow orchestrator","workflow orchestrator","orchestrator","green-field","tasks","fix","auto","simple","intent","green","autobuild","mode","fixes","mk:autobuild","mk:cook","mk:fix","fasttrack","complex-feature","phase"]