[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71PV945D2SSEESTMK6SNEA9":3,"skill-same:01M71PV945D2SSEESTMK6SNEA9":376},{"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":29,"publishedAt":50,"linkOnly":51,"markdownContent":52,"markdownBody":53,"frontMatter":54,"refName":66,"commitSha":67,"skillDirectory":68,"forksCount":14,"repositoryHtmlUrl":69,"repositoryHomepageUrl":70,"ownerHtmlUrl":71,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":72,"install":73,"resources":86},"01M71PV945D2SSEESTMK6SNEA9","tao-finetune-huggingface-model",null,"Fine-tune any HuggingFace CV \u002F VLM \u002F LLM model on local NVIDIA GPUs inside an NGC PyTorch container. Use when the user wants to fine-tune a HuggingFace model (full or LoRA), train a vision \u002F VLM \u002F LLM model end-to-end, generate a reproducible HF training pipeline, smoke-test a HuggingFace model locally before scale-up, push a fine-tuned model to the HF Hub with a model card, or emit a self-contained rerun skill for an existing HuggingFace finetune. Supports image classification, object detection, semantic \u002F instance \u002F panoptic segmentation, depth estimation, image-text-to-text VLM (SFT \u002F LoRA), and LLM SFT \u002F DPO \u002F GRPO. Six-step workflow: inspect and qualify, hardware and NGC image, research, generate and smoke, train + eval + infer, push and emit rerun skill.","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-finetune-huggingface-model\u002FSKILL.md",[18,23,26],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000016","图像与多媒体","SCENARIO","使用场景",{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000021","资料检索与研究",{"categoryNo":27,"categoryName":28,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发",[30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49],"tao finetune huggingface model","tao","HuggingFace","finetune","model","local","inspect","vram","qualify","card","free","project","image","free disk","eval","text","disk","segmentation","generate","training","2026-11-10 13:02:02",false,"---\nname: tao-finetune-huggingface-model\ndescription: >\n  Fine-tune any HuggingFace CV \u002F VLM \u002F LLM model on local NVIDIA GPUs inside an\n  NGC PyTorch container. Use when the user wants to fine-tune a HuggingFace\n  model (full or LoRA), train a vision \u002F VLM \u002F LLM model end-to-end, generate a\n  reproducible HF training pipeline, smoke-test a HuggingFace model locally\n  before scale-up, push a fine-tuned model to the HF Hub with a model card, or\n  emit a self-contained rerun skill for an existing HuggingFace finetune.\n  Supports image classification, object detection, semantic \u002F instance \u002F\n  panoptic segmentation, depth estimation, image-text-to-text VLM (SFT \u002F LoRA),\n  and LLM SFT \u002F DPO \u002F GRPO. Six-step workflow: inspect and qualify, hardware\n  and NGC image, research, generate and smoke, train + eval + infer, push and\n  emit rerun skill.\nlicense: Apache-2.0\ntags:\n  - finetuning\n  - huggingface\n  - nvidia-tao\n  - computer-vision\n  - training\ncompatibility: Requires docker + nvidia-container-toolkit, NVIDIA GPU (driver ≥ 545, ≥ 24 GB VRAM for ≤3B models), ~40 GB free disk. Optional credentials (read from the session environment, exported before launching) — HF_TOKEN is read only when the model\u002Fdataset is gated or `push_to_hub` is on; WANDB_API_KEY and WANDB_PROJECT only when WandB logging is enabled.\nmetadata:\n  author: NVIDIA Corporation\n  version: \"0.1.0\"\nallowed-tools: Read Bash Write\n---\n\u003C!-- Copyright (c) 2026, NVIDIA CORPORATION. All rights reserved. Licensed under the Apache License, Version 2.0; see http:\u002F\u002Fwww.apache.org\u002Flicenses\u002FLICENSE-2.0 -->\n\n# tao-finetune-huggingface-model\n\nLocal NVIDIA GPU fine-tuning for HuggingFace models, grounded in live-fetched\ndocumentation with curated references as a fallback safety net. One NGC container,\na few focused scripts, one push to HF Hub. Follow the rules in this file; don't\nimprovise.\n\n**Order of authority (highest first):**\n\n1. **User input** — explicit `model_id`, `dataset_id`, `training_method`, `config.yaml` overrides.\n2. **Live research** — model card, HF repo example, author finetune script, HF task docs, paper; always fetched (Step 3 + `references\u002Fresearch-priorities.md`).\n3. **Curated references** (`references\u002F*.md`) — fallback when live research is silent\u002Fambiguous.\n4. **Your training-data memory** — last resort; suspect, cross-check against (2)\u002F(3).\n\nConflict resolution between (2) and (3) and the source-line discrepancy note are\nin `references\u002Fresearch-priorities.md`.\n\n---\n\n## Inputs\n\n**Required:**\n- `model_id` — HuggingFace model ID, e.g. `google\u002Fvit-base-patch16-224`\n\n**Conditional credentials (read from the session environment, exported before launching when present):**\n- `HF_TOKEN` — only when the model\u002Fdataset is **gated** (read) or `push_to_hub` is on (write); public + public + `push_to_hub: false` needs none. Value never read — presence-only via `[ -n \"$HF_TOKEN\" ]`.\n- `WANDB_API_KEY`, `WANDB_PROJECT` — only when WandB is enabled; `WANDB_MODE=disabled` opts out.\n\n**Dataset — exactly one:**\n- `dataset_id` — HuggingFace dataset ID *(source: `hf`)*\n- `local_dataset_path` — local folder or file *(source: `local`)*; optional\n  `local_dataset_format` ∈ {auto, imagefolder, coco, voc, jsonl, arrow, parquet,\n  csv} (default: auto-detect).\n- *(omit)* — agent recommends popular datasets *(source: `recommend`)*\n\n**Optional (have defaults):**\n- `task_type` — auto-detected from config + model card\n- `n_train=10000`, `n_eval=1000`, `n_epochs=3`, `lora_r=16`\n- `output_dir=.\u002Foutput\u002F\u003Cmodel_short_name>`\n- `hf_model_repo` — push target; if unset and HF_TOKEN has write access,\n  auto-derived as `\u003Cwhoami>\u002F\u003Cmodel_short_name>-finetuned`.\n- `push_to_hub=True` — set to `False` to skip\n- `skip_baseline=False` — skip zero-shot baseline eval\n\n**Optional deliverables (off by default):**\n```yaml\nemit_progress_log: false   # output_dir\u002FPROGRESS.md (per-step journal)\nemit_report:       false   # reports\u002Freport.{pdf,html} with curves & samples\nemit_unit_tests:   false   # tests\u002F with fake-data heterogeneous-batch tests\n```\n\nAll values live in `output_dir\u002Fconfig.yaml`. Never hardcode in Python.\n\n---\n\n## Execution platform\n\nThis skill orchestrates *what* to run; the platform skills own *how* to run it on\na GPU host — read them first.\n\n| Concern | Authoritative skill |\n|---|---|\n| GPU host runtime (driver 580, CUDA Toolkit 13.0, NVIDIA Container Toolkit 1.19.0) | [`tao-skill-bank:tao-setup-nvidia-gpu-host`](..\u002F..\u002Fplatform\u002Ftao-setup-nvidia-gpu-host\u002FSKILL.md) |\n| `docker run` flags, NGC auth, mounts, env passthrough | [`tao-skill-bank:tao-run-on-docker`](..\u002F..\u002Fplatform\u002Ftao-run-on-docker\u002FSKILL.md) |\n| Local Docker job preflight (daemon, GPU smoke) | [`tao-skill-bank:tao-run-on-local-docker`](..\u002F..\u002Fplatform\u002Ftao-run-on-local-docker\u002FSKILL.md) |\n\n**Default platform:** `local-docker` — build a one-off image (`run-\u003Cshort>:latest`)\nand run it on the local Docker daemon. Ask only when the user explicitly needs a\ndifferent backend (Brev remote GPU, SLURM\u002FKubernetes); then run that platform's\nPreflight first and route the Steps 4–5 `docker run` commands through it. The\nGPU-runtime and presence-only credential preflights (values never read), the\ncanonical `docker run` flag set, the `list_tao_platforms.py` selection command, and\nthe workflow-specific flags (`--entrypoint \u002Fbin\u002Fbash -lc`, `PYTORCH_CUDA_ALLOC_CONF`,\n`--name hft_train`) are in `references\u002Fworkflow-intake-preflight.md`.\n\n---\n\n## References — fallback safety net\n\nConsulted **only** when live research is silent, ambiguous, or unavailable; live\ndocs always win for the specific model and current API. Each step links the\nreferences it needs; full catalog in `references\u002Fdetailed-workflow.md`.\n\nAlways-on: `core-rules.md`, `error-playbook.md`, `compat-workarounds.md`,\n`model-discovery.md`, `dataset-recommendations.md`, `dataset-sources.md`,\n`dataset-patterns.md`, `hardware-container.md`, `research-priorities.md`,\n`cv-scripts.md`, `vlm-scripts.md`, `docker-runs.md`, `hub-push.md`,\n`pipeline-skill-template.md`, `deliverables.md`. Opt-in (when their flag\u002Fneed\napplies): `progress-tracking.md`, `testing.md`, `reporting.md`,\n`workflow-intake-preflight.md`, `workflow-generate-train.md`, `workflow-push-rerun.md`.\n\n**Rule:** before falling back, log the live source you tried and why it was\ninsufficient (`config.yaml` `notes:`, and PROGRESS.md if enabled). `[FETCH LIVE]`\nmarkers in `cv-scripts.md` \u002F `vlm-scripts.md` are a research checklist, not code to\ninline — refetch the listed URL if a block has no Step 3 finding.\n\n---\n\n## Core rules\n\nNon-negotiable behaviors. **Short version** (full enumeration —\nhallucinated-imports list, never-without-approval list, full error-recovery and\nhardware-sizing tables — in `references\u002Fcore-rules.md`, consult before any\ntraining-time decision):\n\n- **Your HF-library knowledge is outdated.** Fetch live docs (model card, HF\n  repo example, task doc) before writing any ML code — don't generate trainer\n  args \u002F collator \u002F transforms from memory (Step 3).\n- **Smoke-test on real data with `--max_steps 1`** before any full run; no batch\n  launches without a verified smoke.\n- **Never silently substitute** model_id, dataset_id, or training_method — if\n  what the user asked for doesn't load, stop and ask.\n- **Error recovery is minimal-change.** OOM → halve batch, double grad_accum,\n  enable gradient checkpointing (no LoRA switch without approval); NaN → reduce\n  LR 10×; flat loss → inspect collator; same error 3× → stop and ask. Don't loop.\n- **Dataset columns verified BEFORE the collator** — rename in `prepare_data.py`;\n  restructuring needed → stop and ask.\n- **Hardware-sizing thumb (bf16):** ≤3B → 24 GB, 7–13B → 80 GB, 30B+ → multi-GPU\n  or LoRA on 1× 80 GB, 70B+ → 8× 80 GB or LoRA. Full finetune won't fit and no\n  LoRA requested → ask before switching.\n\n---\n\n## Workflow — 6 steps\n\nSingle pass, sequential; each step has a clear gate before the next begins.\n\n### Step 1 — Inspect & qualify\n\n**Goal:** decide whether to proceed. Probe model + dataset, apply accept\u002Freject,\nregister applicable compat fixes, write the initial `config.yaml`.\n\nPrerequisites: `MODEL_ID`, optional `DATASET_ID` \u002F `local_dataset_path`,\noptional `HF_TOKEN`, `OUTPUT_DIR` (default `.\u002Foutput\u002F\u003Cmodel_short_name>`). Probes\nrun in a CPU-only `python:3.12-slim` Docker container (bind-mounted `.probe\u002F`\nscratch) so the host needs no virtualenv — Docker must exist first. Docker-presence\nguard, container env, full probe invocation, and the model\u002Fdataset probe scripts\nare in `references\u002Fworkflow-intake-preflight.md`, `references\u002Fmodel-discovery.md`,\nand `references\u002Fdataset-sources.md`.\n\nProbe requirements:\n\n- Model: load `AutoConfig`, read model-card tags, detect task from\n  `architectures` + tags + card examples (fallback logging in `model-discovery.md`).\n- Dataset: for recommended datasets, first present 3-5 choices from\n  `dataset-recommendations.md`; for local data, bind-mount read-only and use\n  `dataset-sources.md` format detection.\n- Reject early if the model config fails, the task is out of scope, no recipe\n  source exists, or the dataset cannot load \u002F match the task schema.\n- Evaluate `compat-workarounds.md` against the model\u002Ftask; defer hardware-dependent\n  rules to Step 2.\n\nWrite the initial `config.yaml` (`model_id`, `task`, `dataset_id` or\n`local_dataset_path`, `research_sources: []` filled in Step 3,\n`applicable_workarounds:` from Step 1, `notes: []` for reference fallbacks,\n`push_to_hub: true` default — annotated template in\n`references\u002Fworkflow-intake-preflight.md`). Optionally `rm -rf \"$OUTPUT_DIR\u002F.probe\"`\nonce the gate is met.\n\n**Gate:** `config.yaml` exists with model, dataset, task, applicable_workarounds;\ndo not proceed if any field is missing.\n\n---\n\n### Step 2 — Hardware audit & NGC image\n\n**Goal:** verify Docker + GPU + disk, pick the NGC PyTorch image live, finalize\nhardware-dependent compat rules.\n\n**2a. Audit (hard gate)** — three checks (commands in\n`references\u002Fworkflow-intake-preflight.md`):\n1. GPU host runtime — `tao-setup-nvidia-gpu-host`'s\n   `setup-nvidia-gpu-host.sh --backend docker --check-only`; on fail, ask approval\n   then re-run with `--install --yes`.\n2. Free-disk soft-warn — override via `MIN_DISK_GB` (default 100 GB); recommend\n   ≥ 100 GB for NGC base (~20 GB) + HF cache + checkpoints + data.\n3. Conditional credential presence (from the session environment, values never\n   read) — `HF_TOKEN` only when gated or `push_to_hub` is on; `WANDB_*` only when\n   WandB is on.\n\n**Do not proceed to Step 4 on a hard-fail** — Step 4's `docker build` pulls a\n20+ GB NGC base, and a missing `nvidia-container-toolkit` only surfaces later as\n`could not select device driver \"\" with capabilities: [[gpu]]`. Record `gpu_count`,\n`gpu_name`, `driver_major`, `vram_gb_per_gpu` in `config.yaml`.\n\n**2b. Pick NGC image (live):** from the NVIDIA Deep Learning Frameworks support\nmatrix (\u003Chttps:\u002F\u002Fdocs.nvidia.com\u002Fdeeplearning\u002Fframeworks\u002Fsupport-matrix\u002Findex.html>),\nPyTorch NGC container section, pick the highest-versioned image where\n`Min driver ≤ detected driver_major` and container CUDA `≤` host CUDA Toolkit\n(match closely so cuDNN \u002F TensorRT line up). Do **not** reject an image for an\n`aN`\u002F`bN`\u002F`rcN` PyTorch tag — NGC validates the full image; pick the newest\nCUDA-aligned one and let `compat-workarounds.md` handle per-version issues. If the\nmatrix is unreachable, use the fallbacks in `references\u002Fhardware-container.md`;\ndefault `nvcr.io\u002Fnvidia\u002Fpytorch:24.09-py3` (driver ≥ 545; SDPA+GQA bug — if\n`num_key_value_heads \u003C num_attention_heads`, set `attn_implementation: \"eager\"`).\nRecord `ngc_image` in `config.yaml`.\n\n**2c. Re-evaluate hardware-dependent compat rules:** re-run the\n`compat-workarounds.md` walk for entries whose `detect` needs `hw`; update\n`applicable_workarounds:` in place.\n\n**2d. Model-fit check:** estimate `param_bytes ≈ 2×param_count` (bf16); if\n> 60% of `vram_gb_per_gpu × 1e9`, recommend LoRA in the user-facing summary.\n\n**Gate:** `config.yaml` has `ngc_image`, `gpu_count`, `gpu_name`, `driver_major`,\n`vram_gb_per_gpu`; hardware-dependent compat fixes recorded.\n\n---\n\n### Step 3 — Research the recipe\n\n**Goal:** fetch the live recipe — training-data knowledge of\n`transformers`\u002F`trl`\u002F`peft` is suspect, so Step 3 is non-negotiable. Walk\n`references\u002Fresearch-priorities.md` in priority order (Priority 1 → 6); stop once\nyou have, for the detected task:\n\n- `AutoModel` \u002F processor class\n- Train + eval transforms\n- Collator\n- `compute_metrics`\n- Hyperparameter hints (LR, batch size, epochs, scheduler)\n\nRecord findings in `meta\u002Frecipe.md`, append source URLs to\n`config.yaml: research_sources:`. A slot with no live finding falls back to the\nmatching scaffold (`cv-scripts.md` \u002F `vlm-scripts.md`), logged as \"fallback to\nscaffold — no live source for \u003Cslot>\" under `notes:`. Conflict-resolution rules\nare in `references\u002Fresearch-priorities.md`.\n\n**Gate:** every required slot filled, with a source URL or scaffold-fallback note.\n\n---\n\n### Step 4 — Generate project & smoke-test\n\n**Goal:** write all scripts, build the image, prepare data, run a 1-step smoke on\nreal data (one `docker build`, two `docker run`s).\n\n**4a. Generate project files** in `output_dir\u002F`: `config.yaml`, `Dockerfile`,\n`requirements.txt`, `prepare_data.py`, `train.py`, `run_eval.py`, `infer.py`,\noptional `merge_lora.py`, optional `tests\u002F`, `.gitignore`. Live Step 3 research is\nauthority; `cv-scripts.md` \u002F `vlm-scripts.md` give scaffold shape only. Apply every\n`applicable_workarounds` entry as a Dockerfile block, requirement pin, config\noverride, or runtime env var. Hard rules: `run_eval.py` keeps that exact filename\n(avoids colliding with the HF `evaluate` package); every generated `.py` starts\nwith the NVIDIA Apache-2.0 copyright header and any emitter fails when it is\nmissing; `emit_unit_tests: true` generates and runs tests per\n`references\u002Ftesting.md`. Script bodies, Dockerfile shape, and the emitter contract\nare in `references\u002Fworkflow-generate-train.md`.\n\n**4b. Build, prepare, smoke** — `docker build -t run-\u003Cshort>:latest .`, then\n`prepare_data` and the `--smoke --max_steps 1` run (`references\u002Fdocker-runs.md`\n§1-3). Smoke pass criteria (in `logs\u002Fsmoke.log`):\n- No exception\n- Loss is finite (not `0.0`, not `NaN`)\n- `grad_norm > 0` at step 1\n\nIf `emit_unit_tests: true`, also run `pytest tests\u002F` in the container. Any failure → STOP.\n\n**4c. Preflight summary** — before full training, print and verify: reference URL,\ndataset columns, Hub target, monitoring target, NGC image, hardware, smoke loss\u002Fgrad norm.\n\n**Gate:** project files written, image built, smoke PASSED, preflight has no\nblank fields.\n\n---\n\n### Step 5 — Train, evaluate, infer\n\n**Goal:** baseline eval, full training, post-train eval, optional LoRA merge, 5\ninference samples (all commands: `references\u002Fdocker-runs.md` §4-8).\n\n| Sub-step | docker-runs.md | Skip if |\n|---|---|---|\n| 5a. Baseline eval (zero-shot) | §4 | `skip_baseline: true` |\n| 5b. Full training (detached) | §5 | — |\n| 5c. LoRA merge | §6 | not VLM+LoRA |\n| 5d. Post-train eval | §7 | — |\n| 5e. Inference (5 samples) | §8 | — |\n\nMulti-GPU: prepend `torchrun --nproc_per_node=$gpu_count` to `python train.py`.\n\nWhile training streams, watch `docker logs -f hft_train`: loss should drop within\n10-20 steps; flat loss (collator\u002Flabel-masking bug), NaN (LR too high), and OOM\nall stop the run — recovery in `references\u002Fcore-rules.md`. If `emit_report: true`,\nrun `report.py` after Step 5e per `references\u002Freporting.md`.\n\n**Gate:** all of:\n- `checkpoints\u002Ffinal\u002F` (or `checkpoints\u002Fmerged\u002F` for LoRA) exists\n- `reports\u002Feval_results.json` has a numeric primary metric\n- `reports\u002Fbaseline_results.json` exists (unless skipped)\n- `reports\u002Finference_samples\u002F` has 5 samples\n- wandb URL shows descending loss\n\n---\n\n### Step 6 — Push & emit rerun skill\n\n**Goal:** publish the run and make it reproducible without re-research.\n\nPush per `references\u002Fhub-push.md` (weights, model card, eval\u002Fbaseline JSONs,\n`config.yaml`, `Dockerfile`, `requirements.txt`, inference samples, reports when\nemitted) unless `push_to_hub: false` is explicit. Emit\n`\u003Coutput_dir>\u002Fskills\u002Frun-\u003Cshort>\u002FSKILL.md` from\n`references\u002Fpipeline-skill-template.md` — substitute every placeholder, include\nfull YAML metadata + the NVIDIA copyright HTML comment, and make any emitter fail\nif those are missing.\n\n**Gate (Done criteria):** all of:\n- Step 5 gate met\n- HF Hub repo exists at the resolved URL with weights + card + `results\u002F`\n  (unless `push_to_hub: false`)\n- `\u003Coutput_dir>\u002Fskills\u002Frun-\u003Cshort>\u002FSKILL.md` exists, no `\u003Cplaceholder>` left,\n  with metadata + copyright HTML comment per `pipeline-skill-template.md`\n\nFinal message: wandb URL, HF Hub URL, baseline -> fine-tuned primary metric,\n`reports\u002Finference_samples\u002F`, and the rerun skill path.\n\n---\n\n## Error playbook\n\nOn a known runtime error, consult the symptom → minimal-fix table in\n`references\u002Ferror-playbook.md` (NGC entrypoint, PyTorch\u002FTransformers regressions,\nnumpy ABI, Albumentations bbox, PEFT\u002Fcheckpointing, LoRA target breadth, CV\naugmentation gaps, OOM at step 0) before redesigning anything. When a row there\nfires twice across runs, lift it into `compat-workarounds.md` with a `detect` rule\n— auto-applied in Step 1 before the error can fire.\n\n---\n\n## Communication style\n\n- Terse. No filler, no restating the request; one-word answers when appropriate.\n- Always include direct Hub and wandb URLs when referencing artifacts.\n- On error: state what went wrong, why, what you changed — no menus.\n- Never present \"Option A\u002FB\u002FC\" for a request with a clear answer. Act.\n\n## Example pipelines\n\n- [tao-rerun-convnext-cifar10](references\u002Ftao-rerun-convnext-cifar10.md)\n- [tao-rerun-detr-cppe5](references\u002Ftao-rerun-detr-cppe5.md)\n- [tao-rerun-segformer-foodseg103](references\u002Ftao-rerun-segformer-foodseg103.md)\n- [tao-rerun-smolvlm-vqav2](references\u002Ftao-rerun-smolvlm-vqav2.md)\n","\u003C!-- Copyright (c) 2026, NVIDIA CORPORATION. All rights reserved. Licensed under the Apache License, Version 2.0; see http:\u002F\u002Fwww.apache.org\u002Flicenses\u002FLICENSE-2.0 -->\n\n# tao-finetune-huggingface-model\n\nLocal NVIDIA GPU fine-tuning for HuggingFace models, grounded in live-fetched\ndocumentation with curated references as a fallback safety net. One NGC container,\na few focused scripts, one push to HF Hub. Follow the rules in this file; don't\nimprovise.\n\n**Order of authority (highest first):**\n\n1. **User input** — explicit `model_id`, `dataset_id`, `training_method`, `config.yaml` overrides.\n2. **Live research** — model card, HF repo example, author finetune script, HF task docs, paper; always fetched (Step 3 + `references\u002Fresearch-priorities.md`).\n3. **Curated references** (`references\u002F*.md`) — fallback when live research is silent\u002Fambiguous.\n4. **Your training-data memory** — last resort; suspect, cross-check against (2)\u002F(3).\n\nConflict resolution between (2) and (3) and the source-line discrepancy note are\nin `references\u002Fresearch-priorities.md`.\n\n---\n\n## Inputs\n\n**Required:**\n- `model_id` — HuggingFace model ID, e.g. `google\u002Fvit-base-patch16-224`\n\n**Conditional credentials (read from the session environment, exported before launching when present):**\n- `HF_TOKEN` — only when the model\u002Fdataset is **gated** (read) or `push_to_hub` is on (write); public + public + `push_to_hub: false` needs none. Value never read — presence-only via `[ -n \"$HF_TOKEN\" ]`.\n- `WANDB_API_KEY`, `WANDB_PROJECT` — only when WandB is enabled; `WANDB_MODE=disabled` opts out.\n\n**Dataset — exactly one:**\n- `dataset_id` — HuggingFace dataset ID *(source: `hf`)*\n- `local_dataset_path` — local folder or file *(source: `local`)*; optional\n  `local_dataset_format` ∈ {auto, imagefolder, coco, voc, jsonl, arrow, parquet,\n  csv} (default: auto-detect).\n- *(omit)* — agent recommends popular datasets *(source: `recommend`)*\n\n**Optional (have defaults):**\n- `task_type` — auto-detected from config + model card\n- `n_train=10000`, `n_eval=1000`, `n_epochs=3`, `lora_r=16`\n- `output_dir=.\u002Foutput\u002F\u003Cmodel_short_name>`\n- `hf_model_repo` — push target; if unset and HF_TOKEN has write access,\n  auto-derived as `\u003Cwhoami>\u002F\u003Cmodel_short_name>-finetuned`.\n- `push_to_hub=True` — set to `False` to skip\n- `skip_baseline=False` — skip zero-shot baseline eval\n\n**Optional deliverables (off by default):**\n```yaml\nemit_progress_log: false   # output_dir\u002FPROGRESS.md (per-step journal)\nemit_report:       false   # reports\u002Freport.{pdf,html} with curves & samples\nemit_unit_tests:   false   # tests\u002F with fake-data heterogeneous-batch tests\n```\n\nAll values live in `output_dir\u002Fconfig.yaml`. Never hardcode in Python.\n\n---\n\n## Execution platform\n\nThis skill orchestrates *what* to run; the platform skills own *how* to run it on\na GPU host — read them first.\n\n| Concern | Authoritative skill |\n|---|---|\n| GPU host runtime (driver 580, CUDA Toolkit 13.0, NVIDIA Container Toolkit 1.19.0) | [`tao-skill-bank:tao-setup-nvidia-gpu-host`](..\u002F..\u002Fplatform\u002Ftao-setup-nvidia-gpu-host\u002FSKILL.md) |\n| `docker run` flags, NGC auth, mounts, env passthrough | [`tao-skill-bank:tao-run-on-docker`](..\u002F..\u002Fplatform\u002Ftao-run-on-docker\u002FSKILL.md) |\n| Local Docker job preflight (daemon, GPU smoke) | [`tao-skill-bank:tao-run-on-local-docker`](..\u002F..\u002Fplatform\u002Ftao-run-on-local-docker\u002FSKILL.md) |\n\n**Default platform:** `local-docker` — build a one-off image (`run-\u003Cshort>:latest`)\nand run it on the local Docker daemon. Ask only when the user explicitly needs a\ndifferent backend (Brev remote GPU, SLURM\u002FKubernetes); then run that platform's\nPreflight first and route the Steps 4–5 `docker run` commands through it. The\nGPU-runtime and presence-only credential preflights (values never read), the\ncanonical `docker run` flag set, the `list_tao_platforms.py` selection command, and\nthe workflow-specific flags (`--entrypoint \u002Fbin\u002Fbash -lc`, `PYTORCH_CUDA_ALLOC_CONF`,\n`--name hft_train`) are in `references\u002Fworkflow-intake-preflight.md`.\n\n---\n\n## References — fallback safety net\n\nConsulted **only** when live research is silent, ambiguous, or unavailable; live\ndocs always win for the specific model and current API. Each step links the\nreferences it needs; full catalog in `references\u002Fdetailed-workflow.md`.\n\nAlways-on: `core-rules.md`, `error-playbook.md`, `compat-workarounds.md`,\n`model-discovery.md`, `dataset-recommendations.md`, `dataset-sources.md`,\n`dataset-patterns.md`, `hardware-container.md`, `research-priorities.md`,\n`cv-scripts.md`, `vlm-scripts.md`, `docker-runs.md`, `hub-push.md`,\n`pipeline-skill-template.md`, `deliverables.md`. Opt-in (when their flag\u002Fneed\napplies): `progress-tracking.md`, `testing.md`, `reporting.md`,\n`workflow-intake-preflight.md`, `workflow-generate-train.md`, `workflow-push-rerun.md`.\n\n**Rule:** before falling back, log the live source you tried and why it was\ninsufficient (`config.yaml` `notes:`, and PROGRESS.md if enabled). `[FETCH LIVE]`\nmarkers in `cv-scripts.md` \u002F `vlm-scripts.md` are a research checklist, not code to\ninline — refetch the listed URL if a block has no Step 3 finding.\n\n---\n\n## Core rules\n\nNon-negotiable behaviors. **Short version** (full enumeration —\nhallucinated-imports list, never-without-approval list, full error-recovery and\nhardware-sizing tables — in `references\u002Fcore-rules.md`, consult before any\ntraining-time decision):\n\n- **Your HF-library knowledge is outdated.** Fetch live docs (model card, HF\n  repo example, task doc) before writing any ML code — don't generate trainer\n  args \u002F collator \u002F transforms from memory (Step 3).\n- **Smoke-test on real data with `--max_steps 1`** before any full run; no batch\n  launches without a verified smoke.\n- **Never silently substitute** model_id, dataset_id, or training_method — if\n  what the user asked for doesn't load, stop and ask.\n- **Error recovery is minimal-change.** OOM → halve batch, double grad_accum,\n  enable gradient checkpointing (no LoRA switch without approval); NaN → reduce\n  LR 10×; flat loss → inspect collator; same error 3× → stop and ask. Don't loop.\n- **Dataset columns verified BEFORE the collator** — rename in `prepare_data.py`;\n  restructuring needed → stop and ask.\n- **Hardware-sizing thumb (bf16):** ≤3B → 24 GB, 7–13B → 80 GB, 30B+ → multi-GPU\n  or LoRA on 1× 80 GB, 70B+ → 8× 80 GB or LoRA. Full finetune won't fit and no\n  LoRA requested → ask before switching.\n\n---\n\n## Workflow — 6 steps\n\nSingle pass, sequential; each step has a clear gate before the next begins.\n\n### Step 1 — Inspect & qualify\n\n**Goal:** decide whether to proceed. Probe model + dataset, apply accept\u002Freject,\nregister applicable compat fixes, write the initial `config.yaml`.\n\nPrerequisites: `MODEL_ID`, optional `DATASET_ID` \u002F `local_dataset_path`,\noptional `HF_TOKEN`, `OUTPUT_DIR` (default `.\u002Foutput\u002F\u003Cmodel_short_name>`). Probes\nrun in a CPU-only `python:3.12-slim` Docker container (bind-mounted `.probe\u002F`\nscratch) so the host needs no virtualenv — Docker must exist first. Docker-presence\nguard, container env, full probe invocation, and the model\u002Fdataset probe scripts\nare in `references\u002Fworkflow-intake-preflight.md`, `references\u002Fmodel-discovery.md`,\nand `references\u002Fdataset-sources.md`.\n\nProbe requirements:\n\n- Model: load `AutoConfig`, read model-card tags, detect task from\n  `architectures` + tags + card examples (fallback logging in `model-discovery.md`).\n- Dataset: for recommended datasets, first present 3-5 choices from\n  `dataset-recommendations.md`; for local data, bind-mount read-only and use\n  `dataset-sources.md` format detection.\n- Reject early if the model config fails, the task is out of scope, no recipe\n  source exists, or the dataset cannot load \u002F match the task schema.\n- Evaluate `compat-workarounds.md` against the model\u002Ftask; defer hardware-dependent\n  rules to Step 2.\n\nWrite the initial `config.yaml` (`model_id`, `task`, `dataset_id` or\n`local_dataset_path`, `research_sources: []` filled in Step 3,\n`applicable_workarounds:` from Step 1, `notes: []` for reference fallbacks,\n`push_to_hub: true` default — annotated template in\n`references\u002Fworkflow-intake-preflight.md`). Optionally `rm -rf \"$OUTPUT_DIR\u002F.probe\"`\nonce the gate is met.\n\n**Gate:** `config.yaml` exists with model, dataset, task, applicable_workarounds;\ndo not proceed if any field is missing.\n\n---\n\n### Step 2 — Hardware audit & NGC image\n\n**Goal:** verify Docker + GPU + disk, pick the NGC PyTorch image live, finalize\nhardware-dependent compat rules.\n\n**2a. Audit (hard gate)** — three checks (commands in\n`references\u002Fworkflow-intake-preflight.md`):\n1. GPU host runtime — `tao-setup-nvidia-gpu-host`'s\n   `setup-nvidia-gpu-host.sh --backend docker --check-only`; on fail, ask approval\n   then re-run with `--install --yes`.\n2. Free-disk soft-warn — override via `MIN_DISK_GB` (default 100 GB); recommend\n   ≥ 100 GB for NGC base (~20 GB) + HF cache + checkpoints + data.\n3. Conditional credential presence (from the session environment, values never\n   read) — `HF_TOKEN` only when gated or `push_to_hub` is on; `WANDB_*` only when\n   WandB is on.\n\n**Do not proceed to Step 4 on a hard-fail** — Step 4's `docker build` pulls a\n20+ GB NGC base, and a missing `nvidia-container-toolkit` only surfaces later as\n`could not select device driver \"\" with capabilities: [[gpu]]`. Record `gpu_count`,\n`gpu_name`, `driver_major`, `vram_gb_per_gpu` in `config.yaml`.\n\n**2b. Pick NGC image (live):** from the NVIDIA Deep Learning Frameworks support\nmatrix (\u003Chttps:\u002F\u002Fdocs.nvidia.com\u002Fdeeplearning\u002Fframeworks\u002Fsupport-matrix\u002Findex.html>),\nPyTorch NGC container section, pick the highest-versioned image where\n`Min driver ≤ detected driver_major` and container CUDA `≤` host CUDA Toolkit\n(match closely so cuDNN \u002F TensorRT line up). Do **not** reject an image for an\n`aN`\u002F`bN`\u002F`rcN` PyTorch tag — NGC validates the full image; pick the newest\nCUDA-aligned one and let `compat-workarounds.md` handle per-version issues. If the\nmatrix is unreachable, use the fallbacks in `references\u002Fhardware-container.md`;\ndefault `nvcr.io\u002Fnvidia\u002Fpytorch:24.09-py3` (driver ≥ 545; SDPA+GQA bug — if\n`num_key_value_heads \u003C num_attention_heads`, set `attn_implementation: \"eager\"`).\nRecord `ngc_image` in `config.yaml`.\n\n**2c. Re-evaluate hardware-dependent compat rules:** re-run the\n`compat-workarounds.md` walk for entries whose `detect` needs `hw`; update\n`applicable_workarounds:` in place.\n\n**2d. Model-fit check:** estimate `param_bytes ≈ 2×param_count` (bf16); if\n> 60% of `vram_gb_per_gpu × 1e9`, recommend LoRA in the user-facing summary.\n\n**Gate:** `config.yaml` has `ngc_image`, `gpu_count`, `gpu_name`, `driver_major`,\n`vram_gb_per_gpu`; hardware-dependent compat fixes recorded.\n\n---\n\n### Step 3 — Research the recipe\n\n**Goal:** fetch the live recipe — training-data knowledge of\n`transformers`\u002F`trl`\u002F`peft` is suspect, so Step 3 is non-negotiable. Walk\n`references\u002Fresearch-priorities.md` in priority order (Priority 1 → 6); stop once\nyou have, for the detected task:\n\n- `AutoModel` \u002F processor class\n- Train + eval transforms\n- Collator\n- `compute_metrics`\n- Hyperparameter hints (LR, batch size, epochs, scheduler)\n\nRecord findings in `meta\u002Frecipe.md`, append source URLs to\n`config.yaml: research_sources:`. A slot with no live finding falls back to the\nmatching scaffold (`cv-scripts.md` \u002F `vlm-scripts.md`), logged as \"fallback to\nscaffold — no live source for \u003Cslot>\" under `notes:`. Conflict-resolution rules\nare in `references\u002Fresearch-priorities.md`.\n\n**Gate:** every required slot filled, with a source URL or scaffold-fallback note.\n\n---\n\n### Step 4 — Generate project & smoke-test\n\n**Goal:** write all scripts, build the image, prepare data, run a 1-step smoke on\nreal data (one `docker build`, two `docker run`s).\n\n**4a. Generate project files** in `output_dir\u002F`: `config.yaml`, `Dockerfile`,\n`requirements.txt`, `prepare_data.py`, `train.py`, `run_eval.py`, `infer.py`,\noptional `merge_lora.py`, optional `tests\u002F`, `.gitignore`. Live Step 3 research is\nauthority; `cv-scripts.md` \u002F `vlm-scripts.md` give scaffold shape only. Apply every\n`applicable_workarounds` entry as a Dockerfile block, requirement pin, config\noverride, or runtime env var. Hard rules: `run_eval.py` keeps that exact filename\n(avoids colliding with the HF `evaluate` package); every generated `.py` starts\nwith the NVIDIA Apache-2.0 copyright header and any emitter fails when it is\nmissing; `emit_unit_tests: true` generates and runs tests per\n`references\u002Ftesting.md`. Script bodies, Dockerfile shape, and the emitter contract\nare in `references\u002Fworkflow-generate-train.md`.\n\n**4b. Build, prepare, smoke** — `docker build -t run-\u003Cshort>:latest .`, then\n`prepare_data` and the `--smoke --max_steps 1` run (`references\u002Fdocker-runs.md`\n§1-3). Smoke pass criteria (in `logs\u002Fsmoke.log`):\n- No exception\n- Loss is finite (not `0.0`, not `NaN`)\n- `grad_norm > 0` at step 1\n\nIf `emit_unit_tests: true`, also run `pytest tests\u002F` in the container. Any failure → STOP.\n\n**4c. Preflight summary** — before full training, print and verify: reference URL,\ndataset columns, Hub target, monitoring target, NGC image, hardware, smoke loss\u002Fgrad norm.\n\n**Gate:** project files written, image built, smoke PASSED, preflight has no\nblank fields.\n\n---\n\n### Step 5 — Train, evaluate, infer\n\n**Goal:** baseline eval, full training, post-train eval, optional LoRA merge, 5\ninference samples (all commands: `references\u002Fdocker-runs.md` §4-8).\n\n| Sub-step | docker-runs.md | Skip if |\n|---|---|---|\n| 5a. Baseline eval (zero-shot) | §4 | `skip_baseline: true` |\n| 5b. Full training (detached) | §5 | — |\n| 5c. LoRA merge | §6 | not VLM+LoRA |\n| 5d. Post-train eval | §7 | — |\n| 5e. Inference (5 samples) | §8 | — |\n\nMulti-GPU: prepend `torchrun --nproc_per_node=$gpu_count` to `python train.py`.\n\nWhile training streams, watch `docker logs -f hft_train`: loss should drop within\n10-20 steps; flat loss (collator\u002Flabel-masking bug), NaN (LR too high), and OOM\nall stop the run — recovery in `references\u002Fcore-rules.md`. If `emit_report: true`,\nrun `report.py` after Step 5e per `references\u002Freporting.md`.\n\n**Gate:** all of:\n- `checkpoints\u002Ffinal\u002F` (or `checkpoints\u002Fmerged\u002F` for LoRA) exists\n- `reports\u002Feval_results.json` has a numeric primary metric\n- `reports\u002Fbaseline_results.json` exists (unless skipped)\n- `reports\u002Finference_samples\u002F` has 5 samples\n- wandb URL shows descending loss\n\n---\n\n### Step 6 — Push & emit rerun skill\n\n**Goal:** publish the run and make it reproducible without re-research.\n\nPush per `references\u002Fhub-push.md` (weights, model card, eval\u002Fbaseline JSONs,\n`config.yaml`, `Dockerfile`, `requirements.txt`, inference samples, reports when\nemitted) unless `push_to_hub: false` is explicit. Emit\n`\u003Coutput_dir>\u002Fskills\u002Frun-\u003Cshort>\u002FSKILL.md` from\n`references\u002Fpipeline-skill-template.md` — substitute every placeholder, include\nfull YAML metadata + the NVIDIA copyright HTML comment, and make any emitter fail\nif those are missing.\n\n**Gate (Done criteria):** all of:\n- Step 5 gate met\n- HF Hub repo exists at the resolved URL with weights + card + `results\u002F`\n  (unless `push_to_hub: false`)\n- `\u003Coutput_dir>\u002Fskills\u002Frun-\u003Cshort>\u002FSKILL.md` exists, no `\u003Cplaceholder>` left,\n  with metadata + copyright HTML comment per `pipeline-skill-template.md`\n\nFinal message: wandb URL, HF Hub URL, baseline -> fine-tuned primary metric,\n`reports\u002Finference_samples\u002F`, and the rerun skill path.\n\n---\n\n## Error playbook\n\nOn a known runtime error, consult the symptom → minimal-fix table in\n`references\u002Ferror-playbook.md` (NGC entrypoint, PyTorch\u002FTransformers regressions,\nnumpy ABI, Albumentations bbox, PEFT\u002Fcheckpointing, LoRA target breadth, CV\naugmentation gaps, OOM at step 0) before redesigning anything. When a row there\nfires twice across runs, lift it into `compat-workarounds.md` with a `detect` rule\n— auto-applied in Step 1 before the error can fire.\n\n---\n\n## Communication style\n\n- Terse. No filler, no restating the request; one-word answers when appropriate.\n- Always include direct Hub and wandb URLs when referencing artifacts.\n- On error: state what went wrong, why, what you changed — no menus.\n- Never present \"Option A\u002FB\u002FC\" for a request with a clear answer. Act.\n\n## Example pipelines\n\n- [tao-rerun-convnext-cifar10](references\u002Ftao-rerun-convnext-cifar10.md)\n- [tao-rerun-detr-cppe5](references\u002Ftao-rerun-detr-cppe5.md)\n- [tao-rerun-segformer-foodseg103](references\u002Ftao-rerun-segformer-foodseg103.md)\n- [tao-rerun-smolvlm-vqav2](references\u002Ftao-rerun-smolvlm-vqav2.md)\n",{"name":5,"tags":55,"license":15,"metadata":60,"description":63,"allowed-tools":64,"compatibility":65},[56,57,58,59,49],"finetuning","huggingface","nvidia-tao","computer-vision",{"author":61,"version":62},"NVIDIA Corporation","0.1.0","Fine-tune any HuggingFace CV \u002F VLM \u002F LLM model on local NVIDIA GPUs inside an NGC PyTorch container. Use when the user wants to fine-tune a HuggingFace model (full or LoRA), train a vision \u002F VLM \u002F LLM model end-to-end, generate a reproducible HF training pipeline, smoke-test a HuggingFace model locally before scale-up, push a fine-tuned model to the HF Hub with a model card, or emit a self-contained rerun skill for an existing HuggingFace finetune. Supports image classification, object detection, semantic \u002F instance \u002F panoptic segmentation, depth estimation, image-text-to-text VLM (SFT \u002F LoRA), and LLM SFT \u002F DPO \u002F GRPO. Six-step workflow: inspect and qualify, hardware and NGC image, research, generate and smoke, train + eval + infer, push and emit rerun skill.\n","Read Bash Write","Requires docker + nvidia-container-toolkit, NVIDIA GPU (driver ≥ 545, ≥ 24 GB VRAM for ≤3B models), ~40 GB free disk. Optional credentials (read from the session environment, exported before launching) — HF_TOKEN is read only when the model\u002Fdataset is gated or `push_to_hub` is on; WANDB_API_KEY and WANDB_PROJECT only when WandB logging is enabled.","claude\u002Finstall-gsd-build-foQdV","d86cd127f527124b5fd0fd0bc679a4d79b7d01d7",".agents\u002Fskills\u002Ftao-finetune-huggingface-model","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":74,"prompt":84,"zipAvailable":85},[75,78,81],{"tool":76,"command":77},"npx","npx skills add pattanation\u002FNorvik --skill tao-finetune-huggingface-model",{"tool":79,"command":80},"bunx","bunx skills add pattanation\u002FNorvik --skill tao-finetune-huggingface-model",{"tool":82,"command":83},"pnpm","pnpm dlx skills add pattanation\u002FNorvik --skill tao-finetune-huggingface-model","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Ftao-finetune-huggingface-model\u002FSKILL.md",true,[87,93,97,103,107,111,117,121,125,129,133,137,141,144,148,151,155,159,163,167,171,175,179,183,186,190,194,198,202,206,210,214,218,222,225,229,232,236,240,244,248,252,256,260,264,268,272,276,280,284,288,292,296,300,304,308,312,316,320,324,328,332,336,340,344,348,352,356,360,364,368,372],{"path":88,"resourceType":89,"resourceTypeDesc":90,"sizeBytes":91,"sourceHtmlUrl":92},"BENCHMARK.md","REFERENCE","参考文档",4182,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Ftao-finetune-huggingface-model\u002FBENCHMARK.md",{"path":94,"resourceType":89,"resourceTypeDesc":90,"sizeBytes":95,"sourceHtmlUrl":96},"evals\u002Fevals.json",829,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Ftao-finetune-huggingface-model\u002Fevals\u002Fevals.json",{"path":98,"resourceType":99,"resourceTypeDesc":100,"sizeBytes":101,"sourceHtmlUrl":102},"examples\u002Fconvnext-tiny-cifar10\u002F.gitignore","OTHER","其他",940,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Ftao-finetune-huggingface-model\u002Fexamples\u002Fconvnext-tiny-cifar10\u002F.gitignore",{"path":104,"resourceType":89,"resourceTypeDesc":90,"sizeBytes":105,"sourceHtmlUrl":106},"examples\u002Fconvnext-tiny-cifar10\u002Fconfig.yaml",2110,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Ftao-finetune-huggingface-model\u002Fexamples\u002Fconvnext-tiny-cifar10\u002Fconfig.yaml",{"path":108,"resourceType":99,"resourceTypeDesc":100,"sizeBytes":109,"sourceHtmlUrl":110},"examples\u002Fconvnext-tiny-cifar10\u002FDockerfile",837,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Ftao-finetune-huggingface-model\u002Fexamples\u002Fconvnext-tiny-cifar10\u002FDockerfile",{"path":112,"resourceType":113,"resourceTypeDesc":114,"sizeBytes":115,"sourceHtmlUrl":116},"examples\u002Fconvnext-tiny-cifar10\u002Finfer.py","SCRIPT","脚本",2521,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Ftao-finetune-huggingface-model\u002Fexamples\u002Fconvnext-tiny-cifar10\u002Finfer.py",{"path":118,"resourceType":113,"resourceTypeDesc":114,"sizeBytes":119,"sourceHtmlUrl":120},"examples\u002Fconvnext-tiny-cifar10\u002Fprepare_data.py",1441,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Ftao-finetune-huggingface-model\u002Fexamples\u002Fconvnext-tiny-cifar10\u002Fprepare_data.py",{"path":122,"resourceType":89,"resourceTypeDesc":90,"sizeBytes":123,"sourceHtmlUrl":124},"examples\u002Fconvnext-tiny-cifar10\u002Freports\u002Fbaseline_results.json",442,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Ftao-finetune-huggingface-model\u002Fexamples\u002Fconvnext-tiny-cifar10\u002Freports\u002Fbaseline_results.json",{"path":126,"resourceType":89,"resourceTypeDesc":90,"sizeBytes":127,"sourceHtmlUrl":128},"examples\u002Fconvnext-tiny-cifar10\u002Freports\u002Feval_results.json",422,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Ftao-finetune-huggingface-model\u002Fexamples\u002Fconvnext-tiny-cifar10\u002Freports\u002Feval_results.json",{"path":130,"resourceType":89,"resourceTypeDesc":90,"sizeBytes":131,"sourceHtmlUrl":132},"examples\u002Fconvnext-tiny-cifar10\u002Frequirements.txt",939,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Ftao-finetune-huggingface-model\u002Fexamples\u002Fconvnext-tiny-cifar10\u002Frequirements.txt",{"path":134,"resourceType":113,"resourceTypeDesc":114,"sizeBytes":135,"sourceHtmlUrl":136},"examples\u002Fconvnext-tiny-cifar10\u002Frun_eval.py",3087,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Ftao-finetune-huggingface-model\u002Fexamples\u002Fconvnext-tiny-cifar10\u002Frun_eval.py",{"path":138,"resourceType":113,"resourceTypeDesc":114,"sizeBytes":139,"sourceHtmlUrl":140},"examples\u002Fconvnext-tiny-cifar10\u002Ftrain.py",5611,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Ftao-finetune-huggingface-model\u002Fexamples\u002Fconvnext-tiny-cifar10\u002Ftrain.py",{"path":142,"resourceType":99,"resourceTypeDesc":100,"sizeBytes":101,"sourceHtmlUrl":143},"examples\u002Fdetr-resnet50-cppe5\u002F.gitignore","https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Ftao-finetune-huggingface-model\u002Fexamples\u002Fdetr-resnet50-cppe5\u002F.gitignore",{"path":145,"resourceType":89,"resourceTypeDesc":90,"sizeBytes":146,"sourceHtmlUrl":147},"examples\u002Fdetr-resnet50-cppe5\u002Fconfig.yaml",2098,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Ftao-finetune-huggingface-model\u002Fexamples\u002Fdetr-resnet50-cppe5\u002Fconfig.yaml",{"path":149,"resourceType":99,"resourceTypeDesc":100,"sizeBytes":109,"sourceHtmlUrl":150},"examples\u002Fdetr-resnet50-cppe5\u002FDockerfile","https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Ftao-finetune-huggingface-model\u002Fexamples\u002Fdetr-resnet50-cppe5\u002FDockerfile",{"path":152,"resourceType":113,"resourceTypeDesc":114,"sizeBytes":153,"sourceHtmlUrl":154},"examples\u002Fdetr-resnet50-cppe5\u002Finfer.py",3450,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Ftao-finetune-huggingface-model\u002Fexamples\u002Fdetr-resnet50-cppe5\u002Finfer.py",{"path":156,"resourceType":113,"resourceTypeDesc":114,"sizeBytes":157,"sourceHtmlUrl":158},"examples\u002Fdetr-resnet50-cppe5\u002Fprepare_data.py",1302,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Ftao-finetune-huggingface-model\u002Fexamples\u002Fdetr-resnet50-cppe5\u002Fprepare_data.py",{"path":160,"resourceType":89,"resourceTypeDesc":90,"sizeBytes":161,"sourceHtmlUrl":162},"examples\u002Fdetr-resnet50-cppe5\u002Freports\u002Fbaseline_results.json",513,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Ftao-finetune-huggingface-model\u002Fexamples\u002Fdetr-resnet50-cppe5\u002Freports\u002Fbaseline_results.json",{"path":164,"resourceType":89,"resourceTypeDesc":90,"sizeBytes":165,"sourceHtmlUrl":166},"examples\u002Fdetr-resnet50-cppe5\u002Freports\u002Feval_results.json",488,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Ftao-finetune-huggingface-model\u002Fexamples\u002Fdetr-resnet50-cppe5\u002Freports\u002Feval_results.json",{"path":168,"resourceType":89,"resourceTypeDesc":90,"sizeBytes":169,"sourceHtmlUrl":170},"examples\u002Fdetr-resnet50-cppe5\u002Frequirements.txt",963,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Ftao-finetune-huggingface-model\u002Fexamples\u002Fdetr-resnet50-cppe5\u002Frequirements.txt",{"path":172,"resourceType":113,"resourceTypeDesc":114,"sizeBytes":173,"sourceHtmlUrl":174},"examples\u002Fdetr-resnet50-cppe5\u002Frun_eval.py",3703,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Ftao-finetune-huggingface-model\u002Fexamples\u002Fdetr-resnet50-cppe5\u002Frun_eval.py",{"path":176,"resourceType":113,"resourceTypeDesc":114,"sizeBytes":177,"sourceHtmlUrl":178},"examples\u002Fdetr-resnet50-cppe5\u002Ftrain.py",9243,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Ftao-finetune-huggingface-model\u002Fexamples\u002Fdetr-resnet50-cppe5\u002Ftrain.py",{"path":180,"resourceType":89,"resourceTypeDesc":90,"sizeBytes":181,"sourceHtmlUrl":182},"examples\u002FREADME.md",6279,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Ftao-finetune-huggingface-model\u002Fexamples\u002FREADME.md",{"path":184,"resourceType":99,"resourceTypeDesc":100,"sizeBytes":101,"sourceHtmlUrl":185},"examples\u002Fsegformer-b0-foodseg103\u002F.gitignore","https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Ftao-finetune-huggingface-model\u002Fexamples\u002Fsegformer-b0-foodseg103\u002F.gitignore",{"path":187,"resourceType":89,"resourceTypeDesc":90,"sizeBytes":188,"sourceHtmlUrl":189},"examples\u002Fsegformer-b0-foodseg103\u002Fconfig.yaml",2192,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Ftao-finetune-huggingface-model\u002Fexamples\u002Fsegformer-b0-foodseg103\u002Fconfig.yaml",{"path":191,"resourceType":99,"resourceTypeDesc":100,"sizeBytes":192,"sourceHtmlUrl":193},"examples\u002Fsegformer-b0-foodseg103\u002FDockerfile",834,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Ftao-finetune-huggingface-model\u002Fexamples\u002Fsegformer-b0-foodseg103\u002FDockerfile",{"path":195,"resourceType":113,"resourceTypeDesc":114,"sizeBytes":196,"sourceHtmlUrl":197},"examples\u002Fsegformer-b0-foodseg103\u002Finfer.py",3331,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Ftao-finetune-huggingface-model\u002Fexamples\u002Fsegformer-b0-foodseg103\u002Finfer.py",{"path":199,"resourceType":113,"resourceTypeDesc":114,"sizeBytes":200,"sourceHtmlUrl":201},"examples\u002Fsegformer-b0-foodseg103\u002Fprepare_data.py",1123,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Ftao-finetune-huggingface-model\u002Fexamples\u002Fsegformer-b0-foodseg103\u002Fprepare_data.py",{"path":203,"resourceType":89,"resourceTypeDesc":90,"sizeBytes":204,"sourceHtmlUrl":205},"examples\u002Fsegformer-b0-foodseg103\u002Freports\u002Fbaseline_results.json",166,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Ftao-finetune-huggingface-model\u002Fexamples\u002Fsegformer-b0-foodseg103\u002Freports\u002Fbaseline_results.json",{"path":207,"resourceType":89,"resourceTypeDesc":90,"sizeBytes":208,"sourceHtmlUrl":209},"examples\u002Fsegformer-b0-foodseg103\u002Freports\u002Feval_results.json",168,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Ftao-finetune-huggingface-model\u002Fexamples\u002Fsegformer-b0-foodseg103\u002Freports\u002Feval_results.json",{"path":211,"resourceType":89,"resourceTypeDesc":90,"sizeBytes":212,"sourceHtmlUrl":213},"examples\u002Fsegformer-b0-foodseg103\u002Frequirements.txt",724,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Ftao-finetune-huggingface-model\u002Fexamples\u002Fsegformer-b0-foodseg103\u002Frequirements.txt",{"path":215,"resourceType":113,"resourceTypeDesc":114,"sizeBytes":216,"sourceHtmlUrl":217},"examples\u002Fsegformer-b0-foodseg103\u002Frun_eval.py",3129,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Ftao-finetune-huggingface-model\u002Fexamples\u002Fsegformer-b0-foodseg103\u002Frun_eval.py",{"path":219,"resourceType":113,"resourceTypeDesc":114,"sizeBytes":220,"sourceHtmlUrl":221},"examples\u002Fsegformer-b0-foodseg103\u002Ftrain.py",6742,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Ftao-finetune-huggingface-model\u002Fexamples\u002Fsegformer-b0-foodseg103\u002Ftrain.py",{"path":223,"resourceType":99,"resourceTypeDesc":100,"sizeBytes":101,"sourceHtmlUrl":224},"examples\u002Fsmolvlm-256m-vqav2\u002F.gitignore","https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Ftao-finetune-huggingface-model\u002Fexamples\u002Fsmolvlm-256m-vqav2\u002F.gitignore",{"path":226,"resourceType":89,"resourceTypeDesc":90,"sizeBytes":227,"sourceHtmlUrl":228},"examples\u002Fsmolvlm-256m-vqav2\u002Fconfig.yaml",2218,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Ftao-finetune-huggingface-model\u002Fexamples\u002Fsmolvlm-256m-vqav2\u002Fconfig.yaml",{"path":230,"resourceType":99,"resourceTypeDesc":100,"sizeBytes":192,"sourceHtmlUrl":231},"examples\u002Fsmolvlm-256m-vqav2\u002FDockerfile","https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Ftao-finetune-huggingface-model\u002Fexamples\u002Fsmolvlm-256m-vqav2\u002FDockerfile",{"path":233,"resourceType":113,"resourceTypeDesc":114,"sizeBytes":234,"sourceHtmlUrl":235},"examples\u002Fsmolvlm-256m-vqav2\u002Finfer.py",2876,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Ftao-finetune-huggingface-model\u002Fexamples\u002Fsmolvlm-256m-vqav2\u002Finfer.py",{"path":237,"resourceType":113,"resourceTypeDesc":114,"sizeBytes":238,"sourceHtmlUrl":239},"examples\u002Fsmolvlm-256m-vqav2\u002Fmerge_lora.py",1157,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Ftao-finetune-huggingface-model\u002Fexamples\u002Fsmolvlm-256m-vqav2\u002Fmerge_lora.py",{"path":241,"resourceType":113,"resourceTypeDesc":114,"sizeBytes":242,"sourceHtmlUrl":243},"examples\u002Fsmolvlm-256m-vqav2\u002Fprepare_data.py",1156,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Ftao-finetune-huggingface-model\u002Fexamples\u002Fsmolvlm-256m-vqav2\u002Fprepare_data.py",{"path":245,"resourceType":89,"resourceTypeDesc":90,"sizeBytes":246,"sourceHtmlUrl":247},"examples\u002Fsmolvlm-256m-vqav2\u002Freports\u002Fbaseline_results.json",1628,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Ftao-finetune-huggingface-model\u002Fexamples\u002Fsmolvlm-256m-vqav2\u002Freports\u002Fbaseline_results.json",{"path":249,"resourceType":89,"resourceTypeDesc":90,"sizeBytes":250,"sourceHtmlUrl":251},"examples\u002Fsmolvlm-256m-vqav2\u002Freports\u002Feval_results.json",1255,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Ftao-finetune-huggingface-model\u002Fexamples\u002Fsmolvlm-256m-vqav2\u002Freports\u002Feval_results.json",{"path":253,"resourceType":89,"resourceTypeDesc":90,"sizeBytes":254,"sourceHtmlUrl":255},"examples\u002Fsmolvlm-256m-vqav2\u002Frequirements.txt",853,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Ftao-finetune-huggingface-model\u002Fexamples\u002Fsmolvlm-256m-vqav2\u002Frequirements.txt",{"path":257,"resourceType":113,"resourceTypeDesc":114,"sizeBytes":258,"sourceHtmlUrl":259},"examples\u002Fsmolvlm-256m-vqav2\u002Frun_eval.py",2997,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Ftao-finetune-huggingface-model\u002Fexamples\u002Fsmolvlm-256m-vqav2\u002Frun_eval.py",{"path":261,"resourceType":113,"resourceTypeDesc":114,"sizeBytes":262,"sourceHtmlUrl":263},"examples\u002Fsmolvlm-256m-vqav2\u002Ftrain.py",4997,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Ftao-finetune-huggingface-model\u002Fexamples\u002Fsmolvlm-256m-vqav2\u002Ftrain.py",{"path":265,"resourceType":89,"resourceTypeDesc":90,"sizeBytes":266,"sourceHtmlUrl":267},"references\u002Fcompat-workarounds.md",12075,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Ftao-finetune-huggingface-model\u002Freferences\u002Fcompat-workarounds.md",{"path":269,"resourceType":89,"resourceTypeDesc":90,"sizeBytes":270,"sourceHtmlUrl":271},"references\u002Fcore-rules.md",4825,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Ftao-finetune-huggingface-model\u002Freferences\u002Fcore-rules.md",{"path":273,"resourceType":89,"resourceTypeDesc":90,"sizeBytes":274,"sourceHtmlUrl":275},"references\u002Fcv-scripts.md",34024,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Ftao-finetune-huggingface-model\u002Freferences\u002Fcv-scripts.md",{"path":277,"resourceType":89,"resourceTypeDesc":90,"sizeBytes":278,"sourceHtmlUrl":279},"references\u002Fdataset-patterns.md",10793,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Ftao-finetune-huggingface-model\u002Freferences\u002Fdataset-patterns.md",{"path":281,"resourceType":89,"resourceTypeDesc":90,"sizeBytes":282,"sourceHtmlUrl":283},"references\u002Fdataset-recommendations.md",11300,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Ftao-finetune-huggingface-model\u002Freferences\u002Fdataset-recommendations.md",{"path":285,"resourceType":89,"resourceTypeDesc":90,"sizeBytes":286,"sourceHtmlUrl":287},"references\u002Fdataset-sources.md",17707,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Ftao-finetune-huggingface-model\u002Freferences\u002Fdataset-sources.md",{"path":289,"resourceType":89,"resourceTypeDesc":90,"sizeBytes":290,"sourceHtmlUrl":291},"references\u002Fdeliverables.md",20633,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Ftao-finetune-huggingface-model\u002Freferences\u002Fdeliverables.md",{"path":293,"resourceType":89,"resourceTypeDesc":90,"sizeBytes":294,"sourceHtmlUrl":295},"references\u002Fdetailed-workflow.md",715,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Ftao-finetune-huggingface-model\u002Freferences\u002Fdetailed-workflow.md",{"path":297,"resourceType":89,"resourceTypeDesc":90,"sizeBytes":298,"sourceHtmlUrl":299},"references\u002Fdocker-runs.md",9094,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Ftao-finetune-huggingface-model\u002Freferences\u002Fdocker-runs.md",{"path":301,"resourceType":89,"resourceTypeDesc":90,"sizeBytes":302,"sourceHtmlUrl":303},"references\u002Ferror-playbook.md",3844,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Ftao-finetune-huggingface-model\u002Freferences\u002Ferror-playbook.md",{"path":305,"resourceType":89,"resourceTypeDesc":90,"sizeBytes":306,"sourceHtmlUrl":307},"references\u002Fhardware-container.md",8661,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Ftao-finetune-huggingface-model\u002Freferences\u002Fhardware-container.md",{"path":309,"resourceType":89,"resourceTypeDesc":90,"sizeBytes":310,"sourceHtmlUrl":311},"references\u002Fhub-push.md",5564,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Ftao-finetune-huggingface-model\u002Freferences\u002Fhub-push.md",{"path":313,"resourceType":89,"resourceTypeDesc":90,"sizeBytes":314,"sourceHtmlUrl":315},"references\u002Fmodel-discovery.md",10782,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Ftao-finetune-huggingface-model\u002Freferences\u002Fmodel-discovery.md",{"path":317,"resourceType":89,"resourceTypeDesc":90,"sizeBytes":318,"sourceHtmlUrl":319},"references\u002Fpipeline-skill-template.md",9163,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Ftao-finetune-huggingface-model\u002Freferences\u002Fpipeline-skill-template.md",{"path":321,"resourceType":89,"resourceTypeDesc":90,"sizeBytes":322,"sourceHtmlUrl":323},"references\u002Fprogress-tracking.md",9869,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Ftao-finetune-huggingface-model\u002Freferences\u002Fprogress-tracking.md",{"path":325,"resourceType":89,"resourceTypeDesc":90,"sizeBytes":326,"sourceHtmlUrl":327},"references\u002Freporting.md",18895,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Ftao-finetune-huggingface-model\u002Freferences\u002Freporting.md",{"path":329,"resourceType":89,"resourceTypeDesc":90,"sizeBytes":330,"sourceHtmlUrl":331},"references\u002Fresearch-priorities.md",6607,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Ftao-finetune-huggingface-model\u002Freferences\u002Fresearch-priorities.md",{"path":333,"resourceType":89,"resourceTypeDesc":90,"sizeBytes":334,"sourceHtmlUrl":335},"references\u002Ftao-rerun-convnext-cifar10.md",4571,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Ftao-finetune-huggingface-model\u002Freferences\u002Ftao-rerun-convnext-cifar10.md",{"path":337,"resourceType":89,"resourceTypeDesc":90,"sizeBytes":338,"sourceHtmlUrl":339},"references\u002Ftao-rerun-detr-cppe5.md",3937,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Ftao-finetune-huggingface-model\u002Freferences\u002Ftao-rerun-detr-cppe5.md",{"path":341,"resourceType":89,"resourceTypeDesc":90,"sizeBytes":342,"sourceHtmlUrl":343},"references\u002Ftao-rerun-segformer-foodseg103.md",3831,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Ftao-finetune-huggingface-model\u002Freferences\u002Ftao-rerun-segformer-foodseg103.md",{"path":345,"resourceType":89,"resourceTypeDesc":90,"sizeBytes":346,"sourceHtmlUrl":347},"references\u002Ftao-rerun-smolvlm-vqav2.md",4534,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Ftao-finetune-huggingface-model\u002Freferences\u002Ftao-rerun-smolvlm-vqav2.md",{"path":349,"resourceType":89,"resourceTypeDesc":90,"sizeBytes":350,"sourceHtmlUrl":351},"references\u002Ftesting.md",21305,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Ftao-finetune-huggingface-model\u002Freferences\u002Ftesting.md",{"path":353,"resourceType":89,"resourceTypeDesc":90,"sizeBytes":354,"sourceHtmlUrl":355},"references\u002Fvlm-scripts.md",28375,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Ftao-finetune-huggingface-model\u002Freferences\u002Fvlm-scripts.md",{"path":357,"resourceType":89,"resourceTypeDesc":90,"sizeBytes":358,"sourceHtmlUrl":359},"references\u002Fworkflow-generate-train.md",7717,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Ftao-finetune-huggingface-model\u002Freferences\u002Fworkflow-generate-train.md",{"path":361,"resourceType":89,"resourceTypeDesc":90,"sizeBytes":362,"sourceHtmlUrl":363},"references\u002Fworkflow-intake-preflight.md",22950,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Ftao-finetune-huggingface-model\u002Freferences\u002Fworkflow-intake-preflight.md",{"path":365,"resourceType":89,"resourceTypeDesc":90,"sizeBytes":366,"sourceHtmlUrl":367},"references\u002Fworkflow-push-rerun.md",3050,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Ftao-finetune-huggingface-model\u002Freferences\u002Fworkflow-push-rerun.md",{"path":369,"resourceType":89,"resourceTypeDesc":90,"sizeBytes":370,"sourceHtmlUrl":371},"skill-card.md",4198,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Ftao-finetune-huggingface-model\u002Fskill-card.md",{"path":373,"resourceType":99,"resourceTypeDesc":100,"sizeBytes":374,"sourceHtmlUrl":375},"skill.oms.sig",22005,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Ftao-finetune-huggingface-model\u002Fskill.oms.sig",[377,407,433,456,478,493],{"skillNo":378,"name":379,"nameZh":6,"description":380,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":381,"sourceHtmlUrl":382,"categories":383,"keywords":390,"publishedAt":50},"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",[384,387],{"categoryNo":385,"categoryName":386,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000008","测试与质量",{"categoryNo":388,"categoryName":389,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000009","前端开发",[391,392,393,394,395,35,396,397,398,399,400,401,402,403,404,405,406],"webapp","testing","webapp testing","for","applications","frontend","debugging","toolkit","logs","browser","with","playwright","web","behavior","ui","screenshots",{"skillNo":408,"name":409,"nameZh":6,"description":410,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":411,"sourceHtmlUrl":412,"categories":413,"keywords":415,"publishedAt":50},"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",[414],{"categoryNo":388,"categoryName":389,"taxonomyType":21,"taxonomyTypeDesc":22},[416,417,418,403,419,420,421,394,422,423,396,424,425,426,427,428,429,430,431,432],"builder","artifacts builder","artifacts","web artifacts builder","single-file","css","Tailwind","ui components","single","use","file","components","react","multi","state","routing","state management",{"skillNo":434,"name":435,"nameZh":6,"description":436,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":437,"licenseFileUrl":438,"sourceHtmlUrl":439,"categories":440,"keywords":442,"publishedAt":50},"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",[441],{"categoryNo":388,"categoryName":389,"taxonomyType":21,"taxonomyTypeDesc":22},[443,444,445,41,446,447,448,449,450,451,452,453,454,455],"functions","vueuse","vueuse functions","nuxt","apply","github","concise","build","https","features","vue","js","composables",{"skillNo":457,"name":458,"nameZh":6,"description":459,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":437,"licenseFileUrl":460,"sourceHtmlUrl":461,"categories":462,"keywords":465,"publishedAt":50},"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",[463,464],{"categoryNo":385,"categoryName":386,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":388,"categoryName":389,"taxonomyType":21,"taxonomyTypeDesc":22},[466,392,467,453,468,402,469,470,471,448,472,394,473,474,475,425,476,454,477],"vue testing best practices","testing best practices","best practices","test","testing patterns","component","vitest","mocking","e2e","utils","patterns","e2e testing",{"skillNo":479,"name":480,"nameZh":6,"description":481,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":437,"licenseFileUrl":482,"sourceHtmlUrl":483,"categories":484,"keywords":486,"publishedAt":50},"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",[485],{"categoryNo":388,"categoryName":389,"taxonomyType":21,"taxonomyTypeDesc":22},[487,453,488,468,489,471,490,448,476,491,492],"router","vue router best practices","route","guards","navigation","lifecycle",{"skillNo":494,"name":495,"nameZh":6,"description":496,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":437,"licenseFileUrl":497,"sourceHtmlUrl":498,"categories":499,"keywords":501,"publishedAt":50},"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",[500],{"categoryNo":388,"categoryName":389,"taxonomyType":21,"taxonomyTypeDesc":22},[502,453,468,503,41,504,505,506,487,507,508,509,510,511,512,394,513,425,514,515],"vue best practices","Composition","files","tasks","api","pinia","work","options","ssr","typescript","as","vite","load","standard"]