[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71Q01FSV77EY1TPHEYCGDM8":3,"skill-same:01M71Q01FSV77EY1TPHEYCGDM8":123},{"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":50,"commitSha":51,"skillDirectory":52,"forksCount":14,"repositoryHtmlUrl":53,"repositoryHomepageUrl":54,"ownerHtmlUrl":55,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":56,"install":57,"resources":70},"01M71Q01FSV77EY1TPHEYCGDM8","tao-train-mask-auto-label",null,"MAL (Mask Auto-Label) for weakly-supervised segmentation. Produces segmentation masks from minimal annotations (point or box annotations) using a ViT-MAE backbone. Use when training, evaluating, or running inference for a TAO MAL model. Trigger phrases include \"train MAL\", \"Mask Auto-Label\", \"weakly-supervised segmentation\", \"box-prompted segmentation\", \"minimal-annotation mask prediction\".","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\u002Ftao-train-mask-auto-label\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38],"auto","tao train mask auto label","tao","train","mask","for","NVIDIA","point","running","annotations","annotation","supervised","read","Bash","when","prediction","training","model","auto-label","segmentation","2026-11-10 13:02:02",false,"---\nname: tao-train-mask-auto-label\ndescription: MAL (Mask Auto-Label) for weakly-supervised segmentation. Produces segmentation masks from minimal annotations\n  (point or box annotations) using a ViT-MAE backbone. Use when training, evaluating, or running inference for a TAO MAL\n  model. Trigger phrases include \"train MAL\", \"Mask Auto-Label\", \"weakly-supervised segmentation\", \"box-prompted\n  segmentation\", \"minimal-annotation mask prediction\".\nlicense: Apache-2.0\ncompatibility: Requires docker + nvidia-container-toolkit.\nmetadata:\n  version: \"0.1.0\"\n  author: NVIDIA Corporation\nallowed-tools: Read Bash\ntags:\n- segmentation\n---\n\n# MAL\n\nMAL (Mask Auto-Label) for weakly-supervised segmentation. Produces segmentation masks from minimal annotations (e.g., point or box annotations). Uses ViT-MAE backbone.\n\nSet train.pretrained_model_path for ViT-MAE pretrained weights.\n\n## Dataclass Schemas\n\nGenerated TAO Core schemas are packaged in `schemas\u002F\u003Caction>.schema.json`, with `schemas\u002Fmanifest.json` listing available actions. Each generated schema also emits `references\u002Fspec_template_\u003Caction>.yaml` from the schema top-level `default` field. AutoML enablement is declared at the model layer in `references\u002Fskill_info.yaml` via `automl_enabled`. Runnable AutoML still requires `schemas\u002Ftrain.schema.json` and `references\u002Fspec_template_train.yaml` to exist and parse. Use the packaged train schema for `automl_default_parameters`, `automl_disabled_parameters`, defaults, min\u002Fmax bounds, enums, option weights, math conditions, dependencies, and popular parameters. Do not expect `~\u002Ftao-core` at runtime; maintainers regenerate schemas\u002Ftemplates before packaging the skill bank.\n\n## Train Action Policy\n\nThis model is AutoML-enabled at the model layer. Before handling any train-stage request, read `references\u002Fskill_info.yaml` and resolve the run override from either an explicit `automl_policy` value or the user's workflow request. Use `automl_policy: on` by default and only expose `on` \u002F `off` in new launch prompts. Treat phrases like \"turn off AutoML\", \"disable AutoML\", \"no HPO\", or \"plain training\" as `automl_policy: off` for this run only. When `automl_policy: on`, `automl_enabled: true`, and both `schemas\u002Ftrain.schema.json` and `references\u002Fspec_template_train.yaml` are packaged, route the train action through `tao-skill-bank:tao-run-automl` by default with this model's `skill_dir`. Preserve workflow\u002Fapplication overrides for datasets, specs, output directories, GPU\u002Fplatform settings, parent checkpoints, and `automl_policy`. Use direct model training only when `automl_policy: off` or the packaged train schema\u002Ftemplate is missing; in the missing-schema case, report that AutoML is enabled but not runnable for this model until schemas are generated.\n\nNon-train actions such as `evaluate`, `inference`, `export`, and deploy flows stay in this model skill. The per-run `automl_policy` override does not change model metadata.\n\n## Training Requirements\n\n- **Dataset type:** segmentation\n- **Formats:** default\n- **Monitoring metric:** mIoU\n\n### Per-Action Dataset Requirements\n\n| Action | Spec Key | Source | Files | List? |\n|---|---|---|---|---|\n| evaluate | dataset.val_img_dir | eval_dataset | images.tar.gz | No |\n| evaluate | dataset.val_ann_path | eval_dataset | annotations.json | No |\n| inference | inference.img_dir | inference_dataset | images.tar.gz | No |\n| inference | inference.ann_path | inference_dataset | annotations.json | No |\n| train | dataset.train_img_dir | train_datasets | images.tar.gz | No |\n| train | dataset.train_ann_path | train_datasets | annotations.json | No |\n| train | dataset.val_img_dir | eval_dataset | images.tar.gz | No |\n| train | dataset.val_ann_path | eval_dataset | annotations.json | No |\n\n### Typical Spec Overrides\n\nData source overrides are **mandatory for every action** — the agent MUST construct data source paths from the Per-Action Dataset Requirements table above and include them in `spec_overrides`.\nMAL expects COCO-style annotation JSON plus image paths that match the JSON\n`file_name` entries after the data source is prepared. Archive-only CSV\u002Fimage\ndatasets are not compatible unless they are converted to this format first.\n\n```python\nS3_TRAIN = \"s3:\u002F\u002Fbucket\u002Fdata\u002Ftrain\"\nS3_EVAL = \"s3:\u002F\u002Fbucket\u002Fdata\u002Feval\"\n```\n\n**train (mandatory data sources):**\n```python\n{\n    \"train.num_gpus\": 1,\n    \"train.gpu_ids\": [\n        0\n    ],\n    \"train.num_epochs\": 5,\n    \"train.checkpoint_interval\": 5,\n    \"train.validation_interval\": 5,\n    \"dataset.train_img_dir\": f\"{S3_TRAIN}\u002Fimages.tar.gz\",\n    \"dataset.train_ann_path\": f\"{S3_TRAIN}\u002Fannotations.json\",\n    \"dataset.val_img_dir\": f\"{S3_EVAL}\u002Fimages.tar.gz\",\n    \"dataset.val_ann_path\": f\"{S3_EVAL}\u002Fannotations.json\",\n}\n```\n\n**evaluate (mandatory data sources):**\n```python\n{\n    \"evaluate.checkpoint\": \"\u003Cselected train\u002FAutoML checkpoint>\",\n    \"dataset.val_img_dir\": f\"{S3_EVAL}\u002Fimages.tar.gz\",\n    \"dataset.val_ann_path\": f\"{S3_EVAL}\u002Fannotations.json\",\n}\n```\n\n**inference (mandatory data sources):**\n```python\n{\n    \"inference.checkpoint\": \"\u003Cselected train\u002FAutoML checkpoint>\",\n    \"inference.img_dir\": f\"{S3_EVAL}\u002Fimages.tar.gz\",\n    \"inference.ann_path\": f\"{S3_EVAL}\u002Fannotations.json\",\n}\n```\n\nFor checkpoint-dependent actions, use the model resolver declared in\n`references\u002Fskill_info.yaml`. Select the exact epoch\u002Fstep checkpoint requested\nby the user or the best checkpoint when a best-checkpoint action is requested.\nThe `mal_model_latest.pth` symlink is only appropriate when the user explicitly\nasks for the latest checkpoint.\n\n## Eval Dataset\n\nOptional. Val images and annotations configured alongside train paths.\n\n## Important Parameters\n\n- **model.arch**: ViT-MAE backbone variant. Default vit-mae-base\u002F16.\n  Avoid `vit-deit-tiny\u002F16`; the current runtime rejects tiny ViT variants.\n- **train.lr**: Learning rate. Default 1e-6 (very low — fine-tuning ViT).\n- **dataset.crop_size**: Training crop size. Default 512. Use this key, not\n  `model.crop_size`.\n- **train.warmup_epochs**: Warmup epochs before full learning rate.\n- **model.load_mask**: Whether to load pre-computed masks.\n\n## AutoML \u002F HPO Notes\n\nFor MAL AutoML launches, keep the default smoke search space narrow and pass\n`automl_hyperparameters=[\"train.lr\", \"train.wd\"]`. Use conservative Bayesian\nranges around the ViT-MAE fine-tuning defaults, for example\n`train.lr` from `1e-7` to `1e-5` and `train.wd` from `1e-5` to `1e-2`.\nThe packaged train schema marks these two parameters as the default AutoML\nparameters; pass them explicitly when using a runtime that still derives MAL\nsearch metadata from its bundled config module.\n\n## Multi-GPU \u002F Multi-Node\n\n**Launch method:** Lightning-managed (single `python` process, Lightning spawns workers).\n\n| Spec Key | Description | Default |\n|----------|-------------|---------|\n| `train.num_gpus` | Number of GPUs | 1 |\n| `train.gpu_ids` | GPU device indices | [0] |\n| `train.num_nodes` | Number of nodes | 1 |\n\n- Multi-GPU strategy: `ddp_find_unused_parameters_true`\n- No fsdp support\n- **LR auto-scaling:** `lr = lr * num_devices * batch_size` (learning rate is scaled automatically by device count and batch size)\n\n**Multi-node env vars** (set by orchestrator): `WORLD_SIZE`, `NODE_RANK`, `MASTER_ADDR`, `MASTER_PORT`, `NUM_GPU_PER_NODE`.\n\n## Hardware\n\nMinimum 1 GPU(s), recommended 2 GPU(s). 24GB+ (A100 recommended) VRAM per GPU. ViT-MAE backbone at crop_size=512 needs 24GB+ GPU memory.\n\n## Error Patterns\n\n**CUDA out of memory**: Reduce `dataset.crop_size` (512 -> 384 -> 256) or use a smaller ViT-MAE variant (base vs large).\n\n**Key `crop_size` not in `MALModelConfig`**: The crop-size override was placed\nunder `model.crop_size`. Move it to `dataset.crop_size`.\n\n## Spec Param \u002F Parent Model Inference\n\nModel-specific inference mappings belong in this MD file, not in `config.json`. Generated runners should read this section and apply the mappings with SDK helpers before `create_job()`. This mirrors the old microservices `infer_params.py` flow.\n\nInference mappings from TAO Core `mal.config.json`:\n\n| Action | Spec Field | Inference Function | Meaning |\n|---|---|---|---|\n| evaluate | `evaluate.checkpoint` | `parent_model` | model file inferred from the parent job results folder |\n| evaluate | `results_dir` | `output_dir` | current job results directory |\n| inference | `inference.checkpoint` | `parent_model` | model file inferred from the parent job results folder |\n| inference | `inference.label_dump_path` | `create_inference_result_file_mal` | MAL inference JSON path |\n| inference | `results_dir` | `output_dir` | current job results directory |\n| train | `train.pretrained_model_path` | `ptm_if_no_resume_model` | optional pretrained model when not resuming |\n| train | `train.resume_training_checkpoint_path` | `resume_model` | exact checkpoint for resume runs |\n| train | `results_dir` | `output_dir` | current job results directory |\n\nFor `parent_model` or `parent_model_folder`, pass the upstream train\u002Fexport\u002FAutoML child job id as `parent_job_id`. The SDK lists the parent result folder, filters checkpoint artifacts, and returns the selected model file or folder. Do not add these mappings back to `config.json` and do not patch generated runner scripts to guess checkpoint paths.\n","# MAL\n\nMAL (Mask Auto-Label) for weakly-supervised segmentation. Produces segmentation masks from minimal annotations (e.g., point or box annotations). Uses ViT-MAE backbone.\n\nSet train.pretrained_model_path for ViT-MAE pretrained weights.\n\n## Dataclass Schemas\n\nGenerated TAO Core schemas are packaged in `schemas\u002F\u003Caction>.schema.json`, with `schemas\u002Fmanifest.json` listing available actions. Each generated schema also emits `references\u002Fspec_template_\u003Caction>.yaml` from the schema top-level `default` field. AutoML enablement is declared at the model layer in `references\u002Fskill_info.yaml` via `automl_enabled`. Runnable AutoML still requires `schemas\u002Ftrain.schema.json` and `references\u002Fspec_template_train.yaml` to exist and parse. Use the packaged train schema for `automl_default_parameters`, `automl_disabled_parameters`, defaults, min\u002Fmax bounds, enums, option weights, math conditions, dependencies, and popular parameters. Do not expect `~\u002Ftao-core` at runtime; maintainers regenerate schemas\u002Ftemplates before packaging the skill bank.\n\n## Train Action Policy\n\nThis model is AutoML-enabled at the model layer. Before handling any train-stage request, read `references\u002Fskill_info.yaml` and resolve the run override from either an explicit `automl_policy` value or the user's workflow request. Use `automl_policy: on` by default and only expose `on` \u002F `off` in new launch prompts. Treat phrases like \"turn off AutoML\", \"disable AutoML\", \"no HPO\", or \"plain training\" as `automl_policy: off` for this run only. When `automl_policy: on`, `automl_enabled: true`, and both `schemas\u002Ftrain.schema.json` and `references\u002Fspec_template_train.yaml` are packaged, route the train action through `tao-skill-bank:tao-run-automl` by default with this model's `skill_dir`. Preserve workflow\u002Fapplication overrides for datasets, specs, output directories, GPU\u002Fplatform settings, parent checkpoints, and `automl_policy`. Use direct model training only when `automl_policy: off` or the packaged train schema\u002Ftemplate is missing; in the missing-schema case, report that AutoML is enabled but not runnable for this model until schemas are generated.\n\nNon-train actions such as `evaluate`, `inference`, `export`, and deploy flows stay in this model skill. The per-run `automl_policy` override does not change model metadata.\n\n## Training Requirements\n\n- **Dataset type:** segmentation\n- **Formats:** default\n- **Monitoring metric:** mIoU\n\n### Per-Action Dataset Requirements\n\n| Action | Spec Key | Source | Files | List? |\n|---|---|---|---|---|\n| evaluate | dataset.val_img_dir | eval_dataset | images.tar.gz | No |\n| evaluate | dataset.val_ann_path | eval_dataset | annotations.json | No |\n| inference | inference.img_dir | inference_dataset | images.tar.gz | No |\n| inference | inference.ann_path | inference_dataset | annotations.json | No |\n| train | dataset.train_img_dir | train_datasets | images.tar.gz | No |\n| train | dataset.train_ann_path | train_datasets | annotations.json | No |\n| train | dataset.val_img_dir | eval_dataset | images.tar.gz | No |\n| train | dataset.val_ann_path | eval_dataset | annotations.json | No |\n\n### Typical Spec Overrides\n\nData source overrides are **mandatory for every action** — the agent MUST construct data source paths from the Per-Action Dataset Requirements table above and include them in `spec_overrides`.\nMAL expects COCO-style annotation JSON plus image paths that match the JSON\n`file_name` entries after the data source is prepared. Archive-only CSV\u002Fimage\ndatasets are not compatible unless they are converted to this format first.\n\n```python\nS3_TRAIN = \"s3:\u002F\u002Fbucket\u002Fdata\u002Ftrain\"\nS3_EVAL = \"s3:\u002F\u002Fbucket\u002Fdata\u002Feval\"\n```\n\n**train (mandatory data sources):**\n```python\n{\n    \"train.num_gpus\": 1,\n    \"train.gpu_ids\": [\n        0\n    ],\n    \"train.num_epochs\": 5,\n    \"train.checkpoint_interval\": 5,\n    \"train.validation_interval\": 5,\n    \"dataset.train_img_dir\": f\"{S3_TRAIN}\u002Fimages.tar.gz\",\n    \"dataset.train_ann_path\": f\"{S3_TRAIN}\u002Fannotations.json\",\n    \"dataset.val_img_dir\": f\"{S3_EVAL}\u002Fimages.tar.gz\",\n    \"dataset.val_ann_path\": f\"{S3_EVAL}\u002Fannotations.json\",\n}\n```\n\n**evaluate (mandatory data sources):**\n```python\n{\n    \"evaluate.checkpoint\": \"\u003Cselected train\u002FAutoML checkpoint>\",\n    \"dataset.val_img_dir\": f\"{S3_EVAL}\u002Fimages.tar.gz\",\n    \"dataset.val_ann_path\": f\"{S3_EVAL}\u002Fannotations.json\",\n}\n```\n\n**inference (mandatory data sources):**\n```python\n{\n    \"inference.checkpoint\": \"\u003Cselected train\u002FAutoML checkpoint>\",\n    \"inference.img_dir\": f\"{S3_EVAL}\u002Fimages.tar.gz\",\n    \"inference.ann_path\": f\"{S3_EVAL}\u002Fannotations.json\",\n}\n```\n\nFor checkpoint-dependent actions, use the model resolver declared in\n`references\u002Fskill_info.yaml`. Select the exact epoch\u002Fstep checkpoint requested\nby the user or the best checkpoint when a best-checkpoint action is requested.\nThe `mal_model_latest.pth` symlink is only appropriate when the user explicitly\nasks for the latest checkpoint.\n\n## Eval Dataset\n\nOptional. Val images and annotations configured alongside train paths.\n\n## Important Parameters\n\n- **model.arch**: ViT-MAE backbone variant. Default vit-mae-base\u002F16.\n  Avoid `vit-deit-tiny\u002F16`; the current runtime rejects tiny ViT variants.\n- **train.lr**: Learning rate. Default 1e-6 (very low — fine-tuning ViT).\n- **dataset.crop_size**: Training crop size. Default 512. Use this key, not\n  `model.crop_size`.\n- **train.warmup_epochs**: Warmup epochs before full learning rate.\n- **model.load_mask**: Whether to load pre-computed masks.\n\n## AutoML \u002F HPO Notes\n\nFor MAL AutoML launches, keep the default smoke search space narrow and pass\n`automl_hyperparameters=[\"train.lr\", \"train.wd\"]`. Use conservative Bayesian\nranges around the ViT-MAE fine-tuning defaults, for example\n`train.lr` from `1e-7` to `1e-5` and `train.wd` from `1e-5` to `1e-2`.\nThe packaged train schema marks these two parameters as the default AutoML\nparameters; pass them explicitly when using a runtime that still derives MAL\nsearch metadata from its bundled config module.\n\n## Multi-GPU \u002F Multi-Node\n\n**Launch method:** Lightning-managed (single `python` process, Lightning spawns workers).\n\n| Spec Key | Description | Default |\n|----------|-------------|---------|\n| `train.num_gpus` | Number of GPUs | 1 |\n| `train.gpu_ids` | GPU device indices | [0] |\n| `train.num_nodes` | Number of nodes | 1 |\n\n- Multi-GPU strategy: `ddp_find_unused_parameters_true`\n- No fsdp support\n- **LR auto-scaling:** `lr = lr * num_devices * batch_size` (learning rate is scaled automatically by device count and batch size)\n\n**Multi-node env vars** (set by orchestrator): `WORLD_SIZE`, `NODE_RANK`, `MASTER_ADDR`, `MASTER_PORT`, `NUM_GPU_PER_NODE`.\n\n## Hardware\n\nMinimum 1 GPU(s), recommended 2 GPU(s). 24GB+ (A100 recommended) VRAM per GPU. ViT-MAE backbone at crop_size=512 needs 24GB+ GPU memory.\n\n## Error Patterns\n\n**CUDA out of memory**: Reduce `dataset.crop_size` (512 -> 384 -> 256) or use a smaller ViT-MAE variant (base vs large).\n\n**Key `crop_size` not in `MALModelConfig`**: The crop-size override was placed\nunder `model.crop_size`. Move it to `dataset.crop_size`.\n\n## Spec Param \u002F Parent Model Inference\n\nModel-specific inference mappings belong in this MD file, not in `config.json`. Generated runners should read this section and apply the mappings with SDK helpers before `create_job()`. This mirrors the old microservices `infer_params.py` flow.\n\nInference mappings from TAO Core `mal.config.json`:\n\n| Action | Spec Field | Inference Function | Meaning |\n|---|---|---|---|\n| evaluate | `evaluate.checkpoint` | `parent_model` | model file inferred from the parent job results folder |\n| evaluate | `results_dir` | `output_dir` | current job results directory |\n| inference | `inference.checkpoint` | `parent_model` | model file inferred from the parent job results folder |\n| inference | `inference.label_dump_path` | `create_inference_result_file_mal` | MAL inference JSON path |\n| inference | `results_dir` | `output_dir` | current job results directory |\n| train | `train.pretrained_model_path` | `ptm_if_no_resume_model` | optional pretrained model when not resuming |\n| train | `train.resume_training_checkpoint_path` | `resume_model` | exact checkpoint for resume runs |\n| train | `results_dir` | `output_dir` | current job results directory |\n\nFor `parent_model` or `parent_model_folder`, pass the upstream train\u002Fexport\u002FAutoML child job id as `parent_job_id`. The SDK lists the parent result folder, filters checkpoint artifacts, and returns the selected model file or folder. Do not add these mappings back to `config.json` and do not patch generated runner scripts to guess checkpoint paths.\n",{"name":5,"tags":44,"license":15,"metadata":45,"description":7,"allowed-tools":48,"compatibility":49},[38],{"author":46,"version":47},"NVIDIA Corporation","0.1.0","Read Bash","Requires docker + nvidia-container-toolkit.","claude\u002Finstall-gsd-build-foQdV","d86cd127f527124b5fd0fd0bc679a4d79b7d01d7",".agents\u002Fskills\u002Ftao-train-mask-auto-label","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":58,"prompt":68,"zipAvailable":69},[59,62,65],{"tool":60,"command":61},"npx","npx skills add pattanation\u002FNorvik --skill tao-train-mask-auto-label",{"tool":63,"command":64},"bunx","bunx skills add pattanation\u002FNorvik --skill tao-train-mask-auto-label",{"tool":66,"command":67},"pnpm","pnpm dlx skills add pattanation\u002FNorvik --skill tao-train-mask-auto-label","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Ftao-train-mask-auto-label\u002FSKILL.md",true,[71,77,81,85,89,93,97,101,105,109,113,117],{"path":72,"resourceType":73,"resourceTypeDesc":74,"sizeBytes":75,"sourceHtmlUrl":76},"BENCHMARK.md","REFERENCE","参考文档",4108,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Ftao-train-mask-auto-label\u002FBENCHMARK.md",{"path":78,"resourceType":73,"resourceTypeDesc":74,"sizeBytes":79,"sourceHtmlUrl":80},"evals\u002Fevals.json",821,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Ftao-train-mask-auto-label\u002Fevals\u002Fevals.json",{"path":82,"resourceType":73,"resourceTypeDesc":74,"sizeBytes":83,"sourceHtmlUrl":84},"references\u002Fskill_info.yaml",3451,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Ftao-train-mask-auto-label\u002Freferences\u002Fskill_info.yaml",{"path":86,"resourceType":73,"resourceTypeDesc":74,"sizeBytes":87,"sourceHtmlUrl":88},"references\u002Fspec_template_evaluate.yaml",1807,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Ftao-train-mask-auto-label\u002Freferences\u002Fspec_template_evaluate.yaml",{"path":90,"resourceType":73,"resourceTypeDesc":74,"sizeBytes":91,"sourceHtmlUrl":92},"references\u002Fspec_template_inference.yaml",1798,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Ftao-train-mask-auto-label\u002Freferences\u002Fspec_template_inference.yaml",{"path":94,"resourceType":73,"resourceTypeDesc":74,"sizeBytes":95,"sourceHtmlUrl":96},"references\u002Fspec_template_train.yaml",1578,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Ftao-train-mask-auto-label\u002Freferences\u002Fspec_template_train.yaml",{"path":98,"resourceType":73,"resourceTypeDesc":74,"sizeBytes":99,"sourceHtmlUrl":100},"schemas\u002Fevaluate.schema.json",20642,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Ftao-train-mask-auto-label\u002Fschemas\u002Fevaluate.schema.json",{"path":102,"resourceType":73,"resourceTypeDesc":74,"sizeBytes":103,"sourceHtmlUrl":104},"schemas\u002Finference.schema.json",20625,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Ftao-train-mask-auto-label\u002Fschemas\u002Finference.schema.json",{"path":106,"resourceType":73,"resourceTypeDesc":74,"sizeBytes":107,"sourceHtmlUrl":108},"schemas\u002Fmanifest.json",3758,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Ftao-train-mask-auto-label\u002Fschemas\u002Fmanifest.json",{"path":110,"resourceType":73,"resourceTypeDesc":74,"sizeBytes":111,"sourceHtmlUrl":112},"schemas\u002Ftrain.schema.json",17704,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Ftao-train-mask-auto-label\u002Fschemas\u002Ftrain.schema.json",{"path":114,"resourceType":73,"resourceTypeDesc":74,"sizeBytes":115,"sourceHtmlUrl":116},"skill-card.md",3933,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Ftao-train-mask-auto-label\u002Fskill-card.md",{"path":118,"resourceType":119,"resourceTypeDesc":120,"sizeBytes":121,"sourceHtmlUrl":122},"skill.oms.sig","OTHER","其他",6553,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Ftao-train-mask-auto-label\u002Fskill.oms.sig",[124,156,182,206,228,243],{"skillNo":125,"name":126,"nameZh":6,"description":127,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":128,"sourceHtmlUrl":129,"categories":130,"keywords":139,"publishedAt":39},"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",[131,136],{"categoryNo":132,"categoryName":133,"taxonomyType":134,"taxonomyTypeDesc":135},"01JBSEEDCAT000000000000008","测试与质量","SCENARIO","使用场景",{"categoryNo":137,"categoryName":138,"taxonomyType":134,"taxonomyTypeDesc":135},"01JBSEEDCAT000000000000009","前端开发",[140,141,142,24,143,144,145,146,147,148,149,150,151,152,153,154,155],"webapp","testing","webapp testing","applications","local","frontend","debugging","toolkit","logs","browser","with","playwright","web","behavior","ui","screenshots",{"skillNo":157,"name":158,"nameZh":6,"description":159,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":160,"sourceHtmlUrl":161,"categories":162,"keywords":164,"publishedAt":39},"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",[163],{"categoryNo":137,"categoryName":138,"taxonomyType":134,"taxonomyTypeDesc":135},[165,166,167,152,168,169,170,24,171,172,145,173,174,175,176,177,178,179,180,181],"builder","artifacts builder","artifacts","web artifacts builder","single-file","css","Tailwind","ui components","single","use","file","components","react","multi","state","routing","state management",{"skillNo":183,"name":184,"nameZh":6,"description":185,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":186,"licenseFileUrl":187,"sourceHtmlUrl":188,"categories":189,"keywords":191,"publishedAt":39},"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",[190],{"categoryNo":137,"categoryName":138,"taxonomyType":134,"taxonomyTypeDesc":135},[192,193,194,195,196,197,198,199,200,201,202,203,204,205],"functions","vueuse","vueuse functions","project","nuxt","apply","github","concise","build","https","features","vue","js","composables",{"skillNo":207,"name":208,"nameZh":6,"description":209,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":186,"licenseFileUrl":210,"sourceHtmlUrl":211,"categories":212,"keywords":215,"publishedAt":39},"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",[213,214],{"categoryNo":132,"categoryName":133,"taxonomyType":134,"taxonomyTypeDesc":135},{"categoryNo":137,"categoryName":138,"taxonomyType":134,"taxonomyTypeDesc":135},[216,141,217,203,218,151,219,220,221,198,222,24,223,224,225,174,226,204,227],"vue testing best practices","testing best practices","best practices","test","testing patterns","component","vitest","mocking","e2e","utils","patterns","e2e testing",{"skillNo":229,"name":230,"nameZh":6,"description":231,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":186,"licenseFileUrl":232,"sourceHtmlUrl":233,"categories":234,"keywords":236,"publishedAt":39},"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",[235],{"categoryNo":137,"categoryName":138,"taxonomyType":134,"taxonomyTypeDesc":135},[237,203,238,218,239,221,240,198,226,241,242],"router","vue router best practices","route","guards","navigation","lifecycle",{"skillNo":244,"name":245,"nameZh":6,"description":246,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":186,"licenseFileUrl":247,"sourceHtmlUrl":248,"categories":249,"keywords":251,"publishedAt":39},"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",[250],{"categoryNo":137,"categoryName":138,"taxonomyType":134,"taxonomyTypeDesc":135},[252,203,218,253,195,254,255,256,237,257,258,259,260,261,262,24,263,174,264,265],"vue best practices","Composition","files","tasks","api","pinia","work","options","ssr","typescript","as","vite","load","standard"]