[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71PWP25CQ64F8592K49D2H4":3,"skill-same:01M71PWP25CQ64F8592K49D2H4":114},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":23,"publishedAt":44,"linkOnly":45,"markdownContent":46,"markdownBody":47,"frontMatter":48,"refName":57,"commitSha":58,"skillDirectory":59,"forksCount":14,"repositoryHtmlUrl":60,"repositoryHomepageUrl":61,"ownerHtmlUrl":62,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":63,"install":64,"resources":77},"01M71PWP25CQ64F8592K49D2H4","tao-run-automl-deft-pipeline",null,"Run the canonical NVIDIA AOI three-phase training pipeline — Phase 1 AutoML baseline (HPO), Phase 2 DEFT loop (RCA → SDG → mining → plain-train retrain), Phase 3 AutoML refinement on the DEFT-augmented dataset. Use when the user asks to \"run the AOI workflow\", \"fine-tune my PCB AOI model end-to-end\", \"improve my AOI ChangeNet model\", or \"AOI workflow with AutoML\" request — route here instead of tao-run-deft-aoi directly unless the user explicitly asks for the DEFT loop ONLY (e.g. \"run JUST the DEFT loop\", \"skip AutoML, only DEFT\"). Also handles the same three-phase pattern for non-AOI DEFT applications — AutoML baseline then DEFT loop warm-started from AutoML's winning HPs then post-DEFT AutoML refinement on the iteration-augmented dataset. Trigger phrases include \"run the AOI workflow\", \"AOI end-to-end\", \"AutoML + DEFT\", \"AutoML then DEFT\", \"tune hyperparameters then DEFT\", \"DEFT with AutoML at both ends\", \"warm-start DEFT\", \"improve my AOI model\".","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-run-automl-deft-pipeline\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43],"tao run automl deft pipeline","tao run automl","run","automl","tao","deft","pipeline","Bash","dataset","workflow","hpo","when","workflows","loop","only","improve","end","training","iteration","model","2026-11-10 13:02:02",false,"---\nname: tao-run-automl-deft-pipeline\ndescription: >\n  Run the canonical NVIDIA AOI three-phase training pipeline — Phase 1 AutoML baseline (HPO),\n  Phase 2 DEFT loop (RCA → SDG → mining → plain-train retrain), Phase 3 AutoML refinement on\n  the DEFT-augmented dataset. Use when the user asks to \"run the AOI workflow\",\n  \"fine-tune my PCB AOI model end-to-end\", \"improve my AOI ChangeNet model\", or \"AOI workflow\n  with AutoML\" request — route here instead of tao-run-deft-aoi directly unless the user\n  explicitly asks for the DEFT loop ONLY (e.g. \"run JUST the DEFT loop\", \"skip AutoML, only\n  DEFT\"). Also handles the same three-phase pattern for non-AOI DEFT applications — AutoML\n  baseline then DEFT loop warm-started from AutoML's winning HPs then post-DEFT AutoML\n  refinement on the iteration-augmented dataset. Trigger phrases include \"run the AOI\n  workflow\", \"AOI end-to-end\", \"AutoML + DEFT\", \"AutoML then DEFT\", \"tune hyperparameters then\n  DEFT\", \"DEFT with AutoML at both ends\", \"warm-start DEFT\", \"improve my AOI model\".\nlicense: Apache-2.0\ncompatibility: Requires docker + nvidia-container-toolkit. Workflows (tao-run-automl, tao-run-deft-aoi) declare additional requirements.\nmetadata:\n  author: NVIDIA Corporation\n  version: \"0.1.0\"\nallowed-tools: Read Skill Bash Write\ntags:\n- tao\n- applications\n---\n\n# AutoML + DEFT Pipeline\n\nA workflow-bridge skill that runs **three phases** in sequence by delegating to two existing skills — `tao-run-automl` for HPO and a DEFT application skill (default `tao-run-deft-aoi` for AOI; other `skills\u002Fapplications\u002Fdeft-*` skills for non-AOI cases) for the iterative data-improvement loop.\n\nThis skill **does not** re-implement AutoML or DEFT. It owns only the connective tissue: HPO spec inputs, the spec-handoff between AutoML and DEFT, and the post-DEFT AutoML re-run on the augmented dataset.\n\n## Routing policy\n\n- User asks to \"run the AOI workflow\" or \"improve my AOI ChangeNet model\" — **default to this skill**, not `tao-run-deft-aoi` directly. The bare DEFT loop is the inner stage of this pipeline.\n- User wants AutoML and DEFT chained on the same model\u002Fdataset\n- User says \"AutoML at both ends\", \"tune HPs then DEFT\", \"warm-start DEFT\", \"AutoML before and after DEFT\"\n- User has an AutoML-tuned spec and asks how to feed it into DEFT\n\n## When this skill does NOT apply\n\n- User explicitly asks for the DEFT loop only (\"run JUST the DEFT loop\", \"skip AutoML\") → use `tao-run-deft-aoi` directly\n- User wants only AutoML with no follow-on DEFT → use `tao-run-automl` directly\n- User is doing zero-shot eval, RAG, or non-training workflows\n\n---\n\n## The mental model\n\n```\nPhase 1 (AutoML baseline)        Phase 2 (DEFT loop, plain train)        Phase 3 (AutoML refinement)\n─────────────────────────        ────────────────────────────────        ───────────────────────────\nspecs\u002Fbaseline_spec.yaml         (Phase 1 winner pre-seeds baseline      ${RESULTS_DIR}\u002Fiter${N}\u002Fdataset\u002F\ntrain\u002Fbase\u002Ftraining_set.csv       — DEFT skips its baseline train)       train_combined_iter${N}.csv\n        │                                       │                                       │\n        ▼                                       ▼                                       ▼\n[ AutoML HPO sweep ]               [ DEFT: baseline-inference → RCA       [ AutoML HPO sweep ]\n   N recommendations                 → iter 1..N (plain retrain) ]        re-tunes HPs against the\n   pick best by val_loss \u002F FAR      RCA \u002F route \u002F SDG \u002F mining             DEFT-augmented dataset\n        │                                       │                                       │\n        ▼                                       ▼                                       ▼\nbest HPs spec + ckpt ─────►      DEFT-augmented CSV ───────────►        final best checkpoint\n                                 + iter winner checkpoint               (the deliverable; no\n                                 (Phase 3 warm-starts from it)           further retrain)\n```\n\nThe two handoffs are:\n\n- **Phase 1 → Phase 2**: a *spec file* AND the *winning checkpoint* — the bridge deep-merges Phase 1's HPs onto `specs\u002Fbaseline_spec.yaml`, copies the checkpoint into `${RESULTS_DIR}\u002Fbaseline\u002Ftrain\u002F`, and pre-populates `deft_state.json` \u002F `loop_log.jsonl` so DEFT skips its baseline train and resumes at baseline inference → evaluate → RCA → iter 1. DEFT stays plain-train (`automl_policy: off` preserved).\n- **Phase 2 → Phase 3**: a *training CSV* (`train_combined_iter${N_final}.csv`) AND the *iter winner's checkpoint* — the checkpoint is wired into each rec's `train.pretrained_model_path` so Phase 3 fine-tunes from Phase 2's winner. Phase 3's winning checkpoint is the deliverable; no separate retrain after Phase 3.\n\nSee `references\u002Fphase-handoffs.md` for the exact steps, code, and DEFT-honors-this-handoff details of both handoffs.\n\n## Why three phases instead of two\n\n- **Phase 1 alone** finds good HPs on the *original* training distribution, but the model still has the distributional gaps DEFT is designed to fill.\n- **Phase 2 alone** (just DEFT) fills the gaps but uses whatever HPs `specs\u002Fbaseline_spec.yaml` was hand-authored with — usually not optimal.\n- **Phase 3 alone** would run AutoML against the augmented dataset, but without a tuned baseline the DEFT loop's iteration cost is higher (slower convergence, more iterations to hit the KPI).\n\nRunning all three: AutoML cheap-tunes once on the original data, DEFT does the heavy data work with reasonable HPs, then AutoML tunes again on the now-richer dataset. Phase 3 is the most important of the three for the final deployed FAR\u002Frecall.\n\n## Cost up-front\n\nThe pipeline is sequential. Total wall-clock ≈ Phase 1 (N_automl × per-rec train) + Phase 2 (M iterations × per-iter cost) + Phase 3 (N_automl × per-rec train).\n\nNote that **Phase 2 has no separate baseline train** — Phase 1's winning checkpoint is reused as DEFT's baseline, so the baseline cost lands inside Phase 1's N_automl trainings rather than as an extra retrain. Surface this to the user before kickoff. Typically Phase 2's iterations still dominate (each includes SDG + retrain), but Phase 1 and Phase 3 each add several hours on a single-GPU box. Use the per-job estimate from the user's setup (if they have one) rather than guessing minutes. See `references\u002Fpitfalls-and-quality-checks.md` (**Compute budget**) for the per-phase term breakdown.\n\n---\n\n## Consolidated Pre-Flight — one gate, all three phases\n\n**The pipeline has exactly one user gate.** Before any side-effecting action (docker pull, docker login, any job-launch call delegated to a downstream skill, file mutations under `${RESULTS_DIR}\u002F`), the agent must produce a single consolidated Pre-Flight Summary that subsumes every downstream skill's preflight. Once the user approves, the run is autonomous through all three phases — no further interactive pauses.\n\nThe user explicitly does not want to be paged between phases. The DEFT loop's own inline `## Pre-Flight Summary` gate becomes a **zero-question display step** (every value pre-supplied from this consolidated gate), as does `tao-run-automl`'s shared launch preflight in Phase 1 and Phase 3.\n\nBefore printing the summary, the agent must open and read every downstream skill's preflight section in full, run every read-only check those sections prescribe, and surface the *outcome* of each check. The summary has nine mandatory sections (workspace\u002Fhost\u002Fplatform\u002Fnetwork; credentials status; container images; dataset table; Phase 1 config; Phase 2 config; Phase 3 config; compute estimate; confirmation line). After the gate, every downstream interactive gate is suppressed by passing through the collected values. The only allowed post-gate pauses are mid-run hard-stop safety gates the downstream skill cannot bypass.\n\nSee `references\u002Fconsolidated-preflight.md` for: the full list of preflight sections to read, the required DEFT `## Pre-Flight` run, the exact nine-section summary contents, the value pass-through for gate suppression, and the procedure when the skill bank version doesn't yet support gate suppression.\n\n---\n\n## Phase 1 — AutoML baseline\n\nInvoke `tao-skill-bank:tao-run-automl` with:\n\n| Input | AOI default | Notes |\n|---|---|---|\n| `network_arch` | `visual-changenet` | Same model the DEFT loop expects |\n| `train_dataset_uri` | `\u003Cworkspace>\u002Ftrain\u002Fbase\u002Ftraining_set.csv` | Same training set DEFT will start from |\n| `eval_dataset_uri` | `\u003Cworkspace>\u002Ftrain\u002Fbase\u002Fvalidation_set.csv` | Held-out — must NOT be the KPI test set (`\u003Cworkspace>\u002Fkpi\u002Ftesting_set.csv`), since that set is reserved for DEFT's final reporting |\n| `metric` | FAR @ 100% recall (preferred) or `val_loss` | See **Metric pitfalls** in `references\u002Fpitfalls-and-quality-checks.md` — ChangeNet AOI is class-imbalanced, val_loss alone can mode-collapse |\n| `algorithm` | `bayesian` | LLM-brain or `autoresearch` if compute is tight |\n| `automl_max_recommendations` | 5–10 for AOI | More recs = better HPs but linear in compute |\n| `spec_overrides` | Pin epochs \u002F batch_size; sweep optimizer-related HPs only | Otherwise AutoML wanders into long-train regimes that blow Phase 2's budget |\n\nAfter the sweep finishes, AutoML's `result[\"best\"][\"specs\"]` is the winning hyperparameter dict.\n\n### Handoff to Phase 2\n\nPhase 1 hands over **two artifacts**: the winning *spec* and the winning *checkpoint*. Retraining the same HPs in DEFT's baseline step is wasted compute — instead, pre-seed DEFT's baseline state from Phase 1's outputs so DEFT starts at baseline inference → evaluate → RCA → iter 1. This is a four-step bridge (write merged spec → pre-seed `baseline\u002Ftrain\u002F` → initialise `deft_state.json` with baseline already done → invoke DEFT), followed by a quality check of the winning checkpoint (per-class prediction counts; compare to zero-shot ChangeNet).\n\nSee `references\u002Fphase-handoffs.md` for the verbatim Steps 1–4 (including the `cp` command, the `deft_state.json` patch code, and the `loop_log.jsonl` append) and the quality-check checklist.\n\n---\n\n## Phase 2 — DEFT loop (plain training, baseline pre-seeded from Phase 1)\n\nInvoke `tao-skill-bank:tao-run-deft-aoi` (read its `SKILL.md` for the full interface). For non-AOI applications, invoke the matching DEFT skill; the handoff shape is the same.\n\n**The DEFT loop's baseline-train sub-step is skipped.** Phase 1 already produced a checkpoint trained at the winning HPs, and Phase 1's handoff (see `references\u002Fphase-handoffs.md`) pre-populated `${RESULTS_DIR}\u002Fbaseline\u002Ftrain\u002F` and `${RESULTS_DIR}\u002Fdeft_state.json` so DEFT resumes at baseline inference → evaluate → RCA → iter 1. The rest of the DEFT loop runs unchanged. **Do not modify its `automl_policy: off` invariant.**\n\nThe DEFT loop owns: its Pre-Flight Summary display step (**not** a fresh user gate — the Consolidated Pre-Flight above is the single gate; the DEFT summary still prints as an audit-trail display of the pre-seeded `baseline\u002Ftrain\u002F` source and must not re-prompt); baseline inference → evaluate → RCA on the pre-seeded checkpoint; the full per-iteration RCA → routing → SDG → mining → assemble → train cycle; KPI gating and stop conditions; and the `${RESULTS_DIR}\u002F` layout (`deft_state.json`, `loop_log.jsonl`, `DEFT_Loop_Report.html`).\n\nAfter the loop exits (KPI met or `max_iterations` reached), capture two values from `deft_state.json`: `iterations.\u003Cbest>.best_ckpt_path` (the loop's best plain-train checkpoint) and the final iteration label `N_final` (used to locate the augmented training CSV).\n\nIf the DEFT loop hard-stops on an unrecoverable gate, **skip Phase 3**. There is no validated augmented CSV to feed AutoML.\n\n---\n\n## Phase 3 — AutoML refinement on the DEFT-augmented dataset\n\nRe-invoke `tao-skill-bank:tao-run-automl` with the augmented training CSV as the train dataset, the same held-out validation CSV as before, and **Phase 2's iter winner checkpoint as the warm-start**:\n\n| Input | AOI value |\n|---|---|\n| `network_arch` | `visual-changenet` |\n| `train_dataset_uri` | `${RESULTS_DIR}\u002Fiter${N_final}\u002Fdataset\u002Ftrain_combined_iter${N_final}.csv` |\n| `eval_dataset_uri` | Same as Phase 1 (`\u003Cworkspace>\u002Ftrain\u002Fbase\u002Fvalidation_set.csv`) — keep the comparison apples-to-apples |\n| `metric` | Same metric as Phase 1 |\n| `algorithm` | Same as Phase 1 |\n| `automl_max_recommendations` | 5–10 |\n| Initial spec | Start from `\u003Cworkspace>\u002Fspecs\u002Fbaseline_spec_automl.yaml` (Phase 1's winner) — gives the sweep a strong centroid to refine around |\n| **Warm-start checkpoint** | **`iterations.\u003Cbest>.best_ckpt_path` from `${RESULTS_DIR}\u002Fdeft_state.json`** — set `spec_overrides[\"train\"][\"pretrained_model_path\"]` to this path. Each Phase 3 rec then **fine-tunes from Phase 2's winner** instead of training from scratch. |\n\nThe warm-start is mandatory: without it every rec starts from random init with only 10-20 epochs to reconverge, `val_loss` regresses by 0.03-0.05 vs iter1, and the `_pick_best` safety net silently rolls back to the iter winner. Output goes to `${RESULTS_DIR}\u002Ffinal_automl\u002F`; the winning checkpoint of this sweep is the pipeline's deliverable. After the sweep, register Phase 3's checkpoint under `iterations.final_automl` in `deft_state.json` and re-run `prepare_inference_spec.py` so the handoff sees it (falling back to the loop's best if Phase 3 regressed).\n\nSee `references\u002Fphase-handoffs.md` for: the full \"why the warm-start is mandatory\" rationale and tradeoff, the concrete `spec_overrides` selection code, the exact two-step wiring of Phase 3's output back into the DEFT report, and the safety note on regression.\n\n---\n\n## Pitfalls and quality checks\n\nThese apply to both AutoML phases. Bake them into agent behavior — don't just paste once. The full detail lives in `references\u002Fpitfalls-and-quality-checks.md`; in brief:\n\n- **Metric pitfalls — AOI is class-imbalanced.** ChangeNet AOI datasets are PASS-dominant (90%+), so a `val_loss` winner can be a mode-collapsed model. Prefer FAR @ 100%-recall directly, or guard val_loss with a `pred_counts` sanity check, or eval top-K by FAR @ 100%-recall before picking. For balanced \u002F regression tasks, val_loss is fine.\n- **Run-to-run noise.** AutoML can show 2–3× variance for the same HP config. If the winner is suspiciously better than the runner-up, re-run with a fresh seed before committing the spec to Phase 2.\n- **Cleanliness (data leakage).** Both AutoML phases use a validation set distinct from the KPI test set (`\u003Cworkspace>\u002Fkpi\u002Ftesting_set.csv`), which is reserved for DEFT's final reporting. Phase 3 trains on the augmented CSV but keeps the same validation set so Phase 1 and Phase 3 numbers stay comparable.\n- **Compute budget.** Phase 1 `N_automl × per-rec train`; Phase 2 `M_iter × (RCA + SDG + mining + retrain)` (usually largest); Phase 3 `N_automl × per-rec train` on the larger augmented dataset. Ask the user for their per-job time before quoting wall-clock.\n\n---\n\n## Quick Start (AOI worked example)\n\nWhen starting fresh from \"run the AOI workflow\", the agent presents a three-phase plan to the user (Phase 1 AutoML baseline → Phase 2 DEFT loop → Phase 3 AutoML refinement), states the total cost structure (no extra baseline retrain at the front, no extra retrain at the end), asks for the user's per-run time for a wall-clock estimate, and waits for approval. After confirmation it invokes Phase 1, writes the merged spec, pre-seeds `deft_state.json`, invokes the DEFT loop with every input pre-supplied, then invokes Phase 3 — with no further pauses unless a downstream skill hits an unrecoverable hard-stop. It summarizes the trajectory at the end (baseline AutoML best → DEFT iter 1 → ... → DEFT iter N_final → Phase 3 best).\n\nSee `references\u002Fquick-start-example.md` for the verbatim customer-facing message block and the exact post-confirmation invocation sequence.\n\n## Non-AOI DEFT applications\n\nSame three-phase pattern applies to other DEFT skills. Swap:\n\n- `network_arch` to the relevant model\n- The DEFT skill invoked in Phase 2\n- The \"best HP spec file\" and \"best HP checkpoint\" path conventions to whatever the target DEFT skill expects\n- The augmented-CSV path in Phase 3 to whatever the target DEFT skill produces\n\nThe handoff shape — Phase 1 emits a *spec + checkpoint* (the checkpoint pre-seeds the DEFT baseline), Phase 2 consumes both and emits an augmented dataset, Phase 3 emits the final checkpoint — is identical. The Phase 1 → Phase 2 baseline-skip mechanism is generic: any DEFT-style loop that exposes a resumable baseline state can be seeded the same way.\n\n---\n\n## See also\n\n- `tao-skill-bank:tao-run-automl` — AutoML interface, algorithms, HP ranges\n- `tao-skill-bank:tao-run-deft-aoi` — full DEFT AOI loop (Phase 2 default)\n- `tao-skill-bank:tao-train-visual-changenet` — underlying ChangeNet train\u002Feval\u002Finfer skill (used by both AutoML and DEFT)\n- Other `skills\u002Fapplications\u002Fdeft-*` skills — non-AOI Phase 2 targets\n- `references\u002Fconsolidated-preflight.md` — the single-gate preflight in full\n- `references\u002Fphase-handoffs.md` — both handoffs, baseline pre-seed, and Phase 3 warm-start, verbatim\n- `references\u002Fpitfalls-and-quality-checks.md` — metric pitfalls, run-to-run noise, leakage, compute budget\n- `references\u002Fquick-start-example.md` — the customer-facing worked-example message\n","# AutoML + DEFT Pipeline\n\nA workflow-bridge skill that runs **three phases** in sequence by delegating to two existing skills — `tao-run-automl` for HPO and a DEFT application skill (default `tao-run-deft-aoi` for AOI; other `skills\u002Fapplications\u002Fdeft-*` skills for non-AOI cases) for the iterative data-improvement loop.\n\nThis skill **does not** re-implement AutoML or DEFT. It owns only the connective tissue: HPO spec inputs, the spec-handoff between AutoML and DEFT, and the post-DEFT AutoML re-run on the augmented dataset.\n\n## Routing policy\n\n- User asks to \"run the AOI workflow\" or \"improve my AOI ChangeNet model\" — **default to this skill**, not `tao-run-deft-aoi` directly. The bare DEFT loop is the inner stage of this pipeline.\n- User wants AutoML and DEFT chained on the same model\u002Fdataset\n- User says \"AutoML at both ends\", \"tune HPs then DEFT\", \"warm-start DEFT\", \"AutoML before and after DEFT\"\n- User has an AutoML-tuned spec and asks how to feed it into DEFT\n\n## When this skill does NOT apply\n\n- User explicitly asks for the DEFT loop only (\"run JUST the DEFT loop\", \"skip AutoML\") → use `tao-run-deft-aoi` directly\n- User wants only AutoML with no follow-on DEFT → use `tao-run-automl` directly\n- User is doing zero-shot eval, RAG, or non-training workflows\n\n---\n\n## The mental model\n\n```\nPhase 1 (AutoML baseline)        Phase 2 (DEFT loop, plain train)        Phase 3 (AutoML refinement)\n─────────────────────────        ────────────────────────────────        ───────────────────────────\nspecs\u002Fbaseline_spec.yaml         (Phase 1 winner pre-seeds baseline      ${RESULTS_DIR}\u002Fiter${N}\u002Fdataset\u002F\ntrain\u002Fbase\u002Ftraining_set.csv       — DEFT skips its baseline train)       train_combined_iter${N}.csv\n        │                                       │                                       │\n        ▼                                       ▼                                       ▼\n[ AutoML HPO sweep ]               [ DEFT: baseline-inference → RCA       [ AutoML HPO sweep ]\n   N recommendations                 → iter 1..N (plain retrain) ]        re-tunes HPs against the\n   pick best by val_loss \u002F FAR      RCA \u002F route \u002F SDG \u002F mining             DEFT-augmented dataset\n        │                                       │                                       │\n        ▼                                       ▼                                       ▼\nbest HPs spec + ckpt ─────►      DEFT-augmented CSV ───────────►        final best checkpoint\n                                 + iter winner checkpoint               (the deliverable; no\n                                 (Phase 3 warm-starts from it)           further retrain)\n```\n\nThe two handoffs are:\n\n- **Phase 1 → Phase 2**: a *spec file* AND the *winning checkpoint* — the bridge deep-merges Phase 1's HPs onto `specs\u002Fbaseline_spec.yaml`, copies the checkpoint into `${RESULTS_DIR}\u002Fbaseline\u002Ftrain\u002F`, and pre-populates `deft_state.json` \u002F `loop_log.jsonl` so DEFT skips its baseline train and resumes at baseline inference → evaluate → RCA → iter 1. DEFT stays plain-train (`automl_policy: off` preserved).\n- **Phase 2 → Phase 3**: a *training CSV* (`train_combined_iter${N_final}.csv`) AND the *iter winner's checkpoint* — the checkpoint is wired into each rec's `train.pretrained_model_path` so Phase 3 fine-tunes from Phase 2's winner. Phase 3's winning checkpoint is the deliverable; no separate retrain after Phase 3.\n\nSee `references\u002Fphase-handoffs.md` for the exact steps, code, and DEFT-honors-this-handoff details of both handoffs.\n\n## Why three phases instead of two\n\n- **Phase 1 alone** finds good HPs on the *original* training distribution, but the model still has the distributional gaps DEFT is designed to fill.\n- **Phase 2 alone** (just DEFT) fills the gaps but uses whatever HPs `specs\u002Fbaseline_spec.yaml` was hand-authored with — usually not optimal.\n- **Phase 3 alone** would run AutoML against the augmented dataset, but without a tuned baseline the DEFT loop's iteration cost is higher (slower convergence, more iterations to hit the KPI).\n\nRunning all three: AutoML cheap-tunes once on the original data, DEFT does the heavy data work with reasonable HPs, then AutoML tunes again on the now-richer dataset. Phase 3 is the most important of the three for the final deployed FAR\u002Frecall.\n\n## Cost up-front\n\nThe pipeline is sequential. Total wall-clock ≈ Phase 1 (N_automl × per-rec train) + Phase 2 (M iterations × per-iter cost) + Phase 3 (N_automl × per-rec train).\n\nNote that **Phase 2 has no separate baseline train** — Phase 1's winning checkpoint is reused as DEFT's baseline, so the baseline cost lands inside Phase 1's N_automl trainings rather than as an extra retrain. Surface this to the user before kickoff. Typically Phase 2's iterations still dominate (each includes SDG + retrain), but Phase 1 and Phase 3 each add several hours on a single-GPU box. Use the per-job estimate from the user's setup (if they have one) rather than guessing minutes. See `references\u002Fpitfalls-and-quality-checks.md` (**Compute budget**) for the per-phase term breakdown.\n\n---\n\n## Consolidated Pre-Flight — one gate, all three phases\n\n**The pipeline has exactly one user gate.** Before any side-effecting action (docker pull, docker login, any job-launch call delegated to a downstream skill, file mutations under `${RESULTS_DIR}\u002F`), the agent must produce a single consolidated Pre-Flight Summary that subsumes every downstream skill's preflight. Once the user approves, the run is autonomous through all three phases — no further interactive pauses.\n\nThe user explicitly does not want to be paged between phases. The DEFT loop's own inline `## Pre-Flight Summary` gate becomes a **zero-question display step** (every value pre-supplied from this consolidated gate), as does `tao-run-automl`'s shared launch preflight in Phase 1 and Phase 3.\n\nBefore printing the summary, the agent must open and read every downstream skill's preflight section in full, run every read-only check those sections prescribe, and surface the *outcome* of each check. The summary has nine mandatory sections (workspace\u002Fhost\u002Fplatform\u002Fnetwork; credentials status; container images; dataset table; Phase 1 config; Phase 2 config; Phase 3 config; compute estimate; confirmation line). After the gate, every downstream interactive gate is suppressed by passing through the collected values. The only allowed post-gate pauses are mid-run hard-stop safety gates the downstream skill cannot bypass.\n\nSee `references\u002Fconsolidated-preflight.md` for: the full list of preflight sections to read, the required DEFT `## Pre-Flight` run, the exact nine-section summary contents, the value pass-through for gate suppression, and the procedure when the skill bank version doesn't yet support gate suppression.\n\n---\n\n## Phase 1 — AutoML baseline\n\nInvoke `tao-skill-bank:tao-run-automl` with:\n\n| Input | AOI default | Notes |\n|---|---|---|\n| `network_arch` | `visual-changenet` | Same model the DEFT loop expects |\n| `train_dataset_uri` | `\u003Cworkspace>\u002Ftrain\u002Fbase\u002Ftraining_set.csv` | Same training set DEFT will start from |\n| `eval_dataset_uri` | `\u003Cworkspace>\u002Ftrain\u002Fbase\u002Fvalidation_set.csv` | Held-out — must NOT be the KPI test set (`\u003Cworkspace>\u002Fkpi\u002Ftesting_set.csv`), since that set is reserved for DEFT's final reporting |\n| `metric` | FAR @ 100% recall (preferred) or `val_loss` | See **Metric pitfalls** in `references\u002Fpitfalls-and-quality-checks.md` — ChangeNet AOI is class-imbalanced, val_loss alone can mode-collapse |\n| `algorithm` | `bayesian` | LLM-brain or `autoresearch` if compute is tight |\n| `automl_max_recommendations` | 5–10 for AOI | More recs = better HPs but linear in compute |\n| `spec_overrides` | Pin epochs \u002F batch_size; sweep optimizer-related HPs only | Otherwise AutoML wanders into long-train regimes that blow Phase 2's budget |\n\nAfter the sweep finishes, AutoML's `result[\"best\"][\"specs\"]` is the winning hyperparameter dict.\n\n### Handoff to Phase 2\n\nPhase 1 hands over **two artifacts**: the winning *spec* and the winning *checkpoint*. Retraining the same HPs in DEFT's baseline step is wasted compute — instead, pre-seed DEFT's baseline state from Phase 1's outputs so DEFT starts at baseline inference → evaluate → RCA → iter 1. This is a four-step bridge (write merged spec → pre-seed `baseline\u002Ftrain\u002F` → initialise `deft_state.json` with baseline already done → invoke DEFT), followed by a quality check of the winning checkpoint (per-class prediction counts; compare to zero-shot ChangeNet).\n\nSee `references\u002Fphase-handoffs.md` for the verbatim Steps 1–4 (including the `cp` command, the `deft_state.json` patch code, and the `loop_log.jsonl` append) and the quality-check checklist.\n\n---\n\n## Phase 2 — DEFT loop (plain training, baseline pre-seeded from Phase 1)\n\nInvoke `tao-skill-bank:tao-run-deft-aoi` (read its `SKILL.md` for the full interface). For non-AOI applications, invoke the matching DEFT skill; the handoff shape is the same.\n\n**The DEFT loop's baseline-train sub-step is skipped.** Phase 1 already produced a checkpoint trained at the winning HPs, and Phase 1's handoff (see `references\u002Fphase-handoffs.md`) pre-populated `${RESULTS_DIR}\u002Fbaseline\u002Ftrain\u002F` and `${RESULTS_DIR}\u002Fdeft_state.json` so DEFT resumes at baseline inference → evaluate → RCA → iter 1. The rest of the DEFT loop runs unchanged. **Do not modify its `automl_policy: off` invariant.**\n\nThe DEFT loop owns: its Pre-Flight Summary display step (**not** a fresh user gate — the Consolidated Pre-Flight above is the single gate; the DEFT summary still prints as an audit-trail display of the pre-seeded `baseline\u002Ftrain\u002F` source and must not re-prompt); baseline inference → evaluate → RCA on the pre-seeded checkpoint; the full per-iteration RCA → routing → SDG → mining → assemble → train cycle; KPI gating and stop conditions; and the `${RESULTS_DIR}\u002F` layout (`deft_state.json`, `loop_log.jsonl`, `DEFT_Loop_Report.html`).\n\nAfter the loop exits (KPI met or `max_iterations` reached), capture two values from `deft_state.json`: `iterations.\u003Cbest>.best_ckpt_path` (the loop's best plain-train checkpoint) and the final iteration label `N_final` (used to locate the augmented training CSV).\n\nIf the DEFT loop hard-stops on an unrecoverable gate, **skip Phase 3**. There is no validated augmented CSV to feed AutoML.\n\n---\n\n## Phase 3 — AutoML refinement on the DEFT-augmented dataset\n\nRe-invoke `tao-skill-bank:tao-run-automl` with the augmented training CSV as the train dataset, the same held-out validation CSV as before, and **Phase 2's iter winner checkpoint as the warm-start**:\n\n| Input | AOI value |\n|---|---|\n| `network_arch` | `visual-changenet` |\n| `train_dataset_uri` | `${RESULTS_DIR}\u002Fiter${N_final}\u002Fdataset\u002Ftrain_combined_iter${N_final}.csv` |\n| `eval_dataset_uri` | Same as Phase 1 (`\u003Cworkspace>\u002Ftrain\u002Fbase\u002Fvalidation_set.csv`) — keep the comparison apples-to-apples |\n| `metric` | Same metric as Phase 1 |\n| `algorithm` | Same as Phase 1 |\n| `automl_max_recommendations` | 5–10 |\n| Initial spec | Start from `\u003Cworkspace>\u002Fspecs\u002Fbaseline_spec_automl.yaml` (Phase 1's winner) — gives the sweep a strong centroid to refine around |\n| **Warm-start checkpoint** | **`iterations.\u003Cbest>.best_ckpt_path` from `${RESULTS_DIR}\u002Fdeft_state.json`** — set `spec_overrides[\"train\"][\"pretrained_model_path\"]` to this path. Each Phase 3 rec then **fine-tunes from Phase 2's winner** instead of training from scratch. |\n\nThe warm-start is mandatory: without it every rec starts from random init with only 10-20 epochs to reconverge, `val_loss` regresses by 0.03-0.05 vs iter1, and the `_pick_best` safety net silently rolls back to the iter winner. Output goes to `${RESULTS_DIR}\u002Ffinal_automl\u002F`; the winning checkpoint of this sweep is the pipeline's deliverable. After the sweep, register Phase 3's checkpoint under `iterations.final_automl` in `deft_state.json` and re-run `prepare_inference_spec.py` so the handoff sees it (falling back to the loop's best if Phase 3 regressed).\n\nSee `references\u002Fphase-handoffs.md` for: the full \"why the warm-start is mandatory\" rationale and tradeoff, the concrete `spec_overrides` selection code, the exact two-step wiring of Phase 3's output back into the DEFT report, and the safety note on regression.\n\n---\n\n## Pitfalls and quality checks\n\nThese apply to both AutoML phases. Bake them into agent behavior — don't just paste once. The full detail lives in `references\u002Fpitfalls-and-quality-checks.md`; in brief:\n\n- **Metric pitfalls — AOI is class-imbalanced.** ChangeNet AOI datasets are PASS-dominant (90%+), so a `val_loss` winner can be a mode-collapsed model. Prefer FAR @ 100%-recall directly, or guard val_loss with a `pred_counts` sanity check, or eval top-K by FAR @ 100%-recall before picking. For balanced \u002F regression tasks, val_loss is fine.\n- **Run-to-run noise.** AutoML can show 2–3× variance for the same HP config. If the winner is suspiciously better than the runner-up, re-run with a fresh seed before committing the spec to Phase 2.\n- **Cleanliness (data leakage).** Both AutoML phases use a validation set distinct from the KPI test set (`\u003Cworkspace>\u002Fkpi\u002Ftesting_set.csv`), which is reserved for DEFT's final reporting. Phase 3 trains on the augmented CSV but keeps the same validation set so Phase 1 and Phase 3 numbers stay comparable.\n- **Compute budget.** Phase 1 `N_automl × per-rec train`; Phase 2 `M_iter × (RCA + SDG + mining + retrain)` (usually largest); Phase 3 `N_automl × per-rec train` on the larger augmented dataset. Ask the user for their per-job time before quoting wall-clock.\n\n---\n\n## Quick Start (AOI worked example)\n\nWhen starting fresh from \"run the AOI workflow\", the agent presents a three-phase plan to the user (Phase 1 AutoML baseline → Phase 2 DEFT loop → Phase 3 AutoML refinement), states the total cost structure (no extra baseline retrain at the front, no extra retrain at the end), asks for the user's per-run time for a wall-clock estimate, and waits for approval. After confirmation it invokes Phase 1, writes the merged spec, pre-seeds `deft_state.json`, invokes the DEFT loop with every input pre-supplied, then invokes Phase 3 — with no further pauses unless a downstream skill hits an unrecoverable hard-stop. It summarizes the trajectory at the end (baseline AutoML best → DEFT iter 1 → ... → DEFT iter N_final → Phase 3 best).\n\nSee `references\u002Fquick-start-example.md` for the verbatim customer-facing message block and the exact post-confirmation invocation sequence.\n\n## Non-AOI DEFT applications\n\nSame three-phase pattern applies to other DEFT skills. Swap:\n\n- `network_arch` to the relevant model\n- The DEFT skill invoked in Phase 2\n- The \"best HP spec file\" and \"best HP checkpoint\" path conventions to whatever the target DEFT skill expects\n- The augmented-CSV path in Phase 3 to whatever the target DEFT skill produces\n\nThe handoff shape — Phase 1 emits a *spec + checkpoint* (the checkpoint pre-seeds the DEFT baseline), Phase 2 consumes both and emits an augmented dataset, Phase 3 emits the final checkpoint — is identical. The Phase 1 → Phase 2 baseline-skip mechanism is generic: any DEFT-style loop that exposes a resumable baseline state can be seeded the same way.\n\n---\n\n## See also\n\n- `tao-skill-bank:tao-run-automl` — AutoML interface, algorithms, HP ranges\n- `tao-skill-bank:tao-run-deft-aoi` — full DEFT AOI loop (Phase 2 default)\n- `tao-skill-bank:tao-train-visual-changenet` — underlying ChangeNet train\u002Feval\u002Finfer skill (used by both AutoML and DEFT)\n- Other `skills\u002Fapplications\u002Fdeft-*` skills — non-AOI Phase 2 targets\n- `references\u002Fconsolidated-preflight.md` — the single-gate preflight in full\n- `references\u002Fphase-handoffs.md` — both handoffs, baseline pre-seed, and Phase 3 warm-start, verbatim\n- `references\u002Fpitfalls-and-quality-checks.md` — metric pitfalls, run-to-run noise, leakage, compute budget\n- `references\u002Fquick-start-example.md` — the customer-facing worked-example message\n",{"name":5,"tags":49,"license":15,"metadata":51,"description":54,"allowed-tools":55,"compatibility":56},[28,50],"applications",{"author":52,"version":53},"NVIDIA Corporation","0.1.0","Run the canonical NVIDIA AOI three-phase training pipeline — Phase 1 AutoML baseline (HPO), Phase 2 DEFT loop (RCA → SDG → mining → plain-train retrain), Phase 3 AutoML refinement on the DEFT-augmented dataset. Use when the user asks to \"run the AOI workflow\", \"fine-tune my PCB AOI model end-to-end\", \"improve my AOI ChangeNet model\", or \"AOI workflow with AutoML\" request — route here instead of tao-run-deft-aoi directly unless the user explicitly asks for the DEFT loop ONLY (e.g. \"run JUST the DEFT loop\", \"skip AutoML, only DEFT\"). Also handles the same three-phase pattern for non-AOI DEFT applications — AutoML baseline then DEFT loop warm-started from AutoML's winning HPs then post-DEFT AutoML refinement on the iteration-augmented dataset. Trigger phrases include \"run the AOI workflow\", \"AOI end-to-end\", \"AutoML + DEFT\", \"AutoML then DEFT\", \"tune hyperparameters then DEFT\", \"DEFT with AutoML at both ends\", \"warm-start DEFT\", \"improve my AOI model\".\n","Read Skill Bash Write","Requires docker + nvidia-container-toolkit. Workflows (tao-run-automl, tao-run-deft-aoi) declare additional requirements.","claude\u002Finstall-gsd-build-foQdV","d86cd127f527124b5fd0fd0bc679a4d79b7d01d7",".agents\u002Fskills\u002Ftao-run-automl-deft-pipeline","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":65,"prompt":75,"zipAvailable":76},[66,69,72],{"tool":67,"command":68},"npx","npx skills add pattanation\u002FNorvik --skill tao-run-automl-deft-pipeline",{"tool":70,"command":71},"bunx","bunx skills add pattanation\u002FNorvik --skill tao-run-automl-deft-pipeline",{"tool":73,"command":74},"pnpm","pnpm dlx skills add pattanation\u002FNorvik --skill tao-run-automl-deft-pipeline","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Ftao-run-automl-deft-pipeline\u002FSKILL.md",true,[78,84,88,92,96,100,104,108],{"path":79,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":82,"sourceHtmlUrl":83},"BENCHMARK.md","REFERENCE","参考文档",4038,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Ftao-run-automl-deft-pipeline\u002FBENCHMARK.md",{"path":85,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":86,"sourceHtmlUrl":87},"evals\u002Fevals.json",819,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Ftao-run-automl-deft-pipeline\u002Fevals\u002Fevals.json",{"path":89,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":90,"sourceHtmlUrl":91},"references\u002Fconsolidated-preflight.md",6708,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Ftao-run-automl-deft-pipeline\u002Freferences\u002Fconsolidated-preflight.md",{"path":93,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":94,"sourceHtmlUrl":95},"references\u002Fphase-handoffs.md",8080,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Ftao-run-automl-deft-pipeline\u002Freferences\u002Fphase-handoffs.md",{"path":97,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":98,"sourceHtmlUrl":99},"references\u002Fpitfalls-and-quality-checks.md",2586,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Ftao-run-automl-deft-pipeline\u002Freferences\u002Fpitfalls-and-quality-checks.md",{"path":101,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":102,"sourceHtmlUrl":103},"references\u002Fquick-start-example.md",2910,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Ftao-run-automl-deft-pipeline\u002Freferences\u002Fquick-start-example.md",{"path":105,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":106,"sourceHtmlUrl":107},"skill-card.md",4049,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Ftao-run-automl-deft-pipeline\u002Fskill-card.md",{"path":109,"resourceType":110,"resourceTypeDesc":111,"sizeBytes":112,"sourceHtmlUrl":113},"skill.oms.sig","OTHER","其他",5605,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Ftao-run-automl-deft-pipeline\u002Fskill.oms.sig",[115,145,171,195,217,232],{"skillNo":116,"name":117,"nameZh":6,"description":118,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":119,"sourceHtmlUrl":120,"categories":121,"keywords":128,"publishedAt":44},"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",[122,125],{"categoryNo":123,"categoryName":124,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000008","测试与质量",{"categoryNo":126,"categoryName":127,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000009","前端开发",[129,130,131,132,50,133,134,135,136,137,138,139,140,141,142,143,144],"webapp","testing","webapp testing","for","local","frontend","debugging","toolkit","logs","browser","with","playwright","web","behavior","ui","screenshots",{"skillNo":146,"name":147,"nameZh":6,"description":148,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":149,"sourceHtmlUrl":150,"categories":151,"keywords":153,"publishedAt":44},"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",[152],{"categoryNo":126,"categoryName":127,"taxonomyType":21,"taxonomyTypeDesc":22},[154,155,156,141,157,158,159,132,160,161,134,162,163,164,165,166,167,168,169,170],"builder","artifacts builder","artifacts","web artifacts builder","single-file","css","Tailwind","ui components","single","use","file","components","react","multi","state","routing","state management",{"skillNo":172,"name":173,"nameZh":6,"description":174,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":175,"licenseFileUrl":176,"sourceHtmlUrl":177,"categories":178,"keywords":180,"publishedAt":44},"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",[179],{"categoryNo":126,"categoryName":127,"taxonomyType":21,"taxonomyTypeDesc":22},[181,182,183,184,185,186,187,188,189,190,191,192,193,194],"functions","vueuse","vueuse functions","project","nuxt","apply","github","concise","build","https","features","vue","js","composables",{"skillNo":196,"name":197,"nameZh":6,"description":198,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":175,"licenseFileUrl":199,"sourceHtmlUrl":200,"categories":201,"keywords":204,"publishedAt":44},"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",[202,203],{"categoryNo":123,"categoryName":124,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":126,"categoryName":127,"taxonomyType":21,"taxonomyTypeDesc":22},[205,130,206,192,207,140,208,209,210,187,211,132,212,213,214,163,215,193,216],"vue testing best practices","testing best practices","best practices","test","testing patterns","component","vitest","mocking","e2e","utils","patterns","e2e testing",{"skillNo":218,"name":219,"nameZh":6,"description":220,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":175,"licenseFileUrl":221,"sourceHtmlUrl":222,"categories":223,"keywords":225,"publishedAt":44},"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",[224],{"categoryNo":126,"categoryName":127,"taxonomyType":21,"taxonomyTypeDesc":22},[226,192,227,207,228,210,229,187,215,230,231],"router","vue router best practices","route","guards","navigation","lifecycle",{"skillNo":233,"name":234,"nameZh":6,"description":235,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":175,"licenseFileUrl":236,"sourceHtmlUrl":237,"categories":238,"keywords":240,"publishedAt":44},"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",[239],{"categoryNo":126,"categoryName":127,"taxonomyType":21,"taxonomyTypeDesc":22},[241,192,207,242,184,243,244,245,226,246,247,248,249,250,251,132,252,163,253,254],"vue best practices","Composition","files","tasks","api","pinia","work","options","ssr","typescript","as","vite","load","standard"]