executing-plans
executing-plans
Use when executing an implementation plan in the current session as the implementer yourself — your human partner chose inline execution, or no subagent tool is available
pipelines-and-benchmarksUse for Anomalib benchmark pipelines, tiled ensemble workflows, and advanced pipeline orchestration helpers while keeping experimental execution paths explicit.
Independent GitHub snapshot · Automated classification · Original documentation governs
Use this sub-skill when the user asks about Anomalib benchmark configs, pipeline runners/jobs/generators, tiled ensemble training or evaluation, or safe preflight checks for pipeline configuration.
Prefer read-only parsing and config repair before execution. Pipeline execution can train models, load datasets, spawn processes, create results directories, and run for a long time. Treat these as expensive unless the user explicitly provides dataset paths, runtime budget, and backend/hardware intent.
Route elsewhere when the request is primarily about:
Engine.fit, Engine.test, metrics, post-processing, loggers, callbacks, or visualization semantics;| User need | Do this |
|---|---|
| “How do I benchmark several models/categories?” | Explain the benchmark YAML shape, grid keys, and CPU/CUDA runner selection from pipelines-and-benchmarks. |
| “Switch a benchmark from CUDA to CPU without losing the grid.” | Change only the top-level accelerator to cpu or [cpu]; keep the benchmark tree and all grid leaves unchanged. Run the smoke helper before execution. |
| “Create a custom pipeline/job/runner.” | Explain the Pipeline → Runner → JobGenerator → Job contract; keep custom code independent of execution strategy. |
| “Use tiled ensemble on high-resolution images.” | Read the tiled ensemble reference, warn that it is experimental, validate the config, and require a results-root decision before evaluation. |
| “Tiled eval cannot find checkpoints/results.” | Check whether EvalTiledEnsemble(root_dir=...) points at the exact versioned run directory containing the ensemble weights and stats, not the parent default results directory. |
| “Run the MEBin post-processing benchmark.” | Treat it as benchmark-scale and reference-only by default; require explicit dataset path, output path, model/category budget, and runtime approval. |
From a project where Anomalib is importable:
python sub-skills/pipelines-and-benchmarks/scripts/pipeline_config_smoke.py --import-only
python sub-skills/pipelines-and-benchmarks/scripts/pipeline_config_smoke.py --benchmark-config benchmark.yaml
python sub-skills/pipelines-and-benchmarks/scripts/pipeline_config_smoke.py --tiled-config ensemble.yaml --eval-root results/Padim/MVTecAD/bottle/v0
The helper only imports public entrypoints and validates config shape/paths. It does not call Pipeline.run, train models, evaluate models, or create result directories.