[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71NTW4R1GP6A51HSCA1AYC8":3,"skill-same:01M71NTW4R1GP6A51HSCA1AYC8":124},{"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":23,"publishedAt":44,"linkOnly":45,"markdownContent":46,"markdownBody":47,"frontMatter":48,"refName":53,"commitSha":54,"skillDirectory":55,"forksCount":14,"repositoryHtmlUrl":56,"repositoryHomepageUrl":57,"ownerHtmlUrl":58,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":59,"install":60,"resources":73},"01M71NTW4R1GP6A51HSCA1AYC8","nemo-data-designer-plugin",null,"Use when the user wants to create a dataset, generate synthetic data, or build a data generation pipeline.","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-data-designer-plugin\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000033","数据分析师","PROFESSION","适用职业",[24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43],"nemo data designer plugin","NeMo","data","data designer","designer","plugin","generation","when","generation pipeline","you","generate synthetic data","synthetic","dataset","platform","build","use","pipeline","generate","create","synthetic data","2026-11-10 10:56:23",false,"---\n\nname: nemo-data-designer-plugin\ndescription: Use when the user wants to create a dataset, generate synthetic data, or build a data generation pipeline.\nargument-hint: [describe the dataset you want to generate]\nlicense: Apache-2.0\nmetadata:\n  owner: nemo-platform\n---\n\n# Before You Start\n\nDo not explore the workspace first. The workflow's Learn step gives you everything you need.\n\n# Goal\n\nBuild a synthetic dataset using the Data Designer library that matches this description:\n\n$ARGUMENTS\n\n# Workflow\n\nUse **Autopilot** mode if the user implies they don't want to answer questions — e.g., they say something like \"be opinionated\", \"you decide\", \"make reasonable assumptions\", \"just build it\", \"surprise me\", etc. Otherwise, use **Interactive** mode (default).\n\nRead **only** the workflow file that matches the selected mode, then follow it:\n\n- **Interactive** → read `workflows\u002Finteractive.md`\n- **Autopilot** → read `workflows\u002Fautopilot.md`\n\n# Rules\n\n- Keep all columns in the output by default. The only exceptions for dropping a column are: (1) the user explicitly asks, or (2) it is a helper column that exists solely to derive other columns (e.g., a sampled person object used to extract name, city, etc.). When in doubt, keep the column.\n- Do not suggest or ask about seed datasets. Only use one when the user explicitly provides seed data or asks to build from existing records. When using a seed, read `references\u002Fseed-datasets.md`.\n- When the dataset requires person data (names, demographics, addresses), read `references\u002Fperson-sampling.md`.\n- If a dataset script that matches the dataset description already exists, ask the user whether to edit it or create a new one.\n- For commands and context specific to this NeMo Platform plugin (e.g., sourcing model configs from IGW providers or in-script `ModelConfig`s, installing or publishing Nemotron Personas locales, platform-side resource pointers), read `references\u002Fnemo-platform-plugin-additions.md`.\n\n# Usage Tips and Common Pitfalls\n\n- **Sampler and validation columns need both a type and params.** E.g., `sampler_type=\"category\"` with `params=dd.CategorySamplerParams(...)`.\n- **Jinja2 templates** in `prompt`, `system_prompt`, and `expr` fields: reference columns with `{{ column_name }}`, nested fields with `{{ column_name.field }}`.\n- `**SamplerColumnConfig`:** Takes `params`, not `sampler_params`.\n- **LLM judge score access:** `LLMJudgeColumnConfig` produces a nested dict where each score name maps to `{reasoning: str, score: int}`. To get the numeric score, use the `.score` attribute. For example, for a judge column named `quality` with a score named `correctness`, use `{{ quality.correctness.score }}`. Using `{{ quality.correctness }}` returns the full dict, not the numeric score.\n\n# Troubleshooting\n\n- `**nemo data-designer` CLI not found:** Tell the user that `nemo data-designer` is not installed in this environment (requires Python >= 3.11). Ask if they would like you to create a virtual environment and install it, or if they prefer to do it themselves. Do not install anything without the user's permission.\n- **Network errors during preview:** A sandbox environment may be blocking outbound requests. Ask the user for permission to retry the command with the sandbox disabled. Only as a last resort, if retrying outside the sandbox also fails, tell the user to run the command themselves.\n\n# Output Template\n\nWrite a Python file to the current directory with a `load_config_builder()` function returning a `DataDesignerConfigBuilder`. Name the file descriptively (e.g., `customer_reviews.py`). Use PEP 723 inline metadata for dependencies.\n\n```python\n# \u002F\u002F\u002F script\n# dependencies = [\n#   \"data-designer\", # always required\n#   \"pydantic\", # only if this script imports from pydantic\n#   # add additional dependencies here\n# ]\n# \u002F\u002F\u002F\nimport data_designer.config as dd\nfrom pydantic import BaseModel, Field\n\n\n# Use Pydantic models when the output needs to conform to a specific schema\nclass MyStructuredOutput(BaseModel):\n    field_one: str = Field(description=\"...\")\n    field_two: int = Field(description=\"...\")\n\n\n# Use custom generators when built-in column types aren't enough\n@dd.custom_column_generator(\n    required_columns=[\"col_a\"],\n    side_effect_columns=[\"extra_col\"],\n)\ndef generator_function(row: dict) -> dict:\n    # add custom logic here that depends on \"col_a\" and update row in place\n    row[\"name_in_custom_column_config\"] = \"custom value\"\n    row[\"extra_col\"] = \"extra value\"\n    return row\n\n\ndef load_config_builder() -> dd.DataDesignerConfigBuilder:\n    config_builder = dd.DataDesignerConfigBuilder(\n        # Declaring model configs programmatically here is the portable path:\n        # it works for both local `run` and cluster `submit`, while the local\n        # YAML registry alternative only works for `run`. The provider below\n        # is a common default created during `nemo setup` — confirm it (or\n        # discover others) with `nemo inference providers list`. See\n        # references\u002Fnemo-platform-plugin-additions.md for the local-YAML alternative.\n        model_configs=[\n            dd.ModelConfig(\n                alias=\"text\",\n                model=\"...\",\n                provider=\"default\u002Fnvidia-build\",\n                inference_parameters=dd.ChatCompletionInferenceParams(),\n            ),\n        ],\n    )\n\n    # Seed dataset (only if the user explicitly mentions a seed dataset path)\n    # config_builder.with_seed_dataset(dd.LocalFileSeedSource(path=\"path\u002Fto\u002Fseed.parquet\"))\n\n    # config_builder.add_column(...)\n    # config_builder.add_processor(...)\n\n    return config_builder\n```\n\nOnly include Pydantic models, custom generators, seed datasets, and extra dependencies when the task requires them. Prefer including `model_configs` when the dataset uses LLM columns — declaring it in the script keeps the config portable between local `run` and cluster `submit`, while the local YAML registry alternative only works for `run`.\n","# Before You Start\n\nDo not explore the workspace first. The workflow's Learn step gives you everything you need.\n\n# Goal\n\nBuild a synthetic dataset using the Data Designer library that matches this description:\n\n$ARGUMENTS\n\n# Workflow\n\nUse **Autopilot** mode if the user implies they don't want to answer questions — e.g., they say something like \"be opinionated\", \"you decide\", \"make reasonable assumptions\", \"just build it\", \"surprise me\", etc. Otherwise, use **Interactive** mode (default).\n\nRead **only** the workflow file that matches the selected mode, then follow it:\n\n- **Interactive** → read `workflows\u002Finteractive.md`\n- **Autopilot** → read `workflows\u002Fautopilot.md`\n\n# Rules\n\n- Keep all columns in the output by default. The only exceptions for dropping a column are: (1) the user explicitly asks, or (2) it is a helper column that exists solely to derive other columns (e.g., a sampled person object used to extract name, city, etc.). When in doubt, keep the column.\n- Do not suggest or ask about seed datasets. Only use one when the user explicitly provides seed data or asks to build from existing records. When using a seed, read `references\u002Fseed-datasets.md`.\n- When the dataset requires person data (names, demographics, addresses), read `references\u002Fperson-sampling.md`.\n- If a dataset script that matches the dataset description already exists, ask the user whether to edit it or create a new one.\n- For commands and context specific to this NeMo Platform plugin (e.g., sourcing model configs from IGW providers or in-script `ModelConfig`s, installing or publishing Nemotron Personas locales, platform-side resource pointers), read `references\u002Fnemo-platform-plugin-additions.md`.\n\n# Usage Tips and Common Pitfalls\n\n- **Sampler and validation columns need both a type and params.** E.g., `sampler_type=\"category\"` with `params=dd.CategorySamplerParams(...)`.\n- **Jinja2 templates** in `prompt`, `system_prompt`, and `expr` fields: reference columns with `{{ column_name }}`, nested fields with `{{ column_name.field }}`.\n- `**SamplerColumnConfig`:** Takes `params`, not `sampler_params`.\n- **LLM judge score access:** `LLMJudgeColumnConfig` produces a nested dict where each score name maps to `{reasoning: str, score: int}`. To get the numeric score, use the `.score` attribute. For example, for a judge column named `quality` with a score named `correctness`, use `{{ quality.correctness.score }}`. Using `{{ quality.correctness }}` returns the full dict, not the numeric score.\n\n# Troubleshooting\n\n- `**nemo data-designer` CLI not found:** Tell the user that `nemo data-designer` is not installed in this environment (requires Python >= 3.11). Ask if they would like you to create a virtual environment and install it, or if they prefer to do it themselves. Do not install anything without the user's permission.\n- **Network errors during preview:** A sandbox environment may be blocking outbound requests. Ask the user for permission to retry the command with the sandbox disabled. Only as a last resort, if retrying outside the sandbox also fails, tell the user to run the command themselves.\n\n# Output Template\n\nWrite a Python file to the current directory with a `load_config_builder()` function returning a `DataDesignerConfigBuilder`. Name the file descriptively (e.g., `customer_reviews.py`). Use PEP 723 inline metadata for dependencies.\n\n```python\n# \u002F\u002F\u002F script\n# dependencies = [\n#   \"data-designer\", # always required\n#   \"pydantic\", # only if this script imports from pydantic\n#   # add additional dependencies here\n# ]\n# \u002F\u002F\u002F\nimport data_designer.config as dd\nfrom pydantic import BaseModel, Field\n\n\n# Use Pydantic models when the output needs to conform to a specific schema\nclass MyStructuredOutput(BaseModel):\n    field_one: str = Field(description=\"...\")\n    field_two: int = Field(description=\"...\")\n\n\n# Use custom generators when built-in column types aren't enough\n@dd.custom_column_generator(\n    required_columns=[\"col_a\"],\n    side_effect_columns=[\"extra_col\"],\n)\ndef generator_function(row: dict) -> dict:\n    # add custom logic here that depends on \"col_a\" and update row in place\n    row[\"name_in_custom_column_config\"] = \"custom value\"\n    row[\"extra_col\"] = \"extra value\"\n    return row\n\n\ndef load_config_builder() -> dd.DataDesignerConfigBuilder:\n    config_builder = dd.DataDesignerConfigBuilder(\n        # Declaring model configs programmatically here is the portable path:\n        # it works for both local `run` and cluster `submit`, while the local\n        # YAML registry alternative only works for `run`. The provider below\n        # is a common default created during `nemo setup` — confirm it (or\n        # discover others) with `nemo inference providers list`. See\n        # references\u002Fnemo-platform-plugin-additions.md for the local-YAML alternative.\n        model_configs=[\n            dd.ModelConfig(\n                alias=\"text\",\n                model=\"...\",\n                provider=\"default\u002Fnvidia-build\",\n                inference_parameters=dd.ChatCompletionInferenceParams(),\n            ),\n        ],\n    )\n\n    # Seed dataset (only if the user explicitly mentions a seed dataset path)\n    # config_builder.with_seed_dataset(dd.LocalFileSeedSource(path=\"path\u002Fto\u002Fseed.parquet\"))\n\n    # config_builder.add_column(...)\n    # config_builder.add_processor(...)\n\n    return config_builder\n```\n\nOnly include Pydantic models, custom generators, seed datasets, and extra dependencies when the task requires them. Prefer including `model_configs` when the dataset uses LLM columns — declaring it in the script keeps the config portable between local `run` and cluster `submit`, while the local YAML registry alternative only works for `run`.\n",{"name":5,"license":15,"metadata":49,"description":7,"argument-hint":51},{"owner":50},"nemo-platform",[52],"describe the dataset you want to generate","claude\u002Finstall-gsd-build-foQdV","d86cd127f527124b5fd0fd0bc679a4d79b7d01d7",".agents\u002Fskills\u002Fnemo-data-designer-plugin","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":61,"prompt":71,"zipAvailable":72},[62,65,68],{"tool":63,"command":64},"npx","npx skills add pattanation\u002FNorvik --skill nemo-data-designer-plugin",{"tool":66,"command":67},"bunx","bunx skills add pattanation\u002FNorvik --skill nemo-data-designer-plugin",{"tool":69,"command":70},"pnpm","pnpm dlx skills add pattanation\u002FNorvik --skill nemo-data-designer-plugin","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Fnemo-data-designer-plugin\u002FSKILL.md",true,[74,80,84,88,92,96,100,106,110,116,120],{"path":75,"resourceType":76,"resourceTypeDesc":77,"sizeBytes":78,"sourceHtmlUrl":79},"BENCHMARK.md","REFERENCE","参考文档",3916,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Fnemo-data-designer-plugin\u002FBENCHMARK.md",{"path":81,"resourceType":76,"resourceTypeDesc":77,"sizeBytes":82,"sourceHtmlUrl":83},"evals\u002Fevals.json",1503,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Fnemo-data-designer-plugin\u002Fevals\u002Fevals.json",{"path":85,"resourceType":76,"resourceTypeDesc":77,"sizeBytes":86,"sourceHtmlUrl":87},"references\u002Fnemo-platform-plugin-additions.md",7814,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Fnemo-data-designer-plugin\u002Freferences\u002Fnemo-platform-plugin-additions.md",{"path":89,"resourceType":76,"resourceTypeDesc":77,"sizeBytes":90,"sourceHtmlUrl":91},"references\u002Fperson-sampling.md",2356,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Fnemo-data-designer-plugin\u002Freferences\u002Fperson-sampling.md",{"path":93,"resourceType":76,"resourceTypeDesc":77,"sizeBytes":94,"sourceHtmlUrl":95},"references\u002Fpreview-review.md",1875,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Fnemo-data-designer-plugin\u002Freferences\u002Fpreview-review.md",{"path":97,"resourceType":76,"resourceTypeDesc":77,"sizeBytes":98,"sourceHtmlUrl":99},"references\u002Fseed-datasets.md",1175,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Fnemo-data-designer-plugin\u002Freferences\u002Fseed-datasets.md",{"path":101,"resourceType":102,"resourceTypeDesc":103,"sizeBytes":104,"sourceHtmlUrl":105},"scripts\u002Fget_person_object_schema.py","SCRIPT","脚本",1764,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Fnemo-data-designer-plugin\u002Fscripts\u002Fget_person_object_schema.py",{"path":107,"resourceType":76,"resourceTypeDesc":77,"sizeBytes":108,"sourceHtmlUrl":109},"skill-card.md",3858,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Fnemo-data-designer-plugin\u002Fskill-card.md",{"path":111,"resourceType":112,"resourceTypeDesc":113,"sizeBytes":114,"sourceHtmlUrl":115},"skill.oms.sig","OTHER","其他",6309,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Fnemo-data-designer-plugin\u002Fskill.oms.sig",{"path":117,"resourceType":76,"resourceTypeDesc":77,"sizeBytes":118,"sourceHtmlUrl":119},"workflows\u002Fautopilot.md",3056,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Fnemo-data-designer-plugin\u002Fworkflows\u002Fautopilot.md",{"path":121,"resourceType":76,"resourceTypeDesc":77,"sizeBytes":122,"sourceHtmlUrl":123},"workflows\u002Finteractive.md",3733,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Fnemo-data-designer-plugin\u002Fworkflows\u002Finteractive.md",[125,159,184,207,229,244],{"skillNo":126,"name":127,"nameZh":6,"description":128,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":129,"sourceHtmlUrl":130,"categories":131,"keywords":140,"publishedAt":158},"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",[132,137],{"categoryNo":133,"categoryName":134,"taxonomyType":135,"taxonomyTypeDesc":136},"01JBSEEDCAT000000000000008","测试与质量","SCENARIO","使用场景",{"categoryNo":138,"categoryName":139,"taxonomyType":135,"taxonomyTypeDesc":136},"01JBSEEDCAT000000000000009","前端开发",[141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157],"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":160,"name":161,"nameZh":6,"description":162,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":163,"sourceHtmlUrl":164,"categories":165,"keywords":167,"publishedAt":158},"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",[166],{"categoryNo":138,"categoryName":139,"taxonomyType":135,"taxonomyTypeDesc":136},[168,169,170,154,171,172,173,144,174,175,147,176,39,177,178,179,180,181,182,183],"builder","artifacts builder","artifacts","web artifacts builder","single-file","css","Tailwind","ui components","single","file","components","react","multi","state","routing","state management",{"skillNo":185,"name":186,"nameZh":6,"description":187,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":188,"licenseFileUrl":189,"sourceHtmlUrl":190,"categories":191,"keywords":193,"publishedAt":158},"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",[192],{"categoryNo":138,"categoryName":139,"taxonomyType":135,"taxonomyTypeDesc":136},[194,195,196,197,198,199,200,201,38,202,203,204,205,206],"functions","vueuse","vueuse functions","project","nuxt","apply","github","concise","https","features","vue","js","composables",{"skillNo":208,"name":209,"nameZh":6,"description":210,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":188,"licenseFileUrl":211,"sourceHtmlUrl":212,"categories":213,"keywords":216,"publishedAt":158},"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",[214,215],{"categoryNo":133,"categoryName":134,"taxonomyType":135,"taxonomyTypeDesc":136},{"categoryNo":138,"categoryName":139,"taxonomyType":135,"taxonomyTypeDesc":136},[217,142,218,204,219,153,220,221,222,200,223,144,224,225,226,39,227,205,228],"vue testing best practices","testing best practices","best practices","test","testing patterns","component","vitest","mocking","e2e","utils","patterns","e2e testing",{"skillNo":230,"name":231,"nameZh":6,"description":232,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":188,"licenseFileUrl":233,"sourceHtmlUrl":234,"categories":235,"keywords":237,"publishedAt":158},"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",[236],{"categoryNo":138,"categoryName":139,"taxonomyType":135,"taxonomyTypeDesc":136},[238,204,239,219,240,222,241,200,227,242,243],"router","vue router best practices","route","guards","navigation","lifecycle",{"skillNo":245,"name":246,"nameZh":6,"description":247,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":188,"licenseFileUrl":248,"sourceHtmlUrl":249,"categories":250,"keywords":252,"publishedAt":158},"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",[251],{"categoryNo":138,"categoryName":139,"taxonomyType":135,"taxonomyTypeDesc":136},[253,204,219,254,197,255,256,257,238,258,259,260,261,262,263,144,264,39,265,266],"vue best practices","Composition","files","tasks","api","pinia","work","options","ssr","typescript","as","vite","load","standard"]